npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

eslint-p

v0.20.0

Published

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

Downloads

8,094

Readme

eslint-p · npm version

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

IMPORTANT: Legacy .eslintrc configuration is not supported.

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, plus --concurrency to specify the number of linting threads explicitly.

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 (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-eslint with 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 -v

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

will print a line similar to:

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

This 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-p

Or in Windows PowerShell:

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

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