9.0.3 • Published 6 months ago

@envsa/eslint-config v9.0.3

Weekly downloads
17
License
MIT
Repository
github
Last release
6 months ago

@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>
CommandArgumentDescription
initInitialize 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.
OptionDescriptionType
--help-hShow helpboolean
--version-vShow version numberboolean

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

Subcommand: envsa-eslint lint

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

Usage:

envsa-eslint lint [files..]
Positional ArgumentDescriptionTypeDefault
filesFiles or glob pattern to lint.array"."
OptionDescriptionType
--help-hShow helpboolean
--version-vShow version numberboolean

Subcommand: envsa-eslint fix

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

Usage:

envsa-eslint fix [files..]
Positional ArgumentDescriptionTypeDefault
filesFiles or glob pattern to fix.array"."
OptionDescriptionType
--help-hShow helpboolean
--version-vShow version numberboolean

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 ArgumentDescriptionType
fileFile or glob pattern to TK.string
OptionDescriptionType
--help-hShow helpboolean
--version-vShow version numberboolean

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

9.0.3

6 months ago

8.1.0

11 months ago

8.2.0

10 months ago

9.0.2

6 months ago

8.1.0-beta.5

11 months ago

9.0.1

7 months ago

8.1.0-beta.4

11 months ago

9.0.0

8 months ago

8.1.0-beta.3

11 months ago

8.1.0-beta.2

11 months ago

1.0.0-beta.22

1 year ago

1.0.0-beta.23

1 year ago

1.0.0-beta.20

1 year ago

1.0.0-beta.26

1 year ago

1.0.0-beta.27

1 year ago

1.0.0-beta.24

1 year ago

1.0.0-beta.25

1 year ago

1.0.0-beta.11

1 year ago

1.0.0-beta.12

1 year ago

1.0.0-beta.10

1 year ago

1.0.0-beta.19

1 year ago

1.0.0-beta.17

1 year ago

1.0.0-beta.18

1 year ago

1.0.0-beta.15

1 year ago

1.0.0-beta.16

1 year ago

1.0.0-beta.13

1 year ago

1.0.0-beta.14

1 year ago

8.0.1

1 year ago

1.0.0-beta.2

1 year ago

8.0.0

1 year ago

1.0.0-beta.3

1 year ago

8.0.3

11 months ago

1.0.0-beta.4

1 year ago

8.0.2

1 year ago

1.0.0-beta.5

1 year ago

1.0.0-beta.1

1 year ago

1.0.0-beta.6

1 year ago

1.0.0-beta.7

1 year ago

1.0.0-beta.8

1 year ago

1.0.0-beta.9

1 year ago

5.1.0-beta.14

1 year ago

5.1.0-beta.12

1 year ago

5.1.0-beta.13

1 year ago

5.1.0-beta.10

1 year ago

5.1.0-beta.11

1 year ago

5.1.0-beta.18

1 year ago

5.1.0-beta.16

1 year ago

5.1.0-beta.17

1 year ago

8.0.0-beta.6

1 year ago

8.0.0-beta.5

1 year ago

8.0.0-beta.8

1 year ago

8.0.0-beta.7

1 year ago

8.0.0-beta.9

1 year ago

8.0.0-beta.0

1 year ago

8.0.0-beta.2

1 year ago

8.0.0-beta.1

1 year ago

8.0.0-beta.4

1 year ago

8.0.0-beta.3

1 year ago

8.0.0-beta.31

1 year ago

8.0.0-beta.30

1 year ago

8.0.0-beta.32

1 year ago

5.1.1

1 year ago

5.1.0

1 year ago

8.0.0-beta.20

1 year ago

8.0.0-beta.22

1 year ago

8.0.0-beta.21

1 year ago

8.0.0-beta.24

1 year ago

8.0.0-beta.23

1 year ago

8.0.0-beta.26

1 year ago

8.0.0-beta.25

1 year ago

8.0.0-beta.28

1 year ago

8.0.0-beta.27

1 year ago

8.0.0-beta.29

1 year ago

8.0.0-beta.11

1 year ago

8.0.0-beta.10

1 year ago

8.0.0-beta.13

1 year ago

8.0.0-beta.12

1 year ago

8.0.0-beta.15

1 year ago

8.0.0-beta.14

1 year ago

8.0.0-beta.17

1 year ago

8.0.0-beta.16

1 year ago

8.0.0-beta.19

1 year ago

8.0.0-beta.18

1 year ago

5.1.0-beta.7

1 year ago

5.1.0-beta.8

1 year ago

5.1.0-beta.9

1 year ago

5.1.0-beta.2

1 year ago

5.1.0-beta.3

1 year ago

5.1.0-beta.4

1 year ago

5.1.0-beta.6

1 year ago

5.1.0-beta.1

1 year ago

5.0.0

1 year ago

5.0.0-beta.2

2 years ago

5.0.0-beta.3

2 years ago

5.0.0-beta.0

2 years ago

5.0.0-beta.1

2 years ago

4.4.1

2 years ago

4.4.0

3 years ago

4.3.0

3 years ago

4.2.0

3 years ago

4.1.0

3 years ago

4.0.0

3 years ago

3.4.0

3 years ago

3.3.2

4 years ago

3.3.1

4 years ago

3.2.2

4 years ago

3.3.0

4 years ago

3.2.1

4 years ago

3.2.0

4 years ago

3.1.0

4 years ago

3.0.8

4 years ago

3.0.7

4 years ago

3.0.3

4 years ago

3.0.2

4 years ago

3.0.1

4 years ago

3.0.6

4 years ago

3.0.5

4 years ago

3.0.0

4 years ago

2.4.0

4 years ago

2.3.0

4 years ago

2.2.0

4 years ago

2.1.1

4 years ago

2.3.2

4 years ago

2.3.1

4 years ago

2.3.3

4 years ago

2.1.0

4 years ago

2.0.1

5 years ago

2.0.0

5 years ago

1.5.1

5 years ago

1.5.0

5 years ago

1.4.0

5 years ago

1.3.0

5 years ago

1.2.4

5 years ago

1.2.3

5 years ago

1.2.0

5 years ago

1.1.0

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago