@envsa/eslint-config

9.0.3 • Public • Published

@envsa/eslint-config

NPM Package @envsa/eslint-config License: MIT

ESLint configuration for @envsa/shared-config.

Overview

It's a shared ESLint config, plus a command-line tool envsa-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 @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 ESLint config in isolation:

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

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

    pnpm add -D @envsa/eslint-config
    pnpm dlx @envsa/typescript-config init
  3. Add the starter eslint.config.ts config file to your project root, and add any overrides you'd like:

    pnpm exec envsa-eslint 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 check",
    "fix": "eslint-config fix"
  }
}

CLI

Command: envsa-eslint

Envsa's ESLint shared configuration tools.

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

Usage:

envsa-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: envsa-eslint init

Initialize by copying starter config files to your project root.

Usage:

envsa-eslint init
Option Description Type
--help
-h
Show help boolean
--version
-v
Show version number boolean

Subcommand: envsa-eslint lint

Lint your project with ESLint. Matches files below the current working directory by default.

Usage:

envsa-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: envsa-eslint fix

Fix your project with ESLint. Matches files below the current working directory by default.

Usage:

envsa-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: envsa-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:

envsa-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.

References

Credits

Eric Mika is the author of the original @kitschpatrol/shared-config project on which this is based.

License

MIT © Liam Rella

Package Sidebar

Install

npm i @envsa/eslint-config

Weekly Downloads

30

Version

9.0.3

License

MIT

Unpacked Size

726 kB

Total Files

10

Last publish

Collaborators

  • rellafella