0.4.6 • Published 9 days ago

@git-validator/tsconfig v0.4.6

Weekly downloads
-
License
MIT
Repository
github
Last release
9 days ago

@git-validator/tsconfig

Strict shared tsconfig out-of-box

npm.io npm.io npm.io npm.io npm.io PRs Welcome

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

0.4.6

9 days ago

0.4.5

22 days ago

0.4.4

1 month ago

0.4.3

1 month ago

0.4.2-beta.0

2 months ago

0.4.2

2 months ago

0.4.1

2 months ago

0.4.0

2 months ago

0.3.0

2 months ago

0.2.0

2 months ago

0.1.14

3 months ago

0.1.13

3 months ago

0.1.12

5 months ago

0.1.11

5 months ago

0.1.10

5 months ago

0.1.9

6 months ago

0.1.8

6 months ago

0.1.7

7 months ago

0.1.6

7 months ago

0.1.5

8 months ago

0.1.4

8 months ago

0.1.3

8 months ago

0.1.2

8 months ago

0.1.1

8 months ago

0.1.0

8 months ago

0.0.0

8 months ago