5.5.0 • Published 5 months ago

@kitschpatrol/typescript-config v5.5.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

@kitschpatrol/typescript-config

NPM Package @kitschpatrol/typescript-config License: MIT

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.

!IMPORTANT

You can use this package on its own, but it's recommended to use @kitschpatrol/shared-config instead 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 its kpi command

Setup

!NOTE

The package treats typescript as a peer dependency — it expects you to have typescript installed in your project.

To use just this TypeScript config in isolation:

  1. Install the .npmrc in your project root. This is required for correct PNPM behavior:

    pnpm dlx @kitschpatrol/repo-config init
  2. Add the package:

    pnpm add -D @kitschpatrol/typescript-config
  3. Add the starter tsconfig.json and tsconfig.build.json files 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>
CommandDescription
initInitialize by copying starter config files to your project root.
lintRun type checking on your project. Package-scoped. In a monorepo, it will also run in all packages below the current working directory.
print-configPrint the TypeScript configuration for the project. Package-scoped. Searches up to the root of a monorepo if necessary.
OptionDescriptionType
--help-hShow helpboolean
--version-vShow version numberboolean

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
OptionDescriptionType
--help-hShow helpboolean
--version-vShow version numberboolean

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
OptionDescriptionType
--help-hShow helpboolean
--version-vShow version numberboolean

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
OptionDescriptionType
--help-hShow helpboolean
--version-vShow version numberboolean

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

License

MIT © Eric Mika

5.5.0

5 months ago

5.4.4

5 months ago

5.4.2

5 months ago

5.4.1

6 months ago

5.4.0

7 months ago

5.3.1

8 months ago

5.3.0

8 months ago

5.2.0

8 months ago

5.1.0

8 months ago

5.0.8

8 months ago

5.0.7

8 months ago

5.0.6

8 months ago

5.0.5

9 months ago

5.0.4

9 months ago

5.0.3

9 months ago

5.0.2

9 months ago

5.0.1

9 months ago

5.0.0

9 months ago