packages/preset-esm/templates/tsconfig.yaml
compilerOptions:
# emittance
outDir: '{output}'
module: ESNext
target: ES2022
declaration: true
declarationMap: true
incremental: true
inlineSourceMap: true
noEmit: true
noImplicitUseStrict: false
preserveConstEnums: true
removeComments: false
# compatibility
allowSyntheticDefaultImports: true
esModuleInterop: true
isolatedModules: false
# strict type check
alwaysStrict: true
noImplicitAny: false
noImplicitThis: false
strictBindCallApply: true
strictFunctionTypes: true
strictNullChecks: true
strictPropertyInitialization: true
# lint
allowUnreachableCode: false
allowUnusedLabels: false
forceConsistentCasingInFileNames: true
noImplicitReturns: true
noUnusedLocals: false
noUnusedParameters: false
noFallthroughCasesInSwitch: false
skipLibCheck: true
# module resolution
moduleResolution: node
resolveJsonModule: true
baseUrl: .
paths:
'#':
- '{source}'
'#*':
- '{source}/*'
- '{generated}/*'
'*':
- '*'
- '{types}/*'
# libraries
lib:
- ES2020
include:
- '**/*.json'
- '**/*.ts'
- '**/*.cts'
- '**/*.mts'
exclude:
- '**/node_modules'
- '{output}'