{"id":19476,"library":"eslint-config-adslot","title":"eslint-config-adslot","description":"ESLint shareable config for Adslot, currently at v2.2.1 requiring Node.js ^24 and ESLint ^9.39.1. It bundles plugins for React, JSX accessibility, import rules, Lodash, Chai-friendly assertions, and TypeScript (via @typescript-eslint). Release cadence is irregular; breaking changes occurred at v2.0.0 when upgrading to ESLint v9. Differentiators: opinionated setup for Adslot's internal stack, includes chai-friendly and lodash rules.","status":"active","version":"2.2.1","language":"javascript","source_language":"en","source_url":"https://github.com/Adslot/eslint-config-adslot","tags":["javascript","ESLint","eslint-config-adslot"],"install":[{"cmd":"npm install eslint-config-adslot","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-adslot","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-adslot","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required at runtime","package":"eslint","optional":false}],"imports":[{"note":"Use shorthand 'adslot'; the full package name is for scoped packages","wrong":"{\"extends\": \"eslint-config-adslot\"}","symbol":"default","correct":"{\"extends\": \"adslot\"}"},{"note":"ESLint v9 flat config prefers ESM, but legacy config works with require","wrong":"const eslintConfigAdslot = require('eslint-config-adslot')","symbol":"config","correct":"import eslintConfigAdslot from 'eslint-config-adslot'"},{"note":"If you only need React rules, use the sub-config; main config includes everything","wrong":"{\"extends\": \"adslot\"}","symbol":"react","correct":"{\"extends\": \"adslot/react\"}"}],"quickstart":{"code":"// .eslintrc.json\n{\n  \"extends\": \"adslot\"\n}\n\n// Or for flat config (eslint.config.js)\nexport default [\n  ...require('eslint-config-adslot'),\n  {\n    rules: {\n      // your overrides\n    }\n  }\n];","lang":"javascript","description":"Shows how to extend the config in both legacy .eslintrc and flat config formats."},"warnings":[{"fix":"Upgrade ESLint to v9 and migrate to flat config, or use ESLint v8 with eslint-config-adslot@1.x.","message":"v2.0.0 drops support for ESLint <9. Config must use new flat config or .eslintrc with ESLint v9 compatibility mode.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Update Node.js to v24.","message":"Node.js ^24 is required; older versions (e.g. 18, 20) are unsupported and may cause installation failures.","severity":"deprecated","affected_versions":">=2.2.0"},{"fix":"Override or disable rules from these plugins in your own config.","message":"The config includes eslint-plugin-lodash and eslint-plugin-chai-friendly; if your project doesn't use these libraries, you'll get false positives.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run: npm install -D @typescript-eslint/eslint-plugin @typescript-eslint/parser","cause":"Missing peer dependencies for TypeScript support when using flat config.","error":"Error: Failed to load plugin '@typescript-eslint' declared in 'eslint-config-adslot': Cannot find module '@typescript-eslint/eslint-plugin'"},{"fix":"Upgrade to eslint-config-adslot@2.x and use flat config or compatible .eslintrc.","cause":"Using eslint-config-adslot@1.x with ESLint v9; rule option format changed.","error":"Error: .eslintrc.json: Configuration for rule \"import/no-cycle\" is invalid: Value \"ignoreExternal\" has unexpected property."},{"fix":"Install: npm install -D eslint-config-adslot eslint. Then use 'extends': 'adslot'.","cause":"The package is not installed or the extends shorthand is misspelled.","error":"Error: Cannot find module 'eslint-config-adslot' from <path>"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}