You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.7 KiB
91 lines
2.7 KiB
module.exports = { |
|
parser: "@babel/eslint-parser", |
|
env: { |
|
node: true, |
|
es6: true, |
|
browser: true |
|
}, |
|
parserOptions: { |
|
ecmaVersion: 2020, |
|
sourceType: "module", |
|
requireConfigFile: false, |
|
ecmaFeatures: { |
|
jsx: true, |
|
modules: true, |
|
experimentalObjectRestSpread: true |
|
}, |
|
babelOptions: { |
|
presets: ["@babel/preset-react"] |
|
} |
|
}, |
|
rules: { |
|
"no-console": "off", |
|
"no-debugger": process.env.NODE_ENV === "production" ? "error" : "off", |
|
|
|
// Best Practices |
|
eqeqeq: "error", |
|
"no-invalid-this": "error", |
|
"no-return-assign": "error", |
|
"no-unused-expressions": ["error", { allowTernary: true }], |
|
"no-useless-concat": "error", |
|
"no-useless-return": "error", |
|
|
|
// Variable |
|
// 'init-declarations': 'error', |
|
"no-use-before-define": "error", |
|
|
|
"no-unused-vars": ["error", { varsIgnorePattern: "^[A-Z]" }], |
|
|
|
// Stylistic Issues |
|
"array-bracket-newline": ["error", { multiline: true, minItems: null }], |
|
"array-bracket-spacing": "error", |
|
"brace-style": ["error", "1tbs", { allowSingleLine: true }], |
|
"block-spacing": "error", |
|
"comma-dangle": "error", |
|
"comma-spacing": "error", |
|
"comma-style": "error", |
|
"computed-property-spacing": "error", |
|
"func-call-spacing": "error", |
|
"implicit-arrow-linebreak": ["error", "beside"], |
|
// indent: ['error', 4], |
|
"keyword-spacing": "error", |
|
"multiline-ternary": ["error", "never"], |
|
// 'no-lonely-if': 'error', |
|
"no-mixed-operators": "error", |
|
"no-multiple-empty-lines": ["error", { max: 2, maxEOF: 1 }], |
|
"no-tabs": "error", |
|
"no-unneeded-ternary": "error", |
|
"no-whitespace-before-property": "error", |
|
"nonblock-statement-body-position": "error", |
|
"object-property-newline": [ |
|
"error", |
|
{ allowAllPropertiesOnSameLine: true } |
|
], |
|
"quote-props": ["error", "as-needed"], |
|
// quotes: ['error', 'prefer-single'], |
|
semi: ["error", "never"], |
|
"semi-spacing": "error", |
|
"space-before-blocks": "error", |
|
// 'space-before-function-paren': 'error', |
|
"space-in-parens": "error", |
|
"space-infix-ops": 0, |
|
"space-unary-ops": "error", |
|
|
|
// ES6 |
|
"arrow-spacing": "error", |
|
"no-confusing-arrow": "error", |
|
"no-duplicate-imports": "error", |
|
"no-var": "error", |
|
"object-shorthand": "error", |
|
"prefer-const": "error", |
|
"prefer-template": "error" |
|
} |
|
|
|
// rules: { |
|
// 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', |
|
// 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', |
|
// semi: ['error', 'never'], |
|
// 'max-len': 'off', |
|
// camelcase: ['error', { properties: 'never', ignoreDestructuring: true, ignoreImports: true }] |
|
// } |
|
}
|
|
|