|
Some checks are pending
sf self-deploy / build, test, and publish server image (push) Waiting to run
sf self-deploy / upgrade vega source server (push) Blocked by required conditions
sf self-deploy / deploy test and probe (push) Blocked by required conditions
sf self-deploy / promote prod (push) Blocked by required conditions
Two changes (one walker, one real code):
1. scripts/check-circular-deps.mjs — skip type-only imports.
`import type { X } from "..."` and `export type { X } from "..."`
are erased by tsc at compile time and cannot cause runtime cycles.
Walker now drops them, matching the precedent set by skipping
dynamic `await import(...)`. Net effect on full-repo scan:
before: 9 cycles
after: 3 cycles (the 6 that disappeared were all `import type`
false-positives — none were real runtime cycles).
2. packages/tui — break the last 2-file cycle.
tui.ts and overlay-layout.ts had a real RUNTIME cycle:
- tui.ts → overlay-layout.ts: applyLineResets, compositeOverlays,
extractCursorPosition, isOverlayVisible (4 fns)
- overlay-layout.ts → tui.ts: CURSOR_MARKER (1 const)
Both files already imported `./overlay-types.ts` (no cycle there).
Moved CURSOR_MARKER from tui.ts into overlay-types.ts and re-exported
from tui.ts so existing `from "./tui.js"` call sites keep working.
No behavior change.
Remaining cycles after both fixes (3 real-runtime ones, separate slices):
- safety/autonomous-rollback chain (9 files, SF extension)
- packages/coding-agent core mega-cycle (12 files)
- (one more, see `npm run check:circular`)
These are foundational refactors worth their own commits, not bundled
into this one.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| src | ||
| package.json | ||
| tsconfig.json | ||