Skip to content

Add package-lock.json for reproducible dependency chains#5426

Merged
knolleary merged 1 commit intonode-red:masterfrom
dimitrieh:fix/reproducible-dependency-chain
Jan 7, 2026
Merged

Add package-lock.json for reproducible dependency chains#5426
knolleary merged 1 commit intonode-red:masterfrom
dimitrieh:fix/reproducible-dependency-chain

Conversation

@dimitrieh
Copy link
Copy Markdown
Contributor

Summary

  • Add validated package-lock.json (1003 packages, Node 20)
  • Remove package-lock.json from .gitignore
  • Update CI and README to use npm ci

Ensures identical dependency trees across all environments, mitigating supply chain attack vectors.

Closes #5424

- Remove package-lock.json from .gitignore
- Add validated package-lock.json (Node 20, 1003 packages)
- Update CI workflow to use npm ci instead of npm install
- Update README development instructions to use npm ci

This ensures all developers and CI get identical dependency trees,
protecting against npm supply chain attacks where compromised patch
versions could automatically propagate through semver ranges.

Closes node-red#5424
@knolleary
Copy link
Copy Markdown
Member

This will be okay for the dev environment, but the way release builds are generated (as this is a mono-repo with multiple npm packages in) will need overhauling so they each get a valid package-lock.json generated. Happy to merge this as a step one, but it won't be Job Done

@knolleary knolleary merged commit 62d67a7 into node-red:master Jan 7, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ensure fully reproducible dependency chains for the development of Node-RED

2 participants