X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=.eslintrc;h=ec06420e381ad286be503c0defd0101e93fedcc5;hb=6907fb00a6b8ddb0ece13f25703e2b27c32af9dd;hp=8b1a37836329e0dd6dbb63b11ed9598ffdfcdae4;hpb=ef2d0067b8dfaf81922ffb8f1665f4ddff4c30e9;p=e-mobility-charging-stations-simulator.git diff --git a/.eslintrc b/.eslintrc index 8b1a3783..ec06420e 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,9 +1,17 @@ { "root": true, + "env": { + "es2020": true, + "node": true, + "mocha": true + }, + "parserOptions": { + "ecmaVersion": 2020, + "sourceType": "module" + }, "extends": [ "eslint:recommended", - "plugin:import/errors", - "plugin:import/warnings", + "plugin:import/recommended", "plugin:jsdoc/recommended", "plugin:prettier/recommended" ], @@ -11,9 +19,15 @@ "settings": { "jsdoc": { "mode": "typescript" + }, + "import/resolver": { + "typescript": { + "project": "./tsconfig.json" + } } }, "rules": { + "semi": ["error", "always"], "space-before-blocks": ["error", "always"], "curly": ["error", "all"], "brace-style": "error", @@ -72,6 +86,7 @@ "no-lonely-if": "error", "no-trailing-spaces": "error", "no-whitespace-before-property": "error", + "no-shadow": "error", "space-in-parens": ["error", "never"], "space-infix-ops": "error", "space-unary-ops": "error", @@ -87,9 +102,31 @@ "warn", { "ignoreCase": false, - "ignoreDeclarationSort": false, + "ignoreDeclarationSort": true, "ignoreMemberSort": false, - "memberSyntaxSortOrder": ["none", "all", "multiple", "single"] + "memberSyntaxSortOrder": ["none", "all", "multiple", "single"], + "allowSeparatedGroups": true + } + ], + "import/no-unresolved": "error", + "import/order": [ + "error", + { + "groups": [ + "builtin", // Built-in imports (come from NodeJS native) go first + "external", // <- External imports + "internal", // <- Absolute imports + ["sibling", "parent"], // <- Relative imports, the sibling and parent types they can be mingled together + "index", // <- Index imports + "unknown" // <- Unknown + ], + "newlines-between": "always", + "alphabetize": { + /* Sort in ascending order. Options: ["ignore", "asc", "desc"] */ + "order": "asc", + /* Ignore case. Options: [true, false] */ + "caseInsensitive": true + } } ], "object-curly-spacing": ["error", "always"], @@ -114,6 +151,8 @@ "files": ["**/*.ts"], "parser": "@typescript-eslint/parser", "parserOptions": { + "ecmaVersion": 2020, + "sourceType": "module", "project": "./tsconfig.json" }, "extends": [ @@ -132,7 +171,7 @@ "@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 + "no-shadow": "off", "@typescript-eslint/no-shadow": "error" } },