@amcef/eslint-config-react
Version:
AMCEF ESLint config for React apps (v17+)
75 lines (74 loc) • 1.75 kB
JSON
{
"env": {
"browser": true,
"es6": true
},
"extends": [
"plugin:react/recommended",
"plugin:prettier/recommended",
"plugin:import/errors",
"plugin:import/warnings",
"plugin:import/typescript"
],
"globals": {
"Atomics": "readonly",
"SharedArrayBuffer": "readonly"
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": {
"jsx": true
},
"ecmaVersion": 2018,
"sourceType": "module"
},
"plugins": [
"react",
"prettier"
],
"rules": {
"prettier/prettier": [
"error",
{
"singleQuote": true,
"printWidth": 100,
"quoteProps": "consistent"
}
],
"import/order": [
"error",
{
"groups": [
["builtin", "external"],
"internal",
["index", "sibling", "parent", "object"]
],
"pathGroupsExcludedImportTypes": ["builtin"],
"pathGroups": [{
"pattern": "@**/**",
"group": "external",
"position": "after"
}],
"newlines-between": "always-and-inside-groups",
"alphabetize": {
"order": "asc",
"caseInsensitive": true
}
}
],
"no-var": "error",
"prefer-const": "error",
"camelcase": "error",
"quotes": ["error", "single"],
"jsx-quotes": ["error", "prefer-double"],
"prefer-template": "error",
"prefer-arrow-callback": "error",
"no-useless-rename": "error",
"no-duplicate-imports": "error",
"indent": ["error", 2],
"require-jsdoc": 0,
"object-curly-spacing": ["error", "always"],
"object-property-newline": "error",
"newline-per-chained-call": ["error", { "ignoreChainWithDepth": 2 }]
}
}