Skip to content

Supply chain improvements#53

Merged
dgreif merged 2 commits into
mainfrom
copilot/supply-chain-improvements
Jun 3, 2026
Merged

Supply chain improvements#53
dgreif merged 2 commits into
mainfrom
copilot/supply-chain-improvements

Conversation

@dgreif
Copy link
Copy Markdown
Contributor

@dgreif dgreif commented Jun 3, 2026

Files changed

  • .npmrc
  • .github/workflows/nodejs.yml
  • .github/workflows/publish.yml
  • package.json
  • package-lock.json
  • vitest.config.js

Ecosystems detected

  • npm package with lockfile
  • GitHub Actions CI and publish workflows

Recommendations applied

  • Added project npm release-age safeguard: min-release-age=3.
  • Updated CI and publish workflows to Node 26.
  • Switched CI dependency installation from npm install to npm ci.
  • Updated and pinned actions/checkout and actions/setup-node to full commit SHAs for their current releases.
  • Kept OIDC/provenance publishing and existing npm --ignore-scripts publish --provenance behavior.
  • Updated Playwright to 1.60.0.
  • Updated Vitest browser tooling to 4.1.7 and added the Vitest 4 Playwright provider package/config.
  • Ran npm audit fix; audit reports 0 vulnerabilities.

Could not be applied automatically

  • Vitest 4.1.8 was within the 3-day release-age window, so this uses 4.1.7.

Human review notes

  • npm trusted publishing may still need npm-side setup for @github/remote-form.
  • The package still has an existing postpublish script for GitHub Packages, but the publish workflow preserves --ignore-scripts.

Validation

  • npm install passed.
  • npm ci passed.
  • npx playwright install chromium passed.
  • npm run build --if-present passed.
  • npm run check --if-present passed.
  • CI=1 npm test passed, 9 tests.
  • npm audit passed, 0 vulnerabilities.

Non-blocking warnings observed: npm currently warns that min-release-age is an unknown project config, and lint reports outdated Browserslist data.

dgreif added 2 commits June 3, 2026 11:28
Use Node 26, npm ci, pinned GitHub Actions, and a project npm release-age safeguard.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Update the browser test tooling for the supply-chain refresh and keep Vitest 4's Playwright provider configuration working.\n\nCo-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@dgreif dgreif marked this pull request as ready for review June 3, 2026 17:23
@dgreif dgreif requested a review from a team as a code owner June 3, 2026 17:23
Copilot AI review requested due to automatic review settings June 3, 2026 17:23
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR focuses on supply-chain hardening and dependency/CI modernization for the npm package by tightening CI install behavior, pinning Actions, and upgrading the Vitest browser + Playwright toolchain.

Changes:

  • Added an .npmrc setting intended as a dependency “release-age” safeguard.
  • Updated CI/publish workflows to Node 26, pinned actions/* to commit SHAs, and switched CI installs to npm ci.
  • Upgraded Playwright and migrated Vitest browser configuration to the Vitest 4 Playwright provider.
Show a summary per file
File Description
.npmrc Adds a min-release-age configuration entry.
.github/workflows/nodejs.yml Moves CI to Node 26, pins Actions by SHA, uses npm ci.
.github/workflows/publish.yml Moves publish job to Node 26 and pins Actions by SHA.
package.json Pins Vitest/browser and Playwright versions; adds Playwright provider package.
package-lock.json Lockfile updates reflecting Vitest/Playwright/Vite transitive changes.
vitest.config.js Updates Vitest browser config 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: 5/6 changed files
  • Comments generated: 4

Comment thread .npmrc
@@ -0,0 +1 @@
min-release-age=3
Comment thread package.json
Comment on lines 30 to 31
"license": "MIT",
"devDependencies": {
Comment on lines +17 to 18
- run: npm ci
- run: npx playwright install chromium
node-version: 26
registry-url: https://registry.npmjs.org/
cache: npm
- run: npm ci
@dgreif dgreif merged commit fcd92c6 into main Jun 3, 2026
5 checks passed
@dgreif dgreif deleted the copilot/supply-chain-improvements branch June 3, 2026 17:59
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.

3 participants