{"id":19605,"library":"eslint-config-twilio-ts","title":"Twilio ESLint TypeScript Config","description":"eslint-config-twilio-ts v2.0.0 is Twilio's official ESLint configuration for TypeScript projects. It extends eslint-config-twilio and @typescript-eslint, enforcing Twilio's coding style. Release cadence is low (major versions every few years). Key differentiators: opinionated rules for TypeScript, integrated Prettier support, optional React via eslint-config-twilio-react. Requires eslint ^8 and typescript ^3 || ^4.","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","styleguide","ts","tslint","twilio"],"install":[{"cmd":"npm install eslint-config-twilio-ts","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-config-twilio-ts","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-config-twilio-ts","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency – required at version 8 or higher.","package":"eslint","optional":false},{"reason":"Peer dependency – required at version 3 or 4.","package":"typescript","optional":false},{"reason":"Base config for JavaScript rules, automatically included.","package":"eslint-config-twilio","optional":true},{"reason":"Provides TypeScript-specific lint rules.","package":"@typescript-eslint/eslint-plugin","optional":true},{"reason":"Parses TypeScript code for ESLint.","package":"@typescript-eslint/parser","optional":true}],"imports":[{"note":"Use the shorthand 'twilio-ts' in ESLint's 'extends' array, not the full package name.","wrong":"{\n  \"extends\": [\"eslint-config-twilio-ts\"]\n}","symbol":"twilio-ts","correct":"{\n  \"extends\": [\"twilio-ts\"]\n}"},{"note":"ESLint v8 is ESM-friendly but still supports CJS; CommonJS require is acceptable but ESM is preferred.","wrong":"const eslint = require('eslint')","symbol":"eslint","correct":"import { Linter } from 'eslint'"}],"quickstart":{"code":"// Install\n// npm install eslint eslint-config-twilio-ts --save-dev\n\n// .eslintrc.json\n{\n  \"extends\": [\"twilio-ts\"],\n  \"parserOptions\": {\n    \"project\": \"./tsconfig.json\"\n  }\n}\n\n// package.json script\n\"lint\": \"eslint --ext ts src/\"\n\n// Run\n// npx eslint --ext ts src/","lang":"typescript","description":"Shows installation, ESLint config file setup with the twilio-ts rules, and a lint script for TypeScript files."},"warnings":[{"fix":"Upgrade eslint to version 8.x.","message":"eslint-config-twilio-ts v2.0.0 drops support for eslint versions 5, 6, and 7. Only eslint 8 is supported.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Order your extends as [\"twilio-react\", \"twilio-ts\"].","message":"When also using eslint-config-twilio-react, 'twilio-ts' must come after 'twilio-react' in the extends array to override conflicting rules.","severity":"gotcha","affected_versions":"all"},{"fix":"Create .prettierrc.js that requires the base config from eslint-config-twilio/rules/prettier.","message":"The config uses Prettier; ensure a .prettierrc.js imports the base prettier config from eslint-config-twilio, or formatting rules may conflict.","severity":"gotcha","affected_versions":"all"},{"fix":"Update typescript to version 4.x in your package.json.","message":"typescript peer dep accepts ^3 or ^4. TypeScript 3 is end-of-life; consider upgrading to TypeScript 4+.","severity":"deprecated","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"npm install @typescript-eslint/eslint-plugin --save-dev","cause":"Missing @typescript-eslint/eslint-plugin peer dependency.","error":"Error: Failed to load plugin '@typescript-eslint' declared in 'twilio-ts': Cannot find module '@typescript-eslint/eslint-plugin'"},{"fix":"Ensure tsconfig.json exists and set 'parserOptions.project' to its path (e.g., './tsconfig.json').","cause":"Missing or incorrect 'parserOptions.project' pointing to a valid tsconfig.json.","error":"Parsing error: Cannot read file 'tsconfig.json'."},{"fix":"Run npm install eslint-config-twilio-ts --save-dev.","cause":"eslint-config-twilio-ts package not installed or not in node_modules.","error":"ESLint couldn't find the config 'twilio-ts'."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}