Repository navigation
build(typescript): move root project references into tsconfig.typecheck.json - #3688
Conversation
…ck.json fallow >=3.20 walks the references of each file's tsconfig on every import, which made its resolve stage ~14x slower once the root tsconfig gained 28 references (#3289). tsc -b now builds the root program through tsconfig.typecheck.json, which extends tsconfig.json and carries the references; extends does not inherit them, so fallow, editors, and tsdown read a reference-free root config.
The scripts/freerange wrapper existed only to hand fr a tsconfig without references; tsconfig.json no longer has any.
…nd its build info
|
|
This PR is ready at 5904480. Moving the project references into tsconfig.typecheck.json looks right, and the layering test covers the ownership split. Not blocking: the test in scripts/layering/project-references.test.ts pins the contents of tsconfig.typecheck.json and the absence of references in tsconfig.json, but nothing pins that the I read the head's tsconfigs and scripts only. I did not run CI is still running: 18 of 25 checks are queued or in progress, and none have failed. The Typecheck & Package, Repo Guards (layering) and fallow audit jobs exercise this diff, so merge should wait for those to pass. |
Size Report
Startup median (7 runs, lower is better):
|
…ctions-1 * origin/main: feat(react-devtools): inspect React components and profile renders through the Metro inspector (#3613) refactor(daemon-contracts): drop the registration and claims fixture exports (#3689) refactor(test-kit): drop the daemon-contracts dependency (#3686) refactor(test-kit): drop command-registry by making the replay-script generator a root fixture (#3687) fix(ios): handle delayed launch confirmations without stopping XCTest (#3682) refactor(test-kit): move the dispatch-disclosure harness out of contracts (#3690) refactor(test-kit): host the target classification capture fixture (#3691) ci: fold six CI jobs into four with parallel and background steps; cancel superseded and closed-PR runs (#3658) build(typescript): move root project references into tsconfig.typecheck.json (#3688) chore(daemon): declare @agent-device/proxy as a devDependency, since only a test imports it (#3685) refactor(settings): declare settings once and admit them per setting (#3662) # Conflicts: # packages/platform-android/src/alert.ts # website/docs/docs/limrun.md
Summary
fallow ≥3.20 walks the root tsconfig's
referenceson every import. Since #3289 gave the root tsconfig 28 references, every fallow gate has slowed down: on CI, "Run Fallow audit" went from 6–9s to 440–850s.This PR moves the references into
tsconfig.typecheck.json, whichextendstsconfig.jsonand is now whatpnpm typecheckbuilds withtsc -b.extendsdoes not inherit references, so fallow, freerange, editors and tsdown now read a reference-free root config. Thescripts/freerange/tsconfig.jsonwrapper existed only to hide the references from freerange, so it is deleted. A test pins thattsconfig.jsonhas no references. 6 files changed.Going back to fallow 3.19 was rejected. Its
--fail-on-issuesexits 0 on warn findings (checked with a planted unused export), and on main it reports 79 unused production exports where 3.32 reports 0.Validation
Tested at 5904480.
tsc -b --verbosebuilds the same 30 projects, and--listFilesgives the same 16,156 files. Errors planted in a package, insrc/and intest/are all caught.--coverage/--diff-stdin) andaudit --base. Only the entry-point bookkeeping differs, by +1 for the new tsconfig.pnpm check:affected --run: passed exceptdaemon-client-transport.test.ts > auto health probing…, a timing test that failed while a Rust build loaded the machine. It passed 3 of 3 runs alone.audit --basestill analyses the base with references, so the full CI gain shows on PRs opened after this merges.