{"id":19604,"library":"eslint-config-twilio-react","title":"eslint-config-twilio-react","description":"Twilio's official ESLint configuration for React projects. Current stable version is 2.0.0. This package extends eslint-config-twilio, eslint-plugin-react, eslint-plugin-react-hooks, eslint-plugin-jsx-a11y, and eslint-plugin-no-unsanitized. It provides a comprehensive set of linting rules for React codebases, including accessibility, security, and code formatting via Prettier. The project is actively maintained by Twilio Labs and follows semantic versioning. Major breaking change in v2.0.0: dropped support for ESLint versions below 8, now requires ESLint ^8.","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","react","styleguide","twilio"],"install":[{"cmd":"npm install eslint-config-twilio-react","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-twilio-react","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-twilio-react","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency; required as the linting engine.","package":"eslint","optional":false},{"reason":"Required plugin for React rules; included in config.","package":"eslint-plugin-react","optional":false},{"reason":"Required plugin for React Hooks rules; included in config.","package":"eslint-plugin-react-hooks","optional":false},{"reason":"Required plugin for accessibility rules; included in config.","package":"eslint-plugin-jsx-a11y","optional":false},{"reason":"Required plugin for security rules; included in config.","package":"eslint-plugin-no-unsanitized","optional":false},{"reason":"Base config extended by this package.","package":"eslint-config-twilio","optional":false}],"imports":[{"note":"Use the unprefixed name 'twilio-react' in the extends array, not the full package name.","wrong":"{\n  \"extends\": [\"eslint-config-twilio-react\"]\n}","symbol":"twilio-react","correct":"{\n  \"extends\": [\"twilio-react\"]\n}"}],"quickstart":{"code":"// Install\nnpm install eslint eslint-config-twilio-react --save-dev\n\n// .eslintrc.json\n{\n  \"extends\": [\"twilio-react\"],\n  \"rules\": {\n    // optional overrides\n  }\n}\n\n// package.json scripts\n{\n  \"scripts\": {\n    \"lint\": \"eslint --ext js --ext jsx src/\",\n    \"lint:fix\": \"npm run lint -- --fix\"\n  }\n}\n\n// Run\nnpm run lint","lang":"javascript","description":"Installation and configuration of eslint-config-twilio-react for React projects."},"warnings":[{"fix":"Upgrade ESLint to version 8 (npm install eslint@8 --save-dev).","message":"ESLint version 8 is required; versions 5, 6, and 7 are no longer supported.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Use 'twilio-react' in the extends array.","message":"The extends value must be 'twilio-react' (without the prefix). Using 'eslint-config-twilio-react' will not work.","severity":"gotcha","affected_versions":"all"},{"fix":"Use .eslintrc.json or .eslintrc.js with module.exports = { extends: ['twilio-react'] }.","message":"Using require() for ESLint configs is discouraged; use JSON or JS config files.","severity":"deprecated","affected_versions":"all"},{"fix":"Create .prettierrc.js and import base rules from 'eslint-config-twilio/rules/prettier'.","message":"Prettier configuration: manually import base config from eslint-config-twilio; this package does not do it automatically.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Install eslint-config-twilio: npm install eslint-config-twilio --save-dev","cause":"eslint-config-twilio is not installed; it's a transitive dependency but may need to be installed explicitly.","error":"Error: Cannot find module 'eslint-config-twilio'"},{"fix":"Update eslint-plugin-react to the latest version: npm install eslint-plugin-react@latest --save-dev","cause":"Conflicting React versions or outdated plugin.","error":"Configuration for rule 'react/jsx-uses-react' is invalid"},{"fix":"Install the plugin: npm install eslint-plugin-jsx-a11y --save-dev","cause":"Missing required plugin.","error":"ESLint couldn't find the plugin 'eslint-plugin-jsx-a11y'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}