9.0.3 • Published 5 months ago

@envsa/knip-config v9.0.3

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

@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>
CommandDescription
initInitialize by copying starter config files to your project root or to your package.json file.
lintCheck for unused code and dependencies. Package-scoped. In a monorepo, it will also run in all packages below the current working directory.
fixAutomatically remove unused code and dependencies. Package-scoped. In a monorepo, it will also run in all packages below the current working directory.
print-configPrint the effective Knip configuration. 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: envsa-knip init

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

Usage:

envsa-knip init
OptionDescriptionTypeDefault
--locationTK"file" "package""file"
--help-hShow helpboolean
--version-vShow version numberboolean

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

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

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

License

MIT © Liam Rella