Linting Settings

React Typesciprt Setup

Create React App, Using Typescript

JS linting

Pacagage needed for JS linting

npm install eslint prettier eslint-config-prettier eslint-plugin-prettier eslint-config-airbnb eslint-plugin-import babel-eslint eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-jest -D

.eslintrc file

{
  "parser": "babel-eslint",
  "env": {
    "browser": true,
    "jest/globals": true
  },
  "extends": ["airbnb", "plugin:prettier/recommended"],
  "rules": {
    "strict": 0
  },
  "plugins": ["jest"]
}

.env file

SKIP_PREFLIGHT_CHECK=true

package.json

"scripts": {
"lint-js": "eslint 'src/\*_/_.{js,jsx}'",
},
"lint-staged": {
"\*.{js,jsx}": ["eslint"]
}

TS linting

Pacagage needed for TS linting

npm install tslint prettier tslint-config-prettier tslint-plugin-prettier tslint-react -D

.prettierrc file

{
  "printWidth": 100,
  "singleQuote": true,
  "trailingComma": "es5"
}

tslint.json

{
  "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"],
  "rulesDirectory": ["tslint-plugin-prettier"],
  "rules": {
    "prettier": true,
    "interface-name": false
  }
}

package.json file

"scripts": {
"lint-ts": "tslint -c tslint.json 'src/\*_/_.{ts,tsx}'"
}