@git-validator/tsconfig

0.4.5 • Public • Published

@git-validator/tsconfig

Strict shared tsconfig out-of-box

Feature

  • Strictest configs with best practices.
  • One-line of tsconfig.
  • Support ESM and CommonJS.
  • Support FE (eg: React) & BE (eg: Nest) project.

Requirement

  • Typescript 5.0+.
  • Node 18+.

Usage

Install

npm i @git-validator/tsconfig -D

For node project, you may need to install @types/node additionally.

npm i @types/node -D

For frontend project (like React), you may need to install @types/web additionally.

npm i @types/web -D

Config tsconfig.json

{
  "extends": "@git-validator/tsconfig"
}

Best Practices

Here are the best practices if you are using this package.

For polyrepo

├── src
│   └── index.ts
├── test
│   └── index.spec.ts
├── package.json
├── tsconfig.build.json
└── tsconfig.json

tsconfig.json

{
  "extends": "@git-validator/tsconfig"
}

tsconfig.build.json

{
  "extends": "./tsconfig",
  "include": ["src"],
  "exclude": ["**/*.spec.ts", "**/*.test.ts"],
  "compilerOptions": {
    "outDir": "dist"
  }
}

For monorepo

├── apps
│   ├── app1
│   │   ├── src
│   │   │   └── main.ts
│   │   ├── test
│   │   │   └── main.spec.ts
│   │   ├── package.json
│   │   ├── tsconfig.build.json
│   │   └── tsconfig.json
│   └── app2
│       ├── src
│       │   └── main.ts
│       ├── test
│       │   └── main.spec.ts
│       ├── package.json
│       ├── tsconfig.build.json
│       └── tsconfig.json
├── package.json
└── tsconfig.json

tsconfig.json in the root of project

{
  "extends": "@git-validator/tsconfig"
}

tsconfig.json in each app

{
  "extends": "../../tsconfig"
}

tsconfig.build.json in each app

{
  "extends": "./tsconfig",
  "include": ["src"],
  "exclude": ["**/*.spec.ts", "**/*.test.ts"],
  "compilerOptions": {
    "outDir": "dist"
  }
}

Commands

After installing @git-validator/tsconfig, you can run npx tsconfig init command to generate a tsconfig.json file. Run npx tsconfig -h for all commands details:

Usage: tsconfig [options] [command]

Options:
  -h, --help      display help for command

Commands:
  init [options]  init a tsconfig file
  diff [options]  show differences between recommended tsconfig and current project tsconfig
  help [command]  display help for command

License

MIT

Package Sidebar

Install

npm i @git-validator/tsconfig

Weekly Downloads

67

Version

0.4.5

License

MIT

Unpacked Size

32.1 kB

Total Files

17

Last publish

Collaborators

  • zanminkian