{"id":19603,"library":"eslint-config-twilio-mocha","title":"Twilio ESLint Mocha Config","description":"ESLint configuration for Mocha/Chai tests following Twilio's style guide (v2.0.0). Includes eslint-plugin-chai-friendly. Compatible with ESLint ^8; dropped support for ESLint 5-7. Low maintenance, stable release cadence. Differentiates by integrating with eslint-config-twilio base and Prettier.","status":"active","version":"2.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/twilio-labs/twilio-style","tags":["javascript","config","eslint","eslintconfig","mocha","styleguide","twilio"],"install":[{"cmd":"npm install eslint-config-twilio-mocha","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-twilio-mocha","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-twilio-mocha","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; required to run ESLint","package":"eslint","optional":false}],"imports":[{"note":"Use the shorthand 'twilio-mocha' in ESLint config; the npm package name is not required.","wrong":"\"extends\": [\"eslint-config-twilio-mocha\"]","symbol":"twilio-mocha","correct":"\"extends\": [\"twilio-mocha\"]"},{"note":"Do not confuse with the base eslint-config-twilio package.","wrong":"npm install eslint-config-twilio --save-dev","symbol":"eslint-config-twilio-mocha","correct":"npm install eslint-config-twilio-mocha --save-dev"},{"note":"Only ESLint 8 is supported as of v2.0.0. Using other versions will cause errors.","wrong":"npm install eslint --save-dev (if no version constraint)","symbol":"eslint","correct":"npm install eslint@^8 --save-dev"}],"quickstart":{"code":"// Install dependencies\nnpm install eslint@^8 eslint-config-twilio-mocha --save-dev\n\n// .eslintrc.json\n{\n  \"extends\": [\n    \"twilio-mocha\"\n  ]\n}\n\n// package.json scripts\n\"scripts\": {\n  \"lint\": \"eslint --ext .js,.jsx src/ test/\",\n  \"lint:fix\": \"npm run lint -- --fix\"\n}","lang":"javascript","description":"Install ESLint 8 and the config, then set up .eslintrc with 'twilio-mocha' extension and add lint scripts."},"warnings":[{"fix":"Upgrade to ESLint 8 and eslint-config-twilio-mocha@2.0.0.","message":"v2.0.0 drops support for ESLint 5, 6, and 7 — only ESLint 8 is supported.","severity":"breaking","affected_versions":"<2.0.0"},{"fix":"Create a .prettierrc.js file that extends the base prettier rules from eslint-config-twilio.","message":"The prettier configuration via eslint-config-twilio is recommended; see README for details.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Ensure no conflicting chai rules are enabled.","message":"The package uses eslint-plugin-chai-friendly. If using a different chai plugin, double-check rule compatibility.","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 eslint-config-twilio-mocha --save-dev","cause":"Missing or incorrect installation of eslint-config-twilio-mocha.","error":"ESLint couldn't find the config \"twilio-mocha\""},{"fix":"Remove or disable conflicting chai-related plugin rules.","cause":"Conflicting rule from another ESLint config (e.g., eslint-plugin-chai-expect).","error":"Configuration for rule \"chai-friendly/no-unused-expressions\" is invalid"},{"fix":"Install babel-eslint: npm install babel-eslint --save-dev","cause":"eslint-config-twilio-mocha may expect babel-eslint if used with base eslint-config-twilio.","error":"Failed to load parser 'babel-eslint'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}