Skip to content

refactor(toolchain): add shared tsconfig.base.json; extend it everywhere (RIG-3115) - #831

Merged
mattwilkinsonn merged 1 commit into
mainfrom
compass-native/rig-3115-tsconfig-base
Sep 1, 2026
Merged

refactor(toolchain): add shared tsconfig.base.json; extend it everywhere (RIG-3115)#831
mattwilkinsonn merged 1 commit into
mainfrom
compass-native/rig-3115-tsconfig-base

Conversation

@rigel-mintaka

Copy link
Copy Markdown
Contributor

The compass tree had no shared tsconfig base — every project shipped a standalone copy, the tool ones byte-identical. This adds a root tsconfig.base.json (matching how biome uses extends: // and bun uses one lock + catalog) and points every non-fork, non-astro project at it, leaving only genuine per-project deltas (apps/ui's DOM/Solid libs, per-project types/include, the tools' module-handling flags: moduleDetection, allowJs, allowImportingTsExtensions).

eng-docs (Astro toolchain) and forks/ keep their own bases and are untouched.

Strict-flag unification: noFallthroughCasesInSwitch and noImplicitOverride fold into the base — the full :typecheck gate stays green repo-wide with them applied everywhere. noUncheckedIndexedAccess is deferred: lifting it repo-wide surfaces 385 pre-existing latent type errors in the leaner projects (packages/compass-agent 165, apps/ui 219, tools/toolchain/devenv-cli 1), all TS18048/TS2532/TS2345/TS2322 'possibly undefined' at index accesses. It remains a per-leaf delta on the 14 tool configs that already had it; fixing the product-code errors is out of scope for this structural PR and is left for a follow-up.

Spec-impact: none.
Refs RIG-3115
Co-authored-by: Matt Wilkinson matt@rigel.build

@linear-code

linear-code Bot commented Sep 1, 2026

Copy link
Copy Markdown

RIG-3115

@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

Compass engineering docs preview: https://compass-native-rig-3115-tsco.compass-eng-docs.pages.dev

Deployed from compass-native/rig-3115-tsconfig-base at 835b042.

…ere (RIG-3115)

The compass tree had no shared tsconfig base — every project shipped a standalone copy, the tool ones byte-identical. This adds a root `tsconfig.base.json` (matching how biome uses `extends: //` and bun uses one lock + catalog) and points every non-fork, non-astro project at it, leaving only genuine per-project deltas (apps/ui's DOM/Solid libs, per-project `types`/`include`, the tools' module-handling flags: `moduleDetection`, `allowJs`, `allowImportingTsExtensions`).

eng-docs (Astro toolchain) and forks/ keep their own bases and are untouched.

Strict-flag unification: `noFallthroughCasesInSwitch` and `noImplicitOverride` fold into the base — the full `:typecheck` gate stays green repo-wide with them applied everywhere. `noUncheckedIndexedAccess` is deferred: lifting it repo-wide surfaces 385 pre-existing latent type errors in the leaner projects (packages/compass-agent 165, apps/ui 219, tools/toolchain/devenv-cli 1), all TS18048/TS2532/TS2345/TS2322 'possibly undefined' at index accesses. It remains a per-leaf delta on the 14 tool configs that already had it; fixing the product-code errors is out of scope for this structural PR and is left for a follow-up.

Spec-impact: none.
Refs RIG-3115
Co-authored-by: Matt Wilkinson <matt@rigel.build>
@rigel-mintaka
rigel-mintaka force-pushed the compass-native/rig-3115-tsconfig-base branch from ba0728f to 835b042 Compare September 1, 2026 03:30
@rigel-mintaka
rigel-mintaka marked this pull request as ready for review September 1, 2026 03:30
@mattwilkinsonn
mattwilkinsonn merged commit f92bed5 into main Sep 1, 2026
14 checks passed
@mattwilkinsonn
mattwilkinsonn deleted the compass-native/rig-3115-tsconfig-base branch September 1, 2026 03:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants