{"id":19488,"library":"eslint-config-aqua","title":"eslint-config-aqua","description":"A popular ESLint shareable config providing comprehensive linting rules for JavaScript, Node.js, React, Vue, Svelte, JSX, and Prettier integration. Current stable version is 9.2.1, with regular updates tracked on npm. Key differentiators: offers platform-specific configs via simple extends paths, supports both browser and Node environments, and includes optional Prettier configuration to disable conflicting ESLint rules. Requires Node >=10. Actively maintained with frequent dependency upgrades.","status":"active","version":"9.2.1","language":"javascript","source_language":"en","source_url":"https://github.com/iCrawl/eslint-config-aqua","tags":["javascript","eslintconfig","lint","linter","jshint","jslint","eslint","validate"],"install":[{"cmd":"npm install eslint-config-aqua","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-aqua","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-aqua","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency required for the config to work","package":"eslint","optional":false}],"imports":[{"note":"This is a shareable config, used via extends in ESLint configuration, not imported in code.","wrong":"import config from 'eslint-config-aqua'; // Incorrect: cannot import directly","symbol":"aqua","correct":"// In .eslintrc or package.json:\n{ \"extends\": \"aqua\" }"},{"note":"Use path format with slash for sub-configs. 'aqua/node' targets Node.js environment.","wrong":"{ \"extends\": \"aqua-node\" }","symbol":"aqua/node","correct":"{ \"extends\": \"aqua/node\" }"},{"note":"Prettier configs require installation of prettier, eslint-plugin-prettier, and eslint-config-prettier.","wrong":"{ \"extends\": \"aqua/prettier/base\" }","symbol":"aqua/prettier","correct":"{ \"extends\": \"aqua/prettier\" }"},{"note":"React config enables React specific rules, use with project containing JSX.","wrong":"{ \"extends\": \"aqua/react/base\" }","symbol":"aqua/react","correct":"{ \"extends\": \"aqua/react\" }"},{"note":"Vue config requires additional installation of babel-eslint and eslint-plugin-vue.","wrong":"{ \"extends\": \"aqua-vue\" }","symbol":"aqua/vue","correct":"{ \"extends\": \"aqua/vue\" }"}],"quickstart":{"code":"// 1. Install\nnpm i -D eslint-config-aqua\n\n// 2. Configure .eslintrc.json\n{\n  \"extends\": \"aqua\",\n  \"env\": {\n    \"browser\": true,\n    \"node\": true\n  }\n}\n\n// 3. Alternatively use platform-specific config\n{\n  \"extends\": \"aqua/node\"\n}\n\n// 4. For Prettier, also install:\nnpm i -D prettier eslint-plugin-prettier eslint-config-prettier\n// Then in .eslintrc.json:\n{\n  \"extends\": \"aqua/prettier\"\n}\n// And create .prettierrc with your rules.","lang":"javascript","description":"Shows installation and configuration of eslint-config-aqua with base, Node, and Prettier setups."},"warnings":[{"fix":"Create a .prettierrc file in your project root with your desired Prettier options.","message":"In v8.0.0, all prettier configs require your own .prettierrc file.","severity":"breaking","affected_versions":">=8.0.0"},{"fix":"Update to v9.2.1 and follow new Prettier config requirements.","message":"The v7.x series used an older dependency pattern; upgrade to v8+ for latest.","severity":"deprecated","affected_versions":"<8.0.0"},{"fix":"Run: npm i -D babel-eslint eslint-plugin-vue","message":"The Vue config requires additional installation of babel-eslint and eslint-plugin-vue; missing them will break.","severity":"gotcha","affected_versions":">=7.2.0"},{"fix":"Install: npm i -D prettier eslint-plugin-prettier eslint-config-prettier","message":"The Prettier configs require eslint-plugin-prettier and eslint-config-prettier; missing will cause errors.","severity":"gotcha","affected_versions":">=8.0.0"},{"fix":"Add env: { browser: true } or extend 'aqua/node' for Node projects.","message":"Using 'aqua' without specifying env may result in warnings about browser/Node globals.","severity":"gotcha","affected_versions":">=7.0.0"},{"fix":"Upgrade to v9.2.1 and create .prettierrc file.","message":"v7.x to v8.0.0 removed embedded prettier config; users must supply their own .prettierrc.","severity":"breaking","affected_versions":"7.x"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Ensure eslint-config-aqua is installed: npm i -D eslint-config-aqua. Verify package.json or .eslintrc extends field.","cause":"ESLint cannot locate the shareable config because it is not installed or not referenced correctly.","error":"Could not find config \"aqua\"."},{"fix":"Check for overlapping rules; use 'aqua/prettier' to disable formatting rules if using Prettier.","cause":"Conflict between eslint-config-aqua rules and user's own rules or Prettier config.","error":"Configuration for rule \"no-console\" is invalid"},{"fix":"Install required plugin: npm i -D eslint-plugin-vue (and babel-eslint).","cause":"Missing required plugin for Vue config.","error":"ESLint couldn't find the plugin \"eslint-plugin-vue\"."},{"fix":"Use correct path: \"aqua/node\" (case-sensitive). Ensure package is installed.","cause":"Typo in extends path or package not installed.","error":"Error: Failed to load config \"aqua/node\" to extend from."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}