cra-template-ts-craco-lint
Version:
Template for Create React App supporting TypeScript and SASS/SCSS files. Included with Prettier and ESlint config recommended by Airbnb. Axios, Craco, scoped scss, aliasing, redux-toolkit
78 lines (77 loc) • 1.93 kB
JSON
{
"extends": [
"airbnb-typescript",
"airbnb/hooks",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"prettier/react",
"prettier/@typescript-eslint"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 2018,
"project": "tsconfig.json",
"sourceType": "module"
},
"plugins": [
"eslint-plugin-import-helpers"
],
"rules": {
"linebreak-style":"off",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-empty-interface": ["error", {
"allowSingleExtends": true
}
],
"@typescript-eslint/no-explicit-any": "off",
"comma-dangle": "off",
"global-require": "off",
"import-helpers/order-imports": ["error", {
"alphabetize": {
"ignoreCase": true,
"order": "asc"
},
"groups": [
"/^react/",
"module",
["parent", "sibling", "index"]
],
"newlinesBetween": "always"
}],
"max-len": ["error", {
"code": 130
}],
"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/jsx-uses-react": "off",
"react/prop-types": "off",
"react/react-in-jsx-scope": "off",
"react/state-in-constructor": ["error", "never"],
"semi": "error",
"sort-imports": ["error", {
"ignoreCase": true,
"ignoreDeclarationSort": true
}]
},
"settings": {
"react": {
"version": "detect"
}
}
}