Shared dev-tools configuration files based on react-redux-typescript-guide
For now you can find
eslint
,tslint
andtsconfig
configurations, but I'm willing to add more tools and scripts in the future e.g.jest
,babel
, npm scripts etc.
I'm open to suggestion on improvements like adding or changing default rules so please feel free to open an issue.
This package is distributed via npm and should be installed as devDependencies
:
npm i -D react-redux-typescript-scripts
NOTE: You should also install optional dependencies listed for each tool in their Usage section.
You can find usage instructions for each tool in its own section below.
{
"include": ["./src"],
"extends": "./node_modules/react-redux-typescript-scripts/tsconfig.json",
"compilerOptions": {
// you can further customize options here
}
}
WARNING: When using this config you'll need to install the additional dependencies listed below.
npm i -D tslint tslint-react
There are a few configs available (you can use one or all by declaring an array in extends
config property):
react-redux-typescript-scripts/tslint.json
- mandatory base config - based on recommended rules.react-redux-typescript-scripts/tslint-react.json
- additional react specific rules - based ontslint-react
.
{
"extends": [
"react-redux-typescript-scripts/tslint.json",
"react-redux-typescript-scripts/tslint-react.json" // optional
],
"rules": {
// you can further customize options here
}
}
WARNING: When using this config you'll need to install the additional dependencies listed below.
npm i -D eslint @typescript-eslint/eslint-plugin eslint-config-prettier
There are a few configs available (you can use one or all by declaring an array in extends
config property):
./node_modules/react-redux-typescript-scripts/eslint.json
- mandatory base config - based on recommended rules../node_modules/react-redux-typescript-scripts/eslint-prettier.json
- disable eslint formatting related rules conflicting with prettier - based oneslint-config-prettier
(WARNING: Should be the last one inextends
array).
{
"extends": [
"./node_modules/react-redux-typescript-scripts/eslint.js",
"./node_modules/react-redux-typescript-scripts/eslint-prettier.js" // optional
],
"rules": {
// you can further customize options here
}
}
To fully integrate @typescript-eslint
with your create-react-app
add the below snippet to your .eslintrc
or package.json
under the eslintConfig
key:
{
"extends": [
"react-app",
"./node_modules/react-redux-typescript-scripts/eslint.js",
"./node_modules/react-redux-typescript-scripts/eslint-prettier.js" // optional
],
}