@kitschpatrol/eslint-config
v5.0.5
Published
ESLint configuration for @kitschpatrol/shared-config.
Downloads
622
Maintainers
Readme
@kitschpatrol/eslint-config
ESLint configuration for @kitschpatrol/shared-config.
Overview
It's a shared ESLint config, plus a command-line tool kpi-eslint
to perform ESLint-related project initialization, linting, and fixing.
[!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 itskpi
command
Setup
To use just this ESLint config in isolation:
Install the
.npmrc
in your project root. This is required for correct PNPM behavior:pnpm dlx @kitschpatrol/repo-config init
Install and initialize the required TypeScript
tsconfig.json
configuration in your project root:pnpm add -D @kitschpatrol/typescript-config pnpm dlx @kitschpatrol/typescript-config init
Add the package:
pnpm add -D @kitschpatrol/eslint-config
Add the starter
eslint.config.ts
config files to your project root, and add any overrides you'd like:pnpm exec eslint-kpi init
Usage
The ESLint binary should be picked up automatically by VS Code plugins.
You can call it directly, or use the script bundled with the config.
Integrate with your package.json
scripts as you see fit, for example:
{
"scripts": {
"lint": "eslint-config lint",
"fix": "eslint-config fix"
}
}
CLI
Command: kpi-eslint
Kitschpatrol's ESLint shared configuration tools.
This section lists top-level commands for kpi-eslint
.
Usage:
kpi-eslint <command>
| Command | Argument | Description |
| -------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| init
| | Initialize by copying starter config files to your project root. |
| lint
| [files..]
| Lint your project with ESLint. Matches files below the current working directory by default. |
| fix
| [files..]
| Fix your project with ESLint. Matches files below the current working directory by default. |
| print-config
| [file]
| Print the effective ESLint configuration. Package-scoped by default, file-scoped if a file argument is provided. Use @eslint/config-inspector
for a more detailed view. |
| 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-eslint init
Initialize by copying starter config files to your project root.
Usage:
kpi-eslint init
| Option | Description | Type |
| ------------------- | ------------------- | --------- |
| --help
-h
| Show help | boolean
|
| --version
-v
| Show version number | boolean
|
Subcommand: kpi-eslint lint
Lint your project with ESLint. Matches files below the current working directory by default.
Usage:
kpi-eslint lint [files..]
| Positional Argument | Description | Type | Default |
| ------------------- | ------------------------------ | ------- | ------- |
| files
| Files or glob pattern to lint. | array
| "."
|
| Option | Description | Type |
| ------------------- | ------------------- | --------- |
| --help
-h
| Show help | boolean
|
| --version
-v
| Show version number | boolean
|
Subcommand: kpi-eslint fix
Fix your project with ESLint. Matches files below the current working directory by default.
Usage:
kpi-eslint fix [files..]
| Positional Argument | Description | Type | Default |
| ------------------- | ----------------------------- | ------- | ------- |
| files
| Files or glob pattern to fix. | array
| "."
|
| Option | Description | Type |
| ------------------- | ------------------- | --------- |
| --help
-h
| Show help | boolean
|
| --version
-v
| Show version number | boolean
|
Subcommand: kpi-eslint print-config
Print the effective ESLint configuration. Package-scoped by default, file-scoped if a file argument is provided. Use @eslint/config-inspector
for a more detailed view.
Usage:
kpi-eslint print-config [file]
| Positional Argument | Description | Type |
| ------------------- | --------------------------- | -------- |
| file
| File or glob pattern to TK. | string
|
| Option | Description | Type |
| ------------------- | ------------------- | --------- |
| --help
-h
| Show help | boolean
|
| --version
-v
| Show version number | boolean
|
Notes
Regrettably the eslint-config init --location package
option is not supported due to ESLint 9's deprecation of support for putting configuration in package.json
. See ESLint discussion thread 18131.
Origins
This config is a heavily modified variation on Anthony Fu's @antfu/eslint-config. This package is a somewhat leaner approach intended to work with other tools wrapped behind a monolithic CLI instead of handling everything on its own. It mainly leverages the factory / type generation implementation from the original repo, which itself builds on Kevin Deng's @sxzz/eslint-config. See the modification notes for more details on what's changed from Anthony's approach.
References
License
MIT © Eric Mika