{"id":25489,"library":"eslint-config-sonarqube","title":"eslint-config-sonarqube","description":"ESLint shareable config for SonarCloud/SonarQube analysis. Version 2.1.3, released as needed. Includes rules for TypeScript, React, Jest, and accessibility. Requires manual installation of all peer dependencies. Differentiator: official SonarSource config that matches SonarQube's built-in analysis; unlike other configs, it enforces Sonar's exact rule set.","status":"active","version":"2.1.3","language":"javascript","source_language":"en","source_url":null,"tags":["javascript"],"install":[{"cmd":"npm install eslint-config-sonarqube","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-sonarqube","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-sonarqube","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency – required to run ESLint","package":"eslint","optional":false},{"reason":"peer dependency – TypeScript rules","package":"@typescript-eslint/eslint-plugin","optional":false},{"reason":"peer dependency – TypeScript parser","package":"@typescript-eslint/parser","optional":false},{"reason":"peer dependency – import rules","package":"eslint-plugin-import","optional":false},{"reason":"peer dependency – Jest rules","package":"eslint-plugin-jest","optional":false},{"reason":"peer dependency – jest-dom rules","package":"eslint-plugin-jest-dom","optional":false},{"reason":"peer dependency – JSX accessibility rules","package":"eslint-plugin-jsx-a11y","optional":false},{"reason":"peer dependency – Promise rules","package":"eslint-plugin-promise","optional":false},{"reason":"peer dependency – React rules","package":"eslint-plugin-react","optional":false},{"reason":"peer dependency – React Hooks rules","package":"eslint-plugin-react-hooks","optional":false},{"reason":"peer dependency – testing-library rules","package":"eslint-plugin-testing-library","optional":false}],"imports":[{"note":"This config is not a module – it's used via ESLint's extends mechanism. No JavaScript/TypeScript import needed.","wrong":"No explicit import/require – just add to ESLint config via extends","symbol":"config","correct":"Put in .eslintrc:\n{\n  \"extends\": \"sonarqube\"\n}"}],"quickstart":{"code":"# Install all peer deps and config\nyarn add --dev \\\n  @typescript-eslint/eslint-plugin \\\n  @typescript-eslint/parser \\\n  eslint \\\n  eslint-config-sonarqube \\\n  eslint-plugin-import \\\n  eslint-plugin-jest \\\n  eslint-plugin-jest-dom \\\n  eslint-plugin-jsx-a11y \\\n  eslint-plugin-promise \\\n  eslint-plugin-testing-library \\\n  eslint-plugin-react \\\n  eslint-plugin-react-hooks\n\n# Then in .eslintrc.json:\n{\n  \"extends\": \"sonarqube\",\n  \"rules\": {\n    // optional overrides\n  }\n}","lang":"javascript","description":"Installs all peer dependencies and configures ESLint to extend sonarqube config."},"warnings":[{"fix":"Install all listed peer deps explicitly, or use npm>=7 auto-install (works with npm v7+). For pnpm, add each package to devDependencies.","message":"All peer dependencies must be manually installed – not automatically installed by npm/yarn when using older versions or pnpm.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Check CHANGELOG.md for rule changes when upgrading config version.","message":"This config is tightly coupled to the rules used in SonarQube analysis. Future SonarQube versions may deprecate or add rules, so keep the config version aligned.","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Use ESLint's override pattern or carefully order configs; see documentation for composing configs.","message":"Using this config may cause rule conflicts with other ESLint configs if composed incorrectly.","severity":"gotcha","affected_versions":">=2.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Install eslint-plugin-import or add it to devDependencies.","cause":"Missing peer dependency.","error":"Error: Cannot find module 'eslint-plugin-import'"},{"fix":"Check if another config (e.g., airbnb) sets the same rule and override or reorder configs.","cause":"Conflicting rule configurations from multiple configs.","error":"Configuration for rule \"react/jsx-no-target-blank\" is invalid"},{"fix":"Ensure eslint-config-sonarqube is listed in devDependencies and installed.","cause":"eslint-config-sonarqube not installed or version mismatch.","error":"Oops! Something went wrong! :(\nESLint: 8.0.0\nESLint config extends: sonarqube - failed to load"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}