eslint-p v0.19.0
eslint-p · 
A drop-in replacement for ESLint 9 featuring multithreaded parallel linting.
IMPORTANT: Legacy
.eslintrcconfiguration is not supported.
Installation
npm i --save-dev eslint-pyarn add --dev eslint-ppnpm add --save-dev eslint-pUsage
All ESLint CLI options are supported, plus --concurrency to specify the number of linting threads explicitly.
Example:
npx eslint-p --fix --concurrency=4Valid values for the --concurrency option are:
- positive integers (e.g.
4): Maximum number of linting threads. The effective number of threads can be lower when linting only a few files. auto: Choose number of linting threads automatically (default).off: No multithreading, run like ESLint. This is not the same as--concurrency=1.
NOTE: Normally, a performance improvement will be only noticeable on systems with 4 or more CPUs. Some plugins like
typescript-eslintwith type-aware linting can increase the time required to initialize a linting thread resulting in performance degradation when multithreading is used.
Mixed Usage with ESLint
This package has ESLint set as a dependency, so if you already have eslint installed, but with a different version than the one specified in the package.json of this package you might get inconsistent results between the CLI and the editor.
To check the version of ESLint used by this package you can use:
npx eslint-p -vTo avoid inconsistencies, install the same eslint version used by this package or remove the eslint dependency from your package.json.
You can find more information on this pull request.
Concurrency Debugging
When the --debug option is passed and the command runs in multithread mode, the debug output will include a line indicating the number of worker threads in use. For example:
npx eslint-p --debugwill print a line similar to:
eslint:eslint Running 4 worker thread(s). +0msThis line should be printed in the first seconds of execution, before any files are processed, but it can be easily overlooked. To make the debug output less verbose in a Unix shell you can run instead:
DEBUG='eslint:eslint' npx eslint-pOr in Windows PowerShell:
$env:DEBUG='eslint:eslint' ; npx eslint-pIf you don't see a lint containing worker thread(s) in the debug output, then the command is running in single-threaded mode, i.e. like ESLint itself.
Multithread Linting in ESLint
ESLint is considering the possibility of integrating multithread linting as a built-in feature. You can follow the related proposal for more information.
9 months ago
10 months ago
11 months ago
11 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago