Commit 4e9caf3
Gate the workspace manifest dependency graph against cycles (#14524)
* feat(scripts): gate the workspace manifest graph against cycles (#13513)
Adds check:workspace-manifest-cycles, a new check family that walks every
workspace: edge in dependencies, devDependencies, peerDependencies and
optionalDependencies across all 78 workspace packages and refuses on any
cycle, naming each edge with its declaration class. peerDependencies is
walked deliberately: a scan omitting it reports 0 cycles on the pre-fix
#13513 tree, honestly and wrongly, since that cycle's first edge was a
peer edge. Wired into lint.yml next to check:turbo-task-graph, the
repo's existing collector idiom for this kind of manifest sweep.
Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WLJQhde67SeTccsmnBVarV
* fix(pm): classify check-workspace-manifest-cycles.mjs::runSelfTest in COMPOUND_ANCHOR_LEDGER
The self-test declaration this PR adds in
scripts/check-workspace-manifest-cycles.mjs (runSelfTest) is a compound
name the anchor matches, and the pm-dispatch-gates census requires every
such name be classified. It is a genuine self-test battery, so
accidental: false, placed in file-path order among the other
scripts/check-*.mjs accidental:false rows.
Co-Authored-By: Claude Code <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WLJQhde67SeTccsmnBVarV
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent e6fd6b2 commit 4e9caf3
4 files changed
Lines changed: 749 additions & 0 deletions
File tree
- .github/workflows
- scripts
- pm
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3631 | 3631 | | |
3632 | 3632 | | |
3633 | 3633 | | |
| 3634 | + | |
| 3635 | + | |
| 3636 | + | |
| 3637 | + | |
| 3638 | + | |
| 3639 | + | |
| 3640 | + | |
| 3641 | + | |
| 3642 | + | |
| 3643 | + | |
| 3644 | + | |
| 3645 | + | |
| 3646 | + | |
| 3647 | + | |
| 3648 | + | |
| 3649 | + | |
| 3650 | + | |
| 3651 | + | |
| 3652 | + | |
| 3653 | + | |
| 3654 | + | |
| 3655 | + | |
| 3656 | + | |
| 3657 | + | |
| 3658 | + | |
| 3659 | + | |
| 3660 | + | |
| 3661 | + | |
| 3662 | + | |
| 3663 | + | |
| 3664 | + | |
| 3665 | + | |
| 3666 | + | |
3634 | 3667 | | |
3635 | 3668 | | |
3636 | 3669 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| 83 | + | |
83 | 84 | | |
84 | 85 | | |
85 | 86 | | |
| |||
0 commit comments