Supply chain improvements#704
Merged
Merged
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR focuses on supply-chain hardening for this npm package by tightening dependency install policy, strengthening GitHub Actions workflow pinning, and modernizing the npm publish workflow to use OIDC provenance.
Changes:
- Added an
.npmrcpolicy to enforce a minimum package release age (min-release-age=3) during installs. - Updated CI and publishing workflows to test/publish on Node 26 and pinned
actions/checkout/actions/setup-nodeto full commit SHAs. - Refreshed root and legacy example
package-lock.jsondependency graphs via safenpm audit fix-style updates.
Show a summary per file
| File | Description |
|---|---|
.npmrc |
Enforces a minimum package release age during npm installs to reduce exposure to freshly-published compromised packages. |
.github/workflows/nodejs.yml |
Adds Node 26 to the CI matrix and pins core actions to full SHAs for stronger workflow supply-chain integrity. |
.github/workflows/publish.yml |
Moves publishing to Node 26, pins actions, and switches to OIDC-based npm publish --provenance without an npm token secret. |
package-lock.json |
Updates resolved transitive dependencies (e.g., editorconfig toolchain and Mocha patch) consistent with supply-chain/audit refresh. |
test-examples/legacy/package-lock.json |
Updates legacy example lockfile transitive dependencies consistent with the audit/lockfile refresh. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Files not reviewed (1)
- test-examples/legacy/package-lock.json: Language not supported
- Files reviewed: 3/5 changed files
- Comments generated: 0
manuelpuyol
approved these changes
Jun 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
.npmrcwithmin-release-age=3for npm installs.actions/checkoutandactions/setup-nodeto full commit SHAs.NODE_AUTH_TOKEN.npm audit fixwhere it could safely apply fixes.Ecosystems detected
Recommendations applied
npm ciremains in CI and publish workflows.id-token: writeandnpm publish --provenance.Not automatically applied
npm auditstill reports Mocha transitive advisories fordiffandserialize-javascript. The current stable Mocha release remains affected; moving to Mocha 12 beta or forcing overrides could be breaking, so this PR leaves that for human review.Human review notes
Validation
npm audit fixrun at the root and in the legacy example package.npm installcompleted, with remaining root audit findings noted above.npm cicompleted, with remaining root audit findings noted above.npm testpassed: 67 tests.npm auditstill reports 3 root vulnerabilities through Mocha transitive dependencies, noted above.npm run test-examples:legacyfails on the existingplugin:github/browserconfig resolution issue.npm run test-examples:flatfails on expected lint violations in example source files.