cra-template-ts-prettier-eslint-airbnb
Version:
Template for Create React App supporting TypeScript with Prettier and ESlint config recommended by Airbnb.
69 lines (68 loc) • 1.56 kB
JSON
{
"extends": [
"airbnb",
"airbnb-typescript",
"airbnb/hooks",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"prettier"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 2018,
"project": "./tsconfig.json",
"sourceType": "module"
},
"plugins": [
"eslint-plugin-import-helpers"
],
"rules": {
"@typescript-eslint/no-empty-interface": ["error", {
"allowSingleExtends": true
}
],
"@typescript-eslint/no-explicit-any": "off",
"comma-dangle": "off",
"import-helpers/order-imports": ["error", {
"alphabetize": {
"ignoreCase": true,
"order": "asc"
},
"groups": [
"/^react/",
"module",
["parent", "sibling", "index"]
],
"newlinesBetween": "always"
}],
"no-multiple-empty-lines": ["error", {
"max": 1
}],
"react/destructuring-assignment": ["warn", "always", {
"ignoreClassFields": true
}],
"react/jsx-max-props-per-line": ["error", {
"maximum": 3
}],
"react/jsx-props-no-spreading": ["error", {
"custom": "ignore"
}],
"react/jsx-sort-props": ["error", {
"ignoreCase": true
}],
"react/prop-types": "off",
"react/react-in-jsx-scope": "off",
"sort-imports": ["error", {
"ignoreCase": true,
"ignoreDeclarationSort": true
}]
},
"settings": {
"react": {
"version": "detect"
}
}
}