|
| 1 | +// The SCRIPTS-layer type-check program for this package (#11351). |
| 2 | +// |
| 3 | +// `scripts/i18n-extract.config.ts` is the input to this package's i18n |
| 4 | +// extraction: it composes the package's own objects and translation bundles |
| 5 | +// into an `ObjectStackDefinition`. It is real source, and until this file |
| 6 | +// existed no tsc program read a line of it -- `tsconfig.json` selects only |
| 7 | +// `src`, so the package passed `check:type-check-coverage` as COVERED with |
| 8 | +// the directory unread. It was carried as an UNCHECKED_SOURCE_DEBT entry |
| 9 | +// (#10756); that entry is deleted in the same change that adds this file, |
| 10 | +// which RECONCILED forces anyway. |
| 11 | +// |
| 12 | +// A SIBLING rather than a wider `include` on `tsconfig.json`, the |
| 13 | +// distinction #5475 drew for `packages/spec` and #10756 for |
| 14 | +// `packages/objectql/scripts`: that config emits, so widening it to reach |
| 15 | +// `scripts/` would put the directory in front of the emit. This program |
| 16 | +// emits nothing. |
| 17 | +// |
| 18 | +// STRICTNESS IS INHERITED and deliberately not relaxed: `strict`, |
| 19 | +// `noUnusedLocals`, `noUnusedParameters`, `noImplicitReturns` and the rest |
| 20 | +// come from the root config through `tsconfig.json`. The directory |
| 21 | +// type-checks clean under them -- it enters with ZERO recorded debt, and |
| 22 | +// there is no ledger here to record any in. Module semantics are inherited |
| 23 | +// too (NodeNext): these configs spell their relative imports with `.js` |
| 24 | +// extensions already, so nothing here needs `packages/spec`'s bundler |
| 25 | +// resolution or `allowImportingTsExtensions`. |
| 26 | +// `rootDir` IS NOT OVERRIDDEN HERE, and that is the package-specific half of |
| 27 | +// this file. `tsconfig.json` already widens it to `../..` (= `packages/`) to |
| 28 | +// carry the `paths` redirect of a sibling package to source, so the inherited |
| 29 | +// value ALREADY contains `scripts/` and this program needs no change. Setting |
| 30 | +// it to `.` also measures 0 today, and is still the wrong value: it would |
| 31 | +// re-narrow the root below the redirected source, so the first script here |
| 32 | +// that reaches that sibling would report TS6059 about the CHECK rather than |
| 33 | +// about the code. |
| 34 | +// |
| 35 | +{ |
| 36 | + "extends": "./tsconfig.json", |
| 37 | + "compilerOptions": { |
| 38 | + "noEmit": true |
| 39 | + }, |
| 40 | + "include": ["scripts/**/*"] |
| 41 | +} |
0 commit comments