@asd14/ts-config
v1.1.0
Published
ASD14's reusable Typescript configs
Readme
@asd14/ts-config
ASD14's reusable TypeScript configurations.
Installation
npm install --save-dev @asd14/ts-config typescript@^5Usage
In your tsconfig.json, extend the desired configuration:
{
"extends": "@asd14/ts-config/targets/react.json"
}Targets
There are 3 configurations, each tailored for a specific target environment:
node, react and ink.
Common Configuration
All 3 targets extend a common set of rules:
{
"allowImportingTsExtensions": true,
"allowJs": true,
"checkJs": true,
"declaration": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"incremental": true,
"moduleDetection": "force",
"noFallthroughCasesInSwitch": true,
"noImplicitOverride": true,
"noImplicitReturns": true,
"noPropertyAccessFromIndexSignature": true,
"noUncheckedIndexedAccess": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"removeComments": false,
"resolveJsonModule": true,
"skipDefaultLibCheck": true,
"skipLibCheck": true,
"sourceMap": true,
"strict": true
}Node
// @asd14/ts-config/targets/node.json
{
"module": "nodenext",
"moduleResolution": "nodenext",
"target": "es2022",
"lib": ["es2023"],
"types": ["node"]
}React
// @asd14/ts-config/targets/react.json
{
"module": "esnext",
"moduleResolution": "bundler",
"target": "esnext",
"jsx": "preserve",
"lib": ["dom", "dom.iterable", "esnext"]
}Ink
// @asd14/ts-config/targets/ink.json
{
"module": "esnext",
"moduleResolution": "nodenext",
"target": "esnext",
"jsx": "preserve",
"lib": ["es2023", "dom"],
"types": ["node"]
}Peer dependencies
This package requires and assumes you already installed:
"peerDependencies": {
"typescript": "^5"
},License
MIT
