{"id":19584,"library":"eslint-config-shakacode","title":"Shakacode ESLint Config","description":"An ESLint shareable config used by ShakaCode for JavaScript and React projects. Current stable version 19.0.0 requires ESLint ^7.32.0 || ^8.2.0, eslint-plugin-import ^2.25.4, eslint-plugin-jsx-a11y ^6.5.1, and eslint-plugin-react ^7.28.0. Its version number aligns with eslint-config-airbnb. Differentiators: offers separate base config for non-React projects, follows Airbnb style guide with ShakaCode customizations, and has a history of breaking changes tied to major version bumps of dependencies.","status":"active","version":"19.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/shakacode/style-guide-javascript","tags":["javascript"],"install":[{"cmd":"npm install eslint-config-shakacode","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-shakacode","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-shakacode","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency - core linting engine","package":"eslint","optional":false},{"reason":"peer dependency - import rules","package":"eslint-plugin-import","optional":false},{"reason":"peer dependency - accessibility rules","package":"eslint-plugin-jsx-a11y","optional":false},{"reason":"peer dependency - React rules","package":"eslint-plugin-react","optional":true}],"imports":[{"note":"Use the full package name in ESLint extends. For React projects, this is the default config.","wrong":"extends: shakacode","symbol":"eslint-config-shakacode","correct":"extends: eslint-config-shakacode"},{"note":"Use this for non-React projects. The /base entry point excludes React rules.","wrong":"extends: eslint-config-shakacode/non-react","symbol":"eslint-config-shakacode/base","correct":"extends: eslint-config-shakacode/base"},{"note":"There is no separate 'react' extension. Use the main config for React projects.","wrong":"extends: eslint-config-shakacode/react","symbol":"eslint-config-shakacode/react","correct":"extends: eslint-config-shakacode"}],"quickstart":{"code":"// .eslintrc.yml\n---\nextends: eslint-config-shakacode\n\n// For non-React projects:\n// extends: eslint-config-shakacode/base\n\n// Install peer dependencies:\n// npm install --save-dev eslint eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react\n","lang":"yaml","description":"Shows how to configure ESLint to extend Shakacode config in .eslintrc.yml, including peer dep install."},"warnings":[{"fix":"Update to latest config and adjust code for new Airbnb rules.","message":"Version 5.0.0 breaks: eslint-config-airbnb updated to 9.x.x and eslint-plugin-react to 5.x.x.","severity":"breaking","affected_versions":"5.0.0"},{"fix":"Update babel-eslint to 6.x.x and ensure compatibility.","message":"Version 4.0.0 breaks: babel-eslint updated to 6.x.x.","severity":"breaking","affected_versions":"4.0.0"},{"fix":"Update dependencies and adjust code for new rules.","message":"Version 3.0.0 breaks: eslint-config-airbnb updated to 6.x.x and babel-eslint to 5.x.x. New rules: no-return-assign: [2, 'always'] and no-param-reassign: [2, { 'props': false }].","severity":"breaking","affected_versions":"3.0.0"},{"fix":"Ensure these packages are installed as regular dependencies.","message":"Version 2.0.0 breaks: babel-eslint and eslint-config-airbnb moved from devDependencies to dependencies.","severity":"breaking","affected_versions":"2.0.0"},{"fix":"Check that eslint-config-airbnb version aligns with this config.","message":"The config version number matches eslint-config-airbnb, not ESLint itself.","severity":"gotcha","affected_versions":"all"},{"fix":"Run eslint --fix and migrate rule configs as needed.","message":"Some rules from earlier versions may be deprecated in newer ESLint.","severity":"deprecated","affected_versions":">=19.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"npm install --save-dev eslint-config-shakacode eslint-plugin-import eslint-plugin-jsx-a11y eslint-plugin-react","cause":"Package not installed or missing peer dependencies.","error":"Error: Cannot find module 'eslint-config-shakacode'"},{"fix":"Use 'eslint-config-shakacode/base' for base config, 'eslint-config-shakacode' for React.","cause":"Typo or wrong extension name.","error":"ESLint couldn't find the config 'eslint-config-shakacode/base'"},{"fix":"Update eslint-plugin-react to match config's peer requirement.","cause":"Outdated rule config incompatible with installed eslint-plugin-react version.","error":"Configuration for rule 'react/jsx-indent' is invalid"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}