@kitschpatrol/typescript-config v5.5.0
@kitschpatrol/typescript-config
TypeScript configuration for @kitschpatrol/shared-config.
Overview
It's a shared TypeScript tsconfig.json config, plus a command-line tool kpi-typescript to perform TypeScript-related validation and linting.
You can use this package on its own, but it's recommended to use
@kitschpatrol/shared-configinstead for a single-dependency and single-package approach to linting and fixing your project.This package is included as a dependency in
@kitschpatrol/shared-config, which also automatically invokes the command line functionality in this package via itskpicommand
Setup
The package treats
typescriptas a peer dependency — it expects you to havetypescriptinstalled in your project.
To use just this TypeScript config in isolation:
Install the
.npmrcin your project root. This is required for correct PNPM behavior:pnpm dlx @kitschpatrol/repo-config initAdd the package:
pnpm add -D @kitschpatrol/typescript-configAdd the starter
tsconfig.jsonandtsconfig.build.jsonfiles to your project root, and add any customizations you'd like:pnpm exec kpi-typescript init
Usage
You can call kpi-typescript directly, or use the script bundled with the config.
Integrate with your package.json scripts as you see fit, for example:
{
"scripts": {
"lint": "kpi-typescript lint"
}
}Ignoring files
See the tsconfig.json exclude key.
.gitignore files are not ignored.
Ignoring code
See the TypeScript directive comments documentation for more details.
Entire files (at top):
/* @ts-nocheck */
Next line:
/* @ts-ignore */
or
/* @ts-expect-error - reason */
CLI
Command: kpi-typescript
Kitschpatrol's TypeScript shared configuration tools.
This section lists top-level commands for kpi-typescript.
Usage:
kpi-typescript <command>| Command | Description |
|---|---|
init | Initialize by copying starter config files to your project root. |
lint | Run type checking on your project. Package-scoped. In a monorepo, it will also run in all packages below the current working directory. |
print-config | Print the TypeScript configuration for the project. Package-scoped. Searches up to the root of a monorepo if necessary. |
| Option | Description | Type |
|---|---|---|
--help-h | Show help | boolean |
--version-v | Show version number | boolean |
See the sections below for more information on each subcommand.
Subcommand: kpi-typescript init
Initialize by copying starter config files to your project root.
Usage:
kpi-typescript init| Option | Description | Type |
|---|---|---|
--help-h | Show help | boolean |
--version-v | Show version number | boolean |
Subcommand: kpi-typescript lint
Run type checking on your project. Package-scoped. In a monorepo, it will also run in all packages below the current working directory.
Usage:
kpi-typescript lint| Option | Description | Type |
|---|---|---|
--help-h | Show help | boolean |
--version-v | Show version number | boolean |
Subcommand: kpi-typescript print-config
Print the TypeScript configuration for the project. Package-scoped. Searches up to the root of a monorepo if necessary.
Usage:
kpi-typescript print-config| Option | Description | Type |
|---|---|---|
--help-h | Show help | boolean |
--version-v | Show version number | boolean |
Notes
Svelte caveat
The kpi-typescript lint command will detect whether it's running in a Svelte project, and treat lint as a no-op when that's the case.
This is necessary to prevent unactionable warnings because Svelte doesn't play well with the underlying TypeScript tsc command.
General
Other shared tsconfig projects
Future integrations
- Are The Types Wrong,\
e.g.
attw --format ascii --no-summary --profile esm-only --pack .
License
MIT © Eric Mika
8 months ago
8 months ago
8 months ago
9 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago