From 6772427820e419314b41fccfb0f6d1182df8b3f4 Mon Sep 17 00:00:00 2001 From: Shane McLaughlin Date: Mon, 14 Aug 2023 15:14:20 -0500 Subject: [PATCH] feat(perf): remove vcs check, defer-app-insights * feat: remove vcs check * feat(perf): defer-app-insights (#497) * chore: use node16 modules for pjson exports * chore: type only import * feat: use standalone method * perf: use standalone enabled check * feat: dynamic import to defer require of appInsights * test: config and stub change * ci: use library pre-rel * chore(release): 2.2.7-qa.0 [skip ci] * chore: update to released telemetry lib --------- Co-authored-by: svc-cli-bot --------- Co-authored-by: svc-cli-bot --- package.json | 8 +- src/commandExecution.ts | 28 +-- src/commands/telemetry.ts | 4 +- src/hooks/telemetryPrerun.ts | 5 +- src/telemetry.ts | 2 +- src/uploader.ts | 4 +- test/commandExecution.test.ts | 1 - test/hooks/telemetryPrerun.test.ts | 4 +- test/tsconfig.json | 3 +- tsconfig.json | 3 +- yarn.lock | 310 ++++++++--------------------- 11 files changed, 104 insertions(+), 268 deletions(-) diff --git a/package.json b/package.json index 167a8666..1da97248 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,14 @@ { "name": "@salesforce/plugin-telemetry", "description": "Command usage and error telemetry for the Salesforce CLI", - "version": "2.2.6", + "version": "2.2.7-qa.0", "author": "Salesforce", "bugs": "https://github.com/forcedotcom/cli/issues", "dependencies": { "@oclif/core": "^2.11.7", "@salesforce/core": "^5.2.0", "@salesforce/sf-plugins-core": "^3.1.14", - "@salesforce/telemetry": "^4.0.16", + "@salesforce/telemetry": "^4.1.0", "debug": "^4.3.4", "tslib": "^2" }, @@ -33,11 +33,11 @@ "eslint-config-salesforce-typescript": "^1.1.2", "eslint-plugin-header": "^3.1.1", "eslint-plugin-import": "2.27.5", - "eslint-plugin-jsdoc": "^43.0.5", + "eslint-plugin-jsdoc": "^46.4.6", "husky": "^7.0.4", "mocha": "^9.1.3", "nyc": "^15.1.0", - "oclif": "^3.9.0", + "oclif": "^3.11.3", "prettier": "^2.8.8", "pretty-quick": "^3.1.0", "shx": "0.3.4", diff --git a/src/commandExecution.ts b/src/commandExecution.ts index e84b3d05..e78fe303 100644 --- a/src/commandExecution.ts +++ b/src/commandExecution.ts @@ -5,11 +5,9 @@ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ -import { join } from 'path'; -import * as fs from 'fs'; import { Config, Command, Parser } from '@oclif/core'; import { FlagInput } from '@oclif/core/lib/interfaces/parser'; -import { Org, SfProject } from '@salesforce/core'; +import { Org } from '@salesforce/core'; import { AsyncCreatable } from '@salesforce/kit'; import { isNumber, JsonMap, Optional } from '@salesforce/ts-types'; import { debug } from './debugger'; @@ -34,7 +32,6 @@ export class CommandExecution extends AsyncCreatable { private command: Partial; private readonly argv: string[]; private config: Partial; - private vcs?: string; private orgId?: string | null; private devhubId?: string | null; @@ -50,26 +47,10 @@ export class CommandExecution extends AsyncCreatable { } /** - * Determines whether the SFDX project is using GIT for version control or some other VCS. - * Returns a token indicating the VCS for usage stats, or an empty string if the command - * was executed outside of an SFDX project. + * @deprecated. Will always return en empty string. */ public static async resolveVCSInfo(): Promise { - let possibleVcsPath: string; - try { - possibleVcsPath = await SfProject.resolveProjectPath(); - } catch (err) { - debug('Not in a sfdx project, using current working directory'); - possibleVcsPath = process.cwd(); - } - - const gitPath = join(possibleVcsPath, '.git'); - try { - await fs.promises.access(gitPath, fs.constants.R_OK); - return 'git'; - } catch (err) { - return 'other'; - } + return Promise.resolve(''); } public toJson(): JsonMap { @@ -81,7 +62,6 @@ export class CommandExecution extends AsyncCreatable { platform: this.config.platform, shell: this.config.shell, arch: this.config.arch, - vcs: this.vcs, nodeEnv: process.env.NODE_ENV, nodeVersion: process.version, processUptime: process.uptime() * 1000, @@ -176,8 +156,6 @@ export class CommandExecution extends AsyncCreatable { ? (flags['target-dev-hub'] as unknown as Org).getConnection().getApiVersion() : null; this.determineSpecifiedFlags(argv, flags, flagDefinitions); - - this.vcs = await CommandExecution.resolveVCSInfo(); } private determineSpecifiedFlags(argv: string[], flags: FlagInput, flagDefinitions: FlagInput): void { diff --git a/src/commands/telemetry.ts b/src/commands/telemetry.ts index c70b5a05..d241cf8f 100644 --- a/src/commands/telemetry.ts +++ b/src/commands/telemetry.ts @@ -6,7 +6,7 @@ */ import { SfCommand } from '@salesforce/sf-plugins-core'; -import TelemetryReporter from '@salesforce/telemetry'; +import { isEnabled } from '@salesforce/telemetry/enabledCheck'; import Telemetry from '../telemetry'; import { TelemetryGlobal } from '../telemetryGlobal'; @@ -23,7 +23,7 @@ export default class TelemetryGet extends SfCommand { public static hidden = true; public async run(): Promise { - const enabled = await TelemetryReporter.determineSfdxTelemetryEnabled(); + const enabled = await isEnabled(); const cliId = global.cliTelemetry?.getCLIId(); this.log(`Telemetry is ${enabled ? 'enabled' : 'disabled'}.`); diff --git a/src/hooks/telemetryPrerun.ts b/src/hooks/telemetryPrerun.ts index 3e153780..435c9929 100644 --- a/src/hooks/telemetryPrerun.ts +++ b/src/hooks/telemetryPrerun.ts @@ -9,7 +9,7 @@ import { join } from 'path'; import { Hook, Performance } from '@oclif/core'; import { SfError, Lifecycle } from '@salesforce/core'; import { JsonMap } from '@salesforce/ts-types'; -import { TelemetryReporter } from '@salesforce/telemetry'; +import { isEnabled } from '@salesforce/telemetry/enabledCheck'; import Telemetry from '../telemetry'; import { TelemetryGlobal } from '../telemetryGlobal'; import { CommandExecution } from '../commandExecution'; @@ -31,9 +31,8 @@ type CommonData = { * 3. Logs command usage data to the server right after the process ends by spawning a detached process. */ const hook: Hook.Prerun = async function (options): Promise { - const telemetryEnabled = await TelemetryReporter.determineSfdxTelemetryEnabled(); // Don't even bother logging if telemetry is disabled - if (!telemetryEnabled) { + if (!(await isEnabled())) { debug('Telemetry disabled. Doing nothing.'); return; } diff --git a/src/telemetry.ts b/src/telemetry.ts index d822a7f8..38d8cf2a 100644 --- a/src/telemetry.ts +++ b/src/telemetry.ts @@ -10,7 +10,7 @@ import { randomBytes } from 'crypto'; import * as fs from 'fs'; import { EOL, tmpdir } from 'os'; import { join } from 'path'; -import { Attributes } from '@salesforce/telemetry'; +import type { Attributes } from '@salesforce/telemetry'; import { AsyncCreatable, env } from '@salesforce/kit'; import { SfError } from '@salesforce/core'; import { isBoolean, isNumber, isString, JsonMap } from '@salesforce/ts-types'; diff --git a/src/uploader.ts b/src/uploader.ts index e17d5b1a..2ee25858 100644 --- a/src/uploader.ts +++ b/src/uploader.ts @@ -7,7 +7,6 @@ /* eslint-disable no-await-in-loop */ import { SfError } from '@salesforce/core'; -import TelemetryReporter from '@salesforce/telemetry'; import { asString, Dictionary } from '@salesforce/ts-types'; import Telemetry from './telemetry'; import { debug, version } from './debugger'; @@ -35,7 +34,8 @@ export class Uploader { * Reads the telemetry events from file and sends them to the telemetry service. */ private async sendToTelemetry(): Promise { - let reporter: TelemetryReporter; + const { TelemetryReporter } = await import('@salesforce/telemetry'); + let reporter: InstanceType; try { reporter = await TelemetryReporter.create({ project: PROJECT, diff --git a/test/commandExecution.test.ts b/test/commandExecution.test.ts index 6d54af6e..c0464d85 100644 --- a/test/commandExecution.test.ts +++ b/test/commandExecution.test.ts @@ -16,7 +16,6 @@ describe('toJson', () => { const sandbox = createSandbox(); beforeEach(() => { - stubMethod(sandbox, CommandExecution, 'resolveVCSInfo').returns('git'); stubMethod(sandbox, Performance, 'highlights').get(() => ({ runTime: 0, initTime: 0, diff --git a/test/hooks/telemetryPrerun.test.ts b/test/hooks/telemetryPrerun.test.ts index 50b9aabe..a0eeec72 100644 --- a/test/hooks/telemetryPrerun.test.ts +++ b/test/hooks/telemetryPrerun.test.ts @@ -7,7 +7,7 @@ import { Hook, Config } from '@oclif/core'; -import TelemetryReporter from '@salesforce/telemetry'; +import * as enabledCheckStubs from '@salesforce/telemetry/enabledCheck'; import { StubbedType, stubInterface, stubMethod } from '@salesforce/ts-sinon'; import { expect } from 'chai'; import * as sinon from 'sinon'; @@ -33,7 +33,7 @@ describe('telemetry prerun hook', () => { beforeEach(() => { sandbox = sinon.createSandbox(); - determineSfdxTelemetryEnabledStub = stubMethod(sandbox, TelemetryReporter, 'determineSfdxTelemetryEnabled'); + determineSfdxTelemetryEnabledStub = stubMethod(sandbox, enabledCheckStubs, 'isEnabled'); recordStub = sandbox.stub(); recordErrorStub = sandbox.stub(); uploadStub = sandbox.stub(); diff --git a/test/tsconfig.json b/test/tsconfig.json index 779a1b5f..57b2b44d 100644 --- a/test/tsconfig.json +++ b/test/tsconfig.json @@ -2,6 +2,7 @@ "extends": "@salesforce/dev-config/tsconfig-test-strict", "include": ["./**/*.ts"], "compilerOptions": { - "skipLibCheck": true + "skipLibCheck": true, + "moduleResolution": "node16" } } diff --git a/tsconfig.json b/tsconfig.json index b88fd7e6..02055924 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,7 +3,8 @@ "compilerOptions": { "outDir": "lib", "rootDir": "src", - "skipLibCheck": true + "skipLibCheck": true, + "moduleResolution": "node16" }, "include": ["./src/**/*.ts"] } diff --git a/yarn.lock b/yarn.lock index 31655636..e413aa86 100644 --- a/yarn.lock +++ b/yarn.lock @@ -455,6 +455,15 @@ esquery "^1.5.0" jsdoc-type-pratt-parser "~4.0.0" +"@es-joy/jsdoccomment@~0.40.1": + version "0.40.1" + resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz#13acd77fb372ed1c83b7355edd865a3b370c9ec4" + integrity sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg== + dependencies: + comment-parser "1.4.0" + esquery "^1.5.0" + jsdoc-type-pratt-parser "~4.0.0" + "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" @@ -743,10 +752,10 @@ node-gyp "^8.2.0" read-package-json-fast "^2.0.1" -"@oclif/color@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@oclif/color/-/color-1.0.2.tgz#fbb857251454d737033e1dcd6d19fe5ba1d61350" - integrity sha512-HqTFeMjfLOZajxqffSkyDWFUB3YqsSLRcsvnvITGRzhO0Ip4Qwp0VHVwh+qe0TjJYEltmOgzoxsR1LZPQIHNBQ== +"@oclif/color@^1.0.10": + version "1.0.10" + resolved "https://registry.yarnpkg.com/@oclif/color/-/color-1.0.10.tgz#e83e3a30fffc93076281398cbeaa4f761c4df09e" + integrity sha512-INWEDAL3SzzR3pIhkrqk22HV6JravLUeRZXAIpoQqIeLReauaibCVcNTzOlt0z0S8YrqRhksc54ZxZC4Oa8xBw== dependencies: ansi-styles "^4.2.1" chalk "^4.1.0" @@ -754,44 +763,10 @@ supports-color "^8.1.1" tslib "^2" -"@oclif/core@^1.20.3", "@oclif/core@^1.20.4": - version "1.26.1" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-1.26.1.tgz#26e46c96143d3e2b1dd9bd558ae1653fe9a4f3fa" - integrity sha512-g+OWJcM7JOVI53caTEtq0BB1nPotWctRLUyFODPgvDqXhVR7QED+Qz3LwFAMD8dt7/Ar2ZNq15U3bnpnOv453A== - dependencies: - "@oclif/linewrap" "^1.0.0" - "@oclif/screen" "^3.0.4" - ansi-escapes "^4.3.2" - ansi-styles "^4.3.0" - cardinal "^2.1.1" - chalk "^4.1.2" - clean-stack "^3.0.1" - cli-progress "^3.10.0" - debug "^4.3.4" - ejs "^3.1.6" - fs-extra "^9.1.0" - get-package-type "^0.1.0" - globby "^11.1.0" - hyperlinker "^1.0.0" - indent-string "^4.0.0" - is-wsl "^2.2.0" - js-yaml "^3.14.1" - natural-orderby "^2.0.3" - object-treeify "^1.1.33" - password-prompt "^1.1.2" - semver "^7.3.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - supports-color "^8.1.1" - supports-hyperlinks "^2.2.0" - tslib "^2.4.1" - widest-line "^3.1.0" - wrap-ansi "^7.0.0" - -"@oclif/core@^2.11.1", "@oclif/core@^2.11.7", "@oclif/core@^2.8.0", "@oclif/core@^2.8.4": - version "2.11.7" - resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.11.7.tgz#7781a4dc65597ed9d8fda39cb1b209efca1c2d24" - integrity sha512-0jbHePVekndUTd+Wee0+pnCpRhuHJrKiG9OtMqf4JSBCxp5Q8V+ACf8QKN4gNH9ppbGORfnTIYtXWh60+DcIiw== +"@oclif/core@^2.11.1", "@oclif/core@^2.11.4", "@oclif/core@^2.11.7", "@oclif/core@^2.11.8": + version "2.11.8" + resolved "https://registry.yarnpkg.com/@oclif/core/-/core-2.11.8.tgz#780c4fdf53e8569cf754c2a8fefcc7ddeacf1747" + integrity sha512-GILmztcHBzze45GvxRpUvqQI5nM26kSE/Q21Y+6DtMR+C8etM/hFW26D3uqIAbGlGtg5QEZZ6pjA/Fqgz+gl3A== dependencies: "@types/cli-progress" "^3.11.0" ansi-escapes "^4.3.2" @@ -824,11 +799,6 @@ wordwrap "^1.0.0" wrap-ansi "^7.0.0" -"@oclif/linewrap@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@oclif/linewrap/-/linewrap-1.0.0.tgz#aedcb64b479d4db7be24196384897b5000901d91" - integrity sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw== - "@oclif/plugin-command-snapshot@^4.0.11": version "4.0.11" resolved "https://registry.yarnpkg.com/@oclif/plugin-command-snapshot/-/plugin-command-snapshot-4.0.11.tgz#96bdefba4b881506b42dc4836300323c6a44e0a5" @@ -842,40 +812,34 @@ ts-json-schema-generator "^1.2.0" tslib "^2.6.1" -"@oclif/plugin-help@^5.1.19", "@oclif/plugin-help@^5.2.9": - version "5.2.9" - resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.9.tgz#badbafdfe3f98ac78a5a3b79582e081d4b64c4b7" - integrity sha512-0J3oowPURZJ4Dn1p1WpQ46E4+CoV20KTn1cvsNiDl6Hmbw+qoljKQnArJJzNFeZQxWo4R7/S42PrzKJTVYh68Q== +"@oclif/plugin-help@^5.2.14", "@oclif/plugin-help@^5.2.9": + version "5.2.17" + resolved "https://registry.yarnpkg.com/@oclif/plugin-help/-/plugin-help-5.2.17.tgz#72c549b1db8e16060ee4f320db96291ca341430f" + integrity sha512-8dhvATZZnkD8uq3etsvbVjjpdxiTqXTPjkMlU8ToQz09DL5BBzYApm65iTHFE0Vn9DPbKcNxX1d8YiF3ilgMOQ== dependencies: - "@oclif/core" "^2.8.0" + "@oclif/core" "^2.11.8" -"@oclif/plugin-not-found@^2.3.7": - version "2.3.9" - resolved "https://registry.yarnpkg.com/@oclif/plugin-not-found/-/plugin-not-found-2.3.9.tgz#045277bf04c8fd6ee25e68d5355658985c21404a" - integrity sha512-FJXIa5KmNbCgO8kDVJ23C/SkRRuwMYaRTNs5jejwrwKAm5fPp+TnR1+4pBp64ik7FA806nioqMGlotiyEWfMJA== +"@oclif/plugin-not-found@^2.3.32": + version "2.3.37" + resolved "https://registry.yarnpkg.com/@oclif/plugin-not-found/-/plugin-not-found-2.3.37.tgz#0405fe24f6a706a4616bf510bc7fce98556a25fe" + integrity sha512-P3D56ElnJQeztmkCmMqdr9QWyOlF/C/+Dl8QNFX+agGnGdumdyr28n4xDyFHsw7hm3o9TMYpLDLThKy95lXFsw== dependencies: - "@oclif/color" "^1.0.2" - "@oclif/core" "^1.20.3" + "@oclif/color" "^1.0.10" + "@oclif/core" "^2.11.7" fast-levenshtein "^3.0.0" - lodash "^4.17.21" -"@oclif/plugin-warn-if-update-available@^2.0.14": - version "2.0.14" - resolved "https://registry.yarnpkg.com/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-2.0.14.tgz#f9142095f13c5e8300705533165ae039daa0c5f8" - integrity sha512-gEgFZuNtFx3yPfSuxhAm9F8nLZ4+UnBJhbjTywY0Cvrqvd+OvKvo6PfwRm0lWmH4EgWwQEq39pfaks1fg+y1gw== +"@oclif/plugin-warn-if-update-available@^2.0.44": + version "2.0.48" + resolved "https://registry.yarnpkg.com/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-2.0.48.tgz#0abdacbcded0bb060c207c403fdd6c31b486a81a" + integrity sha512-ISq3l8qFM6DYT2EkwBlYSyD3kKP2BqZ/nKhd3IBwYY6QJ17XwZ/bqne47oEzU1mvKEcRRU4B4AL4DN2quVqHrA== dependencies: - "@oclif/core" "^1.20.4" + "@oclif/core" "^2.11.8" chalk "^4.1.0" debug "^4.1.0" fs-extra "^9.0.1" http-call "^5.2.2" lodash "^4.17.21" - semver "^7.3.8" - -"@oclif/screen@^3.0.4": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@oclif/screen/-/screen-3.0.4.tgz#663db0ecaf23f3184e7f01886ed578060e4a7f1c" - integrity sha512-IMsTN1dXEXaOSre27j/ywGbBjrzx0FNd1XmuhCWCB9NTPrhWI1Ifbz+YLSEcstfQfocYsrbrIessxXb2oon4lA== + semver "^7.5.4" "@octokit/auth-token@^2.4.4": version "2.5.0" @@ -1147,10 +1111,10 @@ chalk "^4" inquirer "^8.2.5" -"@salesforce/telemetry@^4.0.16": - version "4.0.16" - resolved "https://registry.yarnpkg.com/@salesforce/telemetry/-/telemetry-4.0.16.tgz#7c2168ff1f9838c87be044e7419f260f30b90aad" - integrity sha512-W1cBQdS7Mu78IyyVzLWucdoqLHDy5ZJ49Q6Oo1LLHi2gYD3o5zvDY/Sj6euy4Skms3OrFfOuusxBxu5NG6H3NQ== +"@salesforce/telemetry@^4.1.0": + version "4.1.0" + resolved "https://registry.yarnpkg.com/@salesforce/telemetry/-/telemetry-4.1.0.tgz#7ba69cb5c00fe108fa179e6a3ac8a0534c649ab8" + integrity sha512-Z5zg1l0yLoRRDJF3aR3bdicDNe2KoSizg4BCaTQe7WAhJErfRpv+7QcTs4LZkD2jxtJnl7RiBR9DYx2fTLcQaQ== dependencies: "@salesforce/core" "^5.2.0" "@salesforce/ts-types" "^2.0.6" @@ -1680,27 +1644,12 @@ ansi-escapes@^4.2.1, ansi-escapes@^4.3.2: dependencies: type-fest "^0.21.3" -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" - integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.0.0, ansi-styles@^3.2.1: +ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -2069,6 +2018,11 @@ buffer@^6.0.3: base64-js "^1.3.1" ieee754 "^1.2.1" +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + builtins@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" @@ -2225,17 +2179,6 @@ chai@^4.3.7: pathval "^1.1.1" type-detect "^4.0.5" -chalk@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - chalk@^2.0.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -2321,11 +2264,6 @@ clean-stack@^3.0.1: dependencies: escape-string-regexp "4.0.0" -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= - cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" @@ -2333,7 +2271,7 @@ cli-cursor@^3.1.0: dependencies: restore-cursor "^3.1.0" -cli-progress@^3.10.0, cli-progress@^3.12.0: +cli-progress@^3.12.0: version "3.12.0" resolved "https://registry.yarnpkg.com/cli-progress/-/cli-progress-3.12.0.tgz#807ee14b66bcc086258e444ad0f19e7d42577942" integrity sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A== @@ -2436,11 +2374,6 @@ cmd-shim@^5.0.0: dependencies: mkdirp-infer-owner "^2.0.0" -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -2507,6 +2440,11 @@ comment-parser@1.3.1: resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.3.1.tgz#3d7ea3adaf9345594aedee6563f422348f165c1b" integrity sha512-B52sN2VNghyq5ofvUsqZjmk6YkihBX5vMSChmSK9v4ShjKf3Vk5Xcmgpw4o+iIgtrnM/u5FiMpz9VKb8lpBveA== +comment-parser@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.4.0.tgz#0f8c560f59698193854f12884c20c0e39a26d32c" + integrity sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw== + common-ancestor-path@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7" @@ -2913,7 +2851,7 @@ ecdsa-sig-formatter@1.0.11: dependencies: safe-buffer "^5.0.1" -ejs@^3.1.6, ejs@^3.1.8: +ejs@^3.1.8: version "3.1.8" resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b" integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ== @@ -3052,7 +2990,7 @@ escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= @@ -3144,6 +3082,21 @@ eslint-plugin-jsdoc@^43.0.5: semver "^7.5.0" spdx-expression-parse "^3.0.1" +eslint-plugin-jsdoc@^46.4.6: + version "46.4.6" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.4.6.tgz#5226461eda61b5920297cbe02c3b17bc9423cf0b" + integrity sha512-z4SWYnJfOqftZI+b3RM9AtWL1vF/sLWE/LlO9yOKDof9yN2+n3zOdOJTGX/pRE/xnPsooOLG2Rq6e4d+XW3lNw== + dependencies: + "@es-joy/jsdoccomment" "~0.40.1" + are-docs-informative "^0.0.2" + comment-parser "1.4.0" + debug "^4.3.4" + escape-string-regexp "^4.0.0" + esquery "^1.5.0" + is-builtin-module "^3.2.1" + semver "^7.5.4" + spdx-expression-parse "^3.0.1" + eslint-plugin-prefer-arrow@^1.2.1: version "1.2.3" resolved "https://registry.yarnpkg.com/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz#e7fbb3fa4cd84ff1015b9c51ad86550e55041041" @@ -3641,11 +3594,6 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= - get-stream@^5.0.0, get-stream@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" @@ -3835,13 +3783,6 @@ hard-rejection@^2.1.0: resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" @@ -4228,6 +4169,13 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-builtin-module@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" + integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== + dependencies: + builtin-modules "^3.3.0" + is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" @@ -4257,18 +4205,6 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" @@ -5110,7 +5046,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.1.0, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6: version "1.2.7" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== @@ -5516,11 +5452,6 @@ npmlog@^6.0.0: gauge "^4.0.3" set-blocking "^2.0.0" -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - nyc@^15.1.0: version "15.1.0" resolved "https://registry.yarnpkg.com/nyc/-/nyc-15.1.0.tgz#1335dae12ddc87b6e249d5a1994ca4bdaea75f02" @@ -5593,15 +5524,15 @@ object.values@^1.1.6: define-properties "^1.1.4" es-abstract "^1.20.4" -oclif@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/oclif/-/oclif-3.9.0.tgz#d52beb9300a60a660f897fe9ae810fffd48a1571" - integrity sha512-fsFyHVQYJdE50EcKrBjwzl2WT5sZUtTiRY1vqMwykgLFUDYrQS0lj7yqy2IgcPSmAWaLQryODdfBujCWOU98Ww== +oclif@^3.11.3: + version "3.11.3" + resolved "https://registry.yarnpkg.com/oclif/-/oclif-3.11.3.tgz#2cccb4f9fe34191812bfa4dda7740e737cef1715" + integrity sha512-6bUVTbTflu+IN9UnuIt5S4ba052oqLqsZF6zV2U8bx6ZH+hzgc3aXPTJ5JHU2MbDUg1B9PG5zHAbmvoX7V+16Q== dependencies: - "@oclif/core" "^2.8.4" - "@oclif/plugin-help" "^5.1.19" - "@oclif/plugin-not-found" "^2.3.7" - "@oclif/plugin-warn-if-update-available" "^2.0.14" + "@oclif/core" "^2.11.4" + "@oclif/plugin-help" "^5.2.14" + "@oclif/plugin-not-found" "^2.3.32" + "@oclif/plugin-warn-if-update-available" "^2.0.44" aws-sdk "^2.1231.0" concurrently "^7.6.0" debug "^4.3.3" @@ -5616,7 +5547,6 @@ oclif@^3.9.0: tslib "^2.3.1" yeoman-environment "^3.15.1" yeoman-generator "^5.8.0" - yosay "^2.0.2" on-exit-leak-free@^2.1.0: version "2.1.0" @@ -5815,11 +5745,6 @@ pacote@^12.0.0, pacote@^12.0.2: ssri "^8.0.1" tar "^6.1.0" -pad-component@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/pad-component/-/pad-component-0.0.1.tgz#ad1f22ce1bf0fdc0d6ddd908af17f351a404b8ac" - integrity sha1-rR8izhvw/cDW3dkIrxfzUaQEuKw= - pako@~1.0.2: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" @@ -6815,15 +6740,6 @@ stack-chain@^1.3.7: resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285" integrity sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU= -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -6833,14 +6749,6 @@ string-width@^1.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - string.prototype.trimend@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" @@ -6880,20 +6788,6 @@ strip-ansi@6.0.1, strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - strip-bom-buf@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572" @@ -6950,11 +6844,6 @@ supports-color@8.1.1, supports-color@^8.1.0, supports-color@^8.1.1: dependencies: has-flag "^4.0.0" -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - supports-color@^5.3.0, supports-color@^5.4.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -6982,14 +6871,6 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -taketalk@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/taketalk/-/taketalk-1.0.0.tgz#b4d4f0deed206ae7df775b129ea2ca6de52f26dd" - integrity sha1-tNTw3u0gauffd1sSnqLKbeUvJt0= - dependencies: - get-stdin "^4.0.1" - minimist "^1.1.0" - tar@^6.0.2, tar@^6.1.0, tar@^6.1.11, tar@^6.1.2: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" @@ -7146,7 +7027,7 @@ tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.1, tslib@^2.4.1, tslib@^2.5.0, tslib@^2.6.1: +tslib@^2, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.1, tslib@^2.5.0, tslib@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.1.tgz#fd8c9a0ff42590b25703c0acb3de3d3f4ede0410" integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig== @@ -7548,14 +7429,6 @@ workerpool@6.2.0: resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.0.tgz#827d93c9ba23ee2019c3ffaff5c27fccea289e8b" integrity sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A== -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" @@ -7795,18 +7668,3 @@ yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -yosay@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/yosay/-/yosay-2.0.2.tgz#a7017e764cd88d64a1ae64812201de5b157adf6d" - integrity sha512-avX6nz2esp7IMXGag4gu6OyQBsMh/SEn+ZybGu3yKPlOTE6z9qJrzG/0X5vCq/e0rPFy0CUYCze0G5hL310ibA== - dependencies: - ansi-regex "^2.0.0" - ansi-styles "^3.0.0" - chalk "^1.0.0" - cli-boxes "^1.0.0" - pad-component "0.0.1" - string-width "^2.0.0" - strip-ansi "^3.0.0" - taketalk "^1.0.0" - wrap-ansi "^2.0.0"