Supply chain improvements#72
Merged
Merged
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
manuelpuyol
approved these changes
Jun 3, 2026
There was a problem hiding this comment.
Pull request overview
This PR tightens the project’s JavaScript supply-chain posture by hardening npm and GitHub Actions usage, updating the Node toolchain baseline, and upgrading the Vitest/Playwright browser testing stack to newer major versions.
Changes:
- Enforced dependency “release age” gating via
.npmrcand bumped the project’s Node version to 26. - Hardened GitHub Actions by pinning
actions/checkoutandactions/setup-nodeto full commit SHAs and switching CI installs tonpm ci. - Upgraded Vitest to v4, added the Vitest Playwright browser provider, and updated Playwright accordingly.
Show a summary per file
| File | Description |
|---|---|
.npmrc |
Adds a supply-chain control to avoid installing very recently published packages. |
.node-version |
Updates the repo’s Node baseline used by CI/release workflows. |
.github/workflows/nodejs.yml |
Pins core actions by SHA and uses npm ci for deterministic installs. |
.github/workflows/publish.yml |
Pins actions by SHA and shifts publishing auth model toward trusted publishing. |
package.json |
Bumps Vitest/Playwright dependencies and adds the Vitest Playwright browser provider. |
package-lock.json |
Locks updated dependency graph consistent with the upgraded tooling and audit fixes. |
vitest.config.ts |
Updates Vitest browser configuration to use the Playwright provider API. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 6/7 changed files
- Comments generated: 1
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.
Files changed
.npmrc.node-version.github/workflows/nodejs.yml.github/workflows/publish.ymlpackage.jsonpackage-lock.jsonvitest.config.tsEcosystems detected
Recommendations applied
min-release-age=3to project.npmrc.node-version-file.npm installtonpm ci.actions/checkoutto v6.0.3 andactions/setup-nodeto v6.4.0, pinned to full commit SHAs.NODE_AUTH_TOKENbased npm publishing and keptcontents: readplusid-token: writefor trusted publishing.npm --ignore-scripts publish --provenancepublishing style.npm audit fixand resolved reported vulnerabilities.Could not apply automatically
Human review notes
NODE_AUTH_TOKEN.pull_request_targetworkflows were found.contents: read, plusid-token: writeonly for publishing.postpublishscript for GitHub Packages, but the release workflow keeps--ignore-scriptsfor the npmjs publish step.Validation
npm installpassed.npm cipassed.npx playwright install chromium --only-shellpassed.npm run build --if-presentpassed.npm run check --if-presentpassed; no check script is defined.npm run lint --if-presentpassed with existing TypeScript support and Browserslist warnings.CI=1 npm testpassed: 14 tests.npm auditpassed: 0 vulnerabilities.