Skip to content

chore(deps): upgrade to pnpm 11 and harden supply-chain config - #157

Merged
FJ-Riveros merged 1 commit into
mainfrom
ew/pe-1866-harden-pnpm
Jun 2, 2026
Merged

chore(deps): upgrade to pnpm 11 and harden supply-chain config#157
FJ-Riveros merged 1 commit into
mainfrom
ew/pe-1866-harden-pnpm

Conversation

@ElliotWood13

Copy link
Copy Markdown
Contributor

What

Onboard to pnpm 11.3.0 + supply-chain hardening. Part of PE-1866.

Changes

  • Add packageManager: pnpm@11.3.0 (was unpinned); add engines.node: ">=22.13"
  • Moved 15 security override pins from package.json#pnpm.overridespnpm-workspace.yaml (verbatim). ⚠️ Would have silently stopped applying under v11.
  • New policies: minimumReleaseAge: 14400 (10d), trustPolicy: no-downgrade, blockExoticSubdeps: true
  • No CI changes (Python workflow; no pnpm steps)

trustPolicyExclude

undici-types, semver — vetted benign provenance gaps

allowBuilds

  • true: bigint-buffer-fixed (native, replaces bigint-buffer via override), bufferutil, utf-8-validate (ws perf addons)
  • false: es5-ext — install script is a donation notice, not a build

Test plan

pnpm install under pnpm 11.3.0 / Node 22.22 succeeds; build scripts as configured.

Security & Data Impact

Security impact: Adds install-time supply-chain protections; preserves override pins (notably bigint-bufferbigint-buffer-fixed security override).
Data classification affected: None.

Rollback

Revert commit — no state migration.

- Add packageManager pnpm@11.3.0 (was unpinned); require Node >= 22.13
- Move 15 security override pins from package.json#pnpm.overrides into
  pnpm-workspace.yaml (pnpm v11 no longer reads the package.json pnpm field)
- Add trustPolicy no-downgrade, blockExoticSubdeps, minimumReleaseAge (10d)
- trustPolicyExclude: undici-types, semver
- allowBuilds: bigint-buffer-fixed, bufferutil, utf-8-validate (true);
  es5-ext (false; install script is a donation notice, not functional)
- No CI changes (Python CI workflow, no pnpm steps)

Part of PE-1866.
@ElliotWood13
ElliotWood13 marked this pull request as ready for review June 1, 2026 12:48
@ElliotWood13
ElliotWood13 requested a review from a team as a code owner June 1, 2026 12:48
Copilot AI review requested due to automatic review settings June 1, 2026 12:48

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Upgrades the repo’s JavaScript toolchain to a pinned pnpm 11.x version and centralizes pnpm configuration to support supply-chain hardening and ensure dependency override pins continue to apply.

Changes:

  • Pin the package manager to pnpm@11.3.0 and declare a Node engine floor of >=22.13.
  • Add pnpm supply-chain policies (release-age gating, trust policy behavior, exotic subdep blocking).
  • Move dependency security override pins out of package.json into pnpm-workspace.yaml.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
pnpm-workspace.yaml Adds pnpm v11-oriented configuration, supply-chain hardening policies, override pins, and build-script allow/deny rules.
package.json Pins pnpm via packageManager and sets a Node engines minimum; removes the legacy pnpm.overrides block.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@FJ-Riveros
FJ-Riveros merged commit 730a4f8 into main Jun 2, 2026
6 checks passed
@FJ-Riveros
FJ-Riveros deleted the ew/pe-1866-harden-pnpm branch June 2, 2026 07:00
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.

4 participants