From f70f624dec294f22bbb2ec97c0366830f5d74b52 Mon Sep 17 00:00:00 2001 From: Resi Respati Date: Wed, 15 Jul 2020 13:07:28 +0700 Subject: [PATCH] updated eslint config + reformat files --- .eslintrc.js | 278 +++++++++++++++++++++++---------------------------- .prettierrc | 4 +- package.json | 9 +- src/main.ts | 2 +- 4 files changed, 136 insertions(+), 157 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 7cf9063..f1cc6c0 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,155 +1,131 @@ module.exports = { - "env": { - "browser": true, - "es6": true, - "node": true + env: { + browser: true, + es6: true, + node: true + }, + extends: [ + "plugin:@typescript-eslint/recommended", + "plugin:@typescript-eslint/recommended-requiring-type-checking", + "prettier/@typescript-eslint", + "plugin:prettier/recommended", + "plugin:import/errors", + "plugin:import/warnings", + "plugin:import/typescript" + ], + parser: "@typescript-eslint/parser", + parserOptions: { + project: "tsconfig.json", + sourceType: "module" + }, + plugins: ["@typescript-eslint", "import"], + settings: { + "import/parsers": { + "@typescript-eslint/parser": [".ts", ".tsx"] }, - "extends": [ - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "prettier/@typescript-eslint", - "plugin:prettier/recommended", - "plugin:import/errors", - "plugin:import/warnings", - "plugin:import/typescript" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": "tsconfig.json", - "sourceType": "module" - }, - "plugins": [ - "@typescript-eslint", - ], - "rules": { - "@typescript-eslint/adjacent-overload-signatures": "error", - "@typescript-eslint/array-type": "error", - "@typescript-eslint/ban-types": "error", - "@typescript-eslint/class-name-casing": "error", - "@typescript-eslint/consistent-type-assertions": "error", - "@typescript-eslint/consistent-type-definitions": "error", - "@typescript-eslint/explicit-function-return-type": "off", - "@typescript-eslint/explicit-member-accessibility": [ - "error", - { - "accessibility": "explicit" - } - ], - "@typescript-eslint/indent": "off", - "@typescript-eslint/interface-name-prefix": "error", - "@typescript-eslint/member-delimiter-style": [ - "off", - { - "multiline": { - "delimiter": "none", - "requireLast": true - }, - "singleline": { - "delimiter": "semi", - "requireLast": false - } - } - ], - "@typescript-eslint/member-ordering": "off", - "@typescript-eslint/no-empty-function": "error", - "@typescript-eslint/no-empty-interface": "error", - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-misused-new": "error", - "@typescript-eslint/no-namespace": "error", - "@typescript-eslint/no-parameter-properties": "off", - "@typescript-eslint/no-use-before-define": "off", - "@typescript-eslint/no-var-requires": "error", - "@typescript-eslint/prefer-for-of": "error", - "@typescript-eslint/prefer-function-type": "error", - "@typescript-eslint/prefer-namespace-keyword": "error", - "@typescript-eslint/quotes": "off", - "@typescript-eslint/semi": [ - "off", - null - ], - "@typescript-eslint/space-within-parens": [ - "off", - "never" - ], - "@typescript-eslint/triple-slash-reference": "error", - "@typescript-eslint/type-annotation-spacing": "off", - "@typescript-eslint/unified-signatures": "error", - "arrow-body-style": "error", - "arrow-parens": [ - "off", - "as-needed" - ], - "camelcase": "error", - "comma-dangle": "off", - "complexity": "off", - "constructor-super": "error", - "curly": "error", - "dot-notation": "error", - "eol-last": "off", - "eqeqeq": [ - "error", - "smart" - ], - "guard-for-in": "off", - "id-blacklist": [ - "error", - "any", - "Number", - "number", - "String", - "string", - "Boolean", - "boolean", - "Undefined" - ], - "id-match": "error", - "linebreak-style": "off", - "max-classes-per-file": [ - "error", - 1 - ], - "max-len": "off", - "new-parens": "off", - "newline-per-chained-call": "off", - "no-bitwise": "error", - "no-caller": "error", - "no-cond-assign": "error", - "no-console": "off", - "no-debugger": "error", - "no-empty": "error", - "no-eval": "error", - "no-extra-semi": "off", - "no-fallthrough": "off", - "no-invalid-this": "off", - "no-irregular-whitespace": "off", - "no-multiple-empty-lines": "off", - "no-new-wrappers": "error", - "no-shadow": [ - "error", - { - "hoist": "all" - } - ], - "no-throw-literal": "error", - "no-trailing-spaces": "off", - "no-undef-init": "error", - "no-underscore-dangle": "warn", - "no-unsafe-finally": "error", - "no-unused-expressions": "error", - "no-unused-labels": "error", - "no-var": "error", - "object-shorthand": "error", - "one-var": [ - "error", - "never" - ], - "prefer-const": "error", - "quote-props": "off", - "radix": "error", - "sort-imports": "warn", - "space-before-function-paren": "off", - "spaced-comment": "error", - "use-isnan": "error", - "valid-typeof": "off", + "import/resolver": { + typescript: {} } + }, + rules: { + "@typescript-eslint/adjacent-overload-signatures": "error", + "@typescript-eslint/array-type": "error", + "@typescript-eslint/ban-types": "error", + "@typescript-eslint/consistent-type-assertions": "error", + "@typescript-eslint/consistent-type-definitions": "error", + "@typescript-eslint/explicit-function-return-type": "off", + "@typescript-eslint/explicit-member-accessibility": [ + "error", + { + accessibility: "explicit" + } + ], + "@typescript-eslint/indent": "off", + "@typescript-eslint/member-delimiter-style": [ + "off", + { + multiline: { + delimiter: "none", + requireLast: true + }, + singleline: { + delimiter: "semi", + requireLast: false + } + } + ], + "@typescript-eslint/member-ordering": "off", + "@typescript-eslint/no-empty-function": "error", + "@typescript-eslint/no-empty-interface": "error", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-misused-new": "error", + "@typescript-eslint/no-namespace": "error", + "@typescript-eslint/no-parameter-properties": "off", + "@typescript-eslint/no-use-before-define": ["error", { functions: false }], + "@typescript-eslint/no-var-requires": "error", + "@typescript-eslint/prefer-for-of": "error", + "@typescript-eslint/prefer-function-type": "error", + "@typescript-eslint/prefer-namespace-keyword": "error", + "@typescript-eslint/quotes": "off", + "@typescript-eslint/semi": ["off", null], + "@typescript-eslint/space-within-parens": ["off", "never"], + "@typescript-eslint/triple-slash-reference": "error", + "@typescript-eslint/type-annotation-spacing": "off", + "@typescript-eslint/unified-signatures": "error", + "arrow-body-style": "error", + "arrow-parens": ["off", "as-needed"], + camelcase: "error", + "comma-dangle": "off", + complexity: "off", + "constructor-super": "error", + curly: "error", + "dot-notation": "error", + "eol-last": "off", + eqeqeq: ["error", "smart"], + "guard-for-in": "off", + "id-blacklist": ["error", "any", "Number", "number", "String", "string", "Boolean", "boolean", "Undefined"], + "id-match": "error", + "linebreak-style": "off", + "max-classes-per-file": ["error", 1], + "max-len": "off", + "new-parens": "off", + "newline-per-chained-call": "off", + "no-bitwise": "error", + "no-caller": "error", + "no-cond-assign": "error", + "no-console": "off", + "no-debugger": "error", + "no-empty": "error", + "no-eval": "error", + "no-extra-semi": "off", + "no-fallthrough": "off", + "no-invalid-this": "off", + "no-irregular-whitespace": "off", + "no-multiple-empty-lines": "off", + "no-new-wrappers": "error", + "no-shadow": [ + "error", + { + hoist: "all" + } + ], + "no-throw-literal": "error", + "no-trailing-spaces": "off", + "no-undef-init": "error", + "no-underscore-dangle": "warn", + "no-unsafe-finally": "error", + "no-unused-expressions": "error", + "no-unused-labels": "error", + "no-var": "error", + "object-shorthand": "error", + "one-var": ["error", "never"], + "prefer-const": "error", + "quote-props": "off", + radix: "error", + "sort-imports": "warn", + "space-before-function-paren": "off", + "spaced-comment": "error", + "use-isnan": "error", + "valid-typeof": "off" + } }; diff --git a/.prettierrc b/.prettierrc index 226b3a8..f554efe 100644 --- a/.prettierrc +++ b/.prettierrc @@ -3,5 +3,7 @@ "tabWidth": 2, "printWidth": 120, "singleQuote": false, - "trailingComma": "none" + "trailingComma": "none", + "arrowParens": "avoid", + "endOfLine": "auto" } diff --git a/package.json b/package.json index d82ad28..c9e372e 100644 --- a/package.json +++ b/package.json @@ -41,13 +41,14 @@ "@types/screeps": "^3.1.0", "@types/sinon": "^5.0.5", "@types/sinon-chai": "^3.2.0", - "@typescript-eslint/eslint-plugin": "^2.6.1", - "@typescript-eslint/parser": "^2.6.1", - "@typescript-eslint/typescript-estree": "^2.6.1", + "@typescript-eslint/eslint-plugin": "^3.6.1", + "@typescript-eslint/parser": "^3.6.1", + "@typescript-eslint/typescript-estree": "^3.6.1", "chai": "^4.2.0", "eslint": "^6.6.0", "eslint-config-prettier": "^6.5.0", - "eslint-plugin-import": "^2.20.0", + "eslint-import-resolver-typescript": "^2.0.0", + "eslint-plugin-import": "^2.22.0", "eslint-plugin-prettier": "^3.1.1", "lodash": "^3.10.1", "mocha": "^5.2.0", diff --git a/src/main.ts b/src/main.ts index 4e1144a..bd762c4 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,4 +1,4 @@ -import { ErrorMapper } from "./utils/ErrorMapper"; +import { ErrorMapper } from "utils/ErrorMapper"; // When compiling TS to JS and bundling with rollup, the line numbers and file names in error messages change // This utility uses source maps to get the line numbers and file names of the original, TS source code