Skip to content

origin-1/eslint-p

Repository files navigation

eslint-p · npm version

A drop-in replacement for ESLint 9 featuring multithreaded parallel linting.

IMPORTANT: ESLint v9.34.0 has built-in support for multithread linting, see the announcement. As a result, eslint-p is no longer needed—just run ESLint directly.

Installation

npm i --save-dev eslint-p
yarn add --dev eslint-p
pnpm add --save-dev eslint-p

Usage

All ESLint CLI options are supported.

Example:

npx eslint-p --fix --concurrency=4

Valid 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.
  • off (default): No multithreading. This is 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-eslint with type-aware linting can increase the time required to initialize a linting thread resulting in performance degradation when multithreading is used.

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 --debug

will print a line similar to this one:

eslint:eslint Linting using 4 worker thread(s). +0ms

or this one:

eslint:eslint Linting in single-thread mode. +0ms

The debug 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

Or in Windows PowerShell:

$env:DEBUG='eslint:eslint' ; npx eslint

About

A drop-in replacement for ESLint 9 featuring multithreaded parallel linting.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •