Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

npm: source-only hot reloads still reinstall packages because the rendered package.json has `devDependencies: {}` while the on-disk one has no key (residual of #7235)

Open Beginner friendly
#7,480 1 comment 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@harsh21234i is already working on this.

Since Oct 14, 2026.

  • #7566 by @harsh21234i — open

Assessment

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

Research direction

Start in reflex/utils/frontend_skeleton.py at sync_root_package_json_to_web and _compile_package_json, reproducing with REFLEX_USE_NPM=1 and a label-only edit to watch the install count. Then check reflex/utils/js_runtimes.py for the install-cache invalidation that compares the rendered vs on-disk package.json. Done means absent and empty devDependencies compare equal so no extra npm install is triggered, verified against the npm_minimal.py reproduction in prerelease_testing/2026-10-07/browser_cache_bundle/reload_cache/.

Written by the indexing model from the issue text.

Description

Severity: LOW, pre-existing (0.9.12, 0.10.0a1, 0.10.0a2). Residual of #7235.

With REFLEX_USE_NPM=1, a label-only edit raises the install count 1→2 although both lockfile hashes are unchanged; the only manifest difference is devDependencies: {} in the rendered package.json versus no key in the one on disk. Adding that empty object by hand stops the extra installs on both alphas (stable's byte comparison still reinstalls). Bun is unaffected. Likely spot: the package.json sync/compare in reflex/utils/frontend_skeleton.py (sync_root_package_json_to_web / _compile_package_json) and the install-cache invalidation in reflex/utils/js_runtimes.py — normalise absent vs empty devDependencies before comparing.

Evidence: browser_cache_bundle/reload_cache/NOTES.md (npm_minimal.py, minimal_results/); finding N-018 in FINDINGS.md.

Dominant language
Python
Stars
28.9k
Forks
1.8k
Avg merge
3d 1h
Merged PRs (30d)
187

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from reflex-dev/reflex

All issues in reflex-dev/reflex

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.