2017-11-16 15:54:58 -05:00
|
|
|
module.exports = {
|
|
|
|
"env": {
|
|
|
|
"browser": true,
|
|
|
|
"es6": true
|
|
|
|
},
|
2018-03-30 17:58:56 -04:00
|
|
|
"extends": [
|
|
|
|
"eslint:recommended",
|
|
|
|
"plugin:vue/recommended"
|
|
|
|
],
|
2018-04-01 18:24:08 -04:00
|
|
|
"plugins": [
|
|
|
|
"vue",
|
|
|
|
"react"
|
|
|
|
],
|
2017-11-16 15:54:58 -05:00
|
|
|
"parserOptions": {
|
2018-03-30 17:58:56 -04:00
|
|
|
"parser": "babel-eslint",
|
2017-11-16 15:54:58 -05:00
|
|
|
"ecmaVersion": 8,
|
2018-04-01 18:24:08 -04:00
|
|
|
"sourceType": "module",
|
|
|
|
"ecmaFeatures": {
|
|
|
|
"jsx": true
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"settings": {
|
|
|
|
"react": {
|
|
|
|
"pragma": "createElement"
|
|
|
|
}
|
2017-11-16 15:54:58 -05:00
|
|
|
},
|
|
|
|
"globals": {
|
|
|
|
"import": false,
|
|
|
|
"require": false,
|
2018-07-18 18:58:05 -04:00
|
|
|
"__webpack_hash__": false,
|
2019-06-01 02:11:22 -04:00
|
|
|
"__git_commit__": false,
|
2019-06-20 17:14:03 -04:00
|
|
|
"__version_major__": false,
|
|
|
|
"__version_minor__": false,
|
|
|
|
"__version_patch__": false,
|
|
|
|
"__version_prerelease__": false,
|
2019-06-01 02:11:22 -04:00
|
|
|
"FrankerFaceZ": false
|
2017-11-16 15:54:58 -05:00
|
|
|
},
|
|
|
|
"rules": {
|
2019-09-26 16:38:55 -04:00
|
|
|
"require-atomic-updates": "off",
|
2017-11-16 15:54:58 -05:00
|
|
|
"accessor-pairs": ["error"],
|
|
|
|
"block-scoped-var": ["error"],
|
|
|
|
"class-methods-use-this": ["error"],
|
|
|
|
"for-direction": ["error"],
|
|
|
|
"guard-for-in": ["warn"],
|
|
|
|
"no-alert": ["error"],
|
|
|
|
"no-await-in-loop": ["error"],
|
|
|
|
"no-caller": ["error"],
|
|
|
|
"no-catch-shadow": ["error"],
|
|
|
|
"no-invalid-this": ["error"],
|
|
|
|
"no-iterator": ["error"],
|
|
|
|
"no-labels": ["error"],
|
|
|
|
"no-lone-blocks": ["error"],
|
|
|
|
"no-octal-escape": ["error"],
|
|
|
|
"no-proto": ["warn"],
|
|
|
|
"no-return-await": ["error"],
|
|
|
|
"no-self-compare": ["error"],
|
|
|
|
"no-sequences": ["error"],
|
|
|
|
"no-shadow-restricted-names": ["error"],
|
|
|
|
"no-template-curly-in-string": ["warn"],
|
|
|
|
"no-throw-literal": ["error"],
|
|
|
|
"no-undef-init": ["error"],
|
|
|
|
"no-unmodified-loop-condition": ["error"],
|
|
|
|
"no-use-before-define": ["error", {
|
|
|
|
"functions": false,
|
|
|
|
"classes": false
|
|
|
|
}],
|
|
|
|
"no-useless-call": ["warn"],
|
|
|
|
"no-useless-concat": ["warn"],
|
|
|
|
"no-useless-return": ["warn"],
|
|
|
|
"no-void": ["error"],
|
|
|
|
"no-warning-comments": ["warn"],
|
|
|
|
"no-with": ["error"],
|
|
|
|
"radix": ["error"],
|
|
|
|
"require-await": ["warn"],
|
|
|
|
"valid-jsdoc": ["warn"],
|
|
|
|
"yoda": ["warn"],
|
|
|
|
|
|
|
|
"arrow-body-style": ["warn", "as-needed"],
|
|
|
|
"arrow-parens": ["warn", "as-needed"],
|
|
|
|
"arrow-spacing": ["warn"],
|
|
|
|
"generator-star-spacing": ["warn"],
|
|
|
|
"no-duplicate-imports": ["error"],
|
|
|
|
"no-useless-computed-key": ["error"],
|
|
|
|
"no-useless-constructor": ["error"],
|
|
|
|
"no-useless-rename": ["error"],
|
|
|
|
"no-var": ["error"],
|
2018-03-30 17:58:56 -04:00
|
|
|
"no-cond-assign": ["warn"],
|
2017-11-16 15:54:58 -05:00
|
|
|
"object-shorthand": ["warn"],
|
|
|
|
"prefer-arrow-callback": ["warn", {"allowUnboundThis": true}],
|
|
|
|
"prefer-const": ["warn", {"ignoreReadBeforeAssign": true}],
|
|
|
|
"prefer-rest-params": ["warn"],
|
|
|
|
"prefer-spread": ["error"],
|
|
|
|
"prefer-template": ["warn"],
|
|
|
|
"rest-spread-spacing": ["error", "never"],
|
|
|
|
"yield-star-spacing": ["warn"],
|
|
|
|
|
|
|
|
"indent": [
|
2018-03-30 17:58:56 -04:00
|
|
|
"warn",
|
2017-11-16 15:54:58 -05:00
|
|
|
"tab",
|
|
|
|
{
|
|
|
|
"SwitchCase": 1
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"linebreak-style": [
|
|
|
|
"error",
|
|
|
|
"unix"
|
|
|
|
],
|
|
|
|
"quotes": [
|
|
|
|
"error",
|
|
|
|
"single",
|
|
|
|
{
|
|
|
|
"avoidEscape": true,
|
|
|
|
"allowTemplateLiterals": true
|
|
|
|
}
|
2018-03-30 17:58:56 -04:00
|
|
|
],
|
2018-04-01 18:24:08 -04:00
|
|
|
|
2018-03-30 17:58:56 -04:00
|
|
|
"vue/html-indent": [
|
|
|
|
"warn",
|
|
|
|
"tab"
|
|
|
|
],
|
2019-06-01 13:58:12 -04:00
|
|
|
"vue/valid-template-root": "off",
|
2018-03-30 17:58:56 -04:00
|
|
|
"vue/max-attributes-per-line": "off",
|
|
|
|
"vue/require-prop-types": "off",
|
|
|
|
"vue/require-default-prop": "off",
|
|
|
|
"vue/html-closing-bracket-newline": [
|
|
|
|
"error",
|
|
|
|
{
|
|
|
|
"singleline": "never",
|
|
|
|
"multiline": "always"
|
|
|
|
}
|
2018-04-01 18:24:08 -04:00
|
|
|
],
|
|
|
|
|
|
|
|
"jsx-quotes": ["error", "prefer-double"],
|
|
|
|
"react/jsx-boolean-value": "error",
|
|
|
|
"react/jsx-closing-bracket-location": ["error", "line-aligned"],
|
|
|
|
//"react/jsx-closing-tag-location": "error" -- stupid rule that doesn't allow line-aligned
|
|
|
|
"react/jsx-equals-spacing": "error",
|
|
|
|
"react/jsx-filename-extension": "error",
|
|
|
|
"react/jsx-first-prop-new-line": ["error", "multiline-multiprop"],
|
|
|
|
"react/jsx-indent": ["warn", "tab"],
|
|
|
|
"react/jsx-indent-props": ["warn", "tab"],
|
2019-11-14 19:52:35 -05:00
|
|
|
//"react/jsx-key": "warn",
|
2018-04-01 18:24:08 -04:00
|
|
|
"react/jsx-no-bind": "error",
|
|
|
|
"react/jsx-no-comment-textnodes": "error",
|
|
|
|
"react/jsx-no-duplicate-props": "error",
|
|
|
|
"react/jsx-no-target-blank": "error",
|
|
|
|
"react/jsx-sort-props": ["error", {
|
|
|
|
"callbacksLast": true,
|
|
|
|
"reservedFirst": true,
|
|
|
|
"noSortAlphabetically": true
|
|
|
|
}],
|
|
|
|
"react/jsx-tag-spacing": ["error", {
|
|
|
|
"beforeClosing": "never"
|
|
|
|
}],
|
|
|
|
"react/jsx-uses-react": "error",
|
|
|
|
"react/jsx-wrap-multilines": "error"
|
2017-11-16 15:54:58 -05:00
|
|
|
}
|
|
|
|
};
|