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.
92 lines
2.7 KiB
92 lines
2.7 KiB
7 months ago
|
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 }]
|
||
|
// }
|
||
|
}
|