{"id":19493,"library":"eslint-config-biome","title":"eslint-config-biome","description":"An ESLint shareable config that disables ESLint rules which have an equivalent and recommended rule in Biome, enabling simultaneous use of Biome and ESLint without conflicts. Current stable version: 2.1.3. Released on Biome version bumps; includes eslint-config-prettier to also disable formatting rules. Key differentiator: automates disabling overlapping rules, works with both flat config (ESLint v9+) and .eslintrc (v8).","status":"active","version":"2.1.3","language":"javascript","source_language":"en","source_url":"https://github.com/ftzi/eslint-config-biome","tags":["javascript","biome","eslint-config","eslint","config","eslintconfig","eslintplugin","eslint-plugin","linter"],"install":[{"cmd":"npm install eslint-config-biome","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-biome","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-biome","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Automatically included to disable formatting rules, as Biome is equivalent to Prettier.","package":"eslint-config-prettier","optional":false}],"imports":[{"note":"Package is ESM-only; CommonJS require() will fail.","wrong":"const biome = require('eslint-config-biome');","symbol":"default export (biome)","correct":"import biome from 'eslint-config-biome';"},{"note":"Flat config (ESLint v9+) expects an array; the old extends pattern is not supported.","wrong":"module.exports = { extends: ['biome'] };","symbol":"Flat config usage","correct":"import biome from 'eslint-config-biome';\nexport default [ /* other configs */, biome ];"},{"note":"Using extends at top level may cause ordering issues; overrides ensures last evaluation.","wrong":"// extends at top level\nextends: ['biome']","symbol":"Legacy .eslintrc usage","correct":"// overrides section\noverrides: [{ files: ['*.ts', '*.js', '*.tsx', '*.jsx'], extends: ['biome'] }]"}],"quickstart":{"code":"// 1. Install\nnpm install -D eslint-config-biome\n\n// 2. ESLint flat config (eslint.config.js)\nimport biome from 'eslint-config-biome';\n\nexport default [\n  // other configs...\n  biome, // must be last to override others\n];\n\n// 3. Alternatively, .eslintrc.json (ESLint v8 or flat config emulation)\n{\n  \"overrides\": [\n    {\n      \"files\": [\"*.ts\", \"*.js\", \"*.tsx\", \"*.jsx\"],\n      \"extends\": [\"biome\"]\n    }\n  ]\n}","lang":"javascript","description":"Demonstrates installation and configuration for both flat config and legacy .eslintrc, ensuring Biome and ESLint work together without conflicts."},"warnings":[{"fix":"Upgrade ESLint to v8.40+ or use .eslintrc with overrides (not extends).","message":"Version 1.8.3+ requires ESLint v8.40+ for Flat Config support; older ESLint versions must use .eslintrc with overrides.","severity":"breaking","affected_versions":">=1.8.3"},{"fix":"Ensure biome config is placed after all other configs (last in array or overrides list).","message":"This config must be the last item in the flat config array or the last override in .eslintrc to effectively disable conflicting rules.","severity":"gotcha","affected_versions":">=1.4.0"},{"fix":"Remove eslint-config-prettier from your dependencies and ESLint config.","message":"The package automatically includes eslint-config-prettier, so do not add it separately to avoid duplicates.","severity":"gotcha","affected_versions":">=1.4.0"},{"fix":"Move the biome config into the overrides array as shown in the quickstart.","message":"Using top-level extends with 'biome' in .eslintrc is deprecated; use overrides instead.","severity":"deprecated","affected_versions":">=1.4.0"},{"fix":"Use import biome from 'eslint-config-biome' instead of require.","message":"ESLint v9 flat config expects a default import; require() will throw an error.","severity":"gotcha","affected_versions":">=1.8.3"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Switch to import syntax (ESM) or use dynamic import() if using CommonJS.","cause":"Using CommonJS require() on an ESM-only package (v1.8.3+).","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module /path/to/node_modules/eslint-config-biome/index.js not supported."},{"fix":"Use import biome from 'eslint-config-biome' and add the biome object directly to the array.","cause":"Using flat config but incorrectly providing a string in extends or an object without the default import.","error":"Failed to load config \"biome\" to extend from."},{"fix":"Use the array-based flat config: export default [ /* other configs */, biome ];","cause":"Trying to use extends in flat config (ESLint v9).","error":"ESLint configuration error: The \"extends\" property is not supported in flat config."},{"fix":"Add \"type\": \"module\" in package.json or use .mjs extension for the config file.","cause":"Using import in a CommonJS file without ESM configured.","error":"Parsing error: The keyword 'import' is reserved"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}