@dschz/tsconfig
v0.1.0
Published
Shared TypeScript configurations for @dschz packages
Readme
@dschz/tsconfig
Shared TypeScript configurations for @dschz packages. Strict by default, layered by environment.
Install
bun add -D @dschz/tsconfigConfigs
| 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 |
Usage
// 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"]
}What's included in base
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)
Notes
paths,baseUrl,outDir,noEmit,declaration, andtypesare intentionally omitted — set these per-projectsolidandreactconfigs addlib: ["ESNext", "DOM", "DOM.Iterable"]on top of base
