X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=.eslintrc;h=4773a806ae1c15dbd0c4eaac2400a4b71d6b2bc5;hb=08f130a055123f5e47c59e1a64875f8cff44d020;hp=2b56d85c5e7ae7f34d55f9e10d8dcc0fc386b1fd;hpb=d1c056a195a23d1aa6c9aa122f0c892c3db5c672;p=e-mobility-charging-stations-simulator.git diff --git a/.eslintrc b/.eslintrc index 2b56d85c..4773a806 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,88 +1,41 @@ { "root": true, - "parser": "@typescript-eslint/parser", + "env": { + "es2020": true, + "node": true, + "mocha": true + }, "parserOptions": { - "project": "./tsconfig.json" + "ecmaVersion": 2020, + "sourceType": "module" }, "extends": [ "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", "plugin:import/errors", "plugin:import/warnings", - "plugin:import/typescript", - "plugin:jsdoc/recommended" - ], - "plugins": [ - "import", - "jsdoc", - "@typescript-eslint" + "plugin:jsdoc/recommended", + "plugin:prettier/recommended" ], + "plugins": ["import", "jsdoc"], "settings": { "jsdoc": { "mode": "typescript" } }, "rules": { - "indent": "off", - "@typescript-eslint/indent": [ - "error", - 2, - { - "SwitchCase": 1, - "FunctionDeclaration": { - "parameters": 2 - }, - "FunctionExpression": { - "parameters": 2 - } - } - ], - "@typescript-eslint/array-type": "off", - "semi": "off", - "@typescript-eslint/semi": [ - "error", - "always" - ], - "space-before-blocks": [ - "error", - "always" - ], - "@typescript-eslint/no-empty-function": [ - "warn", - { - "allow": [ - "arrowFunctions", - "methods" - ] - } - ], - "@typescript-eslint/member-ordering": "error", - "@typescript-eslint/await-thenable": "error", - "@typescript-eslint/no-floating-promises": "error", - "@typescript-eslint/promise-function-async": "error", - "@typescript-eslint/no-misused-promises": "error", - "curly": "error", + "space-before-blocks": ["error", "always"], + "curly": ["error", "all"], "brace-style": "error", - "eqeqeq": [ - "error", - "always" - ], + "eqeqeq": ["error", "always"], "no-else-return": "error", "no-eq-null": "error", - "no-undefined": "error", "no-extra-bind": "error", "no-lone-blocks": "error", "no-multi-spaces": "error", "no-empty": "error", - "no-return-assign": [ - "error", - "always" - ], + "no-return-assign": ["error", "always"], "no-useless-catch": "error", "no-useless-return": "error", - "no-shadow": "off", // This one is generating false positive no-shadow errors on exported/const enums - "@typescript-eslint/no-shadow": "error", "no-multiple-empty-lines": [ "error", { @@ -99,21 +52,10 @@ // "ignorePattern": "pragma|ignored" // } // ], - "eol-last": [ - "error", - "always" - ], - "consistent-this": [ - "error", - "self" - ], - "func-call-spacing": [ - "error", - "never" - ], - "keyword-spacing": [ - "error" - ], + "eol-last": ["error", "always"], + "consistent-this": ["error", "self"], + "func-call-spacing": ["error", "never"], + "keyword-spacing": ["error"], "id-blacklist": [ "error", "any", @@ -128,52 +70,24 @@ "Symbol", "symbol" ], - "linebreak-style": [ - "error", - "unix" - ], + "linebreak-style": ["error", "unix"], "max-len": [ "warn", { - "code": 180, - "ignoreComments": true, - "ignoreUrls": true, - "ignoreStrings": true, - "ignoreTemplateLiterals": true, - "ignoreRegExpLiterals": true, - "ignorePattern": "(^(import|export)|(public|private))\\s.+;" + "code": 100, + "ignoreUrls": true } ], "no-lonely-if": "error", "no-trailing-spaces": "error", "no-whitespace-before-property": "error", - "space-before-function-paren": [ - "error", - { - "anonymous": "never", - "named": "never", - "asyncArrow": "always" - } - ], - "space-in-parens": [ - "error", - "never" - ], + "space-in-parens": ["error", "never"], "space-infix-ops": "error", "space-unary-ops": "error", - "spaced-comment": [ - "error", - "always" - ], + "spaced-comment": ["error", "always"], "switch-colon-spacing": "error", - "arrow-body-style": [ - "error", - "as-needed" - ], - "arrow-parens": [ - "error", - "always" - ], + "arrow-body-style": ["error", "as-needed"], + "arrow-parens": ["error", "always"], "arrow-spacing": "error", "no-duplicate-imports": "error", "no-var": "error", @@ -184,18 +98,10 @@ "ignoreCase": false, "ignoreDeclarationSort": false, "ignoreMemberSort": false, - "memberSyntaxSortOrder": [ - "none", - "all", - "multiple", - "single" - ] + "memberSyntaxSortOrder": ["none", "all", "multiple", "single"] } ], - "object-curly-spacing": [ - "error", - "always" - ], + "object-curly-spacing": ["error", "always"], "lines-between-class-members": [ "error", "always", @@ -205,18 +111,47 @@ ], "quotes": [ "error", - "single" + "single", + { + "avoidEscape": true, + "allowTemplateLiterals": false + } ] }, "overrides": [ { - "files": [ - "*.js" + "files": ["**/*.ts"], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 2020, + "sourceType": "module", + "project": "./tsconfig.json" + }, + "extends": [ + "plugin:@typescript-eslint/recommended", + "plugin:@typescript-eslint/recommended-requiring-type-checking", + "plugin:import/typescript" ], + "plugins": ["@typescript-eslint"], + "rules": { + "@typescript-eslint/array-type": "off", + "semi": "off", + "@typescript-eslint/semi": ["error", "always"], + "@typescript-eslint/no-empty-function": "warn", + "@typescript-eslint/member-ordering": "error", + "@typescript-eslint/await-thenable": "error", + "@typescript-eslint/no-floating-promises": "error", + "@typescript-eslint/promise-function-async": "error", + "@typescript-eslint/no-misused-promises": "error", + "no-shadow": "off", // This one is generating false positive no-shadow errors on exported/const enums + "@typescript-eslint/no-shadow": "error" + } + }, + { + "files": ["**/*.js"], "extends": "plugin:node/recommended", "rules": { - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/no-var-requires": "off" + "node/shebang": "off" } } ]