@envsa/knip-config
TypeScript icon, indicating that this package has built-in type declarations

9.0.13 • Public • Published

@envsa/knip-config

NPM Package @envsa/knip-config License: MIT

Knip configuration for @envsa/shared-config.

Overview

It's a shared knip config, plus a command-line tool envsa-knip to perform knip-related project initialization, linting and fixing.

[!IMPORTANT]

You can use this package on its own, but it's recommended to use @envsa/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 @envsa/shared-config, which also automatically invokes the command line functionality in this package via its envsa command

Setup

To use just this Knip config in isolation:

  1. Install the .npmrc in your project root. This is required for correct PNPM behavior:
pnpm dlx @envsa/repo-config init
  1. Add the package
pnpm add -D @envsa/knip-config
  1. Add the starter knip.config.ts files to your project root, and add any customizations you'd like:
pnpm exec envsa-knip init

Usage

Integrate with your package.json scripts as you see fit, for example:

{
  "scripts": {
    "lint": "envsa-knip lint"
  }
}

Configuration

To create a knip.config.ts in your project root:

pnpm exec envsa-knip init

(Note that this will delete the knip property in your package.json)

Or

To create a knip property in package.json:

pnpm exec envsa-knip init --location package

(Note that this will delete the knip.config.ts file in your project root!)

CLI

Command: envsa-knip

Envsa's Knip shared configuration tools.

This section lists top-level commands for envsa-knip.

Usage:

envsa-knip <command>
Command Description
init Initialize by copying starter config files to your project root or to your package.json file.
lint Check for unused code and dependencies. Package-scoped. In a monorepo, it will also run in all packages below the current working directory.
fix Automatically remove unused code and dependencies. Package-scoped. In a monorepo, it will also run in all packages below the current working directory.
print-config Print the effective Knip configuration. 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: envsa-knip init

Initialize by copying starter config files to your project root or to your package.json file.

Usage:

envsa-knip init
Option Description Type Default
--location TK "file" "package" "file"
--help
-h
Show help boolean
--version
-v
Show version number boolean

Subcommand: envsa-knip lint

Check for unused code and dependencies. Package-scoped. In a monorepo, it will also run in all packages below the current working directory.

Usage:

envsa-knip lint
Option Description Type
--help
-h
Show help boolean
--version
-v
Show version number boolean

Subcommand: envsa-knip fix

Automatically remove unused code and dependencies. Package-scoped. In a monorepo, it will also run in all packages below the current working directory.

Usage:

envsa-knip fix
Option Description Type
--help
-h
Show help boolean
--version
-v
Show version number boolean

Subcommand: envsa-knip print-config

Print the effective Knip configuration. Package-scoped. Searches up to the root of a monorepo if necessary.

Usage:

envsa-knip print-config
Option Description Type
--help
-h
Show help boolean
--version
-v
Show version number boolean

License

MIT © Liam Rella