Commit 4d5a7a0
Add pnpm supply-chain policy (recipe A)
Third-party releases now wait 2 days before install — a compromised
release is normally reported and yanked within hours, so the short
wait catches it without stalling upgrades. The release-age exemption
list (first-party scopes/packages) is derived from what we actually
publish and resolve in this lockfile via @constructive-io/pnpm-policy's
inventory, rather than hand-maintained per repo.
- pnpm-policy.yaml: policy source of truth; pnpm-workspace.yaml's
policy keys are generated from it and drift-checked in CI.
- allowBuilds: nx (transitive dep of lerna via @nx/devkit) and
unrs-resolver (transitive dep of jest-resolve) — both needed for
build/versioning and test tooling respectively.
- blockExoticSubdeps stays true: no git/URL-sourced transitive deps
found in the lockfile.
- Wired `pnpm run policy:check` into the existing acceptance workflow
right after `pnpm install`.
Part of the org-wide rollout tracked in
constructive-io/constructive-planning#1464.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CEswUi4ANuB58rva48aHge1 parent 456875f commit 4d5a7a0
5 files changed
Lines changed: 181 additions & 48 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
63 | 66 | | |
64 | 67 | | |
65 | 68 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
24 | 26 | | |
25 | 27 | | |
| 28 | + | |
26 | 29 | | |
27 | 30 | | |
28 | 31 | | |
29 | 32 | | |
| 33 | + | |
30 | 34 | | |
31 | 35 | | |
32 | 36 | | |
33 | | - | |
34 | 37 | | |
35 | 38 | | |
36 | 39 | | |
37 | 40 | | |
| 41 | + | |
38 | 42 | | |
39 | 43 | | |
40 | 44 | | |
| |||
0 commit comments