Shared TypeScript configurations for @dschz packages. Strict by default, layered by environment.
bun add -D @dschz/tsconfig| Config | Use case |
|---|---|
@dschz/tsconfig/base |
Environment-agnostic libraries (no DOM) |
@dschz/tsconfig/solid |
SolidJS libraries and applications |
@dschz/tsconfig/react |
React libraries and applications |
// SolidJS library or app
{
"extends": "@dschz/tsconfig/solid",
"compilerOptions": {
"baseUrl": ".",
"paths": { "@scope/*": ["./packages/*/src"] }
},
"include": ["**/*.ts", "**/*.tsx"],
"exclude": ["node_modules", "dist", "coverage"]
}// React library or app
{
"extends": "@dschz/tsconfig/react",
"compilerOptions": {
"baseUrl": "."
},
"include": ["**/*.ts", "**/*.tsx"],
"exclude": ["node_modules", "dist", "coverage"]
}// Vanilla TypeScript library (no DOM, no JSX)
{
"extends": "@dschz/tsconfig/base",
"compilerOptions": {
"baseUrl": "."
},
"include": ["**/*.ts"],
"exclude": ["node_modules", "dist"]
}moduleResolution: BundlermoduleDetection: forceverbatimModuleSyntax: trueisolatedModules: truelib: ["ESNext"]— no DOM- Full strict suite:
exactOptionalPropertyTypes,noUncheckedIndexedAccess,noUnusedLocals,noUnusedParameters,noImplicitReturns, and more erasableSyntaxOnly: true— disallows enums, namespaces, and parameter properties (enforces TypeScript as pure type erasure)
paths,baseUrl,outDir,noEmit,declaration, andtypesare intentionally omitted — set these per-projectsolidandreactconfigs addlib: ["ESNext", "DOM", "DOM.Iterable"]on top of base