# Install eslint with Homebrew, apt, Nix, pacman

AST-based pattern checker for JavaScript. Version 10.6.0 via Homebrew; verified 2026-06-27.

## Install

```sh
sudo av install brew:eslint
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install eslint
```

  Evidence: local Homebrew formula metadata

### Linux

- Debian apt (92%):

```sh
sudo apt install eslint
```

  Evidence: Debian stable package indexes: eslint from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#eslint
```

  Evidence: nixpkgs package indexes: pkgs/by-name/es/eslint/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S eslint
```

  Evidence: Arch Linux sync databases: eslint from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:eslint
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/eslint>
- **Version:** 10.6.0
- **Source summary:** AST-based pattern checker for JavaScript
- **Homepage:** <https://eslint.org>
- **Repository:** <https://github.com/eslint/eslint>
- **Upstream docs:** <https://eslint.org/docs/latest>
- **License:** MIT
- **Source archive:** <https://registry.npmjs.org/eslint/-/eslint-10.6.0.tgz>
- **Last updated:** 2026-06-27T21:36:20Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- eslint (cli)
- eslint (alias)

## Dependencies

- node

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 10.6.0
- Package-manager updated: 2026-06-27
- Local data: ok
- Upstream repository: https://eslint.org
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

ESLint is the dominant pluggable linter for ECMAScript and JavaScript projects. Its own README defines it as a tool for identifying and reporting patterns in JavaScript code, built around AST analysis and a runtime-pluggable rule model.

### Project history

ESLint appeared on npm in 2013 and reached 1.0.0 in July 2015. The official 1.0.0 announcement described that milestone as the first major release after more than two years of work and as the stable base for future growth.

The project differentiated itself from JSLint and JSHint by using Espree for parsing, evaluating code through an AST, and making every rule pluggable. That architecture made ESLint attractive both as an end-user CLI and as a library for editor integrations, shareable configs, and custom rule packages.

Configuration has been one of ESLint's major historical arcs. The original eslintrc system accumulated multiple file formats and lookup rules; in 2022 the project introduced flat config, centered on `eslint.config.js`, as a simpler model. ESLint v9.0.0 made flat config the default and officially deprecated eslintrc.

### Adoption history

ESLint became a default dependency in JavaScript projects because it solved both style and correctness checks through one package ecosystem. The README links npm version and download badges, Open Collective funding, official docs, rules, contribution paths, and scheduled releases, reflecting a mature tool maintained as public infrastructure.

The plugin and shareable-config model drove adoption beyond core JavaScript. React, TypeScript, framework, import-order, accessibility, security, and formatting-adjacent workflows all built on ESLint's rule API, which made `eslint` a central package in Node.js development even when a project used higher-level presets.

The official release process also shaped adoption: the project publishes scheduled releases every two weeks and documents semver policies for rule, CLI, formatter, and API changes, which matters because lint rule updates can change build outcomes.

### How it is used

Typical package-manager usage starts with `npm init @eslint/config@latest` and then `npx eslint yourfile.js`, while Homebrew and OS packages provide an `eslint` executable for users who install developer tools outside a project-local npm workflow.

Current ESLint configuration lives in a project-root flat config file named `eslint.config.js`, `eslint.config.mjs`, `eslint.config.cjs`, or a TypeScript variant with additional setup. Those files export configuration objects that set rules, plugins, language options, ignores, processors, and related linting behavior.

ESLint is used directly in terminals and CI, indirectly through editor integrations, and as an API consumed by other tools. Its significance in package-manager culture comes from how often it appears in `devDependencies`, lockfiles, shareable configs, monorepo lint scripts, and pre-commit or CI quality gates.

### Why package nerds care

For package nerds, ESLint is a canonical example of a package ecosystem forming around a stable extension API: parser packages, plugins, config packages, formatter packages, and editor tooling all orbit the core package.

It is also one of the clearest examples of why developer-tool packages need careful semver. A minor rule behavior change can create new warnings, a major config migration can affect nearly every JavaScript project, and the project's own semver policy documents those tradeoffs explicitly.

### Timeline

- 2013: ESLint first appears on npm.
- 2015: ESLint 1.0.0 released as the first major release.
- 2022: Flat config introduced publicly as a new configuration system.
- 2024: ESLint 9.0.0 makes flat config the default and deprecates eslintrc.
- 2026: ESLint 10.x releases continue the scheduled release cadence.

### Related projects

- ESLint is historically compared with JSLint and JSHint, and its ecosystem intersects with Espree, typescript-eslint, Babel parser integrations, eslint-plugin-react, Prettier, editor integrations, and shareable config packages.

### Sources

- <https://github.com/eslint/eslint>
- <https://eslint.org/docs/latest>
- <https://eslint.org/docs/latest/use/configure/configuration-files>
- <https://eslint.org/blog/2015/07/eslint-1.0.0-released/>
- <https://eslint.org/blog/2022/08/new-config-system-part-2/>
- <https://eslint.org/blog/2024/04/eslint-v9.0.0-released/>
- <https://www.npmjs.com/package/eslint>
- <https://formulae.brew.sh/formula/eslint>


## Security Notes

No matching local secret-handling manifest was found for eslint. Nucleus package metadata is still published here so future coverage has a stable package URL.



## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: PROJECT_ROOT/eslint.config.js, PROJECT_ROOT/eslint.config.mjs, PROJECT_ROOT/eslint.config.cjs, PROJECT_ROOT/eslint.config.ts, PROJECT_ROOT/eslint.config.mts, PROJECT_ROOT/eslint.config.cts
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** eslint
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - eslint - 6.4.0~dfsg+~6.1.9-12: normalized package name match | Debian stable package indexes: eslint from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | AST-based pattern checker for JavaScript | https://eslint.org/
- Nix - eslint: normalized package name match | nixpkgs package indexes: pkgs/by-name/es/eslint/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - eslint - 6.4.0~dfsg+~6.1.9-11build3: normalized package name match | Ubuntu 24.04 LTS package indexes: eslint from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | AST-based pattern checker for JavaScript | https://eslint.org/
- pacman - eslint - 10.0.3-1: normalized package name match | Arch Linux sync databases: eslint from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | An AST-based pattern checker for JavaScript | https://eslint.org


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [node](https://www.automicvault.com/pkg/brew/node/) - Runtime dependency declared by Homebrew.
- [pmd](https://www.automicvault.com/pkg/brew/pmd/) - Shares av.db curated category or tags: cli, code-quality, developer-tools, javascript, linter.
- [go-critic](https://www.automicvault.com/pkg/brew/go-critic/) - Shares av.db curated category or tags: cli, code-quality, developer-tools, linter, static-analysis.
- [luacheck](https://www.automicvault.com/pkg/brew/luacheck/) - Shares av.db curated category or tags: cli, code-quality, developer-tools, linter, static-analysis.
- [pylint](https://www.automicvault.com/pkg/brew/pylint/) - Shares av.db curated category or tags: cli, code-quality, developer-tools, linter, static-analysis.
- [revive](https://www.automicvault.com/pkg/brew/revive/) - Shares av.db curated category or tags: cli, code-quality, developer-tools, linter, static-analysis.
- [selene](https://www.automicvault.com/pkg/brew/selene/) - Shares av.db curated category or tags: cli, code-quality, developer-tools, linter, static-analysis.
- [spotbugs](https://www.automicvault.com/pkg/brew/spotbugs/) - Shares av.db curated category or tags: cli, code-quality, developer-tools, linter, static-analysis.
- [staticcheck](https://www.automicvault.com/pkg/brew/staticcheck/) - Shares av.db curated category or tags: cli, code-quality, developer-tools, linter, static-analysis.
- [eslint](https://www.automicvault.com/pkg/npm/eslint/) - Same normalized package name appears in another local ecosystem. Shared terms: ast, ast-based, based, checker, eslint.
- [eslint_d](https://www.automicvault.com/pkg/brew/eslint-d/) - Both packages touch the same language runtime or ecosystem. Shared terms: analysis, cli, developer, developer-tools, eslint.
- [htmlhint](https://www.automicvault.com/pkg/brew/htmlhint/) - Both packages touch the same language runtime or ecosystem. Shared terms: analysis, cli, code, code-quality, developer.
- [eslint](https://www.automicvault.com/pkg/npm/eslint/) - Same normalized package name in another local ecosystem.

## Combined YAML source

View the package source record on GitHub. [combined/eslint.yml](https://github.com/automic-vault/db/blob/main/combined/eslint.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
