@charcuterie/tsconfig
v1.0.0
Published
Shared TypeScript compiler settings for the Charcuterie fleet — a base preset plus app / react / node-lib variants.
Readme
@charcuterie/tsconfig
Shared TypeScript compiler settings for the Charcuterie app fleet. One base preset
plus three variants, so every app inherits the same strict invariants instead of
copying a tsconfig.base.json that then drifts.
Presets
| Subpath | Extends | For |
| --- | --- | --- |
| @charcuterie/tsconfig/base | — | The strict invariants (strict, isolatedModules, esModuleInterop, skipLibCheck, target: ESNext, …). Module system left to the variant. |
| @charcuterie/tsconfig/app | base | Bundler-resolved browser app (lib: DOM, module: ESNext, moduleResolution: Bundler, noEmit). |
| @charcuterie/tsconfig/react | app | Adds jsx: react-jsx. |
| @charcuterie/tsconfig/node-lib | base | An emitting Node library (module: NodeNext, declaration, outDir: dist, rootDir: src). |
The bare specifier @charcuterie/tsconfig resolves to base.
Usage
// tsconfig.json — a React web app
{
"extends": "@charcuterie/tsconfig/react",
"compilerOptions": { "types": ["vite/client"] },
"include": ["src"]
}// tsconfig.json — a published Node library
{
"extends": "@charcuterie/tsconfig/node-lib",
"include": ["src"]
}Each app still supplies its own include/paths/types — the 20% that is genuinely
per-app. Everything above the line comes from here and updates via Renovate.
