deepmodeling / deepmodeling/dpgui

[Code scan] Make the build hook fail when Yarn commands fail

Open Beginner friendly
#558 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Vue
Stars
9
Forks
5
PR merge metrics
No merged PRs in 30d

Description

This issue was found during a Codex global code scan of the repository.

Baseline commit: e3c5b38a99eb7ab778b5d8c68a5ed4ddf6cf91b3

Problem

The custom Hatch build hook invokes Yarn through `subprocess.call()`, but it never checks the return code.

Code references:
https://github.com/deepmodeling/dpgui/blob/e3c5b38a99eb7ab778b5d8c68a5ed4ddf6cf91b3/hatch_build.py#L13-L15
https://github.com/deepmodeling/dpgui/blob/e3c5b38a99eb7ab778b5d8c68a5ed4ddf6cf91b3/hatch_build.py#L30-L48

Relevant snippet:
```py
def node_call(args, **kwargs):
"""Call node with subprocess."""
return subprocess.call(["node", *args], **kwargs)
```

Impact

A failed `yarn install` or `yarn build` can continue until only `dist` existence is checked. If `dist` already exists from a previous build, packaging can copy stale frontend assets into `dpgui/dist`.

Suggested fix

Use `subprocess.check_call()` or explicitly raise on nonzero return codes. It would also be safer to clean the root `dist` before running the frontend build.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with hatch_build.py, especially node_call and the build-hook code around the referenced lines. Check how yarn install and yarn build results are handled, then verify that failed commands stop packaging and that stale dist contents are not reused; inspect the existing build flow to confirm the behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
node.js, python
Domain
build-system
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.