</>PackageGraphPackageGraph

eslint

npmv10.10.0TypeScript

An AST-based pattern checker for JavaScript.

Adopt with care

eslint is usable, with caveats. Pulls in 61 transitive packages, about 7.3 MB installed (at least — some of the tree is still being crawled).

  • AAdoption: grade A, Excellent.

    138.4M downloads per week and 279 known dependents.

  • AMaintenance: grade A, Excellent.

    Last published 5 days ago. 50 releases in the last 2 years.

  • DWeight: grade D, Poor — a real concern.

    Pulls in 61 transitive packages, about 7.3 MB installed (at least — some of the tree is still being crawled).

  • ASupply chain: grade A, Excellent.

    No install scripts, 2 maintainers, and a contained dependency surface.

  • ALicense: grade A, Excellent.

    MIT — permissive, with no copyleft found in the dependency tree.

Grades are computed deterministically from registry metadata collected by PackageGraph — downloads, dependents, publish dates, the resolved dependency tree, maintainer count, and declared licenses. No third-party scores are used.

Install cost

What you actually take on by adding eslint to a project.

30
Direct dependencies

Runtime packages this one declares itself.

61
Total installed

Distinct packages in the full runtime tree, deduplicated the way a package manager would.

7.3 MB
Install size

Unpacked size of this package plus its entire runtime tree.

5
Tree depth

Longest resolved dependency chain below this package.

Part of this dependency tree has not been crawled yet, so these figures are a lower bound rather than a final total.

Licenses in the dependency tree

Apache-2.0BSD-2-ClauseBSD-3-ClauseBlueOak-1.0.0ISCMIT

Every license you inherit by installing eslint, not just its own. Check this before a legal review, not after.

Compatibility

Node.js
node ^20.19.0 || ^22.13.0 || >=24
Module format
CommonJS only
TypeScript
Types included
Install scripts
None

Quick start

A usage example from the eslint README.

import { defineConfig } from "eslint/config";

export default defineConfig([
	{
		files: ["**/*.js", "**/*.cjs", "**/*.mjs"],
		rules: {
			"prefer-const": "warn",
			"no-constant-binary-expression": "error",
		},
	},
]);

eslint vs the alternatives

Packages solving a similar problem in the npm ecosystem, compared on the signals that drive an adoption decision.

PackageWeekly downloadsDependentsLicenseLast release
eslintthis page138.4M279MIT5 days ago
esprima77.6M5BSD-2-Clause1 day ago
esquery01BSD-3-Clause1 day ago
espree04BSD-2-Clause1 day ago
es-define-property131.3M4MIT1 day ago
call-bind80.7M5MIT1 day ago

Dependencies

Declared by eslint v10.10.0. Runtime dependencies are installed with the package; dev dependencies are not.

Peer (1)

Dev (58)

@arethetypeswrong/cli ^0.18.3@babel/core ^7.4.3@babel/preset-env ^7.4.3@cypress/webpack-preprocessor ^6.0.2@eslint/eslintrc ^3.3.7@eslint/json ^2.1.0@types/esquery ^1.5.4@types/node ^22.13.14@typescript-eslint/parser ^8.58.2babel-loader ^8.0.5c8 ^11.0.0chai ^4.0.1cheerio ^0.22.0common-tags ^1.8.0core-js ^3.1.3cypress ^14.1.0ejs ^3.0.2eslint file:.eslint-config-eslint file:packages/eslint-config-eslinteslint-plugin-eslint-plugin ^7.3.2eslint-plugin-expect-type ^0.6.0eslint-plugin-yml ^1.14.0eslint-release ^3.3.0eslint-rule-extender ^0.0.1eslump ^3.0.0esprima ^4.0.1fs-teardown ^0.1.3glob ^10.0.0globals ^16.2.0got ^11.8.3gray-matter ^4.0.3jiti ^2.6.1knip ^6.13.1lint-staged ^11.0.0markdown-it ^14.2.0markdown-it-container ^4.0.0markdownlint-cli2 ^0.22.0marked ^4.0.8metascraper ^5.25.7metascraper-description ^5.25.7metascraper-image ^5.29.3metascraper-logo ^5.25.7metascraper-logo-favicon ^5.25.7metascraper-title ^5.25.7mocha ^11.7.1node-polyfill-webpack-plugin ^1.0.3npm-license ^0.3.3prettier 3.9.6progress ^2.0.3proxyquire ^2.0.1regenerator-runtime ^0.14.0semver ^7.5.3shelljs ^0.10.0sinon ^11.0.0typescript ^6.0.3webpack ^5.109.2webpack-cli ^4.5.0yorkie ^2.0.0

Used by

Popular packages that depend on eslint.

commandernpm

the complete solution for node.js command-line programs

451.1M/wk11 dependentsMITTS
type-festnpm

A collection of essential TypeScript types

337.8M/wk6 dependents(MIT OR CC0-1.0)TS
cliuinpm

easily create complex multi-column command-line-interfaces

212.4M/wk1 dependentsISC
whatwg-urlnpm

An implementation of the WHATWG URL Standard's URL API and parsing machinery

204.4M/wk3 dependentsMIT
entitiesnpm

Encode & decode XML and HTML entities with ease & speed

204M/wk3 dependentsBSD-2-ClauseTS
tr46npm

An implementation of the Unicode UTS #46: Unicode IDNA Compatibility Processing

192.6M/wk1 dependentsMIT
mime-typesnpm

The ultimate javascript content-type utility.

185.3M/wk9 dependentsMIT
negotiatornpm

HTTP content negotiation

183.3M/wk2 dependentsMIT
yargs-parsernpm

the mighty option parser used by yargs

178.8M/wk2 dependentsISC
yamlnpm

JavaScript parser and stringifier for YAML

176.1M/wk6 dependentsISCTS
@jridgewell/resolve-urinpm

Resolve a URI relative to an optional base URI

166.3M/wk1 dependentsMITTS
undicinpm

An HTTP/1.1 client, written from scratch for Node.js

158.5M/wk15 dependentsMITTS
math-intrinsicsnpm

ES Math-related intrinsics and helpers, robustly cached.

155.2M/wk1 dependentsMIT
http-errorsnpm

Create HTTP error objects

149.4M/wk7 dependentsMIT
eslintnpm

An AST-based pattern checker for JavaScript.

138.4M/wk279 dependentsMITTS
fast-json-stable-stringifynpm

deterministic `JSON.stringify()` - a faster version of substack's json-stable-strigify without jsonify

137.5M/wk2 dependentsMITTS
fast-globnpm

It's a very fast and efficient glob library for Node.js

135.1M/wk8 dependentsMITTS
encodeurlnpm

Encode a URL to a percent-encoded form, excluding already-encoded sequences

133.6M/wk5 dependentsMIT
finalhandlernpm

Node.js final http responder

132.1M/wk3 dependentsMIT
es-define-propertynpm

`Object.defineProperty`, but not IE 8's broken one.

131.3M/wk4 dependentsMITTS
type-isnpm

Infer the content-type of a request.

130.9M/wk3 dependentsMIT
raw-bodynpm

Get and validate the raw body of a readable stream.

128.5M/wk3 dependentsMITTS
sendnpm

Better streaming static file server with Range and conditional-GET support

127.6M/wk3 dependentsMIT
diffnpm

A JavaScript text diff implementation.

124.1M/wk4 dependentsBSD-3-ClauseTS

Relationship graph

Dependencies (left) and dependents (right) of eslint.

Frequently installed together

Release history

50 releases in the last two years, typically about 14 days apart.

Recent versions of eslint
VersionPublishedSizeLicense
10.10.0latest5 days ago2.8 MBMIT
10.9.116 days ago2.8 MBMIT
10.9.019 days ago2.8 MBMIT
10.8.11 month ago2.8 MBMIT
10.8.01 month ago2.8 MBMIT
10.7.02 months ago2.8 MBMIT
9.39.52 months ago2.9 MBMIT
10.6.02 months ago2.8 MBMIT
10.5.02 months ago2.8 MBMIT
10.4.13 months ago2.8 MBMIT
10.4.03 months ago2.8 MBMIT
10.3.04 months ago2.8 MBMIT
10.2.14 months ago2.8 MBMIT
10.2.05 months ago2.8 MBMIT
10.1.05 months ago2.8 MBMIT

Overview

eslint is an npm package that an AST-based pattern checker for JavaScript. It is extremely widely used, with about 138.4M downloads per week and 279 known dependents in the graph. The latest version is 10.10.0, released under the MIT license.

Who should use it

Teams working in the npm ecosystem who need an AST-based pattern checker for JavaScript and value a battle-tested, widely-adopted solution.

When not to use it

Consider an alternative if you need to minimize your dependency tree, or if a more actively-maintained option better fits your npm stack.

Pros

  • Large, well-established user base (138.4M weekly downloads).
  • Ships TypeScript type definitions.
  • Clear open-source license (MIT).
  • Trusted by 279 other packages.

Cons

  • Large dependency tree (89 direct dependencies) increases install size and audit surface.

Auto-generated from collected registry metadata. No external claims are inferred.

Maintainers

Keywords

Funding

Frequently asked questions

Should I use eslint?

eslint is usable, with caveats. Pulls in 61 transitive packages, about 7.3 MB installed (at least — some of the tree is still being crawled).

How do I install eslint?

Run `npm install eslint` to add eslint to your npm project.

How many dependencies does eslint have?

eslint declares 89 direct dependencies and pulls in 61 packages in total once its runtime tree is resolved totalling about 7.3 MB on disk.

What license is eslint released under?

eslint is distributed under the MIT license. Its dependency tree also includes: Apache-2.0, BSD-2-Clause, BSD-3-Clause, BlueOak-1.0.0, ISC, MIT.

How popular is eslint?

eslint has approximately 138,356,696 downloads per week and 279 known dependent packages.

Is eslint still maintained?

The most recent release of eslint (v10.10.0) was published 5 days ago.

Does eslint run install scripts?

No. eslint does not define preinstall, install, or postinstall scripts, so installing it does not execute publisher-supplied code.