Skip to main content

Integrations

ESLint integrates with many development tools and workflows. This page covers the most popular integrations maintained by the community.
The projects on this page are community-maintained and not officially supported by the ESLint team. For issues with specific integrations, please contact the integration maintainers.

Editor Integrations

Visual Studio Code

ESLint Extension

Official ESLint extension for VS Code with real-time feedback
1

Install Extension

Search for “ESLint” in VS Code Extensions marketplace
2

Configure Settings

Add to your VS Code settings:
settings.json
3

Verify

Open a JavaScript file with linting errors and see inline feedback
Features:
  • Real-time linting as you type
  • Auto-fix on save
  • Quick fixes for violations
  • Rule documentation on hover
  • Flat config support (eslint.config.js)

JetBrains IDEs

WebStorm, IntelliJ IDEA, PyCharm, RubyMine

Built-in ESLint support in JetBrains IDEs
1

Enable ESLint

Go to: SettingsLanguages & FrameworksJavaScriptCode Quality ToolsESLintCheck “Automatic ESLint configuration”
2

Configure

  • Select Node.js interpreter
  • Choose ESLint package location
  • Enable “Run eslint —fix on save”
Features:
  • Automatic detection of eslint.config.js
  • Inline error highlighting
  • Auto-fix on save
  • Code completion for config files
  • Integration with VCS

Sublime Text

SublimeLinter-eslint provides ESLint integration for Sublime Text 3/4.Installation:
Features:
  • Inline error markers
  • Status bar information
  • Configurable highlighting
  • Auto-fix support
Build Next runs ESLint as a build system.Usage:
  • Tools → Build System → ESLint
  • Ctrl/Cmd + B to lint

Vim/Neovim

ALE (Asynchronous Lint Engine)
.vimrc
Features:
  • Asynchronous linting
  • Auto-fix support
  • Multiple linters
  • LSP integration

Emacs

Flycheck

On-the-fly syntax checking for Emacs
Configuration:
.emacs
The javascript-eslint checker is built into Flycheck.

Other Editors

Eclipse Orion

ESLint is the default linter

Build Tool Integrations

Webpack

eslint-webpack-plugin

ESLint plugin for Webpack
1

Install

2

Configure

webpack.config.js
Options:
  • extensions - File extensions to lint
  • fix - Enable auto-fixing
  • failOnError - Fail build on errors
  • failOnWarning - Fail build on warnings
  • cache - Enable caching for performance
  • exclude - Patterns to exclude
  • formatter - Output formatter

Rollup

@rollup/plugin-eslint

ESLint plugin for Rollup
1

Install

2

Configure

rollup.config.js

Grunt

grunt-eslint

ESLint task for Grunt
Gruntfile.js

Command Line Tools

eslint-watchWatch files and run ESLint on changes:
Usage:
Features:
  • File watching
  • Auto-fix on save
  • Custom formatters
  • Ignore patterns
  • Debouncing
Code Climate CLIRun Code Climate analysis locally:
Integrates ESLint with Code Climate quality analysis.
ESLint NibbleGradually improve code quality:
Usage:
Great for tackling large codebases incrementally.

Source Control Integration

Git Hooks

Recommended approach
1

Install

2

Configure lint-staged

package.json
3

Add pre-commit hook

.husky/pre-commit
Benefits:
  • Only lints staged files
  • Fast execution
  • Auto-fix before commit
  • Easy configuration

CI/CD Integration

.github/workflows/lint.yml

Mega-Linter

Mega-Linter

Linters aggregator for CI, embedding ESLint
.mega-linter.yml
Features:
  • 70+ linters in one tool
  • Auto-fix support
  • Pre-configured for CI
  • Multi-language support
  • Report aggregation

Package Scripts

Common ESLint scripts in package.json:
package.json

Integration Best Practices

Best practices for editor setup:
  1. Use auto-fix on save
  2. Configure proper file associations
  3. Enable flat config support
  4. Show rule IDs in errors
    • Helps when configuring rules
    • Makes it easy to disable specific rules
Best practices for build integration:
  1. Cache results
  2. Fail builds appropriately
    • Fail on errors: Production
    • Warn on errors: Development
  3. Run before other plugins
    • Catch errors early
    • Avoid processing invalid code
  4. Use separate CI linting
    • Don’t slow down dev builds
    • Run full lint in CI/CD
Best practices for git hooks:
  1. Only lint staged files
  2. Auto-fix when possible
    • Reduces friction
    • Keeps commits clean
  3. Provide escape hatch
  4. Make hooks fast
    • Use caching
    • Lint only changed files
Best practices for CI/CD:
  1. Fail fast
  2. Cache node_modules and .eslintcache
  3. Generate reports
  4. Set max warnings

Additional Resources

awesome-eslint

Curated list of ESLint integrations and plugins

Command Line

Learn about CLI options for integrations

Formatters

Choose the right formatter for your integration

Configuration

Configure ESLint for your project

Contributing an Integration

If you’ve created an ESLint integration and would like it to be listed here:
  1. Ensure it works with the latest ESLint version
  2. Provide clear documentation
  3. Submit a pull request to the ESLint repository

Core Concepts

Understanding ESLint fundamentals

Configuration

Configure ESLint for your workflow

Command Line

CLI options and usage

Formatters

Output format options