eslint-config-tsdx
v0.2.0
Published
An ESLint shareable config with rules of tsdx
Downloads
28
Maintainers
Readme
eslint-config-tsdx
An ESLint shareable config with rules of tsdx.
Installing
Install Dependencies
This package requires [email protected]
.
Install it if you haven't already:
npm install --save-dev [email protected]
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