@git-validator/tsconfig v0.9.0
@git-validator/tsconfig
Strict shared tsconfig out-of-box.
Feature
- The best practice about
tsconfig.json. - Strictest.
- One-line of tsconfig.
- Support
ESMandCommonJS. - Support FE (eg: React) & BE (eg: Nest) project.
Usage
Install
npm i @git-validator/tsconfig -DFor node project, you may need to install @types/node additionally.
npm i @types/node -DFor frontend project (like React), you may need to install @types/web additionally.
npm i @types/web -DConfig 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.jsontsconfig.json
{
"extends": "@git-validator/tsconfig"
}tsconfig.build.json
{
"extends": "./tsconfig",
"include": ["src"],
"exclude": ["**/*.spec.ts", "**/*.test.ts"]
}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.jsontsconfig.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"]
}Tips: Why do we still need a
tsconfig.jsonin each app? In short, for the DX. VSCode usually use the nearesttsconfig.jsonas the TypeScript config for the opening ts file. If there is only onetsconfig.jsonin the root, the declarations in one app will affect the others. Thus, VSCode will perform wrong type hints. If VSCode smart enough to use nearesttsconfig.build.jsonrather thantsconfig.json, we don't need atsconfig.jsonin each app.
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 commandLicense
MIT
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago