From 49c80c82d5bcbf92aa51ab84ee4a99b1af3b0694 Mon Sep 17 00:00:00 2001 From: HampusM Date: Sun, 25 Jul 2021 13:23:19 +0200 Subject: Moved eslint stuff to the workspace root --- .eslintrc.json | 167 +++++++++++++++++++++++++++++++++++++++++++ package.json | 6 ++ packages/client/.eslintrc.js | 56 --------------- packages/client/package.json | 5 -- packages/server/.eslintrc.js | 135 ---------------------------------- packages/server/package.json | 5 -- yarn.lock | 50 +++++++------ 7 files changed, 202 insertions(+), 222 deletions(-) create mode 100644 .eslintrc.json delete mode 100644 packages/client/.eslintrc.js delete mode 100644 packages/server/.eslintrc.js diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..3a4dead --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,167 @@ +{ + "root": true, + "env": { + "commonjs": true, + "es2021": true, + "node": true + }, + "extends": [ + "standard", + "plugin:@typescript-eslint/recommended", + "plugin:vue/vue3-strongly-recommended", + "@vue/standard", + "@vue/typescript" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": 12 + }, + "plugins": [ "@typescript-eslint" ], + "rules": { + "no-console": "off", + "no-debugger": "off", + "array-bracket-spacing": [ + "error", + "always" + ], + "array-bracket-newline": [ "warn", "consistent" ], + "array-element-newline": "off", + "arrow-body-style": "off", + "arrow-parens": [ + "error", + "as-needed" + ], + "arrow-spacing": [ + "error", + { + "after": true, + "before": true + } + ], + "brace-style": [ "error", "stroustrup", { "allowSingleLine": false } ], + "camelcase": "off", + "capitalized-comments": [ + "error", + "always" + ], + "comma-spacing": [ + "error", + { + "after": true, + "before": false + } + ], + "comma-style": [ + "error", + "last" + ], + "comma-dangle": [ "error", "never" ], + "computed-property-spacing": [ + "error", + "never" + ], + "curly": [ "error", "all" ], + "dot-notation": "off", + "eol-last": [ + "error", + "never" + ], + "eqeqeq": "error", + "func-names": "off", + "func-style": [ "error", "declaration" ], + "id-length": "off", + "implicit-arrow-linebreak": [ + "error", + "beside" + ], + "indent": [ "warn", "tab" ], + "keyword-spacing": [ "error", { + "overrides": { + "if": { "after": false }, + "for": { "after": false }, + "while": { "after": false } + } + } ], + "linebreak-style": [ + "error", + "unix" + ], + "max-len": "off", + "max-lines": [ "error", 600 ], + "max-params": [ "error", 6 ], + "max-statements": "off", + "multiline-comment-style": [ "error", "bare-block" ], + "no-await-in-loop": "off", + "no-else-return": [ + "error", + { + "allowElseIf": true + } + ], + "no-extra-parens": "off", + "no-magic-numbers": "off", + "no-tabs": "off", + "no-ternary": "off", + "no-underscore-dangle": [ "error", { "allowAfterThis": true } ], + "no-var": "error", + "object-curly-spacing": [ + "error", + "always" + ], + "object-shorthand": "off", + "one-var": "off", + "padded-blocks": "off", + "prefer-arrow-callback": "off", + "prefer-const": "off", + "prefer-destructuring": "off", + "prefer-template": "off", + "quote-props": [ "error", "as-needed" ], + "quotes": [ "error", "double" ], + "semi": [ "error", "always" ], + "semi-style": [ + "error", + "last" + ], + "sort-keys": "off", + "space-before-function-paren": [ "error", "never" ], + "space-in-parens": [ + "error", + "never" + ], + "spaced-comment": [ + "error", + "always" + ], + "strict": [ + "error", + "never" + ], + "template-curly-spacing": [ + "error", + "never" + ], + "unicode-bom": [ + "error", + "never" + ], + "yoda": [ + "error", + "never" + ], + "vue/max-attributes-per-line": [ "warn", { + "singleline": { + "max": 2, + "allowFirstLine": true + }, + "multiline": { + "max": 2, + "allowFirstLine": false + } + } ], + "vue/html-closing-bracket-newline": [ "error", { + "singleline": "never", + "multiline": "never" + } ], + "vue/html-indent": [ "error", "tab" ] + } +} \ No newline at end of file diff --git a/package.json b/package.json index 0bf51d9..0539fa6 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,12 @@ "client": "^1.0.0", "concurrently": "^6.2.0", "dotenv": "^10.0.0", + "eslint": "^7.31.0", + "eslint-config-standard": "^16.0.3", + "eslint-plugin-import": "^2.23.4", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^5.1.0", + "eslint-plugin-vue": "^7.14.0", "fs-extra": "^10.0.0", "jest": "^27.0.6", "server": "^1.0.0", diff --git a/packages/client/.eslintrc.js b/packages/client/.eslintrc.js deleted file mode 100644 index 595cce8..0000000 --- a/packages/client/.eslintrc.js +++ /dev/null @@ -1,56 +0,0 @@ -module.exports = { - root: true, - env: { - node: true - }, - extends: [ - "plugin:vue/vue3-strongly-recommended", - "@vue/standard", - "@vue/typescript" - ], - parserOptions: { - parser: "@typescript-eslint/parser" - }, - ignorePatterns: [ "/src/lib/*" ], - rules: { - "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", - "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", - curly: "warn", - "array-bracket-newline": [ "warn", "consistent" ], - "array-bracket-spacing": [ "warn", "always" ], - "capitalized-comments": [ "warn", "always" ], - "implicit-arrow-linebreak": [ "warn", "beside" ], - indent: [ "warn", "tab" ], - "linebreak-style": [ "warn", "unix" ], - "comma-dangle": [ "error", "never" ], - semi: [ "error", "always" ], - "no-var": "error", - quotes: [ "error", "double" ], - "quote-props": [ "error", "as-needed" ], - "space-before-function-paren": [ "error", "never" ], - camelcase: "off", - "no-tabs": "off", - "keyword-spacing": [ "error", { - overrides: { - if: { after: false }, - for: { after: false }, - while: { after: false } - } - } ], - "vue/max-attributes-per-line": [ "warn", { - singleline: { - max: 2, - allowFirstLine: true - }, - multiline: { - max: 2, - allowFirstLine: false - } - } ], - "vue/html-closing-bracket-newline": [ "error", { - singleline: "never", - multiline: "never" - } ], - "vue/html-indent": [ "error", "tab" ] - } -}; diff --git a/packages/client/package.json b/packages/client/package.json index d532de9..0c69871 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -33,11 +33,6 @@ "@vue/compiler-sfc": "^3.0.0", "@vue/eslint-config-standard": "^6.0.0", "@vue/eslint-config-typescript": "^7.0.0", - "eslint": "^7.30.0", - "eslint-plugin-import": "^2.23.4", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1", - "eslint-plugin-vue": "^7.0.0", "sass": "^1.26.5", "sass-loader": "^12.1.0", "shared_types": "^1.0.0", diff --git a/packages/server/.eslintrc.js b/packages/server/.eslintrc.js deleted file mode 100644 index df161ad..0000000 --- a/packages/server/.eslintrc.js +++ /dev/null @@ -1,135 +0,0 @@ -module.exports = { - env: { - commonjs: true, - es2021: true, - node: true - }, - extends: [ "standard", "plugin:@typescript-eslint/recommended" ], - parser: "@typescript-eslint/parser", - parserOptions: { - ecmaVersion: 12 - }, - plugins: [ "@typescript-eslint" ], - rules: { - "array-bracket-spacing": [ - "error", - "always" - ], - "array-element-newline": "off", - "arrow-body-style": "off", - "arrow-parens": [ - "error", - "as-needed" - ], - "arrow-spacing": [ - "error", - { - after: true, - before: true - } - ], - "brace-style": [ "error", "stroustrup", { "allowSingleLine": false } ], - camelcase: "off", - "capitalized-comments": [ - "error", - "always" - ], - "comma-spacing": [ - "error", - { - after: true, - before: false - } - ], - "comma-style": [ - "error", - "last" - ], - "computed-property-spacing": [ - "error", - "never" - ], - curly: [ "error", "all" ], - "dot-notation": "off", - "eol-last": [ - "error", - "never" - ], - eqeqeq: "error", - "func-names": "off", - "func-style": [ "error", "declaration" ], - "id-length": "off", - "implicit-arrow-linebreak": [ - "error", - "beside" - ], - indent: [ "warn", "tab" ], - "keyword-spacing": "off", - "linebreak-style": [ - "error", - "unix" - ], - "max-len": "off", - "max-lines": [ "error", 600 ], - "max-params": [ "error", 6 ], - "max-statements": "off", - "multiline-comment-style": [ "error", "bare-block" ], - "no-await-in-loop": "off", - "no-console": "off", - "no-else-return": [ - "error", - { - allowElseIf: true - } - ], - "no-extra-parens": "off", - "no-magic-numbers": "off", - "no-tabs": "off", - "no-ternary": "off", - "no-underscore-dangle": [ "error", { "allowAfterThis": true } ], - "object-curly-spacing": [ - "error", - "always" - ], - "object-shorthand": "off", - "one-var": "off", - "padded-blocks": "off", - "prefer-arrow-callback": "off", - "prefer-const": "off", - "prefer-destructuring": "off", - "prefer-template": "off", - "quote-props": "off", - quotes: [ "error", "double" ], - semi: [ "error", "always" ], - "semi-style": [ - "error", - "last" - ], - "sort-keys": "off", - "space-before-function-paren": [ "error", "never" ], - "space-in-parens": [ - "error", - "never" - ], - "spaced-comment": [ - "error", - "always" - ], - strict: [ - "error", - "never" - ], - "template-curly-spacing": [ - "error", - "never" - ], - "unicode-bom": [ - "error", - "never" - ], - yoda: [ - "error", - "never" - ] - } -}; \ No newline at end of file diff --git a/packages/server/package.json b/packages/server/package.json index e5bc228..f5ff6e1 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -24,11 +24,6 @@ "@types/whatwg-url": "^8.2.0", "@typescript-eslint/eslint-plugin": "^4.26.0", "@typescript-eslint/parser": "^4.26.0", - "eslint": "^7.30.0", - "eslint-config-standard": "^16.0.3", - "eslint-plugin-import": "^2.23.4", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^5.1.0", "nodemon": "^2.0.12", "shared_types": "^1.0.0", "ts-node": "^10.1.0", diff --git a/yarn.lock b/yarn.lock index a32be0b..bd871a1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -945,10 +945,10 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@eslint/eslintrc@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz#f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179" - integrity sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg== +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== dependencies: ajv "^6.12.4" debug "^4.1.1" @@ -4424,25 +4424,20 @@ eslint-plugin-node@^11.1.0: resolve "^1.10.1" semver "^6.1.0" -eslint-plugin-promise@^4.2.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-4.3.1.tgz#61485df2a359e03149fdafc0a68b0e030ad2ac45" - integrity sha512-bY2sGqyptzFBDLh/GMbAxfdJC+b0f23ME63FOE4+Jao0oZ3E1LEwFtWJX/1pGMJLiTtrSSern2CRM/g+dfc0eQ== - eslint-plugin-promise@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-5.1.0.tgz#fb2188fb734e4557993733b41aa1a688f46c6f24" integrity sha512-NGmI6BH5L12pl7ScQHbg7tvtk4wPxxj8yPHH47NvSmMtFneC077PSeY3huFj06ZWZvtbfxSPt3RuOQD5XcR4ng== -eslint-plugin-vue@^7.0.0: - version "7.13.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-7.13.0.tgz#6f3d232bf1fcd0428353b0d581ebaca1c5dbc17a" - integrity sha512-u0+jL8h2MshRuMTCLslktxRsPTjlENNcNufhgHu01N982DmHVdeFniyMPoVLLRjACQOwdz3FdlsgYGBMBG+AKg== +eslint-plugin-vue@^7.14.0: + version "7.14.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-7.14.0.tgz#8c00f211064bd2708fc1aa4abd0592538fbb2cb1" + integrity sha512-IW5A2Td0wEWjFGaGVEO24JNXa8cVFzAQTXrYv/Vu3zyDVS9sjwOpZY0iqub7FOkT2AK3Imtw4U4wg48pP9oWww== dependencies: eslint-utils "^2.1.0" natural-compare "^1.4.0" - semver "^7.3.2" - vue-eslint-parser "^7.8.0" + semver "^6.3.0" + vue-eslint-parser "^7.9.0" eslint-scope@5.1.1, eslint-scope@^5.1.1: version "5.1.1" @@ -4487,13 +4482,13 @@ eslint-webpack-plugin@2.4.3: micromatch "^4.0.2" schema-utils "^3.0.0" -eslint@^7.30.0: - version "7.30.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.30.0.tgz#6d34ab51aaa56112fd97166226c9a97f505474f8" - integrity sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg== +eslint@^7.31.0: + version "7.31.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.31.0.tgz#f972b539424bf2604907a970860732c5d99d3aca" + integrity sha512-vafgJpSh2ia8tnTkNUkwxGmnumgckLh5aAbLa1xRmIn9+owi8qBNGKL+B881kNKNTy7FFqTEkpNkUvmw0n6PkA== dependencies: "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.2" + "@eslint/eslintrc" "^0.4.3" "@humanwhocodes/config-array" "^0.5.0" ajv "^6.10.0" chalk "^4.0.0" @@ -10518,7 +10513,7 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vue-eslint-parser@^7.0.0, vue-eslint-parser@^7.8.0: +vue-eslint-parser@^7.0.0: version "7.8.0" resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.8.0.tgz#43850bf856c9a69d62c0e12769609c338423684b" integrity sha512-ehmmrLZNYLUoKayvVW8l8HyPQIfuYZHiJoQLRP3dapDlTU7bGs4tqIKVGdAEpMuXS/b4R/PImCt7Tkj4UhX1SQ== @@ -10531,6 +10526,19 @@ vue-eslint-parser@^7.0.0, vue-eslint-parser@^7.8.0: lodash "^4.17.21" semver "^6.3.0" +vue-eslint-parser@^7.9.0: + version "7.9.0" + resolved "https://registry.yarnpkg.com/vue-eslint-parser/-/vue-eslint-parser-7.9.0.tgz#5eeedc71f22ebc7b18b957d1ab171acf29a41e64" + integrity sha512-QBlhZ5LteDRVy2dISfQhNEmmcqph+GTaD4SH41bYzXcVHFPJ9p34zCG6QAqOZVa8PKaVgbomFnoZpGJRZi14vg== + dependencies: + debug "^4.1.1" + eslint-scope "^5.1.1" + eslint-visitor-keys "^1.1.0" + espree "^6.2.1" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^6.3.0" + vue-hot-reload-api@^2.3.0: version "2.3.4" resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" -- cgit v1.2.3-18-g5258