Skip to content

Commit ea8d6d0

Browse files
committed
chore(deps): migrate to pnpm 11.5.0 via official pnpm-v10-to-v11 codemod
Relocates supply-chain hardening (overrides, minimumReleaseAge, allowBuilds, resolutionMode, verifyStoreIntegrity) into pnpm-workspace.yaml; strictDepBuilds=false keeps the pnpm-10 build posture. CI is the merge gate. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
1 parent f130da9 commit ea8d6d0

3 files changed

Lines changed: 23 additions & 27 deletions

File tree

.npmrc

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,12 @@
11

22
# ---- pnpm supply-chain hardening (org-wide standard, Apr 2026 migration) ----
3-
auto-install-peers=true
4-
public-hoist-pattern[]=*@types*
5-
public-hoist-pattern[]=*eslint*
6-
public-hoist-pattern[]=*prettier*
73
# Supply-chain hardening: onlyBuiltDependencies is an explicit allowlist —
84
# EVERYTHING ELSE is blocked from running lifecycle scripts (postinstall, etc.),
95
# which is the #1 npm malware vector. Audited per-repo during migration.
106
# pnpm docs: https://pnpm.io/settings#onlybuiltdependencies
11-
onlyBuiltDependencies[]=esbuild
12-
onlyBuiltDependencies[]=@swc/core
13-
onlyBuiltDependencies[]=sharp
14-
onlyBuiltDependencies[]=better-sqlite3
157
# Deterministic cross-platform installs; closes npm#4828 structurally.
16-
resolution-mode=time-based
178
# Verify npm registry signatures at install.
18-
audit-signatures=true
199
# Blocks packages published <72h ago — catches typo-squat / compromised-publish
2010
# in the window before the community flags them.
21-
minimum-release-age=3
22-
minimum-release-age-exclude[]=@cloudingenium/*
23-
minimum-release-age-exclude[]=@cloudflare/*
24-
minimum-release-age-exclude[]=wrangler
25-
minimum-release-age-exclude[]=workerd
2611
# SHA-check every dep on access — detects store tampering.
27-
verify-store-integrity=true
2812
# Install fails if package.json / pnpm-lock.yaml out of sync.
29-
lockfile-check=true

package.json

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,5 @@
6565
"publishConfig": {
6666
"@cloudingenium:registry": "https://npm.pkg.github.com"
6767
},
68-
"packageManager": "pnpm@10.33.0",
69-
"pnpm": {
70-
"onlyBuiltDependencies": [
71-
"esbuild",
72-
"sharp",
73-
"@swc/core",
74-
"better-sqlite3"
75-
]
76-
}
77-
}
68+
"packageManager": "pnpm@11.5.0"
69+
}

pnpm-workspace.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
autoInstallPeers: true
2+
publicHoistPattern:
3+
- '*@types*'
4+
- '*eslint*'
5+
- '*prettier*'
6+
resolutionMode: time-based
7+
auditSignatures: true
8+
minimumReleaseAge: 3
9+
minimumReleaseAgeExclude:
10+
- '@cloudingenium/*'
11+
- '@cloudflare/*'
12+
- wrangler
13+
- workerd
14+
verifyStoreIntegrity: true
15+
lockfileCheck: true
16+
allowBuilds:
17+
esbuild: true
18+
sharp: true
19+
'@swc/core': true
20+
better-sqlite3: true
21+
strictDepBuilds: false

0 commit comments

Comments
 (0)