2023-07-03 14:54:19 +08:00
|
|
|
{
|
|
|
|
"env": {
|
|
|
|
"node": true,
|
|
|
|
"browser": true,
|
|
|
|
"es2021": true
|
|
|
|
},
|
|
|
|
"extends": [
|
|
|
|
// "eslint:recommended",
|
|
|
|
"prettier"
|
|
|
|
],
|
|
|
|
"parserOptions": {
|
2023-07-12 03:44:30 +08:00
|
|
|
"sourceType": "module",
|
|
|
|
"ecmaVersion": 2022
|
2023-07-03 14:54:19 +08:00
|
|
|
},
|
|
|
|
"rules": {
|
|
|
|
// Possible Errors (overrides from recommended set)
|
|
|
|
|
|
|
|
// "no-extra-parens": "error",
|
|
|
|
// "no-unexpected-multiline": "error",
|
|
|
|
|
|
|
|
// All JSDoc comments must be valid
|
|
|
|
|
|
|
|
// "valid-jsdoc": [ "error", {
|
|
|
|
// "requireReturn": false,
|
|
|
|
// "requireReturnDescription": false,
|
|
|
|
// "requireParamDescription": true,
|
|
|
|
// "prefer": {
|
|
|
|
// "return": "returns"
|
|
|
|
// }
|
|
|
|
// }],
|
|
|
|
|
|
|
|
// Best Practices
|
|
|
|
|
|
|
|
// Allowed a getter without setter, but all setters require getters
|
|
|
|
|
|
|
|
// "accessor-pairs": [ "error", {
|
|
|
|
// "getWithoutSet": false,
|
|
|
|
// "setWithoutGet": true
|
|
|
|
// }],
|
|
|
|
// "block-scoped-var": "warn",
|
|
|
|
// "consistent-return": "error",
|
|
|
|
// "curly": "error",
|
|
|
|
// "default-case": "warn",
|
|
|
|
|
|
|
|
// the dot goes with the property when doing multiline
|
|
|
|
|
|
|
|
// "dot-location": [ "warn", "property" ],
|
|
|
|
// "dot-notation": "warn",
|
|
|
|
// "eqeqeq": [ "error", "smart" ],
|
|
|
|
// "guard-for-in": "warn",
|
|
|
|
// "no-alert": "error",
|
|
|
|
// "no-caller": "error",
|
|
|
|
// "no-case-declarations": "warn",
|
|
|
|
// "no-div-regex": "warn",
|
|
|
|
// "no-else-return": "warn",
|
|
|
|
// "no-empty-label": "warn",
|
|
|
|
// "no-empty-pattern": "warn",
|
|
|
|
// "no-eq-null": "warn",
|
|
|
|
// "no-eval": "error",
|
|
|
|
// "no-extend-native": "error",
|
|
|
|
// "no-extra-bind": "warn",
|
|
|
|
// "no-floating-decimal": "warn",
|
|
|
|
// "no-implicit-coercion": [ "warn", {
|
|
|
|
// "boolean": true,
|
|
|
|
// "number": true,
|
|
|
|
// "string": true
|
|
|
|
// }],
|
|
|
|
// "no-implied-eval": "error",
|
|
|
|
// "no-invalid-this": "error",
|
|
|
|
// "no-iterator": "error",
|
|
|
|
// "no-labels": "warn",
|
|
|
|
// "no-lone-blocks": "warn",
|
|
|
|
// "no-loop-func": "error",
|
|
|
|
// "no-magic-numbers": "warn",
|
|
|
|
// "no-multi-spaces": "error",
|
|
|
|
// "no-multi-str": "warn",
|
|
|
|
// "no-native-reassign": "error",
|
|
|
|
// "no-new-func": "error",
|
|
|
|
// "no-new-wrappers": "error",
|
|
|
|
// "no-new": "error",
|
|
|
|
// "no-octal-escape": "error",
|
|
|
|
// "no-param-reassign": "error",
|
|
|
|
// "no-process-env": "warn",
|
|
|
|
// "no-proto": "error",
|
|
|
|
// "no-redeclare": "error",
|
|
|
|
// "no-return-assign": "error",
|
|
|
|
// "no-script-url": "error",
|
|
|
|
// "no-self-compare": "error",
|
|
|
|
// "no-throw-literal": "error",
|
|
|
|
// "no-unused-expressions": "error",
|
|
|
|
// "no-useless-call": "error",
|
|
|
|
// "no-useless-concat": "error",
|
|
|
|
// "no-void": "warn",
|
|
|
|
|
|
|
|
// Produce warnings when something is commented as TODO or FIXME
|
|
|
|
|
|
|
|
// "no-warning-comments": [ "warn", {
|
|
|
|
// "terms": [ "TODO", "FIXME" ],
|
|
|
|
// "location": "start"
|
|
|
|
// }],
|
|
|
|
// "no-with": "warn",
|
|
|
|
// "radix": "warn",
|
|
|
|
// "vars-on-top": "error",
|
|
|
|
|
|
|
|
// Enforces the style of wrapped functions
|
|
|
|
// "wrap-iife": [ "error", "outside" ],
|
|
|
|
// "yoda": "error",
|
|
|
|
|
|
|
|
// Strict Mode - for ES6, never use strict.
|
|
|
|
// "strict": [ "error", "never" ],
|
|
|
|
|
|
|
|
// Variables
|
|
|
|
|
|
|
|
// "init-declarations": [ "error", "always" ],
|
|
|
|
// "no-catch-shadow": "warn",
|
|
|
|
// "no-delete-var": "error",
|
|
|
|
// "no-label-var": "error",
|
|
|
|
// "no-shadow-restricted-names": "error",
|
|
|
|
// "no-shadow": "warn",
|
|
|
|
|
|
|
|
// We require all vars to be initialized (see init-declarations)
|
|
|
|
// If we NEED a var to be initialized to undefined, it needs to be explicit
|
|
|
|
|
|
|
|
"no-undef-init": "off",
|
|
|
|
"no-undef": "error",
|
|
|
|
"no-undefined": "off",
|
|
|
|
"no-unused-vars": "warn",
|
|
|
|
|
|
|
|
// Disallow hoisting - let & const don't allow hoisting anyhow
|
|
|
|
|
|
|
|
// "no-use-before-define": "error",
|
|
|
|
|
|
|
|
// Node.js and CommonJS
|
|
|
|
|
|
|
|
// "callback-return": [ "warn", [ "callback", "next" ]],
|
|
|
|
// "global-require": "error",
|
|
|
|
// "handle-callback-err": "warn",
|
|
|
|
// "no-mixed-requires": "warn",
|
|
|
|
// "no-new-require": "error",
|
|
|
|
|
|
|
|
// Use path.concat instead
|
|
|
|
|
|
|
|
// "no-path-concat": "error",
|
|
|
|
// "no-process-exit": "error",
|
|
|
|
// "no-restricted-modules": "off",
|
|
|
|
// "no-sync": "warn",
|
|
|
|
|
|
|
|
// ECMAScript 6 support
|
|
|
|
|
|
|
|
// "arrow-body-style": [ "error", "always" ],
|
|
|
|
// "arrow-parens": [ "error", "always" ],
|
|
|
|
// "arrow-spacing": [ "error", { "before": true, "after": true }],
|
|
|
|
// "constructor-super": "error",
|
|
|
|
// "generator-star-spacing": [ "error", "before" ],
|
|
|
|
// "no-arrow-condition": "error",
|
|
|
|
// "no-class-assign": "error",
|
|
|
|
// "no-const-assign": "error",
|
|
|
|
// "no-dupe-class-members": "error",
|
|
|
|
// "no-this-before-super": "error",
|
|
|
|
// "no-var": "warn",
|
|
|
|
"object-shorthand": [ "warn" ]
|
|
|
|
// "prefer-arrow-callback": "warn",
|
|
|
|
// "prefer-spread": "warn",
|
|
|
|
// "prefer-template": "warn",
|
|
|
|
// "require-yield": "error",
|
|
|
|
|
|
|
|
// Stylistic - everything here is a warning because of style.
|
|
|
|
|
|
|
|
// "array-bracket-spacing": [ "warn", "always" ],
|
|
|
|
// "block-spacing": [ "warn", "always" ],
|
|
|
|
// "brace-style": [ "warn", "1tbs", { "allowSingleLine": false } ],
|
|
|
|
// "camelcase": "warn",
|
|
|
|
// "comma-spacing": [ "warn", { "before": false, "after": true } ],
|
|
|
|
// "comma-style": [ "warn", "last" ],
|
|
|
|
// "computed-property-spacing": [ "warn", "never" ],
|
|
|
|
// "consistent-this": [ "warn", "self" ],
|
|
|
|
// "eol-last": "warn",
|
|
|
|
// "func-names": "warn",
|
|
|
|
// "func-style": [ "warn", "declaration" ],
|
|
|
|
// "id-length": [ "warn", { "min": 2, "max": 32 } ],
|
|
|
|
// "indent": [ "warn", 4 ],
|
|
|
|
// "jsx-quotes": [ "warn", "prefer-double" ],
|
|
|
|
// "linebreak-style": [ "warn", "unix" ],
|
|
|
|
// "lines-around-comment": [ "warn", { "beforeBlockComment": true } ],
|
|
|
|
// "max-depth": [ "warn", 8 ],
|
|
|
|
// "max-len": [ "warn", 132 ],
|
|
|
|
// "max-nested-callbacks": [ "warn", 8 ],
|
|
|
|
// "max-params": [ "warn", 8 ],
|
|
|
|
// "new-cap": "warn",
|
|
|
|
// "new-parens": "warn",
|
|
|
|
// "no-array-constructor": "warn",
|
|
|
|
// "no-bitwise": "off",
|
|
|
|
// "no-continue": "off",
|
|
|
|
// "no-inline-comments": "off",
|
|
|
|
// "no-lonely-if": "warn",
|
|
|
|
// "no-mixed-spaces-and-tabs": "warn",
|
|
|
|
// "no-multiple-empty-lines": "warn",
|
|
|
|
// "no-negated-condition": "off",
|
|
|
|
// "no-nested-ternary": "warn",
|
|
|
|
// "no-new-object": "warn",
|
|
|
|
// "no-plusplus": "off",
|
|
|
|
// "no-spaced-func": "warn",
|
|
|
|
// "no-ternary": "off",
|
|
|
|
// "no-trailing-spaces": "warn",
|
|
|
|
// "no-underscore-dangle": "warn",
|
|
|
|
// "no-unneeded-ternary": "warn",
|
|
|
|
// "object-curly-spacing": [ "warn", "always" ],
|
|
|
|
// "one-var": "off",
|
|
|
|
// "operator-assignment": [ "warn", "never" ],
|
|
|
|
// "operator-linebreak": [ "warn", "after" ],
|
|
|
|
// "padded-blocks": [ "warn", "never" ],
|
|
|
|
// "quote-props": [ "warn", "consistent-as-needed" ],
|
|
|
|
// "quotes": [ "warn", "single" ],
|
|
|
|
// "require-jsdoc": [ "warn", {
|
|
|
|
// "require": {
|
|
|
|
// "FunctionDeclaration": true,
|
|
|
|
// "MethodDefinition": true,
|
|
|
|
// "ClassDeclaration": false
|
|
|
|
// }
|
|
|
|
// }],
|
|
|
|
// "semi-spacing": [ "warn", { "before": false, "after": true }],
|
|
|
|
// "semi": [ "error", "always" ],
|
|
|
|
// "sort-vars": "off",
|
|
|
|
// "space-after-keywords": [ "warn", "always" ],
|
|
|
|
// "space-before-blocks": [ "warn", "always" ],
|
|
|
|
// "space-before-function-paren": [ "warn", "never" ],
|
|
|
|
// "space-before-keywords": [ "warn", "always" ],
|
|
|
|
// "space-in-parens": [ "warn", "never" ],
|
|
|
|
// "space-infix-ops": [ "warn", { "int32Hint": true } ],
|
|
|
|
// "space-return-throw-case": "error",
|
|
|
|
// "space-unary-ops": "error",
|
|
|
|
// "spaced-comment": [ "warn", "always" ],
|
|
|
|
// "wrap-regex": "warn"
|
|
|
|
}
|
|
|
|
}
|