Skip to content

cowtech/typescript-config

Repository files navigation

@cowtech/typescript-config

Version Dependencies

CowTech TypeScript configuration

https://sw.cowtech.it/typescript-config

Usage

npm install @cowtech/typescript-config

Then extend it in your project's tsconfig.json:

{
  "extends": "@cowtech/typescript-config",
  "compilerOptions": {
    "outDir": "./dist",
    "rootDir": "./src"
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "dist"]
}

Configuration Settings

General Settings

Setting Value Description
target ESNext Compile to the latest ECMAScript standard for maximum performance
lib ["ESNext"] Include latest ECMAScript library features

Module Settings

Setting Value Description
module NodeNext Use Node.js ESM module resolution for modern applications
moduleResolution NodeNext Enable Node.js 16+ module resolution algorithm
skipLibCheck true Skip type checking of declaration files for faster builds
esModuleInterop true Enable CommonJS/ES module interoperability
allowSyntheticDefaultImports true Allow default imports from modules without default exports
allowImportingTsExtensions true Allow importing .ts files directly
rewriteRelativeImportExtensions true Automatically rewrite import extensions
allowJs false Enforce TypeScript-only codebase for type safety

Language Settings (Type Safety)

Setting Value Description
strict true Enable all strict type checking options
strictNullChecks true Enforce strict null and undefined checking
noImplicitAny true Raise error on expressions with implied any type
noUnusedLocals true Report errors on unused local variables
noUnusedParameters true Report errors on unused function parameters
useUnknownInCatchVariables false Use any type for catch clause variables (for compatibility)

Transpilation Settings

Setting Value Description
removeComments true Remove comments from compiled output for smaller bundles
newLine lf Use Unix-style line endings for consistency
verbatimModuleSyntax true Preserve module syntax more accurately in output
erasableSyntaxOnly true Allow removal of only erasable syntax for cleaner code

Contributing to @cowtech/typescript-config

  • Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
  • Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
  • Fork the project.
  • Start a feature/bugfix branch.
  • Commit and push until you are happy with your contribution.
  • Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.

Copyright

Copyright (C) 2025 and above Shogun shogun@cowtech.it.

Licensed under the MIT license, which can be found at https://choosealicense.com/licenses/isc.

About

Cowtech's Typescript configuration

Resources

License

Stars

Watchers

Forks

Packages

No packages published