@unfoldingword/eslint-config
Version:
ESLint and Prettier Config For UnfoldingWord
83 lines (82 loc) • 2.6 kB
JavaScript
module.exports = {
"extends": [
"eslint:recommended",
"plugin:import/errors",
"plugin:import/warnings",
"prettier"
],
"parser": "babel-eslint",
"parserOptions": {
"ecmaVersion": 2018,
"ecmaFeatures": {
"impliedStrict": true,
"classes": true
}
},
"env": {
"browser": true,
"node": true,
"es6": true,
"jest": true
},
"plugins": [
"jest",
"prettier",
"import",
],
"rules": {
"array-callback-return": "error",
"no-await-in-loop": "error",
"object-curly-newline": ["error", {"multiline": true, "minProperties": 3}],
"brace-style": ["error", "1tbs", {"allowSingleLine": false}],
"no-return-await": "error",
"quote-props": ["error", "consistent"],
"require-await": "error",
"no-async-promise-executor": "error",
"no-throw-literal": "warn",
"no-nested-ternary": "error",
"no-duplicate-imports": ["error", {"includeExports": false}],
"import/order": "error",
"import/first": "error",
"import/default": "off",
"import/namespace": "off",
"indent": ["error", 2],
"no-undef": "error",
"no-unused-vars": "error",
"no-debugger": "warn",
"curly": "error",
"semi": ["error", "always", {"omitLastInOneLineBlock": true}],
"semi-style": ["error", "last"],
"no-console": "off",
"no-prototype-builtins": "off",
"object-curly-spacing": ["error", "always"],
"quotes": ["error", "single", {"allowTemplateLiterals": true}],
"comma-dangle": ["error", "always-multiline"],
"keyword-spacing": "error",
"no-multi-spaces": "error",
"no-trailing-spaces": "error",
"arrow-body-style": ["error", "as-needed"],
"space-before-function-paren": ["error", {"anonymous": "always", "named": "never", "asyncArrow": "always"}],
"no-return-assign": "error",
"padding-line-between-statements": [
"error",
{"blankLine": "always", "prev": "*", "next": ["function", "if", "for", "while", "switch", "try",]},
{"blankLine": "always", "prev": ["const", "let", "var"], "next": ["block", "block-like", "multiline-expression"]},
{"blankLine": "always", "prev": ["block", "block-like", "multiline-expression"], "next": ["const", "let", "var"]}
],
"padded-blocks": ["error", "never"],
"no-unused-expressions": "error",
"func-names": "off",
"no-underscore-dangle": "off",
"consistent-return": "off",
"radix": "off",
"guard-for-in": "off",
},
"settings": {
"import/resolver": {
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx"]
}
}
}
}