From 399a0b03aa831f25511bb3391702c10dc5c4a488 Mon Sep 17 00:00:00 2001 From: Mike Donnalley Date: Wed, 27 Jan 2021 21:35:37 -0700 Subject: [PATCH] feat: update typescript version (#109) --- packages/dev-config/tsconfig.json | 4 +- packages/dev-scripts/package.json | 2 +- .../package.json | 4 +- packages/kit/.eslintrc.js | 3 + packages/kit/.sfdevrc.json | 3 +- packages/kit/package.json | 6 +- packages/kit/src/creatable.ts | 4 +- packages/kit/src/duration.ts | 1 + packages/kit/src/nodash/.eslintrc | 4 +- packages/kit/src/nodash/external.ts | 2 +- packages/kit/test/.eslintrc.js | 1 + packages/kit/test/duration.test.ts | 18 +- packages/kit/test/nodash/external.test.ts | 2 +- packages/lazy-require/.eslintrc.js | 7 + packages/lazy-require/.sfdevrc.json | 3 +- packages/lazy-require/package.json | 6 +- packages/lazy-require/src/LazyLoader.ts | 2 +- packages/require-analytics/.eslintrc.js | 11 ++ packages/require-analytics/.sfdevrc.json | 4 +- packages/require-analytics/package.json | 6 +- packages/require-analytics/src/index.ts | 4 - packages/ts-sinon/.eslintrc.js | 7 + packages/ts-sinon/.sfdevrc.json | 3 +- packages/ts-sinon/package.json | 6 +- packages/ts-types/.eslintrc.js | 1 + packages/ts-types/package.json | 6 +- packages/ts-types/src/experimental/index.ts | 2 +- packages/ts-types/src/narrowing/to.ts | 2 +- yarn.lock | 179 ++++++++++++++---- 29 files changed, 216 insertions(+), 87 deletions(-) diff --git a/packages/dev-config/tsconfig.json b/packages/dev-config/tsconfig.json index 01adcf67..9d0641eb 100644 --- a/packages/dev-config/tsconfig.json +++ b/packages/dev-config/tsconfig.json @@ -1,8 +1,8 @@ { "compilerOptions": { "module": "commonjs", - "target": "es2017", - "lib": ["es2017"], + "target": "es2019", + "lib": ["es2019"], "sourceMap": true, "declaration": true, "moduleResolution": "node", diff --git a/packages/dev-scripts/package.json b/packages/dev-scripts/package.json index 2af4a342..e7a1956c 100644 --- a/packages/dev-scripts/package.json +++ b/packages/dev-scripts/package.json @@ -70,7 +70,7 @@ "ts-node": "^8.10.2", "typedoc": "~0.18.0", "typedoc-plugin-external-module-name": "~4.0.0", - "typescript": "^3.9.3", + "typescript": "^4.1.3", "xunit-file": "^1.0.0" }, "publishConfig": { diff --git a/packages/eslint-config-salesforce-typescript/package.json b/packages/eslint-config-salesforce-typescript/package.json index 98ec20f1..0448acf5 100644 --- a/packages/eslint-config-salesforce-typescript/package.json +++ b/packages/eslint-config-salesforce-typescript/package.json @@ -22,8 +22,8 @@ "url": "https://github.com/forcedotcom/sfdx-dev-packages/issues" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^2.30.0", - "@typescript-eslint/parser": "^2.30.0", + "@typescript-eslint/eslint-plugin": "^4.2.0", + "@typescript-eslint/parser": "^4.2.0", "eslint": "^6.8.0", "eslint-config-prettier": "^6.11.0", "eslint-config-salesforce-license": "^0.1.0", diff --git a/packages/kit/.eslintrc.js b/packages/kit/.eslintrc.js index b70f8905..8332c45b 100644 --- a/packages/kit/.eslintrc.js +++ b/packages/kit/.eslintrc.js @@ -10,4 +10,7 @@ module.exports = { extends: ['eslint-config-salesforce-typescript', 'eslint-config-salesforce-license'], + rules: { + '@typescript-eslint/ban-types': 'off' + } }; diff --git a/packages/kit/.sfdevrc.json b/packages/kit/.sfdevrc.json index 2f183535..2e03dc31 100644 --- a/packages/kit/.sfdevrc.json +++ b/packages/kit/.sfdevrc.json @@ -1,4 +1,3 @@ { - "$schema": "../dev-scripts/sfdevrc.schema.json", - "strict": true + "$schema": "../dev-scripts/sfdevrc.schema.json" } diff --git a/packages/kit/package.json b/packages/kit/package.json index 483f5782..ea7cb441 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -34,8 +34,8 @@ "@salesforce/dev-config": "^2.0.0", "@salesforce/dev-scripts": "^0.6.3", "@salesforce/prettier-config": "^0.0.1", - "@typescript-eslint/eslint-plugin": "^2.30.0", - "@typescript-eslint/parser": "^2.30.0", + "@typescript-eslint/eslint-plugin": "^4.2.0", + "@typescript-eslint/parser": "^4.2.0", "chai": "^4.2.0", "eslint": "^6.8.0", "eslint-config-prettier": "^6.11.0", @@ -54,6 +54,6 @@ "pretty-quick": "^2.0.1", "sinon": "^9.0.2", "ts-node": "^8.10.2", - "typescript": "^3.9.3" + "typescript": "^4.1.3" } } diff --git a/packages/kit/src/creatable.ts b/packages/kit/src/creatable.ts index 7aeb61f7..bf0a84f0 100644 --- a/packages/kit/src/creatable.ts +++ b/packages/kit/src/creatable.ts @@ -25,7 +25,7 @@ export abstract class AsyncCreatable { * * @param options An options object providing initialization params to the async constructor. */ - public static async create>(this: new (options: P) => T, options: P): Promise { + public static async create>(this: new (opts: P) => T, options: P): Promise { const instance = new this(options); await instance.init(); return instance; @@ -58,7 +58,7 @@ export abstract class AsyncOptionalCreatable { * @param options An options object providing initialization params to the async constructor. */ public static async create>( - this: new (options?: P) => T, + this: new (opts?: P) => T, options?: P ): Promise { const instance = new this(options); diff --git a/packages/kit/src/duration.ts b/packages/kit/src/duration.ts index 4af8e281..42fb6c5b 100644 --- a/packages/kit/src/duration.ts +++ b/packages/kit/src/duration.ts @@ -280,6 +280,7 @@ export namespace Duration { /** * Units of duration. */ + // eslint-disable-next-line no-shadow export enum Unit { MINUTES, MILLISECONDS, diff --git a/packages/kit/src/nodash/.eslintrc b/packages/kit/src/nodash/.eslintrc index 9c453db2..41a5583f 100644 --- a/packages/kit/src/nodash/.eslintrc +++ b/packages/kit/src/nodash/.eslintrc @@ -1,6 +1,8 @@ { "extends": "../../.eslintrc", "rules": { - "@typescript-eslint/ban-types": "off" + "@typescript-eslint/no-unsafe-call": "off", + "@typescript-eslint/no-unsafe-member-access": "off", + "@typescript-eslint/no-unsafe-return": "off" } } diff --git a/packages/kit/src/nodash/external.ts b/packages/kit/src/nodash/external.ts index 7114114d..ad30d24a 100644 --- a/packages/kit/src/nodash/external.ts +++ b/packages/kit/src/nodash/external.ts @@ -18,7 +18,7 @@ // published in the lodash documentation for that fn. import { AnyFunction, Dictionary, Many, Nullable, Optional } from '@salesforce/ts-types'; -// eslint-disable-next-line @typescript-eslint/ban-ts-ignore +// eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore ignore the demand for typings for the locally built lodash import * as _ from '../../vendor/lodash'; import { ListIteratee, NumericDictionary, ObjectIteratee, Omit, ValueIteratee, ValueIterateeCustom } from './support'; diff --git a/packages/kit/test/.eslintrc.js b/packages/kit/test/.eslintrc.js index b98fb7d4..bc386067 100644 --- a/packages/kit/test/.eslintrc.js +++ b/packages/kit/test/.eslintrc.js @@ -24,5 +24,6 @@ module.exports = { '@typescript-eslint/no-empty-function': 'off', // Easily return a promise in a mocked method. '@typescript-eslint/require-await': 'off', + 'no-shadow': 'off' }, }; diff --git a/packages/kit/test/duration.test.ts b/packages/kit/test/duration.test.ts index 9fefb2fe..01291ec3 100644 --- a/packages/kit/test/duration.test.ts +++ b/packages/kit/test/duration.test.ts @@ -214,33 +214,33 @@ describe('duration', () => { describe('as strings', () => { it('should print 0 regardless of unit', () => { - expect(new Duration(0, Duration.Unit.MILLISECONDS) + '').to.equal('0 milliseconds'); - expect(new Duration(0, Duration.Unit.SECONDS) + '').to.equal('0 seconds'); - expect(new Duration(0, Duration.Unit.MINUTES) + '').to.equal('0 minutes'); + expect(new Duration(0, Duration.Unit.MILLISECONDS).toString()).to.equal('0 milliseconds'); + expect(new Duration(0, Duration.Unit.SECONDS).toString()).to.equal('0 seconds'); + expect(new Duration(0, Duration.Unit.MINUTES).toString()).to.equal('0 minutes'); }); it('should print minute', () => { const duration = new Duration(1); - expect(duration + '').to.equal('1 minute'); + expect(duration.toString()).to.equal('1 minute'); }); it('should print minutes', () => { const duration = new Duration(2); - expect(duration + '').to.equal('2 minutes'); + expect(duration.toString()).to.equal('2 minutes'); }); it('should print second', () => { const duration = new Duration(1, Duration.Unit.SECONDS); - expect(duration + '').to.equal('1 second'); + expect(duration.toString()).to.equal('1 second'); }); it('should print seconds', () => { const duration = new Duration(2, Duration.Unit.SECONDS); - expect(duration + '').to.equal('2 seconds'); + expect(duration.toString()).to.equal('2 seconds'); }); it('should print millisecond', () => { const duration = new Duration(1, Duration.Unit.MILLISECONDS); - expect(duration + '').to.equal('1 millisecond'); + expect(duration.toString()).to.equal('1 millisecond'); }); it('should print millisecond', () => { const duration = new Duration(2, Duration.Unit.MILLISECONDS); - expect(duration + '').to.equal('2 milliseconds'); + expect(duration.toString()).to.equal('2 milliseconds'); }); }); diff --git a/packages/kit/test/nodash/external.test.ts b/packages/kit/test/nodash/external.test.ts index ccc1d66f..28cc6e83 100644 --- a/packages/kit/test/nodash/external.test.ts +++ b/packages/kit/test/nodash/external.test.ts @@ -65,7 +65,7 @@ describe('nodash', () => { describe('mapKeys', () => { it('should map the keys of an object', () => { const obj = { a: 1, b: 2 }; - const result = _.mapKeys(obj, (value, key) => key + value); + const result = _.mapKeys(obj, (value, key) => `${key}${value}`); expect(result).to.deep.equal({ a1: 1, b2: 2 }); }); }); diff --git a/packages/lazy-require/.eslintrc.js b/packages/lazy-require/.eslintrc.js index b70f8905..f3d6357f 100644 --- a/packages/lazy-require/.eslintrc.js +++ b/packages/lazy-require/.eslintrc.js @@ -10,4 +10,11 @@ module.exports = { extends: ['eslint-config-salesforce-typescript', 'eslint-config-salesforce-license'], + rules: { + '@typescript-eslint/ban-types': 'off', + '@typescript-eslint/no-unsafe-return': 'off', + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + } }; diff --git a/packages/lazy-require/.sfdevrc.json b/packages/lazy-require/.sfdevrc.json index 2f183535..2e03dc31 100644 --- a/packages/lazy-require/.sfdevrc.json +++ b/packages/lazy-require/.sfdevrc.json @@ -1,4 +1,3 @@ { - "$schema": "../dev-scripts/sfdevrc.schema.json", - "strict": true + "$schema": "../dev-scripts/sfdevrc.schema.json" } diff --git a/packages/lazy-require/package.json b/packages/lazy-require/package.json index 086312f0..36c87628 100644 --- a/packages/lazy-require/package.json +++ b/packages/lazy-require/package.json @@ -21,8 +21,8 @@ "@salesforce/prettier-config": "^0.0.1", "@salesforce/ts-sinon": "^1.2.4", "@types/debug": "^0.0.31", - "@typescript-eslint/eslint-plugin": "^2.30.0", - "@typescript-eslint/parser": "^2.30.0", + "@typescript-eslint/eslint-plugin": "^4.2.0", + "@typescript-eslint/parser": "^4.2.0", "chai": "^4.2.0", "eslint": "^6.8.0", "eslint-config-prettier": "^6.11.0", @@ -40,7 +40,7 @@ "pretty-quick": "^2.0.1", "sinon": "^9.0.2", "ts-node": "^8.10.2", - "typescript": "^3.9.3" + "typescript": "^4.1.3" }, "scripts": { "build": "sf-build", diff --git a/packages/lazy-require/src/LazyLoader.ts b/packages/lazy-require/src/LazyLoader.ts index 6d9f58db..63621d4e 100644 --- a/packages/lazy-require/src/LazyLoader.ts +++ b/packages/lazy-require/src/LazyLoader.ts @@ -7,7 +7,7 @@ // This file does a lot of trickery with low level javascript and proxies. So turn off some eslint features. /* eslint-disable @typescript-eslint/no-explicit-any */ -/* eslint-disable @typescript-eslint/ban-ts-ignore */ +/* eslint-disable @typescript-eslint/ban-ts-comment */ /* eslint-disable no-underscore-dangle */ /** diff --git a/packages/require-analytics/.eslintrc.js b/packages/require-analytics/.eslintrc.js index b70f8905..c8327e11 100644 --- a/packages/require-analytics/.eslintrc.js +++ b/packages/require-analytics/.eslintrc.js @@ -10,4 +10,15 @@ module.exports = { extends: ['eslint-config-salesforce-typescript', 'eslint-config-salesforce-license'], + rules: { + 'no-underscore-dangle': 'off', + '@typescript-eslint/no-var-requires': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/explicit-module-boundary-types': 'off', + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-return': 'off', + '@typescript-eslint/ban-types': 'off' + } }; diff --git a/packages/require-analytics/.sfdevrc.json b/packages/require-analytics/.sfdevrc.json index 08a33821..0967ef42 100644 --- a/packages/require-analytics/.sfdevrc.json +++ b/packages/require-analytics/.sfdevrc.json @@ -1,3 +1 @@ -{ - "strict": true -} +{} diff --git a/packages/require-analytics/package.json b/packages/require-analytics/package.json index f2d9af92..c4d63764 100644 --- a/packages/require-analytics/package.json +++ b/packages/require-analytics/package.json @@ -27,8 +27,8 @@ "@salesforce/dev-config": "^2.0.0", "@salesforce/dev-scripts": "^0.6.3", "@salesforce/prettier-config": "^0.0.1", - "@typescript-eslint/eslint-plugin": "^2.30.0", - "@typescript-eslint/parser": "^2.30.0", + "@typescript-eslint/eslint-plugin": "^4.2.0", + "@typescript-eslint/parser": "^4.2.0", "chai": "^4.2.0", "eslint": "^6.8.0", "eslint-config-prettier": "^6.11.0", @@ -46,7 +46,7 @@ "pretty-quick": "^2.0.1", "sinon": "^9.0.2", "ts-node": "^8.10.2", - "typescript": "^3.9.3" + "typescript": "^4.1.3" }, "dependencies": { "tslib": "^1.10.0" diff --git a/packages/require-analytics/src/index.ts b/packages/require-analytics/src/index.ts index 51fc9a81..9378f6e5 100644 --- a/packages/require-analytics/src/index.ts +++ b/packages/require-analytics/src/index.ts @@ -7,10 +7,6 @@ // A simple utility for gathering module loading statistics for diagnostic purposes. -/* eslint-disable no-underscore-dangle */ -/* eslint-disable @typescript-eslint/no-var-requires */ -/* eslint-disable @typescript-eslint/no-explicit-any */ - // ------------------------------------------------------------------------------- // No requires or imports so we can instrument as much module loading as possible. // ------------------------------------------------------------------------------- diff --git a/packages/ts-sinon/.eslintrc.js b/packages/ts-sinon/.eslintrc.js index b70f8905..f5e6bc6c 100644 --- a/packages/ts-sinon/.eslintrc.js +++ b/packages/ts-sinon/.eslintrc.js @@ -10,4 +10,11 @@ module.exports = { extends: ['eslint-config-salesforce-typescript', 'eslint-config-salesforce-license'], + rules: { + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-return': 'off', + '@typescript-eslint/ban-types': 'off' + } }; diff --git a/packages/ts-sinon/.sfdevrc.json b/packages/ts-sinon/.sfdevrc.json index 2f183535..2e03dc31 100644 --- a/packages/ts-sinon/.sfdevrc.json +++ b/packages/ts-sinon/.sfdevrc.json @@ -1,4 +1,3 @@ { - "$schema": "../dev-scripts/sfdevrc.schema.json", - "strict": true + "$schema": "../dev-scripts/sfdevrc.schema.json" } diff --git a/packages/ts-sinon/package.json b/packages/ts-sinon/package.json index 93a5880c..388df663 100644 --- a/packages/ts-sinon/package.json +++ b/packages/ts-sinon/package.json @@ -20,8 +20,8 @@ "@salesforce/dev-config": "^2.0.0", "@salesforce/dev-scripts": "^0.6.3", "@salesforce/prettier-config": "^0.0.1", - "@typescript-eslint/eslint-plugin": "^2.30.0", - "@typescript-eslint/parser": "^2.30.0", + "@typescript-eslint/eslint-plugin": "^4.2.0", + "@typescript-eslint/parser": "^4.2.0", "chai": "^4.2.0", "eslint": "^6.8.0", "eslint-config-prettier": "^6.11.0", @@ -39,7 +39,7 @@ "pretty-quick": "^2.0.1", "sinon": "^9.0.2", "ts-node": "^8.10.2", - "typescript": "^3.9.3" + "typescript": "^4.1.3" }, "scripts": { "build": "sf-build", diff --git a/packages/ts-types/.eslintrc.js b/packages/ts-types/.eslintrc.js index 5ce0d137..73c316a6 100644 --- a/packages/ts-types/.eslintrc.js +++ b/packages/ts-types/.eslintrc.js @@ -3,5 +3,6 @@ module.exports = { rules: { // Define convenient alias types '@typescript-eslint/no-empty-interface': 'off', + '@typescript-eslint/ban-types': 'off' }, }; diff --git a/packages/ts-types/package.json b/packages/ts-types/package.json index 9451ceb3..b4e38f0b 100644 --- a/packages/ts-types/package.json +++ b/packages/ts-types/package.json @@ -30,8 +30,8 @@ "@salesforce/dev-config": "^2.0.0", "@salesforce/dev-scripts": "^0.6.3", "@salesforce/prettier-config": "^0.0.1", - "@typescript-eslint/eslint-plugin": "^2.30.0", - "@typescript-eslint/parser": "^2.30.0", + "@typescript-eslint/eslint-plugin": "^4.2.0", + "@typescript-eslint/parser": "^4.2.0", "chai": "^4.2.0", "eslint": "^6.8.0", "eslint-config-prettier": "^6.11.0", @@ -49,6 +49,6 @@ "pretty-quick": "^2.0.1", "sinon": "^9.0.2", "ts-node": "^8.10.2", - "typescript": "^3.9.3" + "typescript": "^4.1.3" } } diff --git a/packages/ts-types/src/experimental/index.ts b/packages/ts-types/src/experimental/index.ts index 49ec89ea..47b8dee0 100644 --- a/packages/ts-types/src/experimental/index.ts +++ b/packages/ts-types/src/experimental/index.ts @@ -104,7 +104,7 @@ export function view(value: Nullable, keys: Many): Op function viewOptional( value: Nullable, key: K, - hasType: (value: Nullable, key: K) => value is R + hasType: (v: Nullable, k: K) => v is R ): Optional> { return hasType(value, key) ? value : hasNull(value, key) ? value : undefined; } diff --git a/packages/ts-types/src/narrowing/to.ts b/packages/ts-types/src/narrowing/to.ts index c4842357..24f47f6f 100644 --- a/packages/ts-types/src/narrowing/to.ts +++ b/packages/ts-types/src/narrowing/to.ts @@ -39,7 +39,7 @@ export function toAnyJson(value: Nullable, defaultValue: AnyJson): AnyJson // underlying function export function toAnyJson(value: Nullable, defaultValue?: AnyJson): Optional { try { - return value !== undefined ? JSON.parse(JSON.stringify(value)) : defaultValue; + return (value !== undefined ? JSON.parse(JSON.stringify(value)) : defaultValue) as Optional; } catch (err) { throw new JsonCloneError(err); } diff --git a/yarn.lock b/yarn.lock index 23db1575..6c22fb4d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1135,11 +1135,32 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@nodelib/fs.scandir@2.1.4": + version "2.1.4" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" + integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== + dependencies: + "@nodelib/fs.stat" "2.0.4" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": + version "2.0.4" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz#a3f2dd61bab43b8db8fa108a121cfffe4c676655" + integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== + "@nodelib/fs.stat@^1.1.2": version "1.1.3" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== +"@nodelib/fs.walk@^1.2.3": + version "1.2.6" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz#cce9396b30aa5afe9e3756608f5831adcb53d063" + integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== + dependencies: + "@nodelib/fs.scandir" "2.1.4" + fastq "^1.6.0" + "@octokit/auth-token@^2.4.0": version "2.4.4" resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.4.tgz#ee31c69b01d0378c12fd3ffe406030f3d94d3b56" @@ -1322,11 +1343,6 @@ resolved "https://registry.npmjs.org/@types/debug/-/debug-0.0.31.tgz#bac8d8aab6a823e91deb7f79083b2a35fa638f33" integrity sha512-LS1MCPaQKqspg7FvexuhmDbWUhE2yIJ+4AgVIyObfc06/UKZ8REgxGNjZc82wPLWmbeOm7S+gSsLgo75TanG4A== -"@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" - integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== - "@types/glob@^7.1.1": version "7.1.3" resolved "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" @@ -1392,49 +1408,77 @@ resolved "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-6.0.2.tgz#3a84cf5ec3249439015e14049bd3161419bf9eae" integrity sha512-dIPoZ3g5gcx9zZEszaxLSVTvMReD3xxyyDnQUjA6IYDG9Ba2AV0otMPs+77sG9ojB4Qr2N2Vk5RnKeuA0X/0bg== -"@typescript-eslint/eslint-plugin@^2.30.0": - version "2.34.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" - integrity sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ== +"@typescript-eslint/eslint-plugin@^4.2.0": + version "4.14.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.0.tgz#92db8e7c357ed7d69632d6843ca70b71be3a721d" + integrity sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww== dependencies: - "@typescript-eslint/experimental-utils" "2.34.0" + "@typescript-eslint/experimental-utils" "4.14.0" + "@typescript-eslint/scope-manager" "4.14.0" + debug "^4.1.1" functional-red-black-tree "^1.0.1" + lodash "^4.17.15" regexpp "^3.0.0" + semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@2.34.0": - version "2.34.0" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" - integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA== +"@typescript-eslint/experimental-utils@4.14.0": + version "4.14.0" + resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.0.tgz#5aa7b006736634f588a69ee343ca959cd09988df" + integrity sha512-6i6eAoiPlXMKRbXzvoQD5Yn9L7k9ezzGRvzC/x1V3650rUk3c3AOjQyGYyF9BDxQQDK2ElmKOZRD0CbtdkMzQQ== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.34.0" + "@typescript-eslint/scope-manager" "4.14.0" + "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/typescript-estree" "4.14.0" eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^2.30.0": - version "2.34.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" - integrity sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA== +"@typescript-eslint/parser@^4.2.0": + version "4.14.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.0.tgz#62d4cd2079d5c06683e9bfb200c758f292c4dee7" + integrity sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg== dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.34.0" - "@typescript-eslint/typescript-estree" "2.34.0" - eslint-visitor-keys "^1.1.0" + "@typescript-eslint/scope-manager" "4.14.0" + "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/typescript-estree" "4.14.0" + debug "^4.1.1" + +"@typescript-eslint/scope-manager@4.14.0": + version "4.14.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.0.tgz#55a4743095d684e1f7b7180c4bac2a0a3727f517" + integrity sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q== + dependencies: + "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/visitor-keys" "4.14.0" + +"@typescript-eslint/types@4.14.0": + version "4.14.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.0.tgz#d8a8202d9b58831d6fd9cee2ba12f8a5a5dd44b6" + integrity sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A== -"@typescript-eslint/typescript-estree@2.34.0": - version "2.34.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" - integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== +"@typescript-eslint/typescript-estree@4.14.0": + version "4.14.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.0.tgz#4bcd67486e9acafc3d0c982b23a9ab8ac8911ed7" + integrity sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag== dependencies: + "@typescript-eslint/types" "4.14.0" + "@typescript-eslint/visitor-keys" "4.14.0" debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" + globby "^11.0.1" is-glob "^4.0.1" lodash "^4.17.15" semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/visitor-keys@4.14.0": + version "4.14.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.0.tgz#b1090d9d2955b044b2ea2904a22496849acbdf54" + integrity sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA== + dependencies: + "@typescript-eslint/types" "4.14.0" + eslint-visitor-keys "^2.0.0" + "@zkochan/cmd-shim@^3.1.0": version "3.1.0" resolved "https://registry.npmjs.org/@zkochan/cmd-shim/-/cmd-shim-3.1.0.tgz#2ab8ed81f5bb5452a85f25758eb9b8681982fd2e" @@ -1861,7 +1905,7 @@ braces@^2.3.1: split-string "^3.0.2" to-regex "^3.0.1" -braces@~3.0.2: +braces@^3.0.1, braces@~3.0.2: version "3.0.2" resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -2778,6 +2822,13 @@ dir-glob@^2.2.2: dependencies: path-type "^3.0.0" +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + doctrine@1.5.0: version "1.5.0" resolved "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" @@ -3026,6 +3077,11 @@ eslint-visitor-keys@^1.1.0: resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== +eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== + eslint@^6.8.0: version "6.8.0" resolved "https://registry.npmjs.org/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" @@ -3240,6 +3296,18 @@ fast-glob@^2.2.6: merge2 "^1.2.3" micromatch "^3.1.10" +fast-glob@^3.1.1: + version "3.2.5" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" + integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" @@ -3250,6 +3318,13 @@ fast-levenshtein@~2.0.6: resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fastq@^1.6.0: + version "1.10.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz#74dbefccade964932cdf500473ef302719c652bb" + integrity sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA== + dependencies: + reusify "^1.0.4" + figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: version "3.5.2" resolved "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" @@ -3675,7 +3750,7 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.0.0, glob-parent@~5.1.0: +glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: version "5.1.1" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== @@ -3774,6 +3849,18 @@ globals@^12.1.0: dependencies: type-fest "^0.8.1" +globby@^11.0.1: + version "11.0.2" + resolved "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" + integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + globby@^9.2.0: version "9.2.0" resolved "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" @@ -5048,7 +5135,7 @@ merge-stream@^2.0.0: resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.2.3: +merge2@^1.2.3, merge2@^1.3.0: version "1.4.1" resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -5077,6 +5164,14 @@ micromatch@^3.0.4, micromatch@^3.1.10: snapdragon "^0.8.1" to-regex "^3.0.2" +micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + mime-db@1.45.0: version "1.45.0" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" @@ -5993,7 +6088,7 @@ performance-now@^2.1.0: resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4: +picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: version "2.2.2" resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== @@ -6554,6 +6649,11 @@ retry@^0.10.0: resolved "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + right-align@^0.1.1: version "0.1.3" resolved "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" @@ -6587,6 +6687,11 @@ run-async@^2.2.0, run-async@^2.4.0: resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== +run-parallel@^1.1.9: + version "1.1.10" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" + integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== + run-queue@^1.0.0, run-queue@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" @@ -7510,10 +7615,10 @@ typedoc@~0.18.0: shelljs "^0.8.4" typedoc-default-themes "^0.10.2" -typescript@^3.9.3: - version "3.9.7" - resolved "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" - integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== +typescript@^4.1.3: + version "4.1.3" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz#519d582bd94cba0cf8934c7d8e8467e473f53bb7" + integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== uglify-js@2.7.5: version "2.7.5"