ESLint Config Generator

Developer

Generate an ESLint flat config (eslint.config.js) for your JavaScript or TypeScript project. Supports ESLint v9+ flat config format.

Quick Presets

Project Type

Plugins & Extensions

Rule Strictness

Ignore Patterns

eslint.config.js

import js from '@eslint/js'; import tseslint from 'typescript-eslint'; import prettier from 'eslint-config-prettier'; import importPlugin from 'eslint-plugin-import'; export default [ { ignores: ['node_modules/', 'dist/', 'coverage/'] }, js.configs.recommended, ...tseslint.configs.recommended, { files: ['**/*.{ts,tsx}'], plugins: { import: importPlugin, }, rules: { 'no-unused-vars': 'warn', 'no-console': 'warn', 'eqeqeq': 'error', '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }], }, }, prettier, ];

Install Dependencies

npm install -D eslint @eslint/js typescript-eslint eslint-config-prettier eslint-plugin-import

About ESLint Flat Config

ESLint v9+ uses a flat config format (eslint.config.js) replacing the legacy .eslintrc format. It provides better type safety and a simpler configuration model.

  • Flat Config - Single array of config objects, no more extends/overrides confusion
  • Native TypeScript - typescript-eslint provides type-aware linting
  • Shareable Configs - Import configs as regular JavaScript modules
  • Better Performance - Glob-based file matching is faster than .eslintignore

What is This Tool?

An ESLint config generator creates ESLint configuration files using the new flat config format (eslint.config.js). Select recommended rule sets, configure TypeScript, React, Vue, and Node.js settings, and customize individual rules for your project's coding standards.

ESLint 9+ uses flat config (eslint.config.js) replacing the legacy .eslintrc format. Flat config uses native JavaScript modules, explicit plugin imports, and cascading config arrays. This tool generates modern flat configs with proper plugin setup and rule customization.

Common Use Cases

New Project Setup

Generate a complete ESLint config with framework-specific rules when starting new TypeScript, React, Vue, or Node.js projects.

Migration to Flat Config

Convert legacy .eslintrc configurations to the new flat config format required by ESLint 9+.

Team Standards

Create a shared ESLint config that enforces your team's coding standards across all repositories.

CI Quality Gates

Configure ESLint rules for CI pipelines to catch code quality issues before merge.

Frequently Asked Questions

What is flat config?

ESLint 9's new config format using eslint.config.js (or .mjs/.cjs). It replaces .eslintrc with explicit imports, no extends, and a flat array of config objects.

Can I still use .eslintrc?

ESLint 9 supports .eslintrc via a compatibility flag, but flat config is the future. ESLint 10 will drop legacy config support entirely.

How do I add TypeScript support?

Use @typescript-eslint/parser and @typescript-eslint/eslint-plugin with tseslint.configs.recommended in your flat config.