Skip to content

Commit a2dfaeb

Browse files
chore(ui-tooling): drop package tsconfig keys that restate the root's value (slice 6 of #25920) (#26139)
<!-- claude-projects-attribution: {"github_login":"os-elon-musk"} --> _Requested by **Elon** · [project thread](https://claude.ai/code/project/chan_01WedDzV26nniwxv7jC88B9D?thread=cmsg_01WedDzV26nniwxv7jC88B9D7sHdFfY8QjwRsxKSLngGfv)_ Part of #25920 — slice 6, the card's tsconfig dedupe (slices 1–5: #26004, #26024, #26057, #26098, #26107). ## Summary 42 files, +24 / −90, on `main` 95294be. No effective configuration changes. 42 package tsconfigs that extend `ui/tsconfig.json` restated root values exactly: `"jsx": "react-jsx"` in 42 files and `"skipLibCheck": true` in 24. Both keys are removed. The 24 `+` lines only move a trailing comma when the removed key was the last entry in `compilerOptions`. **Proof the edit is mechanical:** `tsc -p <file> --showConfig` output is byte-identical before and after for **all 78** tracked `ui/packages/*/tsconfig*.json`. TypeScript 6.0.3 resolves the full `extends` chain, and every resolved option and file list matches. ## Kept on purpose These are root-equal or close to it, but are not mechanical to drop: - **`"noEmit": true` in `tsconfig.test.json`, `tsconfig.typetests.json` and `packages/types/tsconfig.examples.json`.** `check-type-check-coverage.mjs` checks these files' text for `"noEmit": true`, so the key must stay written in the file. The checking-project convention, stated in their comments, also writes it explicitly. - **`packages/cli` `module` / `target` / `moduleResolution` / `resolveJsonModule`.** That config emits the CLI. Its emit settings stay pinned locally so they don't follow a later change to the root. - **`baseUrl` + `"paths": { "@/*": ["src/*"] }` in 24 packages.** Not equal to the root in effect. A child `paths` replaces the root's, so removing it would expose the root's `@object-ui/*` → `src` paths, resolved against the root's `baseUrl`. Checked with `--showConfig` on `plugin-map`: the effective config changes. ## Verification (head bad0f29) - `--showConfig` identity: 78 of 78 configs identical, measured on this base. - ui gates that read tsconfigs: `check-type-check-coverage`, `check-published-tsconfig-tooling-exclude`, `check-unreferenced-sources` and `check-test-path-roots` all exit 0. `check-node-esm-load` gives the same result before and after: its specifier leg passes, and its load leg stops at a local `pnpm build` that this environment cannot run. - ui tooling tests that read tsconfigs (type-check-coverage ×2, node-esm-load, published-tsconfig-tooling-exclude, dist-completeness, vitest-setup/config type-check, side-effects-declaration-consistency, vitest-config-alias-targets, vi-mock ×2, markdown-test-inputs, check-unreferenced-sources): 13 files, 745 tests passed. - `dispatch-gates --commands` families: per-family exit codes are in the report on the card. `check:commit-card-trailers`: exit 0. - No changeset: private ui package configs only, with identical effective options. --- _Generated by [Claude Code](https://claude.ai/code/session_012eXtKYmXEnCc1GExP4go12)_ 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_012eXtKYmXEnCc1GExP4go12 Co-authored-by: Claude <noreply@anthropic.com>
1 parent 7d7879b commit a2dfaeb

42 files changed

Lines changed: 24 additions & 90 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎ui/packages/app-shell/tsconfig.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
"compilerOptions": {
44
"outDir": "dist",
55
"rootDir": "src",
6-
"jsx": "react-jsx",
76
"lib": ["ES2020", "DOM"],
87
"types": ["node", "vite/client"],
98
"noEmit": false,

‎ui/packages/app-shell/tsconfig.test.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
// not inherit `composite` / `declaration` from the build config.
3131
"composite": false,
3232
"declaration": false,
33-
"jsx": "react-jsx",
3433
// One notch above the package build's ES2020: these suites read the last
3534
// emitted call with `calls.at(-1)` and use `Object.hasOwn` / `Array.at`,
3635
// all ES2022. Raised HERE and not in `tsconfig.json`, so the package

‎ui/packages/auth/tsconfig.json‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
"compilerOptions": {
44
"outDir": "dist",
55
"rootDir": "src",
6-
"jsx": "react-jsx",
76
"baseUrl": ".",
87
"paths": {
98
"@/*": ["src/*"]
@@ -37,8 +36,7 @@
3736
// package so the location is a decision, not a side effect of an unrelated option.
3837
"tsBuildInfoFile": "./tsconfig.tsbuildinfo",
3938
"composite": true,
40-
"declarationMap": true,
41-
"skipLibCheck": true
39+
"declarationMap": true
4240
},
4341
"include": ["src"],
4442
// Tooling is excluded by DIRECTORY, not just by file NAME. A helper under

‎ui/packages/collaboration/tsconfig.json‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
"compilerOptions": {
44
"outDir": "dist",
55
"rootDir": "src",
6-
"jsx": "react-jsx",
76
"baseUrl": ".",
87
"paths": {
98
"@/*": ["src/*"]
@@ -37,8 +36,7 @@
3736
// package so the location is a decision, not a side effect of an unrelated option.
3837
"tsBuildInfoFile": "./tsconfig.tsbuildinfo",
3938
"composite": true,
40-
"declarationMap": true,
41-
"skipLibCheck": true
39+
"declarationMap": true
4240
},
4341
"include": ["src"],
4442
// Tooling is excluded by DIRECTORY, not just by file NAME. A helper under

‎ui/packages/collaboration/tsconfig.test.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
// not inherit `composite` / `declaration` from the build config.
2020
"composite": false,
2121
"declaration": false,
22-
"jsx": "react-jsx",
2322
// Drop the root tsconfig's source-tree `paths` so `@object-ui/*` and
2423
// `@objectstack/spec` resolve through the workspace dependency's built
2524
// `.d.ts` instead of pulling sibling sources in as program inputs (TS6059).

‎ui/packages/components/tsconfig.json‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
"extends": "../../tsconfig.json",
33
"compilerOptions": {
44
"outDir": "dist",
5-
"jsx": "react-jsx",
65
"baseUrl": ".",
76
"paths": {
87
"@/*": ["src/*"]
@@ -17,8 +16,7 @@
1716
// tree as soon as anything runs `tsc` (objectui#9189). Pinned in every composite
1817
// package so the location is a decision, not a side effect of an unrelated option.
1918
"tsBuildInfoFile": "./tsconfig.tsbuildinfo",
20-
"composite": true,
21-
"skipLibCheck": true
19+
"composite": true
2220
},
2321
"include": ["src"],
2422
// Tooling is excluded by DIRECTORY, not just by file NAME. A helper under

‎ui/packages/components/tsconfig.test.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
// not inherit `composite` / `declaration` from the build config.
2525
"composite": false,
2626
"declaration": false,
27-
"jsx": "react-jsx",
2827
// One notch above the root's ES2020: these suites read the last emitted
2928
// call with `calls.at(-1)`, and `Array.prototype.at` is ES2022. The
3029
// compiler named the remedy itself. Raised HERE and not in `tsconfig.json`,

‎ui/packages/fields/tsconfig.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
// `noEmit: true`, so `tsc` here only CHECKS; `dist` is written by
1414
// vite-plugin-dts, which overrides `rootDir` to `src` and clears `paths`.
1515
"rootDir": "..",
16-
"jsx": "react-jsx",
1716

1817
// See `packages/react/tsconfig.json` for the full argument: under
1918
// `nodenext` a missing relative extension is TS2835 and a bare directory

‎ui/packages/fields/tsconfig.test.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
"noEmit": true,
2626
"composite": false,
2727
"declaration": false,
28-
"jsx": "react-jsx",
2928
// Deliberately NOT raised to ES2022. Measured: no test file in this package
3029
// reaches for `Array.prototype.at` or any other ES2021+ builtin, so the
3130
// tests are held to the same lib the shipped SOURCE targets.

‎ui/packages/i18n/tsconfig.json‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
// package so the location is a decision, not a side effect of an unrelated option.
1414
"tsBuildInfoFile": "./tsconfig.tsbuildinfo",
1515
"composite": true,
16-
"jsx": "react-jsx",
1716
"lib": ["ES2020", "DOM"]
1817
},
1918
"include": ["src"],

0 commit comments

Comments
 (0)