mirror of
https://github.com/floccusaddon/floccus
synced 2025-04-29 16:37:23 +08:00
231 lines
7.3 KiB
JSON
231 lines
7.3 KiB
JSON
{
|
|
"env": {
|
|
"browser": true,
|
|
"commonjs": true,
|
|
"es6": true,
|
|
"node": true,
|
|
"mocha": true
|
|
},
|
|
"parserOptions": {
|
|
"parser": "@typescript-eslint/parser",
|
|
"ecmaVersion": 6
|
|
},
|
|
"root": true,
|
|
"extends": [
|
|
"eslint:recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
"plugin:import/errors",
|
|
"plugin:import/warnings",
|
|
"plugin:vue/recommended",
|
|
"plugin:mocha/recommended"
|
|
],
|
|
"settings": {
|
|
"import/resolver": {
|
|
"node": {
|
|
"paths": ["src"],
|
|
"extensions": [".js", ".vue", ".ts"]
|
|
}
|
|
}
|
|
},
|
|
"plugins": ["vue", "node", "mocha", "@typescript-eslint"],
|
|
"rules": {
|
|
"arrow-spacing": ["error", { "before": true, "after": true }],
|
|
"block-spacing": ["error", "always"],
|
|
"brace-style": ["error", "1tbs", { "allowSingleLine": true }],
|
|
"eqeqeq": ["error", "always", { "null": "ignore" }],
|
|
"func-call-spacing": ["error", "never"],
|
|
"indent": [
|
|
"error",
|
|
2,
|
|
{
|
|
"SwitchCase": 1,
|
|
"VariableDeclarator": 1,
|
|
"outerIIFEBody": 1,
|
|
"MemberExpression": 1,
|
|
"FunctionDeclaration": { "parameters": 1, "body": 1 },
|
|
"FunctionExpression": { "parameters": 1, "body": 1 },
|
|
"CallExpression": { "arguments": 1 },
|
|
"ArrayExpression": 1,
|
|
"ObjectExpression": 1,
|
|
"ImportDeclaration": 1,
|
|
"flatTernaryExpressions": false,
|
|
"ignoreComments": false
|
|
}
|
|
],
|
|
"key-spacing": ["error", { "beforeColon": false, "afterColon": true }],
|
|
"keyword-spacing": ["error", { "before": true, "after": true }],
|
|
"no-array-constructor": "error",
|
|
"no-caller": "error",
|
|
"no-class-assign": "error",
|
|
"no-compare-neg-zero": "error",
|
|
"no-cond-assign": "error",
|
|
"no-const-assign": "error",
|
|
"no-constant-condition": ["error", { "checkLoops": false }],
|
|
"no-control-regex": "error",
|
|
"no-debugger": "error",
|
|
"no-dupe-args": "error",
|
|
"no-dupe-class-members": "error",
|
|
"no-dupe-keys": "error",
|
|
"no-duplicate-case": "error",
|
|
"no-empty-character-class": "error",
|
|
"no-empty-pattern": "error",
|
|
"no-eval": "error",
|
|
"no-ex-assign": "error",
|
|
"no-extend-native": "error",
|
|
"no-extra-bind": "error",
|
|
"no-extra-boolean-cast": "error",
|
|
"no-extra-parens": ["error", "functions"],
|
|
"no-fallthrough": "error",
|
|
"no-floating-decimal": "error",
|
|
"no-func-assign": "error",
|
|
"no-global-assign": "error",
|
|
"no-implied-eval": "error",
|
|
"no-inner-declarations": ["error", "functions"],
|
|
"no-invalid-regexp": "error",
|
|
"no-irregular-whitespace": "error",
|
|
"no-iterator": "error",
|
|
"no-label-var": "error",
|
|
"no-labels": ["error", { "allowLoop": false, "allowSwitch": false }],
|
|
"no-lone-blocks": "error",
|
|
"no-mixed-operators": [
|
|
"error",
|
|
{
|
|
"groups": [
|
|
["==", "!=", "===", "!==", ">", ">=", "<", "<="],
|
|
["&&", "||"],
|
|
["in", "instanceof"]
|
|
],
|
|
"allowSamePrecedence": true
|
|
}
|
|
],
|
|
"no-mixed-spaces-and-tabs": "error",
|
|
"no-multi-spaces": "error",
|
|
"no-multi-str": "error",
|
|
"no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 0 }],
|
|
"no-negated-in-lhs": "error",
|
|
"no-new": "error",
|
|
"no-new-func": "error",
|
|
"no-new-object": "error",
|
|
"no-new-require": "error",
|
|
"no-new-symbol": "error",
|
|
"no-new-wrappers": "error",
|
|
"no-obj-calls": "error",
|
|
"no-octal": "error",
|
|
"no-octal-escape": "error",
|
|
"no-path-concat": "error",
|
|
"no-proto": "error",
|
|
"no-redeclare": "error",
|
|
"no-regex-spaces": "error",
|
|
"no-return-assign": ["error", "except-parens"],
|
|
"no-return-await": "error",
|
|
"no-self-assign": "error",
|
|
"no-self-compare": "error",
|
|
"no-sequences": "error",
|
|
"no-shadow-restricted-names": "error",
|
|
"no-sparse-arrays": "error",
|
|
"no-tabs": "error",
|
|
"no-template-curly-in-string": "error",
|
|
"no-this-before-super": "error",
|
|
"no-throw-literal": "error",
|
|
"no-trailing-spaces": "error",
|
|
"no-undef": "error",
|
|
"no-undef-init": "error",
|
|
"no-unexpected-multiline": "error",
|
|
"no-unmodified-loop-condition": "error",
|
|
"no-unneeded-ternary": ["error", { "defaultAssignment": false }],
|
|
"no-unreachable": "error",
|
|
"no-unsafe-finally": "error",
|
|
"no-unsafe-negation": "error",
|
|
"no-unused-expressions": [
|
|
"error",
|
|
{
|
|
"allowShortCircuit": true,
|
|
"allowTernary": true,
|
|
"allowTaggedTemplates": true
|
|
}
|
|
],
|
|
"no-unused-vars": [
|
|
"error",
|
|
{ "vars": "all", "args": "none", "ignoreRestSiblings": true }
|
|
],
|
|
"no-use-before-define": [
|
|
"warn",
|
|
{ "functions": false, "classes": false, "variables": false }
|
|
],
|
|
"no-useless-call": "error",
|
|
"no-useless-computed-key": "error",
|
|
"no-useless-constructor": "error",
|
|
"no-useless-escape": "error",
|
|
"no-useless-rename": "error",
|
|
"no-useless-return": "error",
|
|
"no-whitespace-before-property": "error",
|
|
"no-with": "error",
|
|
"object-property-newline": [
|
|
"error",
|
|
{ "allowMultiplePropertiesPerLine": true }
|
|
],
|
|
"operator-linebreak": [
|
|
"error",
|
|
"after",
|
|
{ "overrides": { "?": "before", ":": "before" } }
|
|
],
|
|
"padded-blocks": [
|
|
"error",
|
|
{ "blocks": "never", "switches": "never", "classes": "never" }
|
|
],
|
|
"prefer-promise-reject-errors": "error",
|
|
"quotes": [
|
|
"error",
|
|
"single",
|
|
{ "avoidEscape": true, "allowTemplateLiterals": true }
|
|
],
|
|
"rest-spread-spacing": ["error", "never"],
|
|
"semi": ["error", "never"],
|
|
"semi-spacing": ["error", { "before": false, "after": true }],
|
|
"space-before-blocks": ["error", "always"],
|
|
"space-before-function-paren": ["error", "never"],
|
|
"space-in-parens": ["error", "never"],
|
|
"space-infix-ops": "error",
|
|
"space-unary-ops": ["error", { "words": true, "nonwords": false }],
|
|
"spaced-comment": [
|
|
"error",
|
|
"always",
|
|
{
|
|
"line": { "markers": ["*package", "!", "/", ",", "="] },
|
|
"block": {
|
|
"balanced": true,
|
|
"markers": ["*package", "!", ",", ":", "::", "flow-include"],
|
|
"exceptions": ["*"]
|
|
}
|
|
}
|
|
],
|
|
"symbol-description": "error",
|
|
"template-curly-spacing": ["error", "never"],
|
|
"template-tag-spacing": ["error", "never"],
|
|
"unicode-bom": ["error", "never"],
|
|
"use-isnan": "error",
|
|
"valid-typeof": ["error", { "requireStringLiterals": true }],
|
|
"wrap-iife": ["error", "any", { "functionPrototypeMethods": true }],
|
|
"yield-star-spacing": ["error", "both"],
|
|
"yoda": ["error", "never"],
|
|
// PascalCase components names for vuejs
|
|
// https://vuejs.org/v2/style-guide/#Single-file-component-filename-casing-strongly-recommended
|
|
"vue/component-name-in-template-casing": ["error", "PascalCase"],
|
|
// force name
|
|
"vue/match-component-file-name": ["error", {
|
|
"extensions": ["jsx", "vue", "js"],
|
|
"shouldMatchCase": true
|
|
}],
|
|
// space before self-closing elements
|
|
"vue/html-closing-bracket-spacing": "error",
|
|
// no ending html tag on a new line
|
|
"vue/html-closing-bracket-newline": ["error", { "multiline": "never" }],
|
|
// expect.js...
|
|
"no-unused-expressions": ["off"],
|
|
"mocha/no-setup-in-describe": ["off"],
|
|
"mocha/no-skipped-tests": ["off"],
|
|
"vue/multi-word-component-names": ["off"],
|
|
"vue/no-mutating-props": ["off"]
|
|
}
|
|
}
|