{"id":25479,"library":"eslint-config-collaborne","title":"eslint-config-collaborne","description":"ESLint shareable config used by Collaborne for their TypeScript and JavaScript projects. Current version 5.5.6 supports ESLint 8+ and requires multiple peer plugins. Release cadence is irregular, aligned with Collaborne's internal needs. Differentiates by bundling a specific set of opinionated rules (Prettier, import, promise, node, disable) and supporting multiple major versions of ESLint plugins via range peer dependencies. Active maintenance by Collaborne team.","status":"active","version":"5.5.6","language":"javascript","source_language":"en","source_url":"https://github.com/Collaborne/eslint-config-collaborne","tags":["javascript"],"install":[{"cmd":"npm install eslint-config-collaborne","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-collaborne","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-collaborne","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency; provides TypeScript-specific lint rules.","package":"@typescript-eslint/eslint-plugin","optional":false},{"reason":"Peer dependency; parses TypeScript code for ESLint.","package":"@typescript-eslint/parser","optional":false},{"reason":"Peer dependency; core linting framework.","package":"eslint","optional":false},{"reason":"Peer dependency; used to disable rules inline.","package":"eslint-plugin-disable","optional":false},{"reason":"Peer dependency; enforces import/export rules.","package":"eslint-plugin-import","optional":false},{"reason":"Peer dependency; adds Node.js specific rules.","package":"eslint-plugin-node","optional":false},{"reason":"Peer dependency; runs Prettier as ESLint rule.","package":"eslint-plugin-prettier","optional":false},{"reason":"Peer dependency; enforces Promise best practices.","package":"eslint-plugin-promise","optional":false},{"reason":"Peer dependency; code formatter used by eslint-plugin-prettier.","package":"prettier","optional":false}],"imports":[{"note":"This is a shareable config; use it via the extends field in ESLint config files, not via import.","wrong":"import config from 'eslint-config-collaborne'; // Not meant to be imported as JS module","symbol":"config","correct":"// In .eslintrc.json:\n{ \"extends\": \"collaborne\" }"},{"note":"No JavaScript module is exported; the package simply provides an ESLint config.","wrong":"require('eslint-config-collaborne'); // not a Node require; use extends","symbol":"typescript","correct":"// In .eslintrc.json:\n{\n  \"extends\": \"collaborne\",\n  \"rules\": { ... }\n}"},{"note":"The package does not export anything programmatically; it is purely a shareable config.","wrong":"const config = require('eslint-config-collaborne'); // does not work","symbol":"Node.js require","correct":"/* No require() needed; use extends in config file */"}],"quickstart":{"code":"// 1. Install dependencies\nnpm install --save-dev \\\n  eslint-config-collaborne \\\n  eslint@8 \\\n  @typescript-eslint/eslint-plugin@^7.0.0 \\\n  @typescript-eslint/parser@^7.0.0 \\\n  eslint-plugin-disable@^2.0.3 \\\n  eslint-plugin-import@^2.26.0 \\\n  eslint-plugin-node@^11.1.0 \\\n  eslint-plugin-prettier@^5.0.0 \\\n  eslint-plugin-promise@^7.0.0 \\\n  prettier@^3.0.0\n\n// 2. Create .prettierrc\n{\n  \"singleQuote\": true,\n  \"semi\": true,\n  \"tabWidth\": 2,\n  \"useTabs\": true,\n  \"trailingComma\": \"all\"\n}\n\n// 3. Create .eslintrc.json\n{\n  \"extends\": \"collaborne\"\n}\n\n// 4. Add scripts to package.json\n\"scripts\": {\n  \"lint\": \"eslint src/\"\n}\n\n// 5. Run lint\nnpm run lint","lang":"javascript","description":"Shows full setup: install peer deps, configure Prettier and ESLint, add lint script, and run the linter."},"warnings":[{"fix":"Upgrade ESLint to version 8 or later if you are on ESLint 6/7.","message":"Version 3.0.0 dropped support for ESLint 6 and earlier, requiring ESLint >= 8.","severity":"breaking","affected_versions":">=3.0.0 <4.0.0"},{"fix":"Use the specific peer dependency ranges listed in the latest package.json.","message":"Peer dependencies changed between major versions: ensure @typescript-eslint/*, eslint-plugin-prettier, eslint-plugin-promise versions match the ranges in package.json.","severity":"breaking","affected_versions":">=5.0.0"},{"fix":"After upgrading ESLint or plugins, run `eslint --rulesdir` to check for deprecated rules and update config accordingly.","message":"The package may ship with deprecated ESLint rules or configurations as ESLint and plugins evolve; review config after upgrading ESLint.","severity":"deprecated","affected_versions":"*"},{"fix":"Create a .prettierrc file as shown in the quickstart.","message":"The config expects .prettierrc to be present; missing it can cause unexpected formatting errors.","severity":"gotcha","affected_versions":"*"},{"fix":"Install eslint-plugin-disable explicitly: `npm install --save-dev eslint-plugin-disable@2.0.3`","message":"eslint-plugin-disable is a peer dependency; it is not officially published on npm? Actually it exists, but may be uncommon. Ensure it is installed.","severity":"gotcha","affected_versions":"*"},{"fix":"Do not rename the package; always use `extends: 'collaborne'`.","message":"The config uses `extends: 'collaborne'` which assumes the package is named 'eslint-config-collaborne'; if you rename it, the extends value changes.","severity":"gotcha","affected_versions":"*"},{"fix":"Use overrides in .eslintrc.json to disable TypeScript-specific rules for .js files.","message":"The config presumes a TypeScript project with tsconfig.json; if not using TypeScript, you must override certain rules.","severity":"gotcha","affected_versions":"*"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run `npm install --save-dev eslint-config-collaborne` and ensure it is in package.json.","cause":"eslint-config-collaborne package not installed or not in node_modules.","error":"ESLint couldn't find the config \"collaborne\""},{"fix":"Install it: `npm install --save-dev eslint-plugin-disable@^2.0.3`","cause":"Missing peer dependency eslint-plugin-disable.","error":"Failed to load plugin '@typescript-eslint': Cannot find module 'eslint-plugin-disable'"},{"fix":"Install both: `npm install --save-dev eslint-plugin-prettier@^5.0.0 prettier@^3.0.0`","cause":"eslint-plugin-prettier or prettier not installed.","error":"Error: Cannot find module 'eslint-plugin-prettier' or 'prettier'"},{"fix":"Override the rule in your .eslintrc.json if needed, e.g., `\"import/no-unresolved\": \"off\"`.","cause":"The config assumes certain parser options or settings that may conflict with your project.","error":"Configuration for rule \"import/no-unresolved\" is invalid"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}