JSPM

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

Twilio's ESLint TypeScript config

Package Exports

  • eslint-config-twilio-ts
  • eslint-config-twilio-ts/index.js

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

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
}],