Twilio's approach to TypeScript styling.
This config includes the following plugins and extensions:
$ npm install eslint eslint-config-twilio-ts --save-dev
Add the ESLint config to either your package.json
or your .eslintrc
:
{
"name": "my-project",
"eslintConfig": {
"extends": [
"twilio-ts"
]
}
}
{
"extends": [
"twilio-ts"
]
}
Then add the following two scripts for running and fixing your codebase:
{
"scripts": {
"lint": "eslint --ext ts src/",
"lint:fix": "npm run lint -- --fix"
}
}
To enable React linting in TypeScript, also install eslint-config-twilio-react
and add twilio-react
as an extension to your ESLint Config file. Then update the lint
script to:
{
"scripts": {
"lint": "eslint --ext ts --ext tsx src/"
}
}
NOTE: twilio-ts
should come after twilio-react
because twilio-ts
overrides conflicting rules:
{
"extends": [
"twilio-react",
"twilio-ts"
]
}
This package makes use of Prettier for setting specific code formatting rules in your project.
If you want to allow your IDE to auto-format your code as you save it, then create a .prettierrc.js
and import the base configuration from the eslint-config-twilio
.
const baseConfig = require('./node_modules/eslint-config-twilio/rules/prettier');
module.exports = {
...baseConfig,
};
You might also want to edit/extend those rules according to your project style-guide. To do that, you will need to make ESLint aware of the changes.
From your .eslintrc
file, add the following override rules:
"prettier/prettier": ["warn", {}, {
"usePrettierrc": true
}],