1
0
Fork 0

feat(build): update eslint config, remove tslint plugins

This commit is contained in:
ssube 2021-07-10 17:32:47 -05:00
parent 08ac252bcd
commit d55efc57a1
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
20 changed files with 441 additions and 662 deletions

402
.eslintrc.js Normal file
View File

@ -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"
}
}

View File

@ -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"
]
}
}
]
}
}

View File

@ -102,7 +102,6 @@ const bundle = {
namedExports, namedExports,
}), }),
eslint({ eslint({
configFile: join('.', 'config', 'eslint.json'),
exclude: [ exclude: [
join('node_modules', '**'), join('node_modules', '**'),
join('src', 'resource'), join('src', 'resource'),
@ -114,7 +113,7 @@ const bundle = {
join('test', '**', '*.ts'), join('test', '**', '*.ts'),
], ],
throwOnError: true, throwOnError: true,
useEslintrc: false, useEslintrc: true,
}), }),
typescript({ typescript({
cacheRoot: join(targetPath, 'cache', 'rts2'), cacheRoot: join(targetPath, 'cache', 'rts2'),

View File

@ -9,7 +9,7 @@ Set a map key to a new array or push to the existing value.
<b>Signature:</b> <b>Signature:</b>
```typescript ```typescript
export declare function setOrPush<TKey, TVal>(map: Map<TKey, ReadonlyArray<TVal>>, key: TKey, val: TVal | ReadonlyArray<TVal>): void; export declare function setOrPush<TKey, TVal>(map: Map<TKey, ReadonlyArray<TVal>>, key: TKey, val: TVal | ReadonlyArray<TVal>): Map<TKey, ReadonlyArray<TVal>>;
``` ```
## Parameters ## Parameters
@ -22,5 +22,5 @@ export declare function setOrPush<TKey, TVal>(map: Map<TKey, ReadonlyArray<TVal>
<b>Returns:</b> <b>Returns:</b>
void Map&lt;TKey, ReadonlyArray&lt;TVal&gt;&gt;

View File

@ -59,19 +59,12 @@
"rollup-plugin-node-externals": "2.2.0", "rollup-plugin-node-externals": "2.2.0",
"rollup-plugin-node-resolve": "5.2.0", "rollup-plugin-node-resolve": "5.2.0",
"rollup-plugin-replace": "2.2.0", "rollup-plugin-replace": "2.2.0",
"rollup-plugin-tslint": "0.2.2",
"rollup-plugin-typescript2": "0.30.0", "rollup-plugin-typescript2": "0.30.0",
"rollup-plugin-yaml": "2.0.0", "rollup-plugin-yaml": "2.0.0",
"sinon": "11.1.1", "sinon": "11.1.1",
"sinon-chai": "3.7.0", "sinon-chai": "3.7.0",
"source-map-support": "0.5.19", "source-map-support": "0.5.19",
"standard-version": "9.3.0", "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" "typescript": "4.3.5"
}, },
"nyc": { "nyc": {

View File

@ -52,7 +52,7 @@ export class ArrayMapper {
} }
}); });
if (!result.has(this.rest)) { if (result.has(this.rest) === false) {
result.set(this.rest, []); result.set(this.rest, []);
} }

View File

@ -6,7 +6,7 @@ import { PredicateC0 } from './Predicate';
* @public * @public
*/ */
export function defer(ms: number): Promise<void> { export function defer(ms: number): Promise<void> {
return new Promise((res, rej) => { return new Promise((res, _rej) => {
setTimeout(() => { setTimeout(() => {
res(); res();
}, ms); }, ms);
@ -14,7 +14,7 @@ export function defer(ms: number): Promise<void> {
} }
export function deferValue<T>(ms: number, val: T): Promise<T> { export function deferValue<T>(ms: number, val: T): Promise<T> {
return new Promise((res, rej) => { return new Promise((res, _rej) => {
setTimeout(() => { setTimeout(() => {
res(val); res(val);
}, ms); }, ms);
@ -26,7 +26,7 @@ export function deferValue<T>(ms: number, val: T): Promise<T> {
* @public * @public
*/ */
export function timeout<T>(ms: number, oper: Promise<T>): Promise<T> { export function timeout<T>(ms: number, oper: Promise<T>): Promise<T> {
const limit = new Promise<T>((res, rej) => { const limit = new Promise<T>((_res, rej) => {
setTimeout(() => { setTimeout(() => {
rej(new TimeoutError()); rej(new TimeoutError());
}, ms); }, ms);

View File

@ -29,7 +29,7 @@ export class Checklist<T> implements ChecklistOptions<T> {
} }
if (this.mode === ChecklistMode.EXCLUDE) { if (this.mode === ChecklistMode.EXCLUDE) {
return !this.data.includes(value); return (this.data.includes(value) === false);
} }
return false; return false;

View File

@ -5,6 +5,6 @@ const ENV_DEBUG = 'DEBUG';
* *
* TODO: check variable value as well * TODO: check variable value as well
*/ */
export function isDebug() { export function isDebug(): boolean {
return Reflect.has(process.env, ENV_DEBUG); return Reflect.has(process.env, ENV_DEBUG);
} }

View File

@ -59,7 +59,7 @@ export function getHead<TKey, TVal>(map: Map<TKey, ReadonlyArray<TVal>>, key: TK
* @public * @public
*/ */
export function getHeadOrDefault<TKey, TVal>(map: Map<TKey, ReadonlyArray<Maybe<TVal>>>, key: TKey, defaultValue: TVal): TVal { export function getHeadOrDefault<TKey, TVal>(map: Map<TKey, ReadonlyArray<Maybe<TVal>>>, key: TKey, defaultValue: TVal): TVal {
if (!map.has(key)) { if (map.has(key) === false) {
return defaultValue; return defaultValue;
} }
@ -84,13 +84,14 @@ export function getHeadOrDefault<TKey, TVal>(map: Map<TKey, ReadonlyArray<Maybe<
* *
* @public * @public
*/ */
export function setOrPush<TKey, TVal>(map: Map<TKey, ReadonlyArray<TVal>>, key: TKey, val: TVal | ReadonlyArray<TVal>) { export function setOrPush<TKey, TVal>(map: Map<TKey, ReadonlyArray<TVal>>, key: TKey, val: TVal | ReadonlyArray<TVal>): Map<TKey, ReadonlyArray<TVal>> {
const prev = map.get(key); const prev = map.get(key);
if (doesExist(prev)) { if (doesExist(prev)) {
map.set(key, mergeArrays(prev, val)); map.set(key, mergeArrays(prev, val));
} else { } else {
map.set(key, toArray(val)); map.set(key, toArray(val));
} }
return map;
} }
/** /**
@ -98,7 +99,7 @@ export function setOrPush<TKey, TVal>(map: Map<TKey, ReadonlyArray<TVal>>, key:
* *
* @public * @public
*/ */
export function mergeMap<TKey, TVal>(target: Map<TKey, TVal>, source: Map<TKey, TVal> | ReadonlyArray<[TKey, TVal]>) { export function mergeMap<TKey, TVal>(target: Map<TKey, TVal>, source: Map<TKey, TVal> | ReadonlyArray<[TKey, TVal]>): Map<TKey, TVal> {
for (const [k, v] of source) { for (const [k, v] of source) {
target.set(k, v); target.set(k, v);
} }
@ -203,10 +204,13 @@ export function dictValuesToArrays<TVal>(map: MapLike<TVal>): Dict<Array<TVal>>
export function normalizeMap(map: MapLike<unknown>): Dict<Array<string>> { export function normalizeMap(map: MapLike<unknown>): Dict<Array<string>> {
const data: Dict<Array<string>> = {}; const data: Dict<Array<string>> = {};
for (const [key, value] of makeMap(map)) { for (const [key, value] of makeMap(map)) {
// eslint-disable-next-line no-restricted-syntax
if (Array.isArray(value)) { if (Array.isArray(value)) {
data[key] = value; data[key] = value;
// eslint-disable-next-line no-restricted-syntax
} else if (typeof value === 'string') { } else if (typeof value === 'string') {
data[key] = [value]; data[key] = [value];
// eslint-disable-next-line no-restricted-syntax
} else if (typeof value === 'number') { } else if (typeof value === 'number') {
data[key] = [value.toString()]; data[key] = [value.toString()];
} else if (typeof value === 'object' && doesExist(value)) { } else if (typeof value === 'object' && doesExist(value)) {

View File

@ -22,7 +22,7 @@ export function isNone<T>(val: Maybe<T>): val is None {
} }
export function isSome<T>(val: Maybe<T>): val is T { export function isSome<T>(val: Maybe<T>): val is T {
return !isNone(val); return isNone(val) === false;
} }
/** /**
@ -31,7 +31,7 @@ export function isSome<T>(val: Maybe<T>): val is T {
* @public * @public
*/ */
export function doesExist<T>(val: Maybe<T>): val is T { export function doesExist<T>(val: Maybe<T>): val is T {
return !isNone(val); return isNone(val) === false;
} }
/** /**

View File

@ -11,7 +11,8 @@ type Method<TClass> = (this: TClass, ...args: Array<unknown>) => unknown;
* *
* @public * @public
*/ */
export function getConstructor(val: Reflectable) { // eslint-disable-next-line @typescript-eslint/ban-types
export function getConstructor(val: Reflectable): Function {
return val.constructor; return val.constructor;
} }
@ -36,6 +37,7 @@ export function getMethods<TValue extends Reflectable>(value: TValue): Set<Metho
} }
const proto = Reflect.getPrototypeOf(value); const proto = Reflect.getPrototypeOf(value);
// eslint-disable-next-line no-restricted-syntax
if (proto !== value && doesExist(proto)) { if (proto !== value && doesExist(proto)) {
for (const m of getMethods(proto)) { for (const m of getMethods(proto)) {
methods.add(m); methods.add(m);
@ -50,7 +52,7 @@ export function getMethods<TValue extends Reflectable>(value: TValue): Set<Metho
* *
* @public * @public
*/ */
export function constructorName(val: Reflectable) { export function constructorName(val: Reflectable): string {
const proto = Reflect.getPrototypeOf(val); const proto = Reflect.getPrototypeOf(val);
if (isNone(proto)) { if (isNone(proto)) {
throw new InvalidArgumentError('value has no prototype'); throw new InvalidArgumentError('value has no prototype');

View File

@ -3,7 +3,7 @@ export const SIGNAL_RESET: NodeJS.Signals = 'SIGINT';
export const SIGNAL_STOP: NodeJS.Signals = 'SIGTERM'; export const SIGNAL_STOP: NodeJS.Signals = 'SIGTERM';
export function signal(...signals: Array<NodeJS.Signals>): Promise<NodeJS.Signals> { export function signal(...signals: Array<NodeJS.Signals>): Promise<NodeJS.Signals> {
return new Promise((res, rej) => { return new Promise((res, _rej) => {
function handler(fired: NodeJS.Signals) { function handler(fired: NodeJS.Signals) {
for (const s of signals) { for (const s of signals) {
process.removeListener(s, handler); process.removeListener(s, handler);

View File

@ -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) { if (val.length < min) {
const len = min - val.length; const len = min - val.length;
const pre = Array(len).fill(fill).join('').slice(0, len); const pre = Array(len).fill(fill).join('').slice(0, len);

View File

@ -12,7 +12,7 @@ sourceMapSupport.install({
/** /**
* This will break the whole test run if any test leaks an unhandled rejection. * 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 // eslint-disable-next-line no-console
console.error('unhandled error during tests', reason); console.error('unhandled error during tests', reason);
process.exit(1); process.exit(1);

View File

@ -1,3 +1,4 @@
/* eslint-disable no-magic-numbers */
import { expect } from 'chai'; import { expect } from 'chai';
import { match, stub } from 'sinon'; import { match, stub } from 'sinon';

View File

@ -1,3 +1,4 @@
/* eslint-disable no-magic-numbers */
import { expect } from 'chai'; import { expect } from 'chai';
import { NotFoundError } from '../../src/error/NotFoundError'; import { NotFoundError } from '../../src/error/NotFoundError';
@ -22,10 +23,10 @@ const mapValue = 'value';
const singleItem = new Map([[mapKey, mapValue]]); const singleItem = new Map([[mapKey, mapValue]]);
const multiItem = new Map([ const multiItem = new Map([
[mapKey, [mapValue]], [mapKey, [mapValue]],
/* eslint-disable */ // eslint-disable-next-line no-null/no-null,@typescript-eslint/no-explicit-any
['nilKey', null as any], ['nilKey', null as any],
// eslint-disable-next-line no-null/no-null
['nilValue', [null]], ['nilValue', [null]],
/* eslint-enable */
]); ]);
describe('map utils', async () => { describe('map utils', async () => {

View File

@ -1,3 +1,4 @@
/* eslint-disable no-magic-numbers */
import { expect } from 'chai'; import { expect } from 'chai';
import { NotFoundError } from '../../src/error/NotFoundError'; import { NotFoundError } from '../../src/error/NotFoundError';

View File

@ -1,3 +1,4 @@
/* eslint-disable no-magic-numbers */
import { expect } from 'chai'; import { expect } from 'chai';
import { leftPad, trim } from '../../src/String'; import { leftPad, trim } from '../../src/String';

213
yarn.lock
View File

@ -154,25 +154,6 @@
minimatch "^3.0.4" minimatch "^3.0.4"
strip-json-comments "^3.1.1" 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": "@humanwhocodes/config-array@^0.5.0":
version "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" 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" "@nodelib/fs.scandir" "2.1.3"
fastq "^1.6.0" 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": "@rollup/pluginutils@^4.1.0":
version "4.1.0" version "4.1.0"
resolved "https://artifacts.apextoaster.com/repository/group-npm/@rollup/pluginutils/-/pluginutils-4.1.0.tgz#0dcc61c780e39257554feb7f77207dceca13c838" 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" resolved "https://artifacts.apextoaster.com/repository/group-npm/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 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: builtin-modules@^3.1.0:
version "3.1.0" version "3.1.0"
resolved "https://artifacts.apextoaster.com/repository/group-npm/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" 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" pathval "^1.1.1"
type-detect "^4.0.5" 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" version "2.4.2"
resolved "https://artifacts.apextoaster.com/repository/group-npm/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" resolved "https://artifacts.apextoaster.com/repository/group-npm/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 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" resolved "https://artifacts.apextoaster.com/repository/group-npm/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc"
integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== 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" version "2.20.0"
resolved "https://artifacts.apextoaster.com/repository/group-npm/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" resolved "https://artifacts.apextoaster.com/repository/group-npm/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422"
integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== 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" resolved "https://artifacts.apextoaster.com/repository/group-npm/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b"
integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== 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: dir-glob@^3.0.1:
version "3.0.1" version "3.0.1"
resolved "https://artifacts.apextoaster.com/repository/group-npm/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 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" resolved "https://artifacts.apextoaster.com/repository/group-npm/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 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" version "2.0.5"
resolved "https://artifacts.apextoaster.com/repository/group-npm/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" resolved "https://artifacts.apextoaster.com/repository/group-npm/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 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" once "^1.3.0"
path-is-absolute "^1.0.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" version "7.1.4"
resolved "https://artifacts.apextoaster.com/repository/group-npm/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" resolved "https://artifacts.apextoaster.com/repository/group-npm/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== 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" resolved "https://artifacts.apextoaster.com/repository/group-npm/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"
integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== 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: import-fresh@^3.0.0:
version "3.1.0" version "3.1.0"
resolved "https://artifacts.apextoaster.com/repository/group-npm/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118" 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" resolved "https://artifacts.apextoaster.com/repository/group-npm/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== 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: is-arrayish@^0.2.1:
version "0.2.1" version "0.2.1"
resolved "https://artifacts.apextoaster.com/repository/group-npm/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 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" is-valid-glob "^1.0.0"
resolve-dir "^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: meow@^3.3.0:
version "3.7.0" version "3.7.0"
resolved "https://artifacts.apextoaster.com/repository/group-npm/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" resolved "https://artifacts.apextoaster.com/repository/group-npm/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
@ -3109,13 +3058,6 @@ mkdirp@^0.5.1:
dependencies: dependencies:
minimist "0.0.8" 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: mocha@8.4.0:
version "8.4.0" version "8.4.0"
resolved "https://artifacts.apextoaster.com/repository/group-npm/mocha/-/mocha-8.4.0.tgz#677be88bf15980a3cae03a73e10a0fc3997f0cff" 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" indent-string "^4.0.0"
strip-indent "^3.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: regexpp@^2.0.1:
version "2.0.1" version "2.0.1"
resolved "https://artifacts.apextoaster.com/repository/group-npm/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" 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" magic-string "^0.25.2"
rollup-pluginutils "^2.6.0" 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: rollup-plugin-typescript2@0.30.0:
version "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" 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" rollup-pluginutils "^2.8.2"
tosource "^1.0.0" 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" version "2.8.2"
resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" resolved "https://artifacts.apextoaster.com/repository/group-npm/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e"
integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== 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" resolved "https://artifacts.apextoaster.com/repository/group-npm/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 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" version "5.7.1"
resolved "https://artifacts.apextoaster.com/repository/group-npm/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" resolved "https://artifacts.apextoaster.com/repository/group-npm/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 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" resolved "https://artifacts.apextoaster.com/repository/group-npm/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a"
integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A== integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==
tslib@^1.13.0: tslib@^1.8.1, tslib@^1.9.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:
version "1.10.0" version "1.10.0"
resolved "https://artifacts.apextoaster.com/repository/group-npm/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" resolved "https://artifacts.apextoaster.com/repository/group-npm/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== 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: tsutils@^3.21.0:
version "3.21.0" version "3.21.0"
resolved "https://artifacts.apextoaster.com/repository/group-npm/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" 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" resolved "https://artifacts.apextoaster.com/repository/group-npm/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4"
integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA== 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: typescript@~4.3.2:
version "4.3.2" version "4.3.2"
resolved "https://artifacts.apextoaster.com/repository/group-npm/typescript/-/typescript-4.3.2.tgz#399ab18aac45802d6f2498de5054fcbbe716a805" resolved "https://artifacts.apextoaster.com/repository/group-npm/typescript/-/typescript-4.3.2.tgz#399ab18aac45802d6f2498de5054fcbbe716a805"