diff --git a/package.json b/package.json index 4c0480682..7aa8fa9e5 100644 --- a/package.json +++ b/package.json @@ -126,7 +126,7 @@ "build:dev": "webpack --mode development", "build:test": "webpack --config webpack.config-test.js", "lint": "npm run lint:jsts & npm run lint:style", - "lint:jsts": "eslint --fix . --ext ts,tsx", + "lint:jsts": "eslint --fix . --ext js,jsx,ts,tsx", "lint:style": "stylelint --fix ./css/*", "preinstall": "node ./scripts/engines-check.js", "test": "jest", diff --git a/scripts/.eslintrc.js b/scripts/.eslintrc.js index 21584d6dc..f3c3c56bc 100644 --- a/scripts/.eslintrc.js +++ b/scripts/.eslintrc.js @@ -19,112 +19,52 @@ module.exports = { "getWithoutSet": false } ], - "array-bracket-newline": [ - "error" - ], - "array-bracket-spacing": [ - "error" - ], - "array-callback-return": [ - "error" - ], - "array-element-newline": [ - "error" - ], - "arrow-body-style": [ - "error" - ], - "arrow-parens": [ - "error" - ], - "arrow-spacing": [ - "error" - ], - "block-scoped-var": [ - "error" - ], - "block-spacing": [ - "error" - ], - "brace-style": [ - "error" - ], - "callback-return": [ - "error" - ], - "camelcase": [ - "error" - ], - "capitalized-comments": [ - "error" - ], - "class-methods-use-this": [ - "error" - ], - "comma-dangle": [ - "error" - ], - "comma-spacing": [ - "error" - ], + "array-bracket-newline": ["error"], + "array-bracket-spacing": ["error"], + "array-callback-return": ["error"], + "array-element-newline": ["error"], + "arrow-body-style": ["error"], + "arrow-parens": ["error"], + "arrow-spacing": ["error"], + "block-scoped-var": ["error"], + "block-spacing": ["error"], + "brace-style": ["error"], + "callback-return": ["error"], + "camelcase": ["error"], + "capitalized-comments": ["error"], + "class-methods-use-this": ["error"], + "comma-dangle": ["error"], + "comma-spacing": ["error"], "comma-style": [ "error", "last" ], - "complexity": [ - "error" - ], + "complexity": ["error"], "computed-property-spacing": [ "error", "never" ], - "consistent-return": [ - "error" - ], - "consistent-this": [ - "error" - ], - "constructor-super": [ - "error" - ], - "curly": [ - "error" - ], - "default-case": [ - "error" - ], + "consistent-return": ["error"], + "consistent-this": ["error"], + "constructor-super": ["error"], + "curly": ["error"], + "default-case": ["error"], "dot-location": [ "error", "property" ], - "dot-notation": [ - "error" - ], - "eol-last": [ - "error" - ], - "eqeqeq": [ - "error" - ], - "for-direction": [ - "error" - ], - "func-call-spacing": [ - "error" - ], - "func-name-matching": [ - "error" - ], + "dot-notation": ["error"], + "eol-last": ["error"], + "eqeqeq": ["error"], + "for-direction": ["error"], + "func-call-spacing": ["error"], + "func-name-matching": ["error"], "func-names": [ "error", "never" ], - "func-style": [ - "error" - ], - "function-paren-newline": [ - "error" - ], + "func-style": ["error"], + "function-paren-newline": ["error"], "generator-star-spacing": [ "error", "before" @@ -135,24 +75,12 @@ module.exports = { "allowImplicit": false } ], - "global-require": [ - "error" - ], - "guard-for-in": [ - "error" - ], - "handle-callback-err": [ - "error" - ], - "id-blacklist": [ - "error" - ], - "id-length": [ - "error" - ], - "id-match": [ - "error" - ], + "global-require": ["error"], + "guard-for-in": ["error"], + "handle-callback-err": ["error"], + "id-blacklist": ["error"], + "id-length": ["error"], + "id-match": ["error"], "implicit-arrow-linebreak": [ "error", "beside" @@ -164,34 +92,18 @@ module.exports = { "SwitchCase": 1 } ], - "init-declarations": [ - "error" - ], - "jsx-quotes": [ - "error" - ], - "key-spacing": [ - "error" - ], - "keyword-spacing": [ - "error" - ], - "line-comment-position": [ - "error" - ], + "init-declarations": ["error"], + "jsx-quotes": ["error"], + "key-spacing": ["error"], + "keyword-spacing": ["error"], + "line-comment-position": ["error"], "linebreak-style": [ "error", "windows" ], - "lines-around-comment": [ - "error" - ], - "lines-between-class-members": [ - "error" - ], - "max-depth": [ - "error" - ], + "lines-around-comment": ["error"], + "lines-between-class-members": ["error"], + "max-depth": ["error"], "max-len": [ "error", 160 @@ -203,18 +115,10 @@ module.exports = { "skipComments": true } ], - "max-nested-callbacks": [ - "error" - ], - "max-params": [ - "error" - ], - "max-statements": [ - "error" - ], - "max-statements-per-line": [ - "error" - ], + "max-nested-callbacks": ["error"], + "max-params": ["error"], + "max-statements": ["error"], + "max-statements-per-line": ["error"], "multiline-comment-style": [ "off", "starred-block" @@ -223,127 +127,62 @@ module.exports = { "error", "never" ], - "new-cap": [ - "error" - ], - "new-parens": [ - "error" - ], - "newline-before-return": [ - "error" // TODO: configure this... - ], - "newline-per-chained-call": [ - "error" - ], - "no-alert": [ - "error" - ], - "no-array-constructor": [ - "error" - ], - "no-await-in-loop": [ - "error" - ], - "no-bitwise": [ - "error" - ], - "no-buffer-constructor": [ - "error" - ], - "no-caller": [ - "error" - ], - "no-case-declarations": [ - "error" - ], - "no-catch-shadow": [ - "error" - ], - "no-class-assign": [ - "error" - ], - "no-compare-neg-zero": [ - "error" + "new-cap": ["error"], + "new-parens": ["error"], + "newline-before-return": ["error" // TODO: configure this... ], + "newline-per-chained-call": ["error"], + "no-alert": ["error"], + "no-array-constructor": ["error"], + "no-await-in-loop": ["error"], + "no-bitwise": ["error"], + "no-buffer-constructor": ["error"], + "no-caller": ["error"], + "no-case-declarations": ["error"], + "no-catch-shadow": ["error"], + "no-class-assign": ["error"], + "no-compare-neg-zero": ["error"], "no-cond-assign": [ "error", "except-parens" ], - "no-confusing-arrow": [ - "error" - ], - "no-console": [ - "error" - ], - "no-const-assign": [ - "error" - ], + "no-confusing-arrow": ["error"], + "no-console": ["error"], + "no-const-assign": ["error"], "no-constant-condition": [ "error", { "checkLoops": false } ], - "no-continue": [ - "off" - ], - "no-control-regex": [ - "error" - ], - "no-debugger": [ - "error" - ], - "no-delete-var": [ - "error" - ], - "no-div-regex": [ - "error" - ], - "no-dupe-args": [ - "error" - ], - "no-dupe-class-members": [ - "error" - ], - "no-dupe-keys": [ - "error" - ], - "no-duplicate-case": [ - "error" - ], + "no-continue": ["off"], + "no-control-regex": ["error"], + "no-debugger": ["error"], + "no-delete-var": ["error"], + "no-div-regex": ["error"], + "no-dupe-args": ["error"], + "no-dupe-class-members": ["error"], + "no-dupe-keys": ["error"], + "no-duplicate-case": ["error"], "no-duplicate-imports": [ "error", { "includeExports": true } ], - "no-else-return": [ - "error" - ], + "no-else-return": ["error"], "no-empty": [ "error", { "allowEmptyCatch": false } ], - "no-empty-character-class": [ - "error" - ], - "no-empty-function": [ - "error" - ], - "no-empty-pattern": [ - "error" - ], - "no-eq-null": [ - "error" - ], - "no-ex-assign": [ - "error" - ], - "no-extra-boolean-cast": [ - "error" - ], + "no-empty-character-class": ["error"], + "no-empty-function": ["error"], + "no-empty-pattern": ["error"], + "no-eq-null": ["error"], + "no-ex-assign": ["error"], + "no-extra-boolean-cast": ["error"], "no-extra-parens": [ "error", "all", @@ -351,58 +190,26 @@ module.exports = { "conditionalAssign": false } ], - "no-extra-semi": [ - "error" - ], - "no-eval": [ - "error" - ], - "no-extend-native": [ - "error" - ], - "no-extra-bind": [ - "error" - ], - "no-extra-label": [ - "error" - ], - "no-extra-parens": [ - "error" - ], - "no-fallthrough": [ - "error" - ], - "no-floating-decimal": [ - "error" - ], - "no-func-assign": [ - "error" - ], - "no-global-assign": [ - "error" - ], - "no-implicit-coercion": [ - "error" - ], - "no-implicit-globals": [ - "error" - ], - "no-implied-eval": [ - "error" - ], - "no-inline-comments": [ - "error" - ], + "no-extra-semi": ["error"], + "no-eval": ["error"], + "no-extend-native": ["error"], + "no-extra-bind": ["error"], + "no-extra-label": ["error"], + "no-extra-parens": ["error"], + "no-fallthrough": ["error"], + "no-floating-decimal": ["error"], + "no-func-assign": ["error"], + "no-global-assign": ["error"], + "no-implicit-coercion": ["error"], + "no-implicit-globals": ["error"], + "no-implied-eval": ["error"], + "no-inline-comments": ["error"], "no-inner-declarations": [ "error", "both" ], - "no-invalid-regexp": [ - "error" - ], - "no-invalid-this": [ - "error" - ], + "no-invalid-regexp": ["error"], + "no-invalid-this": ["error"], "no-irregular-whitespace": [ "error", { @@ -412,24 +219,12 @@ module.exports = { "skipTemplates": false } ], - "no-iterator": [ - "error" - ], - "no-label-var": [ - "error" - ], - "no-labels": [ - "error" - ], - "no-lone-blocks": [ - "error" - ], - "no-lonely-if": [ - "error" - ], - "no-loop-func": [ - "error" - ], + "no-iterator": ["error"], + "no-label-var": ["error"], + "no-labels": ["error"], + "no-lone-blocks": ["error"], + "no-lonely-if": ["error"], + "no-loop-func": ["error"], "no-magic-numbers": [ "error", { @@ -441,108 +236,48 @@ module.exports = { "ignoreArrayIndexes": true } ], - "no-mixed-operators": [ - "error" - ], - "no-mixed-requires": [ - "error" - ], - "no-mixed-spaces-and-tabs": [ - "error" - ], - "no-multi-assign": [ - "error" - ], - "no-multi-spaces": [ - "error" - ], - "no-multi-str": [ - "error" - ], + "no-mixed-operators": ["error"], + "no-mixed-requires": ["error"], + "no-mixed-spaces-and-tabs": ["error"], + "no-multi-assign": ["error"], + "no-multi-spaces": ["error"], + "no-multi-str": ["error"], "no-multiple-empty-lines": [ "error", { "max": 1 } ], - "no-native-reassign": [ - "error" - ], - "no-negated-condition": [ - "error" - ], - "no-negated-in-lhs": [ - "error" - ], - "no-nested-ternary": [ - "error" - ], - "no-new": [ - "error" - ], - "no-new-func": [ - "error" - ], - "no-new-object": [ - "error" - ], - "no-new-require": [ - "error" - ], - "no-new-symbol": [ - "error" - ], - "no-new-wrappers": [ - "error" - ], - "no-octal": [ - "error" - ], - "no-octal-escape": [ - "error" - ], - "no-obj-calls": [ - "error" - ], - "no-param-reassign": [ - "error" - ], - "no-path-concat": [ - "error" - ], + "no-native-reassign": ["error"], + "no-negated-condition": ["error"], + "no-negated-in-lhs": ["error"], + "no-nested-ternary": ["error"], + "no-new": ["error"], + "no-new-func": ["error"], + "no-new-object": ["error"], + "no-new-require": ["error"], + "no-new-symbol": ["error"], + "no-new-wrappers": ["error"], + "no-octal": ["error"], + "no-octal-escape": ["error"], + "no-obj-calls": ["error"], + "no-param-reassign": ["error"], + "no-path-concat": ["error"], "no-plusplus": [ "error", { "allowForLoopAfterthoughts": true } ], - "no-process-env": [ - "error" - ], - "no-process-exit": [ - "error" - ], - "no-proto": [ - "error" - ], - "no-prototype-builtins": [ - "error" - ], - "no-redeclare": [ - "error" - ], - "no-regex-spaces": [ - "error" - ], - "no-restricted-globals": [ - "error" - ], - "no-restricted-imports": [ - "error" - ], - "no-restricted-modules": [ - "error" - ], + "no-process-env": ["error"], + "no-process-exit": ["error"], + "no-proto": ["error"], + "no-prototype-builtins": ["error"], + "no-redeclare": ["error"], + "no-regex-spaces": ["error"], + "no-restricted-globals": ["error"], + "no-restricted-imports": ["error"], + "no-restricted-modules": ["error"], "no-restricted-properties": [ "error", { @@ -551,120 +286,48 @@ module.exports = { "message": "'log' is too general, use an appropriate level when logging." } ], - "no-restricted-syntax": [ - "error" - ], - "no-return-assign": [ - "error" - ], - "no-return-await": [ - "error" - ], - "no-script-url": [ - "error" - ], + "no-restricted-syntax": ["error"], + "no-return-assign": ["error"], + "no-return-await": ["error"], + "no-script-url": ["error"], "no-self-assign": [ "error", { "props": false } ], - "no-self-compare": [ - "error" - ], - "no-sequences": [ - "error" - ], - "no-shadow": [ - "error" - ], - "no-shadow-restricted-names": [ - "error" - ], - "no-spaced-func": [ - "error" - ], - "no-sparse-arrays": [ - "error" - ], - "no-sync": [ - "error" - ], - "no-tabs": [ - "error" - ], - "no-template-curly-in-string": [ - "error" - ], - "no-ternary": [ - "off" - ], - "no-this-before-super": [ - "error" - ], - "no-throw-literal": [ - "error" - ], - "no-trailing-spaces": [ - "error" - ], - "no-undef": [ - "error" - ], - "no-undef-init": [ - "error" - ], - "no-undefined": [ - "error" - ], - "no-underscore-dangle": [ - "error" - ], - "no-unexpected-multiline": [ - "error" - ], - "no-unmodified-loop-condition": [ - "error" - ], - "no-unneeded-ternary": [ - "error" - ], - "no-unreachable": [ - "error" - ], - "no-unsafe-finally": [ - "error" - ], - "no-unsafe-negation": [ - "error" - ], - "no-unused-expressions": [ - "error" - ], - "no-unused-labels": [ - "error" - ], - "no-unused-vars": [ - "error" - ], - "no-use-before-define": [ - "error" - ], - "no-useless-call": [ - "error" - ], - "no-useless-computed-key": [ - "error" - ], - "no-useless-concat": [ - "error" - ], - "no-useless-constructor": [ - "error" - ], - "no-useless-escape": [ - "error" - ], + "no-self-compare": ["error"], + "no-sequences": ["error"], + "no-shadow": ["error"], + "no-shadow-restricted-names": ["error"], + "no-spaced-func": ["error"], + "no-sparse-arrays": ["error"], + "no-sync": ["error"], + "no-tabs": ["error"], + "no-template-curly-in-string": ["error"], + "no-ternary": ["off"], + "no-this-before-super": ["error"], + "no-throw-literal": ["error"], + "no-trailing-spaces": ["error"], + "no-undef": ["error"], + "no-undef-init": ["error"], + "no-undefined": ["error"], + "no-underscore-dangle": ["error"], + "no-unexpected-multiline": ["error"], + "no-unmodified-loop-condition": ["error"], + "no-unneeded-ternary": ["error"], + "no-unreachable": ["error"], + "no-unsafe-finally": ["error"], + "no-unsafe-negation": ["error"], + "no-unused-expressions": ["error"], + "no-unused-labels": ["error"], + "no-unused-vars": ["error"], + "no-use-before-define": ["error"], + "no-useless-call": ["error"], + "no-useless-computed-key": ["error"], + "no-useless-concat": ["error"], + "no-useless-constructor": ["error"], + "no-useless-escape": ["error"], "no-useless-rename": [ "error", { @@ -673,149 +336,67 @@ module.exports = { "ignoreImport": false } ], - "no-useless-return": [ - "error" - ], - "no-var": [ - "error" - ], - "no-void": [ - "error" - ], - "no-warning-comments": [ - "error" - ], - "no-whitespace-before-property": [ - "error" - ], - "no-with": [ - "error" - ], + "no-useless-return": ["error"], + "no-var": ["error"], + "no-void": ["error"], + "no-warning-comments": ["error"], + "no-whitespace-before-property": ["error"], + "no-with": ["error"], "nonblock-statement-body-position": [ "error", "below" ], - "object-curly-newline": [ - "error" - ], - "object-curly-spacing": [ - "error" - ], - "object-property-newline": [ - "error" - ], - "object-shorthand": [ - "error" - ], - "one-var": [ - "off" - ], - "one-var-declaration-per-line": [ - "error" - ], - "operator-assignment": [ - "error" - ], + "object-curly-newline": ["error"], + "object-curly-spacing": ["error"], + "object-property-newline": ["error"], + "object-shorthand": ["error"], + "one-var": ["off"], + "one-var-declaration-per-line": ["error"], + "operator-assignment": ["error"], "operator-linebreak": [ "error", "none" ], - "padded-blocks": [ - "off" - ], - "padding-line-between-statements": [ - "error" - ], - "prefer-arrow-callback": [ - "error" - ], - "prefer-const": [ - "error" - ], - "prefer-destructuring": [ - "off" - ], - "prefer-numeric-literals": [ - "error" - ], - "prefer-promise-reject-errors": [ - "off" - ], - "prefer-reflect": [ - "error" - ], - "prefer-rest-params": [ - "error" - ], - "prefer-spread": [ - "error" - ], - "prefer-template": [ - "error" - ], - "quote-props": [ - "error" - ], - "quotes": [ - "error" - ], + "padded-blocks": ["off"], + "padding-line-between-statements": ["error"], + "prefer-arrow-callback": ["error"], + "prefer-const": ["error"], + "prefer-destructuring": ["off"], + "prefer-numeric-literals": ["error"], + "prefer-promise-reject-errors": ["off"], + "prefer-reflect": ["error"], + "prefer-rest-params": ["error"], + "prefer-spread": ["error"], + "prefer-template": ["error"], + "quote-props": ["error"], + "quotes": ["error"], "radix": [ "error", "as-needed" ], - "require-await": [ - "error" - ], - "require-jsdoc": [ - "off" - ], - "require-yield": [ - "error" - ], + "require-await": ["error"], + "require-jsdoc": ["off"], + "require-yield": ["error"], "rest-spread-spacing": [ "error", "never" ], - "semi": [ - "error" - ], - "semi-spacing": [ - "error" - ], + "semi": ["error"], + "semi-spacing": ["error"], "semi-style": [ "error", "last" ], - "sort-imports": [ - "error" - ], - "sort-keys": [ - "error" - ], - "sort-vars": [ - "error" - ], - "space-before-blocks": [ - "error" - ], - "space-before-function-paren": [ - "off" - ], - "space-in-parens": [ - "error" - ], - "space-infix-ops": [ - "error" - ], - "space-unary-ops": [ - "error" - ], - "spaced-comment": [ - "error" - ], - "strict": [ - "error" - ], + "sort-imports": ["error"], + "sort-keys": ["error"], + "sort-vars": ["error"], + "space-before-blocks": ["error"], + "space-before-function-paren": ["off"], + "space-in-parens": ["error"], + "space-infix-ops": ["error"], + "space-unary-ops": ["error"], + "spaced-comment": ["error"], + "strict": ["error"], "switch-colon-spacing": [ "error", { @@ -823,38 +404,22 @@ module.exports = { "before": false } ], - "symbol-description": [ - "error" - ], - "template-curly-spacing": [ - "error" - ], - "template-tag-spacing": [ - "error" - ], + "symbol-description": ["error"], + "template-curly-spacing": ["error"], + "template-tag-spacing": ["error"], "unicode-bom": [ "error", "never" ], - "use-isnan": [ - "error" - ], - "valid-jsdoc": [ - "error" - ], - "valid-typeof": [ - "error" - ], - "vars-on-top": [ - "error" - ], + "use-isnan": ["error"], + "valid-jsdoc": ["error"], + "valid-typeof": ["error"], + "vars-on-top": ["error"], "wrap-iife": [ "error", "any" ], - "wrap-regex": [ - "error" - ], + "wrap-regex": ["error"], "yield-star-spacing": [ "error", "before" diff --git a/scripts/semver.js b/scripts/semver.js index 755318c31..fc0625052 100644 --- a/scripts/semver.js +++ b/scripts/semver.js @@ -483,7 +483,7 @@ class SemVer { // Numberify any prerelease numeric ids if (matches[4]) { this.prerelease = matches[4].split(".").map((id) => { - if (/^[0-9]+$/.test(id)) { + if ((/^[0-9]+$/).test(id)) { const num = Number(id); if (num >= 0 && num < MAX_SAFE_INTEGER) { return num;