diff --git a/.eslintrc.json b/.eslintrc.json index 4b5a4bf..7057957 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,29 +1,64 @@ { + // "parser": "@typescript-eslint/parser", + "plugins": [], "env": { "es6": true, - "node": true + "node": true, + // "jest/globals": true }, - "extends": "eslint:recommended", + "extends": [ + "eslint:recommended", + // "plugin:@typescript-eslint/recommended" + ], "globals": { "Atomics": "readonly", "SharedArrayBuffer": "readonly" }, "parserOptions": { "ecmaVersion": 2022, - "sourceType": "module" + "sourceType": "module", + // "project": "./tsconfig.json" }, "rules": { + // "@typescript-eslint/no-unused-vars": "off", + // "@typescript-eslint/no-non-null-assertion": "off", + // "@typescript-eslint/no-misused-promises": ["error", { + // "checksVoidReturn": { + // "arguments": false + // } + // }], + // "@typescript-eslint/no-shadow": "error", + // "@typescript-eslint/no-use-before-define": "error", "accessor-pairs": "warn", "array-callback-return": "warn", - "array-bracket-newline": ["warn", "consistent"], - "array-bracket-spacing": ["warn", "always", { "objectsInArrays": false, "arraysInArrays": false }], + "array-bracket-newline": [ + "warn", + "consistent" + ], + "array-bracket-spacing": [ + "warn", + "always", + { + "objectsInArrays": false, + "arraysInArrays": false + } + ], "arrow-spacing": "warn", "block-scoped-var": "warn", - "block-spacing": ["warn", "always"], - "brace-style": ["warn", "1tbs"], + "block-spacing": [ + "warn", + "always" + ], + "brace-style": [ + "warn", + "allman" + ], "callback-return": "warn", "camelcase": "warn", - "comma-dangle": ["warn", "only-multiline"], + "comma-dangle": [ + "warn", + "only-multiline" + ], "comma-spacing": [ "warn", { @@ -64,30 +99,66 @@ "id-blacklist": "warn", "id-match": "warn", "implicit-arrow-linebreak": "warn", - "indent": "warn", + "indent": [ + "warn", + 4, + { + "SwitchCase": 1 + } + ], "init-declarations": "warn", - "jsx-quotes": ["warn", "prefer-single"], - "key-spacing": ["warn", { "beforeColon": false, "afterColon": true }], - "keyword-spacing": ["warn", { "after": true, "before": true }], + "quotes": [ + "error", + "single" + ], + "jsx-quotes": [ + "warn", + "prefer-single" + ], + "key-spacing": [ + "warn", + { + "beforeColon": false, + "afterColon": true + } + ], + "keyword-spacing": [ + "warn", + { + "after": true, + "before": true + } + ], "linebreak-style": [ "error", - "windows" + "unix" ], "lines-around-comment": "warn", "lines-around-directive": "warn", "max-classes-per-file": "warn", "max-nested-callbacks": "warn", - "max-len": ["warn", { - "code": 140, - "ignoreComments": true, - "ignoreStrings": true, - "ignoreTemplateLiterals": true, - "ignoreRegExpLiterals": true - }], + "max-len": [ + "warn", + { + "code": 140, + "ignoreComments": true, + "ignoreStrings": true, + "ignoreTemplateLiterals": true, + "ignoreRegExpLiterals": true + } + ], + "max-lines-per-function": [ + "warn", + 140 + ], + "max-depth": [ + "warn", + 3 + ], "new-parens": "warn", "no-alert": "warn", "no-array-constructor": "warn", - "no-bitwise": "warn", + // "no-bitwise": "warn", "no-buffer-constructor": "warn", "no-caller": "warn", "no-console": "warn", @@ -102,7 +173,6 @@ "no-extend-native": "warn", "no-extra-bind": "warn", "no-extra-label": "warn", - "no-extra-parens": "warn", "no-floating-decimal": "warn", "no-implicit-coercion": "warn", "no-implicit-globals": "warn", @@ -137,23 +207,25 @@ "no-restricted-modules": "warn", "no-restricted-properties": "warn", "no-restricted-syntax": "warn", - "no-return-assign": "warn", + "no-return-assign": [ + "warn", + "except-parens" + ], "no-return-await": "warn", "no-script-url": "warn", "no-self-compare": "warn", "no-sequences": "warn", "no-setter-return": "warn", "no-spaced-func": "warn", - "no-shadow": "error", "no-tabs": "warn", "no-template-curly-in-string": "error", "no-throw-literal": "warn", + "no-trailing-spaces": "warn", "no-undef-init": "error", "no-undefined": "error", "no-unmodified-loop-condition": "warn", "no-unneeded-ternary": "error", "no-unused-expressions": "warn", - "no-use-before-define": "error", "no-useless-call": "warn", "no-useless-computed-key": "warn", "no-useless-concat": "warn", @@ -161,20 +233,38 @@ "no-useless-rename": "warn", "no-useless-return": "warn", "no-var": "warn", - "no-void": "warn", + // "no-void": "warn", "no-whitespace-before-property": "error", - "nonblock-statement-body-position": ["warn", "below"], + "nonblock-statement-body-position": [ + "warn", + "below" + ], "object-curly-spacing": [ "warn", "always" ], - "object-property-newline": ["warn", { "allowAllPropertiesOnSameLine": true }], + "object-property-newline": [ + "warn", + { + "allowAllPropertiesOnSameLine": true + } + ], "object-shorthand": "warn", "one-var-declaration-per-line": "warn", "operator-assignment": "warn", - "operator-linebreak": ["warn", "before"], - "padding-line-between-statements": "warn", - "padded-blocks": ["warn", { "switches": "never" }, { "allowSingleLineBlocks": true }], + "operator-linebreak": [ + "warn", + "before" + ], + "padded-blocks": [ + "warn", + { + "switches": "never" + }, + { + "allowSingleLineBlocks": true + } + ], "prefer-arrow-callback": "warn", "prefer-const": "warn", "prefer-destructuring": "warn", @@ -195,12 +285,18 @@ "last" ], "space-before-blocks": "warn", - "space-before-function-paren":["error", "always"], + "space-before-function-paren": [ + "error", + "always" + ], "space-in-parens": [ "warn", "never" ], - "spaced-comment": ["warn", "always"], + "spaced-comment": [ + "warn", + "always" + ], "strict": "warn", "switch-colon-spacing": "warn", "symbol-description": "warn", @@ -220,6 +316,16 @@ "yoda": [ "warn", "never" + ], + "no-warning-comments": [ + 1, + { + "terms": [ + "todo", + "fixme" + ], + "location": "anywhere" + } ] } } \ No newline at end of file