eslint-config-tsdx

0.2.0 • Public • Published

eslint-config-tsdx

An ESLint shareable config with rules of tsdx.

Installing

Install Dependencies

This package requires eslint@6.x.

Install it if you haven't already:

npm install --save-dev eslint@6.x

Install this package:

npm install --save-dev eslint-config-tsdx

This package requires you to have typescript installed when (and only when) linting any TypeScript (ts or tsx) files.

Install typescript if necessary:

npm install --save-dev typescript

Configure .eslintrc

Add "tsdx" to the "extends" of your .eslintrc file.

If you are using React, set config.settings.react.version in your .eslintrc file. Otherwise, the latest version of React is assumed.

Example .eslintrc file:

{
  "extends": [
    "tsdx"
  ],
  "settings": {
    "react": {
      "version": "detect"  
    }
  }
}

Warning

Because of the way eslint resolves plugin modules, its documentation tells us that a shareable config should include its plugin dependencies in "peerDependencies", meaning users of the config would need to install and depend on each plugin package themselves. Parsers work the same way. This essentially describes eslint issue #3458.

For your convenience, instead of including plugins and parsers as "peerDependencies", we will include them as "dependencies" and issue the following warning:

Do not install alternate versions of the following npm packages in your project:

"@typescript-eslint/eslint-plugin": "2.x"
"@typescript-eslint/parser": "2.x"
"babel-eslint": "10.x"
"eslint-plugin-flowtype": "3.x || 4.x"
"eslint-plugin-import": "2.x"
"eslint-plugin-jsx-a11y": "6.x"
"eslint-plugin-prettier": "3.x"
"eslint-plugin-react": "7.x"
"eslint-plugin-react-hooks": "1.x || 2.x"
"prettier": "2.x"

TODO for Matt

PR tsdx: Org should take over eslint-config-tsdx & use it in tsdx https://github.com/formium/tsdx/blob/master/src/createEslintConfig.ts

Package Sidebar

Install

npm i eslint-config-tsdx

Weekly Downloads

4

Version

0.2.0

License

MIT

Unpacked Size

5.08 kB

Total Files

4

Last publish

Collaborators

  • zen_flow