Skip to content

Repository files navigation

@vllnt/typescript

Shared TypeScript configurations for vllnt projects. Strict, modern, Node 22+.

Install

npm install -D @vllnt/typescript

Presets

PresetUse caseModuleTarget
base.jsonFoundation (extended by others)--
nodejs.jsonNode.js applicationsNodeNextES2024
node-library.jsonPublishable npm packagesNodeNextES2024
react.jsonReact apps (Vite, CRA, etc.)ESNextES2022
nextjs.jsonNext.js applicationsESNextES2022

Usage

Extend a preset in your tsconfig.json:

Node.js application

{
"extends": "@vllnt/typescript/nodejs.json",
"compilerOptions": {
"outDir": "dist",
"rootDir": "src"
},
"include": ["src"]
}

Node library (npm package)

{
"extends": "@vllnt/typescript/node-library.json",
"compilerOptions": {
"outDir": "dist",
"rootDir": "src"
},
"include": ["src"]
}

React

{
"extends": "@vllnt/typescript/react.json",
"compilerOptions": {
"outDir": "dist",
"rootDir": "src"
},
"include": ["src"]
}

Next.js

{
"extends": "@vllnt/typescript/nextjs.json",
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
"exclude": ["node_modules"]
}

What's included

All presets extend base.json which enforces:

  • strict: true
  • isolatedModules: true
  • noUncheckedIndexedAccess: true
  • skipLibCheck: true
  • esModuleInterop: true
  • resolveJsonModule: true

Requirements

  • Node.js >= 22
  • TypeScript >= 5.0

License

MIT

About

Shared TypeScript configurations for vllnt projects

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages