JSPM

  • Created
  • Published
  • Downloads 9631
  • Score
    100M100P100Q131764F
  • License MIT

Twilio's ESLint TypeScript config

Package Exports

  • eslint-config-twilio-ts

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (eslint-config-twilio-ts) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

eslint-config-twilio-ts

Version Downloads License

Twilio's approach to TypeScript styling.

Plugins and Extensions

This config includes the following plugins and extensions:

Installation

$ npm install eslint eslint-config-twilio-ts --save-dev

Usage

Add the ESLint config to either your package.json or your .eslintrc:

package.json

{
  "name": "my-project",
  "eslintConfig": {
    "extends": [
      "twilio-ts"
    ]
  }
}

.eslintrc

{
  "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"
  }
}

Enabling React

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/"
  }
}

.eslintrc

NOTE: twilio-ts should come after twilio-react because twilio-ts overrides conflicting rules:

{
  "extends": [
    "twilio-react",
    "twilio-ts"
  ]
}

Prettier

If you want to allow your IDE to auto-format your code as you save it, then create a .prettierrc.js and add:

const baseConfig = require('./node_modules/eslint-config-twilio/rules/prettier');

module.exports = {
  ...baseConfig,
};