Twilio ESLint Mocha Config

raw JSON →
2.0.0 verified Sat Apr 25 auth: no javascript

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.

error ESLint couldn't find the config "twilio-mocha"
cause Missing or incorrect installation of eslint-config-twilio-mocha.
fix
Run: npm install eslint-config-twilio-mocha --save-dev
error Configuration for rule "chai-friendly/no-unused-expressions" is invalid
cause Conflicting rule from another ESLint config (e.g., eslint-plugin-chai-expect).
fix
Remove or disable conflicting chai-related plugin rules.
error Failed to load parser 'babel-eslint'
cause eslint-config-twilio-mocha may expect babel-eslint if used with base eslint-config-twilio.
fix
Install babel-eslint: npm install babel-eslint --save-dev
breaking v2.0.0 drops support for ESLint 5, 6, and 7 — only ESLint 8 is supported.
fix Upgrade to ESLint 8 and eslint-config-twilio-mocha@2.0.0.
deprecated The prettier configuration via eslint-config-twilio is recommended; see README for details.
fix Create a .prettierrc.js file that extends the base prettier rules from eslint-config-twilio.
gotcha The package uses eslint-plugin-chai-friendly. If using a different chai plugin, double-check rule compatibility.
fix Ensure no conflicting chai rules are enabled.
npm install eslint-config-twilio-mocha
yarn add eslint-config-twilio-mocha
pnpm add eslint-config-twilio-mocha

Install ESLint 8 and the config, then set up .eslintrc with 'twilio-mocha' extension and add lint scripts.

// Install dependencies
npm install eslint@^8 eslint-config-twilio-mocha --save-dev

// .eslintrc.json
{
  "extends": [
    "twilio-mocha"
  ]
}

// package.json scripts
"scripts": {
  "lint": "eslint --ext .js,.jsx src/ test/",
  "lint:fix": "npm run lint -- --fix"
}