From d55efc57a1344f78fb7425a4b26077cf0bf15a28 Mon Sep 17 00:00:00 2001 From: ssube Date: Sat, 10 Jul 2021 17:32:47 -0500 Subject: [PATCH] feat(build): update eslint config, remove tslint plugins --- .eslintrc.js | 402 +++++++++++++++++++++++++++++++ config/eslint.json | 427 --------------------------------- config/rollup.js | 3 +- docs/api/js-utils.setorpush.md | 4 +- package.json | 7 - src/ArrayMapper.ts | 2 +- src/Async.ts | 6 +- src/Checklist.ts | 2 +- src/Env.ts | 2 +- src/Map.ts | 10 +- src/Maybe.ts | 4 +- src/Reflect.ts | 6 +- src/Signal.ts | 2 +- src/String.ts | 3 +- test/harness.ts | 2 +- test/utils/TestArray.ts | 1 + test/utils/TestMap.ts | 5 +- test/utils/TestMaybe.ts | 1 + test/utils/TestString.ts | 1 + yarn.lock | 213 +--------------- 20 files changed, 441 insertions(+), 662 deletions(-) create mode 100644 .eslintrc.js delete mode 100644 config/eslint.json diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..2c832c2 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,402 @@ +module.exports = { + "env": { + "es6": true + }, + "root": true, + "parser": "@typescript-eslint/parser", + "parserOptions": { + "project": "tsconfig.json", + "sourceType": "module" + }, + "plugins": [ + "eslint-plugin-chai", + "eslint-plugin-chai-expect", + "eslint-plugin-chai-expect-keywords", + "eslint-plugin-import", + "eslint-plugin-mocha", + "eslint-plugin-no-null", + "eslint-plugin-sonarjs", + "@typescript-eslint" + ], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + ], + "rules": { + "@typescript-eslint/adjacent-overload-signatures": "error", + "@typescript-eslint/array-type": [ + "error", + { + "default": "generic" + } + ], + "@typescript-eslint/await-thenable": "error", + "@typescript-eslint/ban-types": [ + "error", + { + "types": { + "null": "Use 'undefined' instead of 'null'" + } + } + ], + "@typescript-eslint/consistent-type-assertions": "error", + "@typescript-eslint/consistent-type-definitions": "error", + "@typescript-eslint/explicit-member-accessibility": [ + "error", + { + "accessibility": "explicit", + "overrides": { + "constructors": "no-public" + } + } + ], + "@typescript-eslint/indent": [ + "error", + 2, + { + "FunctionDeclaration": { + "parameters": "first" + }, + "FunctionExpression": { + "parameters": "first" + }, + "ObjectExpression": "first", + "SwitchCase": 1 + } + ], + "@typescript-eslint/member-delimiter-style": [ + "error", + { + "multiline": { + "delimiter": "semi", + "requireLast": true + }, + "singleline": { + "delimiter": "semi", + "requireLast": false + } + } + ], + "@typescript-eslint/member-ordering": [ + "error", + { + "default": [ + "public-static-method", + "public-static-field", + "public-instance-field", + "protected-instance-field", + "public-constructor", + "public-instance-method", + "protected-instance-method" + ] + } + ], + "@typescript-eslint/naming-convention": [ + "error", + { + "format": [ + "camelCase", + "PascalCase" + ], + "leadingUnderscore": "forbid", + "selector": "variable", + "types": ["function"], + "trailingUnderscore": "forbid" + }, + { + "format": [ + "camelCase" + ], + "leadingUnderscore": "require", + "selector": "variable", + "modifiers": ["unused"], + "trailingUnderscore": "forbid" + }, + { + "format": [ + "camelCase", + "UPPER_CASE" + ], + "leadingUnderscore": "forbid", + "selector": "variable", + "trailingUnderscore": "forbid" + }, + { + "format": [ + "camelCase", + "UPPER_CASE" + ], + "leadingUnderscore": "require", + "selector": "parameter", + "modifiers": ["unused"], + "trailingUnderscore": "forbid" + }, + { + "format": [ + "PascalCase" + ], + "leadingUnderscore": "forbid", + "selector": "typeLike", + "trailingUnderscore": "forbid" + }, + { + "format": [ + "PascalCase" + ], + "leadingUnderscore": "forbid", + "selector": "interface", + "trailingUnderscore": "forbid" + }, + { + "format": [ + "camelCase", + "PascalCase" + ], + "leadingUnderscore": "forbid", + "selector": "function", + "trailingUnderscore": "forbid" + }, + { + "format": [ + "UPPER_CASE" + ], + "leadingUnderscore": "forbid", + "selector": "enumMember", + "trailingUnderscore": "forbid" + }, + { + "format": [ + "camelCase" + ], + "leadingUnderscore": "forbid", + "selector": "default", + "trailingUnderscore": "forbid" + }, + ], + "@typescript-eslint/no-empty-function": "error", + "@typescript-eslint/no-empty-interface": "error", + "@typescript-eslint/no-explicit-any": "error", + "@typescript-eslint/no-floating-promises": "error", + "@typescript-eslint/no-for-in-array": "error", + "@typescript-eslint/no-inferrable-types": "error", + "@typescript-eslint/no-misused-new": "error", + "@typescript-eslint/no-namespace": "error", + "@typescript-eslint/no-non-null-assertion": "error", + "@typescript-eslint/no-parameter-properties": "error", + "@typescript-eslint/no-redeclare": [ + "error" + ], + "@typescript-eslint/no-shadow": [ + "error" + ], + "@typescript-eslint/no-this-alias": "error", + "@typescript-eslint/no-unnecessary-type-arguments": "error", + "@typescript-eslint/no-unused-vars": [ + "error", + { + "argsIgnorePattern": "_.+", + "varsIgnorePattern": "_.+" + } + ], + "@typescript-eslint/no-use-before-declare": "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/prefer-readonly": "error", + "@typescript-eslint/quotes": [ + "error", + "single", + { + "avoidEscape": true + } + ], + "@typescript-eslint/restrict-plus-operands": "error", + "@typescript-eslint/semi": [ + "error", + "always" + ], + "@typescript-eslint/strict-boolean-expressions": "error", + "@typescript-eslint/triple-slash-reference": "error", + "@typescript-eslint/type-annotation-spacing": "error", + "@typescript-eslint/unbound-method": "error", + "@typescript-eslint/unified-signatures": "error", + "arrow-body-style": "error", + "arrow-parens": [ + "error", + "always" + ], + "camelcase": "error", + "complexity": [ + "error", + { + "max": 12 + } + ], + "constructor-super": "error", + "curly": "error", + "default-case": "error", + "dot-notation": "error", + "eol-last": "error", + "eqeqeq": [ + "error", + "always" + ], + "guard-for-in": "error", + "id-blacklist": [ + "error", + "any", + "Number", + "String", + "Boolean", + "Undefined" + ], + "id-match": "error", + "import/no-default-export": "error", + "import/no-deprecated": "error", + "import/no-extraneous-dependencies": "off", + "import/no-internal-modules": "off", + "import/order": [ + "error", + { + "groups": [ + [ + "builtin", + "external" + ], + [ + "index", + "parent", + "sibling", + "unknown" + ] + ] + } + ], + "max-classes-per-file": [ + "off", + 1 + ], + "max-len": [ + "error", + { + "code": 180 + } + ], + "max-lines": [ + "error", + 500 + ], + "max-params": [ + "error", + 4 + ], + "new-parens": "error", + "no-bitwise": "off", + "no-caller": "error", + "no-cond-assign": "error", + "no-console": "error", + "no-debugger": "error", + "no-duplicate-case": "error", + "no-duplicate-imports": "error", + "no-empty": "error", + "no-eval": "error", + "no-extra-bind": "error", + "no-fallthrough": "off", + "no-invalid-this": "error", + "no-irregular-whitespace": "error", + "no-magic-numbers": [ + "error", + { + "ignoreArrayIndexes": true, + "ignore": [ + -1, + 0, + 1, + 10, + 100, + 1000 + ] + } + ], + "no-multiple-empty-lines": "error", + "no-new-func": "error", + "no-new-wrappers": "error", + "no-null/no-null": "error", + "no-param-reassign": "error", + "no-plusplus": [ + "error", + { + "allowForLoopAfterthoughts": true + } + ], + "no-restricted-syntax": [ + "error", + "ForInStatement", + "WithStatement", + "MemberExpression[optional=true]", + "IfStatement[alternate.type='IfStatement']", + "UnaryExpression[operator='!']", + "BinaryExpression[operator='==='][right.value=true]", + "BinaryExpression[operator='!==']" + ], + "no-return-await": "error", + "no-sequences": "error", + "no-sparse-arrays": "error", + "no-template-curly-in-string": "error", + "no-throw-literal": "error", + "no-trailing-spaces": "error", + "no-undef-init": "error", + "no-underscore-dangle": "error", + "no-unsafe-finally": "error", + "no-unused-expressions": "error", + "no-unused-labels": "error", + "no-useless-constructor": "error", + "no-var": "error", + "no-void": "error", + "object-shorthand": "error", + "one-var": [ + "error", + "never" + ], + "prefer-const": "error", + "prefer-object-spread": "error", + "quote-props": [ + "error", + "consistent-as-needed" + ], + "radix": "error", + "sonarjs/cognitive-complexity": "error", + "sonarjs/max-switch-cases": "error", + "sonarjs/no-all-duplicated-branches": "error", + "sonarjs/no-collapsible-if": "error", + "sonarjs/no-collection-size-mischeck": "error", + "sonarjs/no-duplicate-string": "error", + "sonarjs/no-duplicated-branches": "error", + "sonarjs/no-element-overwrite": "error", + "sonarjs/no-identical-conditions": "error", + "sonarjs/no-identical-expressions": "error", + "sonarjs/no-identical-functions": "error", + "sonarjs/no-inverted-boolean-check": "error", + "sonarjs/no-redundant-boolean": "error", + "sonarjs/no-redundant-jump": "error", + "sonarjs/no-same-line-conditional": "error", + "sonarjs/no-useless-catch": "error", + "sonarjs/prefer-immediate-return": "error", + "space-before-function-paren": [ + "error", + { + "anonymous": "never", + "asyncArrow": "always", + "named": "never" + } + ], + "space-in-parens": [ + "error", + "never" + ], + "spaced-comment": "error", + "use-isnan": "error", + "valid-typeof": "off" + } +} \ No newline at end of file diff --git a/config/eslint.json b/config/eslint.json deleted file mode 100644 index 76a9276..0000000 --- a/config/eslint.json +++ /dev/null @@ -1,427 +0,0 @@ -{ - "env": { - "es6": true - }, - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": "tsconfig.json", - "sourceType": "module" - }, - "plugins": [ - "eslint-plugin-chai", - "eslint-plugin-chai-expect", - "eslint-plugin-chai-expect-keywords", - "eslint-plugin-import", - "eslint-plugin-mocha", - "eslint-plugin-no-null", - "eslint-plugin-sonarjs", - "@typescript-eslint", - "@typescript-eslint/tslint" - ], - "rules": { - "@typescript-eslint/adjacent-overload-signatures": "error", - "@typescript-eslint/array-type": [ - "error", - { - "default": "generic" - } - ], - "@typescript-eslint/await-thenable": "error", - "@typescript-eslint/ban-types": [ - "error", - { - "types": { - "null": "Use 'undefined' instead of 'null'" - } - } - ], - "@typescript-eslint/consistent-type-assertions": "error", - "@typescript-eslint/consistent-type-definitions": "error", - "@typescript-eslint/explicit-member-accessibility": [ - "error", - { - "accessibility": "explicit", - "overrides": { - "constructors": "no-public" - } - } - ], - "@typescript-eslint/indent": [ - "error", - 2, - { - "ObjectExpression": "first", - "FunctionDeclaration": { - "parameters": "first" - }, - "FunctionExpression": { - "parameters": "first" - }, - "SwitchCase": 1 - } - ], - "@typescript-eslint/member-delimiter-style": [ - "error", - { - "multiline": { - "delimiter": "semi", - "requireLast": true - }, - "singleline": { - "delimiter": "semi", - "requireLast": false - } - } - ], - "@typescript-eslint/member-ordering": [ - "error", - { - "default": [ - "public-static-method", - "public-static-field", - "public-instance-field", - "protected-instance-field", - "public-constructor", - "public-instance-method", - "protected-instance-method" - ] - } - ], - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": "default", - "format": [ - "camelCase" - ], - "leadingUnderscore": "forbid", - "trailingUnderscore": "forbid" - }, - { - "selector": "variable", - "format": [ - "camelCase", - "UPPER_CASE" - ], - "leadingUnderscore": "forbid", - "trailingUnderscore": "forbid" - }, - { - "selector": "enumMember", - "format": [ - "camelCase", - "UPPER_CASE" - ], - "leadingUnderscore": "forbid", - "trailingUnderscore": "forbid" - }, - { - "selector": "typeLike", - "format": [ - "PascalCase" - ], - "leadingUnderscore": "forbid", - "trailingUnderscore": "forbid" - }, - { - "selector": "interface", - "format": [ - "PascalCase" - ], - "leadingUnderscore": "forbid", - "trailingUnderscore": "forbid" - } - ], - "@typescript-eslint/no-empty-function": "error", - "@typescript-eslint/no-empty-interface": "error", - "@typescript-eslint/no-explicit-any": "error", - "@typescript-eslint/no-floating-promises": "error", - "@typescript-eslint/no-for-in-array": "error", - "@typescript-eslint/no-inferrable-types": "error", - "@typescript-eslint/no-misused-new": "error", - "@typescript-eslint/no-namespace": "error", - "@typescript-eslint/no-non-null-assertion": "error", - "no-param-reassign": "error", - "@typescript-eslint/no-parameter-properties": "error", - "@typescript-eslint/no-this-alias": "error", - "@typescript-eslint/no-unnecessary-type-arguments": "error", - "@typescript-eslint/no-use-before-declare": "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": [ - "error", - "single", - { - "avoidEscape": true - } - ], - "@typescript-eslint/restrict-plus-operands": "error", - "@typescript-eslint/semi": [ - "error", - "always" - ], - "space-in-parens": [ - "error", - "never" - ], - "@typescript-eslint/strict-boolean-expressions": "error", - "@typescript-eslint/triple-slash-reference": "error", - "@typescript-eslint/type-annotation-spacing": "error", - "@typescript-eslint/unbound-method": "error", - "@typescript-eslint/unified-signatures": "error", - "arrow-body-style": "error", - "arrow-parens": [ - "error", - "always" - ], - "camelcase": "error", - "complexity": [ - "error", - { - "max": 12 - } - ], - "constructor-super": "error", - "curly": "error", - "default-case": "error", - "dot-notation": "error", - "eol-last": "error", - "eqeqeq": [ - "error", - "always" - ], - "guard-for-in": "error", - "id-blacklist": [ - "error", - "any", - "Number", - "String", - "Boolean", - "Undefined" - ], - "id-match": "error", - "import/no-default-export": "error", - "import/no-deprecated": "error", - "import/no-extraneous-dependencies": "off", - "import/no-internal-modules": "off", - "import/order": [ - "error", - { - "groups": [ - [ - "builtin", - "external" - ], - [ - "index", - "parent", - "sibling", - "unknown" - ] - ] - } - ], - "max-classes-per-file": [ - "off", - 1 - ], - "max-len": [ - "error", - { - "code": 180 - } - ], - "max-lines": [ - "error", - 500 - ], - "new-parens": "error", - "no-bitwise": "off", - "no-caller": "error", - "no-cond-assign": "error", - "no-console": "error", - "no-debugger": "error", - "no-duplicate-case": "error", - "no-duplicate-imports": "error", - "no-empty": "error", - "no-eval": "error", - "no-extra-bind": "error", - "no-fallthrough": "off", - "no-invalid-this": "error", - "no-irregular-whitespace": "error", - "no-magic-numbers": [ - "error", - { - "ignore": [ - -3, - -2, - -1, - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 20, - 30, - 40, - 50, - 60, - 70, - 80, - 90, - 100 - ] - } - ], - "no-multiple-empty-lines": "error", - "no-new-func": "error", - "no-new-wrappers": "error", - "no-null/no-null": "error", - "no-plusplus": [ - "error", - { - "allowForLoopAfterthoughts": true - } - ], - "no-restricted-syntax": [ - "error", - "ForInStatement" - ], - "no-return-await": "error", - "no-sequences": "error", - "no-sparse-arrays": "error", - "@typescript-eslint/no-redeclare": ["error"], - "@typescript-eslint/no-shadow": ["error"], - "no-template-curly-in-string": "error", - "no-throw-literal": "error", - "no-trailing-spaces": "error", - "no-undef-init": "error", - "no-underscore-dangle": "error", - "no-unsafe-finally": "error", - "no-unused-expressions": "error", - "no-unused-labels": "error", - "no-useless-constructor": "error", - "no-var": "error", - "no-void": "error", - "max-params": [ - "error", - 4 - ], - "object-shorthand": "error", - "one-var": [ - "error", - "never" - ], - "prefer-const": "error", - "prefer-object-spread": "error", - "@typescript-eslint/prefer-readonly": "error", - "quote-props": [ - "error", - "consistent-as-needed" - ], - "radix": "error", - "space-before-function-paren": [ - "error", - { - "anonymous": "never", - "asyncArrow": "always", - "named": "never" - } - ], - "spaced-comment": "error", - "use-isnan": "error", - "valid-typeof": "off", - "sonarjs/max-switch-cases": "error", - "sonarjs/cognitive-complexity": "error", - "sonarjs/no-all-duplicated-branches": "error", - "sonarjs/no-collapsible-if": "error", - "sonarjs/no-collection-size-mischeck": "error", - "sonarjs/no-duplicate-string": "error", - "sonarjs/no-duplicated-branches": "error", - "sonarjs/no-element-overwrite": "error", - "sonarjs/no-identical-conditions": "error", - "sonarjs/no-identical-expressions": "error", - "sonarjs/no-identical-functions": "error", - "sonarjs/no-inverted-boolean-check": "error", - "sonarjs/no-redundant-boolean": "error", - "sonarjs/no-redundant-jump": "error", - "sonarjs/no-same-line-conditional": "error", - "sonarjs/no-useless-catch": "error", - "sonarjs/prefer-immediate-return": "error", - "@typescript-eslint/tslint/config": [ - "error", - { - "rules": { - "ban": [ - true, - { - "message": "use lodash isString", - "name": [ - "util", - "isString" - ] - }, - { - "message": "use lodash isNil", - "name": [ - "util", - "isNullOrUndefined" - ] - } - ], - "import-spacing": true, - "jsdoc-format": [ - true, - "check-multiline-start" - ], - "no-boolean-literal-compare": true, - "no-dynamic-delete": true, - "no-inferred-empty-object-type": true, - "no-reference-import": true, - "object-literal-sort-keys": true, - "one-line": [ - true, - "check-catch", - "check-else", - "check-finally", - "check-open-brace", - "check-whitespace" - ], - "prefer-switch": true, - "strict-type-predicates": true, - "trailing-comma": [ - true, - { - "esSpecCompliant": true, - "multiline": { - "arrays": "always", - "functions": "never", - "object": "always" - }, - "singleline": "never" - } - ], - "whitespace": [ - true, - "check-branch", - "check-decl", - "check-operator", - "check-separator", - "check-type", - "check-typecast", - "check-type-operator", - "check-rest-spread" - ] - } - } - ] - } -} diff --git a/config/rollup.js b/config/rollup.js index 7d98453..9ccf458 100644 --- a/config/rollup.js +++ b/config/rollup.js @@ -102,7 +102,6 @@ const bundle = { namedExports, }), eslint({ - configFile: join('.', 'config', 'eslint.json'), exclude: [ join('node_modules', '**'), join('src', 'resource'), @@ -114,7 +113,7 @@ const bundle = { join('test', '**', '*.ts'), ], throwOnError: true, - useEslintrc: false, + useEslintrc: true, }), typescript({ cacheRoot: join(targetPath, 'cache', 'rts2'), diff --git a/docs/api/js-utils.setorpush.md b/docs/api/js-utils.setorpush.md index 655112a..c8c0a4f 100644 --- a/docs/api/js-utils.setorpush.md +++ b/docs/api/js-utils.setorpush.md @@ -9,7 +9,7 @@ Set a map key to a new array or push to the existing value. Signature: ```typescript -export declare function setOrPush(map: Map>, key: TKey, val: TVal | ReadonlyArray): void; +export declare function setOrPush(map: Map>, key: TKey, val: TVal | ReadonlyArray): Map>; ``` ## Parameters @@ -22,5 +22,5 @@ export declare function setOrPush(map: Map Returns: -void +Map<TKey, ReadonlyArray<TVal>> diff --git a/package.json b/package.json index 4142c6b..26db1e8 100644 --- a/package.json +++ b/package.json @@ -59,19 +59,12 @@ "rollup-plugin-node-externals": "2.2.0", "rollup-plugin-node-resolve": "5.2.0", "rollup-plugin-replace": "2.2.0", - "rollup-plugin-tslint": "0.2.2", "rollup-plugin-typescript2": "0.30.0", "rollup-plugin-yaml": "2.0.0", "sinon": "11.1.1", "sinon-chai": "3.7.0", "source-map-support": "0.5.19", "standard-version": "9.3.0", - "tslint": "6.1.3", - "tslint-clean-code": "0.2.10", - "tslint-consistent-codestyle": "1.16.0", - "tslint-etc": "1.13.10", - "tslint-microsoft-contrib": "6.2.0", - "tslint-sonarts": "1.9.0", "typescript": "4.3.5" }, "nyc": { diff --git a/src/ArrayMapper.ts b/src/ArrayMapper.ts index 5bca57a..38f7044 100644 --- a/src/ArrayMapper.ts +++ b/src/ArrayMapper.ts @@ -52,7 +52,7 @@ export class ArrayMapper { } }); - if (!result.has(this.rest)) { + if (result.has(this.rest) === false) { result.set(this.rest, []); } diff --git a/src/Async.ts b/src/Async.ts index 304bd15..7031e74 100644 --- a/src/Async.ts +++ b/src/Async.ts @@ -6,7 +6,7 @@ import { PredicateC0 } from './Predicate'; * @public */ export function defer(ms: number): Promise { - return new Promise((res, rej) => { + return new Promise((res, _rej) => { setTimeout(() => { res(); }, ms); @@ -14,7 +14,7 @@ export function defer(ms: number): Promise { } export function deferValue(ms: number, val: T): Promise { - return new Promise((res, rej) => { + return new Promise((res, _rej) => { setTimeout(() => { res(val); }, ms); @@ -26,7 +26,7 @@ export function deferValue(ms: number, val: T): Promise { * @public */ export function timeout(ms: number, oper: Promise): Promise { - const limit = new Promise((res, rej) => { + const limit = new Promise((_res, rej) => { setTimeout(() => { rej(new TimeoutError()); }, ms); diff --git a/src/Checklist.ts b/src/Checklist.ts index c9961ec..42344b4 100644 --- a/src/Checklist.ts +++ b/src/Checklist.ts @@ -29,7 +29,7 @@ export class Checklist implements ChecklistOptions { } if (this.mode === ChecklistMode.EXCLUDE) { - return !this.data.includes(value); + return (this.data.includes(value) === false); } return false; diff --git a/src/Env.ts b/src/Env.ts index 908bc23..c379f74 100644 --- a/src/Env.ts +++ b/src/Env.ts @@ -5,6 +5,6 @@ const ENV_DEBUG = 'DEBUG'; * * TODO: check variable value as well */ -export function isDebug() { +export function isDebug(): boolean { return Reflect.has(process.env, ENV_DEBUG); } diff --git a/src/Map.ts b/src/Map.ts index e1336fa..33a9343 100644 --- a/src/Map.ts +++ b/src/Map.ts @@ -59,7 +59,7 @@ export function getHead(map: Map>, key: TK * @public */ export function getHeadOrDefault(map: Map>>, key: TKey, defaultValue: TVal): TVal { - if (!map.has(key)) { + if (map.has(key) === false) { return defaultValue; } @@ -84,13 +84,14 @@ export function getHeadOrDefault(map: Map(map: Map>, key: TKey, val: TVal | ReadonlyArray) { +export function setOrPush(map: Map>, key: TKey, val: TVal | ReadonlyArray): Map> { const prev = map.get(key); if (doesExist(prev)) { map.set(key, mergeArrays(prev, val)); } else { map.set(key, toArray(val)); } + return map; } /** @@ -98,7 +99,7 @@ export function setOrPush(map: Map>, key: * * @public */ -export function mergeMap(target: Map, source: Map | ReadonlyArray<[TKey, TVal]>) { +export function mergeMap(target: Map, source: Map | ReadonlyArray<[TKey, TVal]>): Map { for (const [k, v] of source) { target.set(k, v); } @@ -203,10 +204,13 @@ export function dictValuesToArrays(map: MapLike): Dict> export function normalizeMap(map: MapLike): Dict> { const data: Dict> = {}; for (const [key, value] of makeMap(map)) { + // eslint-disable-next-line no-restricted-syntax if (Array.isArray(value)) { data[key] = value; + // eslint-disable-next-line no-restricted-syntax } else if (typeof value === 'string') { data[key] = [value]; + // eslint-disable-next-line no-restricted-syntax } else if (typeof value === 'number') { data[key] = [value.toString()]; } else if (typeof value === 'object' && doesExist(value)) { diff --git a/src/Maybe.ts b/src/Maybe.ts index dc24782..41dc486 100644 --- a/src/Maybe.ts +++ b/src/Maybe.ts @@ -22,7 +22,7 @@ export function isNone(val: Maybe): val is None { } export function isSome(val: Maybe): val is T { - return !isNone(val); + return isNone(val) === false; } /** @@ -31,7 +31,7 @@ export function isSome(val: Maybe): val is T { * @public */ export function doesExist(val: Maybe): val is T { - return !isNone(val); + return isNone(val) === false; } /** diff --git a/src/Reflect.ts b/src/Reflect.ts index 438a204..cd07188 100644 --- a/src/Reflect.ts +++ b/src/Reflect.ts @@ -11,7 +11,8 @@ type Method = (this: TClass, ...args: Array) => unknown; * * @public */ -export function getConstructor(val: Reflectable) { +// eslint-disable-next-line @typescript-eslint/ban-types +export function getConstructor(val: Reflectable): Function { return val.constructor; } @@ -36,6 +37,7 @@ export function getMethods(value: TValue): Set(value: TValue): Set): Promise { - return new Promise((res, rej) => { + return new Promise((res, _rej) => { function handler(fired: NodeJS.Signals) { for (const s of signals) { process.removeListener(s, handler); diff --git a/src/String.ts b/src/String.ts index eb48a48..150555e 100644 --- a/src/String.ts +++ b/src/String.ts @@ -1,5 +1,6 @@ +export const DEFAULT_TRIM = 8; -export function leftPad(val: string, min = 8, fill = '0'): string { +export function leftPad(val: string, min = DEFAULT_TRIM, fill = '0'): string { if (val.length < min) { const len = min - val.length; const pre = Array(len).fill(fill).join('').slice(0, len); diff --git a/test/harness.ts b/test/harness.ts index dee8447..df38bdd 100644 --- a/test/harness.ts +++ b/test/harness.ts @@ -12,7 +12,7 @@ sourceMapSupport.install({ /** * This will break the whole test run if any test leaks an unhandled rejection. */ -process.on('unhandledRejection', (reason, promise) => { +process.on('unhandledRejection', (reason, _promise) => { // eslint-disable-next-line no-console console.error('unhandled error during tests', reason); process.exit(1); diff --git a/test/utils/TestArray.ts b/test/utils/TestArray.ts index 1104e82..0865edf 100644 --- a/test/utils/TestArray.ts +++ b/test/utils/TestArray.ts @@ -1,3 +1,4 @@ +/* eslint-disable no-magic-numbers */ import { expect } from 'chai'; import { match, stub } from 'sinon'; diff --git a/test/utils/TestMap.ts b/test/utils/TestMap.ts index 366bf08..0378117 100644 --- a/test/utils/TestMap.ts +++ b/test/utils/TestMap.ts @@ -1,3 +1,4 @@ +/* eslint-disable no-magic-numbers */ import { expect } from 'chai'; import { NotFoundError } from '../../src/error/NotFoundError'; @@ -22,10 +23,10 @@ const mapValue = 'value'; const singleItem = new Map([[mapKey, mapValue]]); const multiItem = new Map([ [mapKey, [mapValue]], - /* eslint-disable */ + // eslint-disable-next-line no-null/no-null,@typescript-eslint/no-explicit-any ['nilKey', null as any], + // eslint-disable-next-line no-null/no-null ['nilValue', [null]], - /* eslint-enable */ ]); describe('map utils', async () => { diff --git a/test/utils/TestMaybe.ts b/test/utils/TestMaybe.ts index a668ce1..2f4b725 100644 --- a/test/utils/TestMaybe.ts +++ b/test/utils/TestMaybe.ts @@ -1,3 +1,4 @@ +/* eslint-disable no-magic-numbers */ import { expect } from 'chai'; import { NotFoundError } from '../../src/error/NotFoundError'; diff --git a/test/utils/TestString.ts b/test/utils/TestString.ts index 59c28ff..ffc752c 100644 --- a/test/utils/TestString.ts +++ b/test/utils/TestString.ts @@ -1,3 +1,4 @@ +/* eslint-disable no-magic-numbers */ import { expect } from 'chai'; import { leftPad, trim } from '../../src/String'; diff --git a/yarn.lock b/yarn.lock index cb18655..9ddc357 100644 --- a/yarn.lock +++ b/yarn.lock @@ -154,25 +154,6 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@fimbul/bifrost@^0.21.0": - version "0.21.0" - resolved "https://artifacts.apextoaster.com/repository/group-npm/@fimbul/bifrost/-/bifrost-0.21.0.tgz#d0fafa25938fda475657a6a1e407a21bbe02c74e" - integrity sha512-ou8VU+nTmOW1jeg+FT+sn+an/M0Xb9G16RucrfhjXGWv1Q97kCoM5CG9Qj7GYOSdu7km72k7nY83Eyr53Bkakg== - dependencies: - "@fimbul/ymir" "^0.21.0" - get-caller-file "^2.0.0" - tslib "^1.8.1" - tsutils "^3.5.0" - -"@fimbul/ymir@^0.21.0": - version "0.21.0" - resolved "https://artifacts.apextoaster.com/repository/group-npm/@fimbul/ymir/-/ymir-0.21.0.tgz#8525726787aceeafd4e199472c0d795160b5d4a1" - integrity sha512-T/y7WqPsm4n3zhT08EpB5sfdm2Kvw3gurAxr2Lr5dQeLi8ZsMlNT/Jby+ZmuuAAd1PnXYzKp+2SXgIkQIIMCUg== - dependencies: - inversify "^5.0.0" - reflect-metadata "^0.1.12" - tslib "^1.8.1" - "@humanwhocodes/config-array@^0.5.0": version "0.5.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" @@ -285,13 +266,6 @@ "@nodelib/fs.scandir" "2.1.3" fastq "^1.6.0" -"@phenomnomnominal/tsquery@^4.0.0": - version "4.0.0" - resolved "https://artifacts.apextoaster.com/repository/group-npm/@phenomnomnominal/tsquery/-/tsquery-4.0.0.tgz#610e8ac968137e4a0f98c842c919bb8ad0e85718" - integrity sha512-s2Yet/MCj9Jh6nR6GfldrUPT6Y+aM1jIAdiKcOKEzmeKALT0Tc7SFIkYP3KvzjzbkKK5W7BiJ3cWy2UOa4ITbw== - dependencies: - esquery "^1.0.1" - "@rollup/pluginutils@^4.1.0": version "4.1.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/@rollup/pluginutils/-/pluginutils-4.1.0.tgz#0dcc61c780e39257554feb7f77207dceca13c838" @@ -834,11 +808,6 @@ buffer-from@^1.0.0: resolved "https://artifacts.apextoaster.com/repository/group-npm/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== -builtin-modules@^1.1.1: - version "1.1.1" - resolved "https://artifacts.apextoaster.com/repository/group-npm/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" - integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8= - builtin-modules@^3.1.0: version "3.1.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" @@ -918,7 +887,7 @@ chai@4.3.4: pathval "^1.1.1" type-detect "^4.0.5" -chalk@^2.0.0, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.2: version "2.4.2" resolved "https://artifacts.apextoaster.com/repository/group-npm/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -1024,7 +993,7 @@ colors@~1.2.1: resolved "https://artifacts.apextoaster.com/repository/group-npm/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc" integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== -commander@^2.12.1, commander@^2.7.1, commander@~2.20.0: +commander@^2.7.1, commander@~2.20.0: version "2.20.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== @@ -1368,11 +1337,6 @@ diff@5.0.0, diff@^5.0.0: resolved "https://artifacts.apextoaster.com/repository/group-npm/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== -diff@^4.0.1: - version "4.0.1" - resolved "https://artifacts.apextoaster.com/repository/group-npm/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" - integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== - dir-glob@^3.0.1: version "3.0.1" resolved "https://artifacts.apextoaster.com/repository/group-npm/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -2026,7 +1990,7 @@ functional-red-black-tree@^1.0.1: resolved "https://artifacts.apextoaster.com/repository/group-npm/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -get-caller-file@^2.0.0, get-caller-file@^2.0.1, get-caller-file@^2.0.5: +get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://artifacts.apextoaster.com/repository/group-npm/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -2141,7 +2105,7 @@ glob@7.1.6, glob@^7.0.0, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: +glob@^7.1.2, glob@^7.1.3: version "7.1.4" resolved "https://artifacts.apextoaster.com/repository/group-npm/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== @@ -2329,11 +2293,6 @@ ignore@^5.1.4: resolved "https://artifacts.apextoaster.com/repository/group-npm/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== -immutable@^3.8.2: - version "3.8.2" - resolved "https://artifacts.apextoaster.com/repository/group-npm/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" - integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM= - import-fresh@^3.0.0: version "3.1.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" @@ -2414,11 +2373,6 @@ interpret@^1.0.0: resolved "https://artifacts.apextoaster.com/repository/group-npm/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== -inversify@^5.0.0: - version "5.0.1" - resolved "https://artifacts.apextoaster.com/repository/group-npm/inversify/-/inversify-5.0.1.tgz#500d709b1434896ce5a0d58915c4a4210e34fb6e" - integrity sha512-Ieh06s48WnEYGcqHepdsJUIJUXpwH5o5vodAX+DK2JA/gjy4EbEcQZxw+uFfzysmKjiLXGYwNG3qDZsKVMcINQ== - is-arrayish@^0.2.1: version "0.2.1" resolved "https://artifacts.apextoaster.com/repository/group-npm/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -2991,11 +2945,6 @@ matched@^1.0.2: is-valid-glob "^1.0.0" resolve-dir "^1.0.0" -memoize-decorator@^1.0.2: - version "1.0.2" - resolved "https://artifacts.apextoaster.com/repository/group-npm/memoize-decorator/-/memoize-decorator-1.0.2.tgz#605a41715c4171db192a90098b00ab8d6e1102f5" - integrity sha1-YFpBcVxBcdsZKpAJiwCrjW4RAvU= - meow@^3.3.0: version "3.7.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -3109,13 +3058,6 @@ mkdirp@^0.5.1: dependencies: minimist "0.0.8" -mkdirp@^0.5.3: - version "0.5.4" - resolved "https://artifacts.apextoaster.com/repository/group-npm/mkdirp/-/mkdirp-0.5.4.tgz#fd01504a6797ec5c9be81ff43d204961ed64a512" - integrity sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw== - dependencies: - minimist "^1.2.5" - mocha@8.4.0: version "8.4.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/mocha/-/mocha-8.4.0.tgz#677be88bf15980a3cae03a73e10a0fc3997f0cff" @@ -3774,11 +3716,6 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -reflect-metadata@^0.1.12: - version "0.1.13" - resolved "https://artifacts.apextoaster.com/repository/group-npm/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" - integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== - regexpp@^2.0.1: version "2.0.1" resolved "https://artifacts.apextoaster.com/repository/group-npm/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -3959,15 +3896,6 @@ rollup-plugin-replace@2.2.0: magic-string "^0.25.2" rollup-pluginutils "^2.6.0" -rollup-plugin-tslint@0.2.2: - version "0.2.2" - resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-plugin-tslint/-/rollup-plugin-tslint-0.2.2.tgz#be440f020bffcb6622e3dd8d1b15a5234df833a5" - integrity sha512-1yF7bnDALlqgReMIsNDCNXOYqzCw9A8Ur5AS4RzlY7IsRBKB0yb+wx8ZCh0zBcXCeJP5tx36oqec4aX2Pzzttw== - dependencies: - rollup-pluginutils "^2.0.1" - tslint "^5.9.1" - typescript "^3.0.0" - rollup-plugin-typescript2@0.30.0: version "0.30.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.30.0.tgz#1cc99ac2309bf4b9d0a3ebdbc2002aecd56083d3" @@ -3989,7 +3917,7 @@ rollup-plugin-yaml@2.0.0: rollup-pluginutils "^2.8.2" tosource "^1.0.0" -rollup-pluginutils@^2.0.1, rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.6.0, rollup-pluginutils@^2.7.1, rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: +rollup-pluginutils@^2.5.0, rollup-pluginutils@^2.6.0, rollup-pluginutils@^2.7.1, rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: version "2.8.2" resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== @@ -4042,7 +3970,7 @@ safe-buffer@~5.2.0: resolved "https://artifacts.apextoaster.com/repository/group-npm/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0: +"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0: version "5.7.1" resolved "https://artifacts.apextoaster.com/repository/group-npm/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -4547,133 +4475,11 @@ tslib@2.1.0: resolved "https://artifacts.apextoaster.com/repository/group-npm/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== -tslib@^1.13.0: - version "1.13.0" - resolved "https://artifacts.apextoaster.com/repository/group-npm/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== - -tslib@^1.7.1, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0: +tslib@^1.8.1, tslib@^1.9.0: version "1.10.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== -tslib@^2.0.0: - version "2.0.0" - resolved "https://artifacts.apextoaster.com/repository/group-npm/tslib/-/tslib-2.0.0.tgz#18d13fc2dce04051e20f074cc8387fd8089ce4f3" - integrity sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g== - -tslint-clean-code@0.2.10: - version "0.2.10" - resolved "https://artifacts.apextoaster.com/repository/group-npm/tslint-clean-code/-/tslint-clean-code-0.2.10.tgz#eaba79fb92d52bebf5ee1177054f056b2233fafa" - integrity sha512-MjfU3TVDB+oidhI/uAN/p0ncaqFnPq4L6nYtPvNp/MaFxM52jYtgx1qxf+uTIaQ7KZWZB/P9CpbL7/8WWSzQJg== - dependencies: - memoize-decorator "^1.0.2" - tsutils "2.7.1" - -tslint-consistent-codestyle@1.16.0: - version "1.16.0" - resolved "https://artifacts.apextoaster.com/repository/group-npm/tslint-consistent-codestyle/-/tslint-consistent-codestyle-1.16.0.tgz#52348ea899a7e025b37cc6545751c6a566a19077" - integrity sha512-ebR/xHyMEuU36hGNOgCfjGBNYxBPixf0yU1Yoo6s3BrpBRFccjPOmIVaVvQsWAUAMdmfzHOCihVkcaMfimqvHw== - dependencies: - "@fimbul/bifrost" "^0.21.0" - tslib "^1.7.1" - tsutils "^2.29.0" - -tslint-etc@1.13.10: - version "1.13.10" - resolved "https://artifacts.apextoaster.com/repository/group-npm/tslint-etc/-/tslint-etc-1.13.10.tgz#5700b0d83f0a243cb7d32b0b7ec2662cb5998bce" - integrity sha512-6Rt6zaE9jw4iBkrnpVTlnbnjax/4LyTRrXkm/+nLuuJ6HQzZ/+TmHDAtA6C/VOkSqeOHRXCIen3B38hmIMlxow== - dependencies: - "@phenomnomnominal/tsquery" "^4.0.0" - tslib "^2.0.0" - tsutils "^3.0.0" - tsutils-etc "^1.0.0" - -tslint-microsoft-contrib@6.2.0: - version "6.2.0" - resolved "https://artifacts.apextoaster.com/repository/group-npm/tslint-microsoft-contrib/-/tslint-microsoft-contrib-6.2.0.tgz#8aa0f40584d066d05e6a5e7988da5163b85f2ad4" - integrity sha512-6tfi/2tHqV/3CL77pULBcK+foty11Rr0idRDxKnteTaKm6gWF9qmaCNU17HVssOuwlYNyOmd9Jsmjd+1t3a3qw== - dependencies: - tsutils "^2.27.2 <2.29.0" - -tslint-sonarts@1.9.0: - version "1.9.0" - resolved "https://artifacts.apextoaster.com/repository/group-npm/tslint-sonarts/-/tslint-sonarts-1.9.0.tgz#feb593e92db328c0328b430b838adbe65d504de9" - integrity sha512-CJWt+IiYI8qggb2O/JPkS6CkC5DY1IcqRsm9EHJ+AxoWK70lvtP7jguochyNDMP2vIz/giGdWCfEM39x/I/Vnw== - dependencies: - immutable "^3.8.2" - -tslint@6.1.3: - version "6.1.3" - resolved "https://artifacts.apextoaster.com/repository/group-npm/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904" - integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg== - dependencies: - "@babel/code-frame" "^7.0.0" - builtin-modules "^1.1.1" - chalk "^2.3.0" - commander "^2.12.1" - diff "^4.0.1" - glob "^7.1.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - mkdirp "^0.5.3" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.13.0" - tsutils "^2.29.0" - -tslint@^5.9.1: - version "5.20.0" - resolved "https://artifacts.apextoaster.com/repository/group-npm/tslint/-/tslint-5.20.0.tgz#fac93bfa79568a5a24e7be9cdde5e02b02d00ec1" - integrity sha512-2vqIvkMHbnx8acMogAERQ/IuINOq6DFqgF8/VDvhEkBqQh/x6SP0Y+OHnKth9/ZcHQSroOZwUQSN18v8KKF0/g== - dependencies: - "@babel/code-frame" "^7.0.0" - builtin-modules "^1.1.1" - chalk "^2.3.0" - commander "^2.12.1" - diff "^4.0.1" - glob "^7.1.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - mkdirp "^0.5.1" - resolve "^1.3.2" - semver "^5.3.0" - tslib "^1.8.0" - tsutils "^2.29.0" - -tsutils-etc@^1.0.0: - version "1.1.0" - resolved "https://artifacts.apextoaster.com/repository/group-npm/tsutils-etc/-/tsutils-etc-1.1.0.tgz#82ce1c92da29e07d3cde95692d5c5e8dbdc92fd0" - integrity sha512-pJlLtLmQPUyGHqY/Pq6EGnpGmQCnnTDZetQ7eWkeQ5xaw4GtfcR1Zt7HMKFHGDDp53HzQfbqQ+7ps6iJbfa9Hw== - -tsutils@2.7.1: - version "2.7.1" - resolved "https://artifacts.apextoaster.com/repository/group-npm/tsutils/-/tsutils-2.7.1.tgz#411a0e9466525a2b2869260a55620d7292155e24" - integrity sha1-QRoOlGZSWisoaSYKVWINcpIVXiQ= - dependencies: - tslib "^1.7.1" - -"tsutils@^2.27.2 <2.29.0": - version "2.28.0" - resolved "https://artifacts.apextoaster.com/repository/group-npm/tsutils/-/tsutils-2.28.0.tgz#6bd71e160828f9d019b6f4e844742228f85169a1" - integrity sha512-bh5nAtW0tuhvOJnx1GLRn5ScraRLICGyJV5wJhtRWOLsxW70Kk5tZtpK3O/hW6LDnqKS9mlUMPZj9fEMJ0gxqA== - dependencies: - tslib "^1.8.1" - -tsutils@^2.29.0: - version "2.29.0" - resolved "https://artifacts.apextoaster.com/repository/group-npm/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99" - integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA== - dependencies: - tslib "^1.8.1" - -tsutils@^3.0.0, tsutils@^3.5.0: - version "3.17.1" - resolved "https://artifacts.apextoaster.com/repository/group-npm/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" - integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== - dependencies: - tslib "^1.8.1" - tsutils@^3.21.0: version "3.21.0" resolved "https://artifacts.apextoaster.com/repository/group-npm/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -4747,11 +4553,6 @@ typescript@4.3.5: resolved "https://artifacts.apextoaster.com/repository/group-npm/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4" integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA== -typescript@^3.0.0: - version "3.6.3" - resolved "https://artifacts.apextoaster.com/repository/group-npm/typescript/-/typescript-3.6.3.tgz#fea942fabb20f7e1ca7164ff626f1a9f3f70b4da" - integrity sha512-N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw== - typescript@~4.3.2: version "4.3.2" resolved "https://artifacts.apextoaster.com/repository/group-npm/typescript/-/typescript-4.3.2.tgz#399ab18aac45802d6f2498de5054fcbbe716a805"