From c1db5d469deabbf0056a3da5b67eb4306a74a12a Mon Sep 17 00:00:00 2001 From: paulober <44974737+paulober@users.noreply.github.com> Date: Mon, 16 Sep 2024 13:29:58 +0100 Subject: [PATCH] Added basic testing stuff Signed-off-by: paulober <44974737+paulober@users.noreply.github.com> --- .vscode-test.mjs | 12 + .vscode/launch.json | 6 +- .vscode/tasks.json | 15 + package.json | 9 +- rollup.config.mjs | 1 + src/commands/uninstallPicoSDK.mts | 31 +- src/test/runTest.mts | 27 + src/test/suite/extension.test.mts | 309 ++++++++++ src/test/suite/index.mts | 34 ++ src/testable.mts | 11 + src/webview/newProjectPanel.mts | 55 +- testWorkspace/main.c | 6 + tsconfig.json | 5 +- web/main.js | 10 + yarn.lock | 932 +++++++++++++++++++++++++++++- 15 files changed, 1410 insertions(+), 53 deletions(-) create mode 100644 .vscode-test.mjs create mode 100644 src/test/runTest.mts create mode 100644 src/test/suite/extension.test.mts create mode 100644 src/test/suite/index.mts create mode 100644 src/testable.mts create mode 100644 testWorkspace/main.c diff --git a/.vscode-test.mjs b/.vscode-test.mjs new file mode 100644 index 00000000..83cad355 --- /dev/null +++ b/.vscode-test.mjs @@ -0,0 +1,12 @@ +import { defineConfig } from '@vscode/test-cli'; + +export default defineConfig({ + files: ['out/test/**/*.test.mts'], + version: 'insiders', + workspaceFolder: './testWorkspace', + mocha: { + ui: 'tdd', + timeout: 60000, + }, + skipExtensionDependencies: false +}); diff --git a/.vscode/launch.json b/.vscode/launch.json index 06213438..63912cbb 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -23,12 +23,12 @@ "request": "launch", "args": [ "--extensionDevelopmentPath=${workspaceFolder}", - "--extensionTestsPath=${workspaceFolder}/out/test/suite/index" + "--extensionTestsPath=${workspaceFolder}/out/test/suite/index.mjs" ], "outFiles": [ - "${workspaceFolder}/out/test/**/*.js" + "${workspaceFolder}/dist/test/**/*.mjs" ], - "preLaunchTask": "${defaultBuildTask}" + "preLaunchTask": "watch-test" } ] } diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 397496ff..2be6a984 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -16,6 +16,21 @@ "kind": "build", "isDefault": true } + }, + { + "label": "watch-test", + "type": "npm", + "script": "watch-test", + "problemMatcher": "$tsc-watch", + "isBackground": true, + "presentation": { + "reveal": "never", + "group": "watchers" + }, + "group": { + "kind": "build", + "isDefault": false + } } ] } diff --git a/package.json b/package.json index bfbe05a8..afaee5e7 100644 --- a/package.json +++ b/package.json @@ -267,9 +267,10 @@ "compile-uninstaller": "rollup -c uninstall.rollup.config.mjs --environment BUILD:production", "compile": "rollup -c", "watch": "rollup -cw", + "watch-test": "tsc -w --outDir ./out -p ./tsconfig.json -m es2022", "package": "rimraf dist && node scripts/build.mjs && yarn run compile-uninstaller", "lint": "eslint src", - "test": "yarn run lint" + "test": "yarn run lint && vscode-test" }, "devDependencies": { "@eslint/js": "^9.9.0", @@ -278,14 +279,20 @@ "@rollup/plugin-terser": "^0.4.4", "@rollup/plugin-typescript": "^11.1.6", "@types/adm-zip": "^0.5.5", + "@types/glob": "^8.1.0", "@types/ini": "^4.1.1", + "@types/mocha": "^10.0.8", "@types/node": "18.17.x", "@types/uuid": "^10.0.0", "@types/vscode": "^1.87.0", "@types/which": "^3.0.4", + "@vscode/test-cli": "^0.0.10", + "@vscode/test-electron": "^2.4.1", "eslint": "^9.9.0", "eslint-config-prettier": "^9.1.0", + "glob": "^11.0.0", "globals": "^15.9.0", + "mocha": "^10.7.3", "rollup": "^4.21.0", "tslib": "^2.6.3", "typescript": "^5.5.4", diff --git a/rollup.config.mjs b/rollup.config.mjs index 310e6bad..11c2a2fd 100644 --- a/rollup.config.mjs +++ b/rollup.config.mjs @@ -24,6 +24,7 @@ export default { commonjs(), typescript({ tsconfig: 'tsconfig.json', + exclude: ['src/test/**/*.mts'] }), ], }; diff --git a/src/commands/uninstallPicoSDK.mts b/src/commands/uninstallPicoSDK.mts index 60fda2d5..9f71c68e 100644 --- a/src/commands/uninstallPicoSDK.mts +++ b/src/commands/uninstallPicoSDK.mts @@ -1,4 +1,4 @@ -import { Command } from "./command.mjs"; +import { CommandWithArgs } from "./command.mjs"; import Logger from "../logger.mjs"; import { window } from "vscode"; import { rimraf } from "rimraf"; @@ -6,7 +6,7 @@ import { join } from "path"; import { homedir } from "os"; import { unknownErrorToString } from "../utils/errorHelper.mjs"; -export default class UninstallPicoSDKCommand extends Command { +export default class UninstallPicoSDKCommand extends CommandWithArgs { private _logger: Logger = new Logger("UninstallPicoSDKCommand"); public static readonly id = "uninstallPicoSDK"; @@ -15,22 +15,25 @@ export default class UninstallPicoSDKCommand extends Command { super(UninstallPicoSDKCommand.id); } - async execute(): Promise { + async execute(force = false): Promise { // show modal warning that this will delete the Pico SDK and // all its automatically installed dependencies from the system // and ask for confirmation - const response = await window.showWarningMessage( - "Uninstalling Pico SDK - Are you sure you want to continue?", - { - modal: true, - detail: - "This will delete the Pico SDK and all its automatically installed " + - "dependencies from the system. This action cannot be undone.", - }, - "Yes", - "No" - ); + const response = force + ? "Yes" + : await window.showWarningMessage( + "Uninstalling Pico SDK - Are you sure you want to continue?", + { + modal: true, + detail: + "This will delete the Pico SDK and all its automatically " + + "installed dependencies from the system. " + + "This action cannot be undone.", + }, + "Yes", + "No" + ); if (response === "Yes") { // uninstall the Pico SDK and all its automatically installed dependencies diff --git a/src/test/runTest.mts b/src/test/runTest.mts new file mode 100644 index 00000000..1b25bc59 --- /dev/null +++ b/src/test/runTest.mts @@ -0,0 +1,27 @@ +import { resolve } from "path"; + +import { runTests } from "@vscode/test-electron"; + +async function main(): Promise { + try { + // The folder containing the Extension Manifest package.json + // Passed to `--extensionDevelopmentPath` + const extensionDevelopmentPath = resolve(__dirname, "../../"); + + // The path to the extension test script + // Passed to --extensionTestsPath + const extensionTestsPath = resolve(__dirname, "./suite/index"); + + // Download VS Code, unzip it and run the integration test + await runTests({ extensionDevelopmentPath, extensionTestsPath }); + } catch (err) { + console.error("Failed to run tests:", err); + process.exit(1); + } +} + +main() + .then(() => console.log("Test run finished")) + .catch(err => { + console.error("Test run failed:", err); + }); diff --git a/src/test/suite/extension.test.mts b/src/test/suite/extension.test.mts new file mode 100644 index 00000000..b2da9d74 --- /dev/null +++ b/src/test/suite/extension.test.mts @@ -0,0 +1,309 @@ +import { strictEqual, ok, notStrictEqual, doesNotReject } from "assert"; +import { commands, extensions, Uri, window } from "vscode"; +import { NewProjectPanel } from "../../webview/newProjectPanel.mjs"; +import { homedir, tmpdir } from "os"; +import { join } from "path"; +import { existsSync, readdirSync } from "fs"; +import which from "which"; +import UninstallPicoSDKCommand from "../../commands/uninstallPicoSDK.mjs"; +import { extensionName } from "../../commands/command.mjs"; + +const extensionId = `raspberry-pi.${extensionName}`; + +suite("Extension Test Suite", () => { + const projectsRoot = join(tmpdir(), "pico-vscode-testing"); + + suiteTeardown(() => { + window.showInformationMessage("All tests done!"); + }); + + window.showInformationMessage("Start all tests."); + + test("Activate extension", async () => { + const extension = extensions.getExtension(extensionId); + notStrictEqual(extension, undefined); + await doesNotReject(async () => extension!.activate()); + strictEqual(extension?.isActive, true); + }); + + test("Activation via Quick Access Panel", async () => { + await commands.executeCommand( + "raspberry-pi-pico-project-quick-access.focus" + ); + ok(extensions.getExtension(extensionId)?.isActive); + }); + + test("New Project from blink example test", async () => { + if (process.platform === "darwin" || process.platform === "linux") { + if (process.platform === "linux") { + // check if system python3 command is available + notStrictEqual( + await which("python3", { nothrow: true }), + null, + "Preinstalled python3 not found. " + + "This test requires on linux python3 to be installed." + ); + } + + // check for git + notStrictEqual( + await which("git", { nothrow: true }), + null, + "Preinstalled git not found. " + + "This test requires git to be installed." + ); + + // check for tar + notStrictEqual( + await which("tar", { nothrow: true }), + null, + "Preinstalled tar not found. " + + "This test requires tar to be installed." + ); + } + + const extension = extensions.getExtension(extensionId); + notStrictEqual(extension, undefined); + await doesNotReject(async () => extension!.activate()); + strictEqual(extension?.isActive, true); + + NewProjectPanel.createOrShow( + extension.extensionUri, + false, + true, + undefined + ); + notStrictEqual( + NewProjectPanel.currentPanel, + undefined, + "Failed to create new project from example panel" + ); + + strictEqual( + NewProjectPanel.currentPanel!.getTitle(), + NewProjectPanel.newFromExampleTitle, + "New project from example panel has incorrect title" + ); + + ok(NewProjectPanel.currentPanel!.getIsCreateFromExampleOnly()); + + // submit example + const expectedLocaiton = join(projectsRoot, "blink"); + NewProjectPanel.currentPanel!.submitExample(Uri.file(projectsRoot), { + example: "blink", + boardType: "pico2", + selectedSDK: "2.0.0", + selectedToolchain: "13_3_Rel1", + selectedPicotool: "2.0.0", + ninjaMode: 0, + ninjaPath: "", + ninjaVersion: "", + cmakeMode: 0, + cmakePath: "", + cmakeVersion: "", + pythonMode: 0, + pythonPath: "", + + // debugger selection CMSIS-DAP + debugger: 0, + }); + + await doesNotReject( + new Promise((resolve, reject) => { + let onFailed = (): void => {}; + const onGenerated = (): void => { + NewProjectPanel.currentPanel!.off( + NewProjectPanel.onProjectGenerationErrorEvent, + onFailed + ); + resolve(undefined); + }; + onFailed = (): void => { + NewProjectPanel.currentPanel!.off( + NewProjectPanel.onProjectGeneratedEvent, + onGenerated + ); + reject(new Error("Failed to generate project")); + }; + + NewProjectPanel.currentPanel!.once( + NewProjectPanel.onProjectGeneratedEvent, + onGenerated + ); + + NewProjectPanel.currentPanel!.once( + NewProjectPanel.onProjectGenerationErrorEvent, + onFailed + ); + }) + ); + + // check generated stuff + + // check if all requriements are installed + // on all: sdk, toolchain, picotool, cmake, ninja + const reqRoot = join(homedir(), ".pico-sdk"); + const sdkFile = join( + reqRoot, + "sdk", + "2.0.0", + "external", + "pico_sdk_import.cmake" + ); + const toolchainFile = join( + reqRoot, + "toolchain", + "13_3_Rel1", + "bin", + "arm-none-eabi-gcc.exe" + ); + const picotoolFile = join( + reqRoot, + "picotool", + "2.0.0", + "picotool", + process.platform === "win32" ? "picotool.exe" : "picotool" + ); + const picoCmakeFile = join(reqRoot, "cmake", "pico-vscode.cmake"); + const cmakeFile = join( + reqRoot, + "cmake", + "v3.28.6", + "bin", + process.platform === "win32" ? "cmake.exe" : "cmake" + ); + const ninjaFile = join( + reqRoot, + "ninja", + "v1.12.1", + process.platform === "win32" ? "ninja.exe" : "ninja" + ); + + ok( + readdirSync(reqRoot).length > 0, + "No requirements installed in ~/.pico-sdk" + ); + + ok( + readdirSync(join(reqRoot, "sdk")).length > 0, + "No sdk installed in ~/.pico-sdk" + ); + + ok( + readdirSync(join(reqRoot, "toolchain")).length > 0, + "No toolchain installed in ~/.pico-sdk" + ); + + ok( + readdirSync(join(reqRoot, "picotool")).length > 0, + "No picotool installed in ~/.pico-sdk" + ); + + ok( + readdirSync(join(reqRoot, "cmake")).length > 0, + "No cmake installed in ~/.pico-sdk" + ); + + ok( + readdirSync(join(reqRoot, "ninja")).length > 0, + "No ninja installed in ~/.pico-sdk" + ); + + // check files directly + ok(existsSync(sdkFile), "SDK not installed correctly"); + ok(existsSync(toolchainFile), "Toolchain not installed correctly"); + ok(existsSync(picotoolFile), "Picotool not installed correctly"); + ok(existsSync(picoCmakeFile), "Pico CMake not installed correctly"); + ok(existsSync(cmakeFile), "CMake not installed correctly"); + ok(existsSync(ninjaFile), "Ninja not installed correctly"); + + switch (process.platform) { + case "linux": + break; + // TODO: maybe force on windows to install git + case "win32": // check for pytho + case "darwin": + // check for python + { + const pythonFile = join(reqRoot, "python", "3.12.1", "python.exe"); + ok(existsSync(pythonFile), "Python not installed correctly"); + } + break; + default: + throw new Error("Unsupported platform"); + } + + // check if the project was generated + /* project layout check: + expectedLocaiton | + - .vscode | + - settings.json + - launch.json + - tasks.json + - c_cpp_properties.json + - cmake-kits.json + - extensions.json + + - .gitignore + - *.c count > 0 + - pico_sdk_import.cmake + - CMakeLists.txt + */ + + const rootFiles = readdirSync(expectedLocaiton); + ok(rootFiles.length > 0); + ok(rootFiles.includes(".vscode")); + const vscodePath = join(expectedLocaiton, ".vscode"); + const vscodeFiles = readdirSync(vscodePath); + strictEqual(vscodeFiles.length, 6); + ok( + vscodeFiles.includes("settings.json"), + "No settings.json found in .vscode" + ); + ok(vscodeFiles.includes("launch.json"), "No launch.json found in .vscode"); + ok(vscodeFiles.includes("tasks.json"), "No tasks.json found in .vscode"); + ok( + vscodeFiles.includes("c_cpp_properties.json"), + "No c_cpp_properties.json found in .vscode" + ); + ok( + vscodeFiles.includes("cmake-kits.json"), + "No cmake-kits.json found in .vscode" + ); + ok( + vscodeFiles.includes("extensions.json"), + "No extensions.json found in .vscode" + ); + + ok(rootFiles.includes(".gitignore"), "No .gitignore found in project"); + ok( + rootFiles.includes("pico_sdk_import.cmake"), + "No pico_sdk_import.cmake found in project" + ); + ok( + rootFiles.includes("CMakeLists.txt"), + "No CMakeLists.txt found in project" + ); + ok( + rootFiles.filter(file => file.endsWith(".c")).length > 0, + "No .c files in generated project found" + ); + }); + + test("Uninstall pico-sdk", async () => { + await commands.executeCommand( + extensionName + "." + UninstallPicoSDKCommand.id + ); + const reqRoot = join(homedir(), ".pico-sdk"); + ok(!existsSync(reqRoot), "Failed to uninstall pico-sdk"); + }); + + /*test("New Project from blink example test (RISC-V)", () => { + const extension = extensions.getExtension(extensionId); + notStrictEqual(extension, undefined); + + NewProjectPanel.test(extension!.extensionUri); + + ok(extensions.getExtension(extensionId)?.isActive); + });*/ +}); diff --git a/src/test/suite/index.mts b/src/test/suite/index.mts new file mode 100644 index 00000000..5b5f02ff --- /dev/null +++ b/src/test/suite/index.mts @@ -0,0 +1,34 @@ +import { resolve } from "path"; +import * as Mocha from "mocha"; +import { globSync } from "glob"; +import { unknownToError } from "../../utils/errorHelper.mjs"; + +export function run(): Promise { + // Create the mocha test + const mocha = new Mocha({ + ui: "tdd", + }); + + const testsRoot = resolve(__dirname, ".."); + + return new Promise((c, e) => { + const files = globSync("**/**.test.js", { cwd: testsRoot }); + + // Add files to the test suite + files.forEach(f => mocha.addFile(resolve(testsRoot, f))); + + try { + // Run the mocha test + mocha.run(failures => { + if (failures > 0) { + e(new Error(`${failures} tests failed.`)); + } else { + c(); + } + }); + } catch (err) { + console.error(err); + e(unknownToError(err)); + } + }); +} diff --git a/src/testable.mts b/src/testable.mts new file mode 100644 index 00000000..fe479948 --- /dev/null +++ b/src/testable.mts @@ -0,0 +1,11 @@ +/** + * Interface for testable classes. + * + * Requires a class to have a test method that will include a prefedined set of + * inputs to test . + * + * TODO: make default for all commands + */ +export default interface Testable { + test(): void; +} diff --git a/src/webview/newProjectPanel.mts b/src/webview/newProjectPanel.mts index 85d9bb82..f58e7e79 100644 --- a/src/webview/newProjectPanel.mts +++ b/src/webview/newProjectPanel.mts @@ -61,6 +61,7 @@ import { setupExample, } from "../utils/examplesUtil.mjs"; import { unknownErrorToString } from "../utils/errorHelper.mjs"; +import * as EventEmitter from "events"; export const NINJA_AUTO_INSTALL_DISABLED = false; // process.platform === "linux" && process.arch === "arm64"; @@ -84,7 +85,8 @@ interface ImportProjectMessageValue { debugger: number; } -interface SubmitExampleMessageValue extends ImportProjectMessageValue { +// export for testing +export interface SubmitExampleMessageValue extends ImportProjectMessageValue { example: string; boardType: string; } @@ -307,7 +309,7 @@ export function getProjectFolderDialogOptions( }; } -export class NewProjectPanel { +export class NewProjectPanel extends EventEmitter { public static currentPanel: NewProjectPanel | undefined; public static readonly viewType = "newPicoProject"; @@ -326,6 +328,29 @@ export class NewProjectPanel { private _examples: Example[] = []; private _isCreateFromExampleOnly: boolean = false; + /* For testing */ + public static newFromExampleTitle = "New Example Pico Project"; + public static newProjectTitle = "New Pico Project"; + public static importProjectTitle = "Import Pico Project"; + public static onProjectGeneratedEvent = "onProjectGenerated"; + public static onProjectGenerationErrorEvent = "onProjectGenerationError"; + public getTitle(): string { + return this._panel.title; + } + public getIsCreateFromExampleOnly(): boolean { + return this._isCreateFromExampleOnly; + } + + public submitExample(location: Uri, value: SubmitExampleMessageValue): void { + this._projectRoot = location; + this._panel.webview.postMessage({ + command: "echo", + echoCommand: "submitExample", + value: { ...value }, + }); + } + /* END for testing */ + public static createOrShow( extensionUri: Uri, isProjectImport: boolean = false, @@ -375,7 +400,11 @@ export class NewProjectPanel { const panel = window.createWebviewPanel( NewProjectPanel.viewType, - isProjectImport ? "Import Pico Project" : "New Pico Project", + isProjectImport + ? this.importProjectTitle + : createFromExample + ? this.newFromExampleTitle + : this.newProjectTitle, column || ViewColumn.One, getWebviewOptions(extensionUri) ); @@ -434,6 +463,7 @@ export class NewProjectPanel { createFromExample: boolean = false, projectUri?: Uri ) { + super(); this._panel = panel; this._extensionUri = extensionUri; this._settings = settings; @@ -1188,10 +1218,10 @@ export class NewProjectPanel { private async _update(forceCreateFromExample: boolean): Promise { this._panel.title = this._isProjectImport - ? "Import Pico Project" + ? NewProjectPanel.importProjectTitle : forceCreateFromExample - ? "New Example Pico Project" - : "New Pico Project"; + ? NewProjectPanel.newFromExampleTitle + : NewProjectPanel.newProjectTitle; this._panel.iconPath = Uri.joinPath( this._extensionUri, "web", @@ -1463,10 +1493,10 @@ export class NewProjectPanel { ${ this._isProjectImport - ? "Import Pico Project" + ? NewProjectPanel.importProjectTitle : forceCreateFromExample - ? "New Example Pico Project" - : "New Pico Project" + ? NewProjectPanel.newFromExampleTitle + : NewProjectPanel.newProjectTitle } @@ -2212,6 +2242,10 @@ export class NewProjectPanel { (process.platform === "linux" && generatorExitCode === null) || generatorExitCode === 0 ) { + // for testing + this.emit(NewProjectPanel.onProjectGeneratedEvent, projectName); + // END for testing + void window.showInformationMessage( `Successfully generated new project: ${projectName}` ); @@ -2237,6 +2271,9 @@ export class NewProjectPanel { void commands.executeCommand("workbench.action.reloadWindow"); } } else { + // for testing + this.emit(NewProjectPanel.onProjectGenerationErrorEvent, projectName); + // END for testing this._logger.error( `Generator Process exited with code: ${generatorExitCode ?? "null"}` ); diff --git a/testWorkspace/main.c b/testWorkspace/main.c new file mode 100644 index 00000000..f26b97c9 --- /dev/null +++ b/testWorkspace/main.c @@ -0,0 +1,6 @@ +#include + +int main() { + printf("Hello, World!\n"); + return 0; +} diff --git a/tsconfig.json b/tsconfig.json index c7341748..f1286130 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "module": "Node16", + "module": "Preserve", "target": "ES2022", "lib": [ "ES2023" @@ -14,6 +14,7 @@ // "noUnusedParameters": true, /* Report errors on unused parameters. */ "forceConsistentCasingInFileNames": true, "esModuleInterop": false, - "moduleResolution": "Node16" + "moduleResolution": "Bundler", + "skipLibCheck": true } } diff --git a/web/main.js b/web/main.js index 3d0d4699..f6f878a1 100644 --- a/web/main.js +++ b/web/main.js @@ -11,6 +11,7 @@ const CMD_SUBMIT_EXAMPLE = 'submitExample'; const CMD_IMPORT_PROJECT = 'importProject'; const CMD_CREATE_FROM_EXAMPLE = 'createFromExample'; const CMD_NOT_CREATE_FROM_EXAMPLE = 'notCreateFromExample'; +const CMD_ECHO = 'echo'; var submitted = false; var isPicoWireless = false; @@ -430,6 +431,15 @@ var exampleSupportedBoards = []; const message = event.data; switch (message.command) { + case CMD_ECHO: + console.assert(message.value !== undefined, "Unexpected echo message"); + console.assert(message.echoCommnand !== undefined, "Unexpected echo message"); + console.debug("[raspberry-pi-pico] Echo message received for command:", message.echoCommnand); + vscode.postMessage({ + command: message.echoCommnand, + value: message.value + }); + break; case CMD_CHANGE_LOCATION: // update UI document.getElementById('inp-project-location').value = message.value; diff --git a/yarn.lock b/yarn.lock index 0ae4b2fc..1e5da424 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,6 +12,13 @@ __metadata: languageName: node linkType: hard +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 10/1a1f0e356a3bb30b5f1ced6f79c413e6ebacf130421f15fac5fcd8be5ddf98aedb4404d7f5624e3285b700e041f9ef938321f3ca4d359d5b716f96afa120d88d + languageName: node + linkType: hard + "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": version: 4.4.0 resolution: "@eslint-community/eslint-utils@npm:4.4.0" @@ -107,6 +114,13 @@ __metadata: languageName: node linkType: hard +"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": + version: 0.1.3 + resolution: "@istanbuljs/schema@npm:0.1.3" + checksum: 10/a9b1e49acdf5efc2f5b2359f2df7f90c5c725f2656f16099e8b2cd3a000619ecca9fc48cf693ba789cf0fd989f6e0df6a22bc05574be4223ecdbb7997d04384b + languageName: node + linkType: hard + "@jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.5 resolution: "@jridgewell/gen-mapping@npm:0.3.5" @@ -156,7 +170,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": version: 0.3.25 resolution: "@jridgewell/trace-mapping@npm:0.3.25" dependencies: @@ -479,6 +493,16 @@ __metadata: languageName: node linkType: hard +"@types/glob@npm:^8.1.0": + version: 8.1.0 + resolution: "@types/glob@npm:8.1.0" + dependencies: + "@types/minimatch": "npm:^5.1.2" + "@types/node": "npm:*" + checksum: 10/9101f3a9061e40137190f70626aa0e202369b5ec4012c3fabe6f5d229cce04772db9a94fa5a0eb39655e2e4ad105c38afbb4af56a56c0996a8c7d4fc72350e3d + languageName: node + linkType: hard + "@types/http-cache-semantics@npm:^4.0.4": version: 4.0.4 resolution: "@types/http-cache-semantics@npm:4.0.4" @@ -493,6 +517,27 @@ __metadata: languageName: node linkType: hard +"@types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 10/3feac423fd3e5449485afac999dcfcb3d44a37c830af898b689fadc65d26526460bedb889db278e0d4d815a670331796494d073a10ee6e3a6526301fe7415778 + languageName: node + linkType: hard + +"@types/minimatch@npm:^5.1.2": + version: 5.1.2 + resolution: "@types/minimatch@npm:5.1.2" + checksum: 10/94db5060d20df2b80d77b74dd384df3115f01889b5b6c40fa2dfa27cfc03a68fb0ff7c1f2a0366070263eb2e9d6bfd8c87111d4bc3ae93c3f291297c1bf56c85 + languageName: node + linkType: hard + +"@types/mocha@npm:^10.0.2, @types/mocha@npm:^10.0.8": + version: 10.0.8 + resolution: "@types/mocha@npm:10.0.8" + checksum: 10/c9ba73a6c444085193a84da4bfb8d2af64cb1baf6f678ed5a40b782171092dc0e4aebeaf4eba00fc48f22d328b3e3075a566ca15f8da1e0765cc3cf7657621d2 + languageName: node + linkType: hard + "@types/node@npm:*": version: 20.8.0 resolution: "@types/node@npm:20.8.0" @@ -651,6 +696,38 @@ __metadata: languageName: node linkType: hard +"@vscode/test-cli@npm:^0.0.10": + version: 0.0.10 + resolution: "@vscode/test-cli@npm:0.0.10" + dependencies: + "@types/mocha": "npm:^10.0.2" + c8: "npm:^9.1.0" + chokidar: "npm:^3.5.3" + enhanced-resolve: "npm:^5.15.0" + glob: "npm:^10.3.10" + minimatch: "npm:^9.0.3" + mocha: "npm:^10.2.0" + supports-color: "npm:^9.4.0" + yargs: "npm:^17.7.2" + bin: + vscode-test: out/bin.mjs + checksum: 10/bcbdc3dfa01174021ee62863385ccd08876bb3dd28aff2c2fcc1e6e768725213d715d313a357d52be35355c4d76c0d04c684ab0a4a1312ec3ad92e6e14872128 + languageName: node + linkType: hard + +"@vscode/test-electron@npm:^2.4.1": + version: 2.4.1 + resolution: "@vscode/test-electron@npm:2.4.1" + dependencies: + http-proxy-agent: "npm:^7.0.2" + https-proxy-agent: "npm:^7.0.5" + jszip: "npm:^3.10.1" + ora: "npm:^7.0.1" + semver: "npm:^7.6.2" + checksum: 10/a841af4bedd5995d568d77e86f0421810ab38c9364cbaa8b3eab14acd8e74fad481d371ecf2f46ce62cce3e48f7e682689c3bbfbb9bfa2cf3ed52fa9e0d866bf + languageName: node + linkType: hard + "abbrev@npm:^1.0.0": version: 1.1.1 resolution: "abbrev@npm:1.1.1" @@ -701,6 +778,15 @@ __metadata: languageName: node linkType: hard +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": + version: 7.1.1 + resolution: "agent-base@npm:7.1.1" + dependencies: + debug: "npm:^4.3.4" + checksum: 10/c478fec8f79953f118704d007a38f2a185458853f5c45579b9669372bd0e12602e88dc2ad0233077831504f7cd6fcc8251c383375bba5eaaf563b102938bda26 + languageName: node + linkType: hard + "agentkeepalive@npm:^4.2.1": version: 4.3.0 resolution: "agentkeepalive@npm:4.3.0" @@ -734,6 +820,13 @@ __metadata: languageName: node linkType: hard +"ansi-colors@npm:^4.1.3": + version: 4.1.3 + resolution: "ansi-colors@npm:4.1.3" + checksum: 10/43d6e2fc7b1c6e4dc373de708ee76311ec2e0433e7e8bd3194e7ff123ea6a747428fc61afdcf5969da5be3a5f0fd054602bec56fc0ebe249ce2fcde6e649e3c2 + languageName: node + linkType: hard + "ansi-regex@npm:^5.0.1": version: 5.0.1 resolution: "ansi-regex@npm:5.0.1" @@ -764,6 +857,16 @@ __metadata: languageName: node linkType: hard +"anymatch@npm:~3.1.2": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10/3e044fd6d1d26545f235a9fe4d7a534e2029d8e59fa7fd9f2a6eb21230f6b5380ea1eaf55136e60cbf8e613544b3b766e7a6fa2102e2a3a117505466e3025dc2 + languageName: node + linkType: hard + "aproba@npm:^1.0.3 || ^2.0.0": version: 2.0.0 resolution: "aproba@npm:2.0.0" @@ -802,6 +905,31 @@ __metadata: languageName: node linkType: hard +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10/669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.3.0 + resolution: "binary-extensions@npm:2.3.0" + checksum: 10/bcad01494e8a9283abf18c1b967af65ee79b0c6a9e6fcfafebfe91dbe6e0fc7272bafb73389e198b310516ae04f7ad17d79aacf6cb4c0d5d5202a7e2e52c7d98 + languageName: node + linkType: hard + +"bl@npm:^5.0.0": + version: 5.1.0 + resolution: "bl@npm:5.1.0" + dependencies: + buffer: "npm:^6.0.3" + inherits: "npm:^2.0.4" + readable-stream: "npm:^3.4.0" + checksum: 10/0340d3d70def4213cd9cbcd8592f7c5922d3668e7b231286c354613fac4a8411ad373cff26e06162da7423035bbd5caafce3e140a5f397be72fcd1e9d86f1179 + languageName: node + linkType: hard + "brace-expansion@npm:^1.1.7": version: 1.1.11 resolution: "brace-expansion@npm:1.1.11" @@ -821,7 +949,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.3": +"braces@npm:^3.0.3, braces@npm:~3.0.2": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -830,6 +958,13 @@ __metadata: languageName: node linkType: hard +"browser-stdout@npm:^1.3.1": + version: 1.3.1 + resolution: "browser-stdout@npm:1.3.1" + checksum: 10/ac70a84e346bb7afc5045ec6f22f6a681b15a4057447d4cc1c48a25c6dedb302a49a46dd4ddfb5cdd9c96e0c905a8539be1b98ae7bc440512152967009ec7015 + languageName: node + linkType: hard + "buffer-from@npm:^1.0.0": version: 1.1.2 resolution: "buffer-from@npm:1.1.2" @@ -837,6 +972,16 @@ __metadata: languageName: node linkType: hard +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10/b6bc68237ebf29bdacae48ce60e5e28fc53ae886301f2ad9496618efac49427ed79096750033e7eab1897a4f26ae374ace49106a5758f38fb70c78c9fda2c3b1 + languageName: node + linkType: hard + "builtin-modules@npm:^3.3.0": version: 3.3.0 resolution: "builtin-modules@npm:3.3.0" @@ -844,6 +989,27 @@ __metadata: languageName: node linkType: hard +"c8@npm:^9.1.0": + version: 9.1.0 + resolution: "c8@npm:9.1.0" + dependencies: + "@bcoe/v8-coverage": "npm:^0.2.3" + "@istanbuljs/schema": "npm:^0.1.3" + find-up: "npm:^5.0.0" + foreground-child: "npm:^3.1.1" + istanbul-lib-coverage: "npm:^3.2.0" + istanbul-lib-report: "npm:^3.0.1" + istanbul-reports: "npm:^3.1.6" + test-exclude: "npm:^6.0.0" + v8-to-istanbul: "npm:^9.0.0" + yargs: "npm:^17.7.2" + yargs-parser: "npm:^21.1.1" + bin: + c8: bin/c8.js + checksum: 10/6c11f156960181ef069d9bb33f67c108088d09671934e273cb8a25453e9d5030f61f9b74b72bea3236d5bb8bfeb8d59b359d2eb488c2d378c9491d725cec4574 + languageName: node + linkType: hard + "cacache@npm:^17.0.0": version: 17.1.3 resolution: "cacache@npm:17.1.3" @@ -893,7 +1059,14 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0": +"camelcase@npm:^6.0.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10/8c96818a9076434998511251dcb2761a94817ea17dbdc37f47ac080bd088fc62c7369429a19e2178b993497132c8cbcf5cc1f44ba963e76782ba469c0474938d + languageName: node + linkType: hard + +"chalk@npm:^4.0.0, chalk@npm:^4.1.0": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -903,6 +1076,32 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^5.0.0, chalk@npm:^5.3.0": + version: 5.3.0 + resolution: "chalk@npm:5.3.0" + checksum: 10/6373caaab21bd64c405bfc4bd9672b145647fc9482657b5ea1d549b3b2765054e9d3d928870cdf764fb4aad67555f5061538ff247b8310f110c5c888d92397ea + languageName: node + linkType: hard + +"chokidar@npm:^3.5.3": + version: 3.6.0 + resolution: "chokidar@npm:3.6.0" + dependencies: + anymatch: "npm:~3.1.2" + braces: "npm:~3.0.2" + fsevents: "npm:~2.3.2" + glob-parent: "npm:~5.1.2" + is-binary-path: "npm:~2.1.0" + is-glob: "npm:~4.0.1" + normalize-path: "npm:~3.0.0" + readdirp: "npm:~3.6.0" + dependenciesMeta: + fsevents: + optional: true + checksum: 10/c327fb07704443f8d15f7b4a7ce93b2f0bc0e6cea07ec28a7570aa22cd51fcf0379df589403976ea956c369f25aa82d84561947e227cd925902e1751371658df + languageName: node + linkType: hard + "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -917,6 +1116,44 @@ __metadata: languageName: node linkType: hard +"cli-cursor@npm:^4.0.0": + version: 4.0.0 + resolution: "cli-cursor@npm:4.0.0" + dependencies: + restore-cursor: "npm:^4.0.0" + checksum: 10/ab3f3ea2076e2176a1da29f9d64f72ec3efad51c0960898b56c8a17671365c26e67b735920530eaf7328d61f8bd41c27f46b9cf6e4e10fe2fa44b5e8c0e392cc + languageName: node + linkType: hard + +"cli-spinners@npm:^2.9.0": + version: 2.9.2 + resolution: "cli-spinners@npm:2.9.2" + checksum: 10/a0a863f442df35ed7294424f5491fa1756bd8d2e4ff0c8736531d886cec0ece4d85e8663b77a5afaf1d296e3cbbebff92e2e99f52bbea89b667cbe789b994794 + languageName: node + linkType: hard + +"cliui@npm:^7.0.2": + version: 7.0.4 + resolution: "cliui@npm:7.0.4" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.0" + wrap-ansi: "npm:^7.0.0" + checksum: 10/db858c49af9d59a32d603987e6fddaca2ce716cd4602ba5a2bb3a5af1351eebe82aba8dff3ef3e1b331f7fa9d40ca66e67bdf8e7c327ce0ea959747ead65c0ef + languageName: node + linkType: hard + +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10/eaa5561aeb3135c2cddf7a3b3f562fc4238ff3b3fc666869ef2adf264be0f372136702f16add9299087fb1907c2e4ec5dbfe83bd24bce815c70a80c6c1a2e950 + languageName: node + linkType: hard + "color-convert@npm:^2.0.1": version: 2.0.1 resolution: "color-convert@npm:2.0.1" @@ -970,6 +1207,20 @@ __metadata: languageName: node linkType: hard +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10/c987be3ec061348cdb3c2bfb924bec86dea1eacad10550a85ca23edb0fe3556c3a61c7399114f3331ccb3499d7fd0285ab24566e5745929412983494c3926e15 + languageName: node + linkType: hard + +"core-util-is@npm:~1.0.0": + version: 1.0.3 + resolution: "core-util-is@npm:1.0.3" + checksum: 10/9de8597363a8e9b9952491ebe18167e3b36e7707569eed0ebf14f8bba773611376466ae34575bca8cfe3c767890c859c74056084738f09d4e4a6f902b2ad7d99 + languageName: node + linkType: hard + "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" @@ -993,6 +1244,25 @@ __metadata: languageName: node linkType: hard +"debug@npm:^4.3.5": + version: 4.3.7 + resolution: "debug@npm:4.3.7" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10/71168908b9a78227ab29d5d25fe03c5867750e31ce24bf2c44a86efc5af041758bb56569b0a3d48a9b5344c00a24a777e6f4100ed6dfd9534a42c1dde285125a + languageName: node + linkType: hard + +"decamelize@npm:^4.0.0": + version: 4.0.0 + resolution: "decamelize@npm:4.0.0" + checksum: 10/b7d09b82652c39eead4d6678bb578e3bebd848add894b76d0f6b395bc45b2d692fb88d977e7cfb93c4ed6c119b05a1347cef261174916c2e75c0a8ca57da1809 + languageName: node + linkType: hard + "decompress-response@npm:^6.0.0": version: 6.0.0 resolution: "decompress-response@npm:6.0.0" @@ -1037,6 +1307,13 @@ __metadata: languageName: node linkType: hard +"diff@npm:^5.2.0": + version: 5.2.0 + resolution: "diff@npm:5.2.0" + checksum: 10/01b7b440f83a997350a988e9d2f558366c0f90f15be19f4aa7f1bb3109a4e153dfc3b9fbf78e14ea725717017407eeaa2271e3896374a0181e8f52445740846d + languageName: node + linkType: hard + "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -1053,6 +1330,13 @@ __metadata: languageName: node linkType: hard +"emoji-regex@npm:^10.2.1": + version: 10.4.0 + resolution: "emoji-regex@npm:10.4.0" + checksum: 10/76bb92c5bcf0b6980d37e535156231e4a9d0aa6ab3b9f5eabf7690231d5aa5d5b8e516f36e6804cbdd0f1c23dfef2a60c40ab7bb8aedd890584281a565b97c50 + languageName: node + linkType: hard + "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -1076,6 +1360,16 @@ __metadata: languageName: node linkType: hard +"enhanced-resolve@npm:^5.15.0": + version: 5.17.1 + resolution: "enhanced-resolve@npm:5.17.1" + dependencies: + graceful-fs: "npm:^4.2.4" + tapable: "npm:^2.2.0" + checksum: 10/e8e03cb7a4bf3c0250a89afbd29e5ec20e90ba5fcd026066232a0754864d7d0a393fa6fc0e5379314a6529165a1834b36731147080714459d98924520410d8f5 + languageName: node + linkType: hard + "env-paths@npm:^2.2.0": version: 2.2.1 resolution: "env-paths@npm:2.2.1" @@ -1090,6 +1384,13 @@ __metadata: languageName: node linkType: hard +"escalade@npm:^3.1.1": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10/9d7169e3965b2f9ae46971afa392f6e5a25545ea30f2e2dd99c9b0a95a3f52b5653681a84f5b2911a413ddad2d7a93d3514165072f349b5ffc59c75a899970d6 + languageName: node + linkType: hard + "escape-string-regexp@npm:^4.0.0": version: 4.0.0 resolution: "escape-string-regexp@npm:4.0.0" @@ -1337,6 +1638,15 @@ __metadata: languageName: node linkType: hard +"flat@npm:^5.0.2": + version: 5.0.2 + resolution: "flat@npm:5.0.2" + bin: + flat: cli.js + checksum: 10/72479e651c15eab53e25ce04c31bab18cfaac0556505cac19221dbbe85bbb9686bc76e4d397e89e5bf516ce667dcf818f8b07e585568edba55abc2bf1f698fb5 + languageName: node + linkType: hard + "flatted@npm:^3.2.9": version: 3.3.1 resolution: "flatted@npm:3.3.1" @@ -1354,6 +1664,16 @@ __metadata: languageName: node linkType: hard +"foreground-child@npm:^3.1.1": + version: 3.3.0 + resolution: "foreground-child@npm:3.3.0" + dependencies: + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^4.0.1" + checksum: 10/e3a60480f3a09b12273ce2c5fcb9514d98dd0e528f58656a1b04680225f918d60a2f81f6a368f2f3b937fcee9cfc0cbf16f1ad9a0bc6a3a6e103a84c9a90087e + languageName: node + linkType: hard + "form-data-encoder@npm:^4.0.2": version: 4.0.2 resolution: "form-data-encoder@npm:4.0.2" @@ -1428,6 +1748,13 @@ __metadata: languageName: node linkType: hard +"get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10/b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 + languageName: node + linkType: hard + "get-stream@npm:^9.0.1": version: 9.0.1 resolution: "get-stream@npm:9.0.1" @@ -1438,7 +1765,7 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.1.2": +"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -1471,6 +1798,22 @@ __metadata: languageName: node linkType: hard +"glob@npm:^10.3.10, glob@npm:^10.4.1": + version: 10.4.5 + resolution: "glob@npm:10.4.5" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^3.1.2" + minimatch: "npm:^9.0.4" + minipass: "npm:^7.1.2" + package-json-from-dist: "npm:^1.0.0" + path-scurry: "npm:^1.11.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10/698dfe11828b7efd0514cd11e573eaed26b2dff611f0400907281ce3eab0c1e56143ef9b35adc7c77ecc71fba74717b510c7c223d34ca8a98ec81777b293d4ac + languageName: node + linkType: hard + "glob@npm:^10.3.7": version: 10.3.10 resolution: "glob@npm:10.3.10" @@ -1486,19 +1829,19 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.4.1": - version: 10.4.5 - resolution: "glob@npm:10.4.5" +"glob@npm:^11.0.0": + version: 11.0.0 + resolution: "glob@npm:11.0.0" dependencies: foreground-child: "npm:^3.1.0" - jackspeak: "npm:^3.1.2" - minimatch: "npm:^9.0.4" + jackspeak: "npm:^4.0.1" + minimatch: "npm:^10.0.0" minipass: "npm:^7.1.2" package-json-from-dist: "npm:^1.0.0" - path-scurry: "npm:^1.11.1" + path-scurry: "npm:^2.0.0" bin: glob: dist/esm/bin.mjs - checksum: 10/698dfe11828b7efd0514cd11e573eaed26b2dff611f0400907281ce3eab0c1e56143ef9b35adc7c77ecc71fba74717b510c7c223d34ca8a98ec81777b293d4ac + checksum: 10/e66939201d11ae30fe97e3364ac2be5c59d6c9bfce18ac633edfad473eb6b46a7553f6f73658f67caaf6cccc1df1ae336298a45e9021fa5695fd78754cc1603e languageName: node linkType: hard @@ -1516,6 +1859,19 @@ __metadata: languageName: node linkType: hard +"glob@npm:^8.1.0": + version: 8.1.0 + resolution: "glob@npm:8.1.0" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^5.0.1" + once: "npm:^1.3.0" + checksum: 10/9aab1c75eb087c35dbc41d1f742e51d0507aa2b14c910d96fb8287107a10a22f4bbdce26fc0a3da4c69a20f7b26d62f1640b346a4f6e6becfff47f335bb1dc5e + languageName: node + linkType: hard + "globals@npm:^14.0.0": version: 14.0.0 resolution: "globals@npm:14.0.0" @@ -1563,7 +1919,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2 @@ -1600,6 +1956,22 @@ __metadata: languageName: node linkType: hard +"he@npm:^1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 10/d09b2243da4e23f53336e8de3093e5c43d2c39f8d0d18817abfa32ce3e9355391b2edb4bb5edc376aea5d4b0b59d6a0482aab4c52bc02ef95751e4b818e847f1 + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.0": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: 10/034d74029dcca544a34fb6135e98d427acd73019796ffc17383eaa3ec2fe1c0471dcbbc8f8ed39e46e86d43ccd753a160631615e4048285e313569609b66d5b7 + languageName: node + linkType: hard + "http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" @@ -1618,6 +1990,16 @@ __metadata: languageName: node linkType: hard +"http-proxy-agent@npm:^7.0.2": + version: 7.0.2 + resolution: "http-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10/d062acfa0cb82beeb558f1043c6ba770ea892b5fb7b28654dbc70ea2aeea55226dd34c02a294f6c1ca179a5aa483c4ea641846821b182edbd9cc5d89b54c6848 + languageName: node + linkType: hard + "http2-wrapper@npm:^2.2.1": version: 2.2.1 resolution: "http2-wrapper@npm:2.2.1" @@ -1638,6 +2020,16 @@ __metadata: languageName: node linkType: hard +"https-proxy-agent@npm:^7.0.5": + version: 7.0.5 + resolution: "https-proxy-agent@npm:7.0.5" + dependencies: + agent-base: "npm:^7.0.2" + debug: "npm:4" + checksum: 10/6679d46159ab3f9a5509ee80c3a3fc83fba3a920a5e18d32176c3327852c3c00ad640c0c4210a8fd70ea3c4a6d3a1b375bf01942516e7df80e2646bdc77658ab + languageName: node + linkType: hard + "humanize-ms@npm:^1.2.1": version: 1.2.1 resolution: "humanize-ms@npm:1.2.1" @@ -1656,6 +2048,13 @@ __metadata: languageName: node linkType: hard +"ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10/d9f2557a59036f16c282aaeb107832dc957a93d73397d89bbad4eb1130560560eb695060145e8e6b3b498b15ab95510226649a0b8f52ae06583575419fe10fc4 + languageName: node + linkType: hard + "ignore@npm:^5.2.0": version: 5.2.4 resolution: "ignore@npm:5.2.4" @@ -1670,6 +2069,13 @@ __metadata: languageName: node linkType: hard +"immediate@npm:~3.0.5": + version: 3.0.6 + resolution: "immediate@npm:3.0.6" + checksum: 10/f9b3486477555997657f70318cc8d3416159f208bec4cca3ff3442fd266bc23f50f0c9bd8547e1371a6b5e82b821ec9a7044a4f7b944798b25aa3cc6d5e63e62 + languageName: node + linkType: hard + "import-fresh@npm:^3.2.1": version: 3.3.0 resolution: "import-fresh@npm:3.3.0" @@ -1704,7 +2110,7 @@ __metadata: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:^2.0.3": +"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 10/cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521 @@ -1725,6 +2131,15 @@ __metadata: languageName: node linkType: hard +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: "npm:^2.0.0" + checksum: 10/078e51b4f956c2c5fd2b26bb2672c3ccf7e1faff38e0ebdba45612265f4e3d9fc3127a1fa8370bbf09eab61339203c3d3b7af5662cbf8be4030f8fac37745b0e + languageName: node + linkType: hard + "is-builtin-module@npm:^3.2.1": version: 3.2.1 resolution: "is-builtin-module@npm:3.2.1" @@ -1757,7 +2172,7 @@ __metadata: languageName: node linkType: hard -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3, is-glob@npm:~4.0.1": version: 4.0.3 resolution: "is-glob@npm:4.0.3" dependencies: @@ -1766,6 +2181,13 @@ __metadata: languageName: node linkType: hard +"is-interactive@npm:^2.0.0": + version: 2.0.0 + resolution: "is-interactive@npm:2.0.0" + checksum: 10/e8d52ad490bed7ae665032c7675ec07732bbfe25808b0efbc4d5a76b1a1f01c165f332775c63e25e9a03d319ebb6b24f571a9e902669fc1e40b0a60b5be6e26c + languageName: node + linkType: hard + "is-lambda@npm:^1.0.1": version: 1.0.1 resolution: "is-lambda@npm:1.0.1" @@ -1794,6 +2216,13 @@ __metadata: languageName: node linkType: hard +"is-plain-obj@npm:^2.1.0": + version: 2.1.0 + resolution: "is-plain-obj@npm:2.1.0" + checksum: 10/cec9100678b0a9fe0248a81743041ed990c2d4c99f893d935545cfbc42876cbe86d207f3b895700c690ad2fa520e568c44afc1605044b535a7820c1d40e38daa + languageName: node + linkType: hard + "is-reference@npm:1.2.1": version: 1.2.1 resolution: "is-reference@npm:1.2.1" @@ -1810,6 +2239,27 @@ __metadata: languageName: node linkType: hard +"is-unicode-supported@npm:^0.1.0": + version: 0.1.0 + resolution: "is-unicode-supported@npm:0.1.0" + checksum: 10/a2aab86ee7712f5c2f999180daaba5f361bdad1efadc9610ff5b8ab5495b86e4f627839d085c6530363c6d6d4ecbde340fb8e54bdb83da4ba8e0865ed5513c52 + languageName: node + linkType: hard + +"is-unicode-supported@npm:^1.1.0, is-unicode-supported@npm:^1.3.0": + version: 1.3.0 + resolution: "is-unicode-supported@npm:1.3.0" + checksum: 10/20a1fc161afafaf49243551a5ac33b6c4cf0bbcce369fcd8f2951fbdd000c30698ce320de3ee6830497310a8f41880f8066d440aa3eb0a853e2aa4836dd89abc + languageName: node + linkType: hard + +"isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: 10/f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab + languageName: node + linkType: hard + "isexe@npm:^2.0.0": version: 2.0.0 resolution: "isexe@npm:2.0.0" @@ -1824,6 +2274,34 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 10/40bbdd1e937dfd8c830fa286d0f665e81b7a78bdabcd4565f6d5667c99828bda3db7fb7ac6b96a3e2e8a2461ddbc5452d9f8bc7d00cb00075fa6a3e99f5b6a81 + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": + version: 3.0.1 + resolution: "istanbul-lib-report@npm:3.0.1" + dependencies: + istanbul-lib-coverage: "npm:^3.0.0" + make-dir: "npm:^4.0.0" + supports-color: "npm:^7.1.0" + checksum: 10/86a83421ca1cf2109a9f6d193c06c31ef04a45e72a74579b11060b1e7bb9b6337a4e6f04abfb8857e2d569c271273c65e855ee429376a0d7c91ad91db42accd1 + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.1.6": + version: 3.1.7 + resolution: "istanbul-reports@npm:3.1.7" + dependencies: + html-escaper: "npm:^2.0.0" + istanbul-lib-report: "npm:^3.0.0" + checksum: 10/f1faaa4684efaf57d64087776018d7426312a59aa6eeb4e0e3a777347d23cd286ad18f427e98f0e3dee666103d7404c9d7abc5f240406a912fa16bd6695437fa + languageName: node + linkType: hard + "jackspeak@npm:^2.0.3": version: 2.2.1 resolution: "jackspeak@npm:2.2.1" @@ -1863,6 +2341,19 @@ __metadata: languageName: node linkType: hard +"jackspeak@npm:^4.0.1": + version: 4.0.1 + resolution: "jackspeak@npm:4.0.1" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10/b20dc0df0dbb2903e4d540ae68308ec7d1dd60944b130e867e218c98b5d77481d65ea734b6c81c812d481500076e8b3fdfccfb38fc81cb1acf165e853da3e26c + languageName: node + linkType: hard + "js-yaml@npm:^4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" @@ -1895,6 +2386,18 @@ __metadata: languageName: node linkType: hard +"jszip@npm:^3.10.1": + version: 3.10.1 + resolution: "jszip@npm:3.10.1" + dependencies: + lie: "npm:~3.3.0" + pako: "npm:~1.0.2" + readable-stream: "npm:~2.3.6" + setimmediate: "npm:^1.0.5" + checksum: 10/bfbfbb9b0a27121330ac46ab9cdb3b4812433faa9ba4a54742c87ca441e31a6194ff70ae12acefa5fe25406c432290e68003900541d948a169b23d30c34dd984 + languageName: node + linkType: hard + "keyv@npm:^4.5.4": version: 4.5.4 resolution: "keyv@npm:4.5.4" @@ -1914,6 +2417,15 @@ __metadata: languageName: node linkType: hard +"lie@npm:~3.3.0": + version: 3.3.0 + resolution: "lie@npm:3.3.0" + dependencies: + immediate: "npm:~3.0.5" + checksum: 10/f335ce67fe221af496185d7ce39c8321304adb701e122942c495f4f72dcee8803f9315ee572f5f8e8b08b9e8d7195da91b9fad776e8864746ba8b5e910adf76e + languageName: node + linkType: hard + "locate-path@npm:^6.0.0": version: 6.0.0 resolution: "locate-path@npm:6.0.0" @@ -1930,6 +2442,26 @@ __metadata: languageName: node linkType: hard +"log-symbols@npm:^4.1.0": + version: 4.1.0 + resolution: "log-symbols@npm:4.1.0" + dependencies: + chalk: "npm:^4.1.0" + is-unicode-supported: "npm:^0.1.0" + checksum: 10/fce1497b3135a0198803f9f07464165e9eb83ed02ceb2273930a6f8a508951178d8cf4f0378e9d28300a2ed2bc49050995d2bd5f53ab716bb15ac84d58c6ef74 + languageName: node + linkType: hard + +"log-symbols@npm:^5.1.0": + version: 5.1.0 + resolution: "log-symbols@npm:5.1.0" + dependencies: + chalk: "npm:^5.0.0" + is-unicode-supported: "npm:^1.1.0" + checksum: 10/7291b6e7f1b3df6865bdaeb9b59605c832668ac2fa0965c63b1e7dd3700349aec09c1d7d40c368d5041ff58b7f89461a56e4009471921301af7b3609cbff9a29 + languageName: node + linkType: hard + "lowercase-keys@npm:^3.0.0": version: 3.0.0 resolution: "lowercase-keys@npm:3.0.0" @@ -1944,6 +2476,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^11.0.0": + version: 11.0.1 + resolution: "lru-cache@npm:11.0.1" + checksum: 10/26688a1b2a4d7fb97e9ea1ffb15348f1ab21b7110496814f5ce9190d50258fbba8c1444ae7232876deae1fc54adb230aa63dd1efc5bd47f240620ba8bf218041 + languageName: node + linkType: hard + "lru-cache@npm:^6.0.0": version: 6.0.0 resolution: "lru-cache@npm:6.0.0" @@ -1976,6 +2515,15 @@ __metadata: languageName: node linkType: hard +"make-dir@npm:^4.0.0": + version: 4.0.0 + resolution: "make-dir@npm:4.0.0" + dependencies: + semver: "npm:^7.5.3" + checksum: 10/bf0731a2dd3aab4db6f3de1585cea0b746bb73eb5a02e3d8d72757e376e64e6ada190b1eddcde5b2f24a81b688a9897efd5018737d05e02e2a671dda9cff8a8a + languageName: node + linkType: hard + "make-fetch-happen@npm:^11.0.3": version: 11.1.1 resolution: "make-fetch-happen@npm:11.1.1" @@ -2016,6 +2564,13 @@ __metadata: languageName: node linkType: hard +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10/d2421a3444848ce7f84bd49115ddacff29c15745db73f54041edc906c14b131a38d05298dae3081667627a59b2eb1ca4b436ff2e1b80f69679522410418b478a + languageName: node + linkType: hard + "mimic-response@npm:^3.1.0": version: 3.1.0 resolution: "mimic-response@npm:3.1.0" @@ -2030,7 +2585,16 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^10.0.0": + version: 10.0.1 + resolution: "minimatch@npm:10.0.1" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10/082e7ccbc090d5f8c4e4e029255d5a1d1e3af37bda837da2b8b0085b1503a1210c91ac90d9ebfe741d8a5f286ece820a1abb4f61dc1f82ce602a055d461d93f3 + languageName: node + linkType: hard + +"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -2039,6 +2603,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^5.0.1, minimatch@npm:^5.1.6": + version: 5.1.6 + resolution: "minimatch@npm:5.1.6" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10/126b36485b821daf96d33b5c821dac600cc1ab36c87e7a532594f9b1652b1fa89a1eebcaad4dff17c764dce1a7ac1531327f190fed5f97d8f6e5f889c116c429 + languageName: node + linkType: hard + "minimatch@npm:^9.0.1": version: 9.0.2 resolution: "minimatch@npm:9.0.2" @@ -2048,6 +2621,15 @@ __metadata: languageName: node linkType: hard +"minimatch@npm:^9.0.3": + version: 9.0.5 + resolution: "minimatch@npm:9.0.5" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10/dd6a8927b063aca6d910b119e1f2df6d2ce7d36eab91de83167dd136bb85e1ebff97b0d3de1cb08bd1f7e018ca170b4962479fefab5b2a69e2ae12cb2edc8348 + languageName: node + linkType: hard + "minimatch@npm:^9.0.4": version: 9.0.4 resolution: "minimatch@npm:9.0.4" @@ -2164,6 +2746,37 @@ __metadata: languageName: node linkType: hard +"mocha@npm:^10.2.0, mocha@npm:^10.7.3": + version: 10.7.3 + resolution: "mocha@npm:10.7.3" + dependencies: + ansi-colors: "npm:^4.1.3" + browser-stdout: "npm:^1.3.1" + chokidar: "npm:^3.5.3" + debug: "npm:^4.3.5" + diff: "npm:^5.2.0" + escape-string-regexp: "npm:^4.0.0" + find-up: "npm:^5.0.0" + glob: "npm:^8.1.0" + he: "npm:^1.2.0" + js-yaml: "npm:^4.1.0" + log-symbols: "npm:^4.1.0" + minimatch: "npm:^5.1.6" + ms: "npm:^2.1.3" + serialize-javascript: "npm:^6.0.2" + strip-json-comments: "npm:^3.1.1" + supports-color: "npm:^8.1.1" + workerpool: "npm:^6.5.1" + yargs: "npm:^16.2.0" + yargs-parser: "npm:^20.2.9" + yargs-unparser: "npm:^2.0.0" + bin: + _mocha: bin/_mocha + mocha: bin/mocha.js + checksum: 10/5757aeb320df2507338bfba41731070ce16d27177c5876672fff4bcc4f7b7bcf1afe6ec761bfded43a5d28032d7b797b8b905b5b44c9420203f3ee71457732c1 + languageName: node + linkType: hard + "ms@npm:2.1.2": version: 2.1.2 resolution: "ms@npm:2.1.2" @@ -2171,7 +2784,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:^2.0.0": +"ms@npm:^2.0.0, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10/aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d @@ -2224,6 +2837,13 @@ __metadata: languageName: node linkType: hard +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10/88eeb4da891e10b1318c4b2476b6e2ecbeb5ff97d946815ffea7794c31a89017c70d7f34b3c2ebf23ef4e9fc9fb99f7dffe36da22011b5b5c6ffa34f4873ec20 + languageName: node + linkType: hard + "normalize-url@npm:^8.0.1": version: 8.0.1 resolution: "normalize-url@npm:8.0.1" @@ -2252,6 +2872,15 @@ __metadata: languageName: node linkType: hard +"onetime@npm:^5.1.0": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10/e9fd0695a01cf226652f0385bf16b7a24153dbbb2039f764c8ba6d2306a8506b0e4ce570de6ad99c7a6eb49520743afdb66edd95ee979c1a342554ed49a9aadd + languageName: node + linkType: hard + "optionator@npm:^0.9.3": version: 0.9.3 resolution: "optionator@npm:0.9.3" @@ -2266,6 +2895,23 @@ __metadata: languageName: node linkType: hard +"ora@npm:^7.0.1": + version: 7.0.1 + resolution: "ora@npm:7.0.1" + dependencies: + chalk: "npm:^5.3.0" + cli-cursor: "npm:^4.0.0" + cli-spinners: "npm:^2.9.0" + is-interactive: "npm:^2.0.0" + is-unicode-supported: "npm:^1.3.0" + log-symbols: "npm:^5.1.0" + stdin-discarder: "npm:^0.1.0" + string-width: "npm:^6.1.0" + strip-ansi: "npm:^7.1.0" + checksum: 10/4ec001b6f1b8592be93d8a5e7e4f271f0fcd85868ceb0f00d0c1bff57be282aeeaaaacbd4bdefdf1b852de5d7813ac564da7a3c08000761beeade6097fc8a9af + languageName: node + linkType: hard + "p-cancelable@npm:^4.0.1": version: 4.0.1 resolution: "p-cancelable@npm:4.0.1" @@ -2307,6 +2953,13 @@ __metadata: languageName: node linkType: hard +"pako@npm:~1.0.2": + version: 1.0.11 + resolution: "pako@npm:1.0.11" + checksum: 10/1ad07210e894472685564c4d39a08717e84c2a68a70d3c1d9e657d32394ef1670e22972a433cbfe48976cb98b154ba06855dcd3fcfba77f60f1777634bec48c0 + languageName: node + linkType: hard + "parent-module@npm:^1.0.0": version: 1.0.1 resolution: "parent-module@npm:1.0.1" @@ -2374,6 +3027,16 @@ __metadata: languageName: node linkType: hard +"path-scurry@npm:^2.0.0": + version: 2.0.0 + resolution: "path-scurry@npm:2.0.0" + dependencies: + lru-cache: "npm:^11.0.0" + minipass: "npm:^7.1.2" + checksum: 10/285ae0c2d6c34ae91dc1d5378ede21981c9a2f6de1ea9ca5a88b5a270ce9763b83dbadc7a324d512211d8d36b0c540427d3d0817030849d97a60fa840a2c59ec + languageName: node + linkType: hard + "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -2381,7 +3044,7 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.3.1": +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 10/60c2595003b05e4535394d1da94850f5372c9427ca4413b71210f437f7b2ca091dbd611c45e8b37d10036fa8eade25c1b8951654f9d3973bfa66a2ff4d3b08bc @@ -2395,6 +3058,13 @@ __metadata: languageName: node linkType: hard +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 10/1d38588e520dab7cea67cbbe2efdd86a10cc7a074c09657635e34f035277b59fbb57d09d8638346bf7090f8e8ebc070c96fa5fd183b777fff4f5edff5e9466cf + languageName: node + linkType: hard + "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -2445,17 +3115,23 @@ __metadata: "@rollup/plugin-terser": "npm:^0.4.4" "@rollup/plugin-typescript": "npm:^11.1.6" "@types/adm-zip": "npm:^0.5.5" + "@types/glob": "npm:^8.1.0" "@types/ini": "npm:^4.1.1" + "@types/mocha": "npm:^10.0.8" "@types/node": "npm:18.17.x" "@types/uuid": "npm:^10.0.0" "@types/vscode": "npm:^1.87.0" "@types/which": "npm:^3.0.4" + "@vscode/test-cli": "npm:^0.0.10" + "@vscode/test-electron": "npm:^2.4.1" adm-zip: "npm:^0.5.14 <0.5.15" eslint: "npm:^9.9.0" eslint-config-prettier: "npm:^9.1.0" + glob: "npm:^11.0.0" globals: "npm:^15.9.0" got: "npm:^14.4.2" ini: "npm:^4.1.3" + mocha: "npm:^10.7.3" rimraf: "npm:^5.0.7" rollup: "npm:^4.21.0" tslib: "npm:^2.6.3" @@ -2467,7 +3143,7 @@ __metadata: languageName: unknown linkType: soft -"readable-stream@npm:^3.6.0": +"readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": version: 3.6.2 resolution: "readable-stream@npm:3.6.2" dependencies: @@ -2478,6 +3154,37 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:~2.3.6": + version: 2.3.8 + resolution: "readable-stream@npm:2.3.8" + dependencies: + core-util-is: "npm:~1.0.0" + inherits: "npm:~2.0.3" + isarray: "npm:~1.0.0" + process-nextick-args: "npm:~2.0.0" + safe-buffer: "npm:~5.1.1" + string_decoder: "npm:~1.1.1" + util-deprecate: "npm:~1.0.1" + checksum: 10/8500dd3a90e391d6c5d889256d50ec6026c059fadee98ae9aa9b86757d60ac46fff24fafb7a39fa41d54cb39d8be56cc77be202ebd4cd8ffcf4cb226cbaa40d4 + languageName: node + linkType: hard + +"readdirp@npm:~3.6.0": + version: 3.6.0 + resolution: "readdirp@npm:3.6.0" + dependencies: + picomatch: "npm:^2.2.1" + checksum: 10/196b30ef6ccf9b6e18c4e1724b7334f72a093d011a99f3b5920470f0b3406a51770867b3e1ae9711f227ef7a7065982f6ee2ce316746b2cb42c88efe44297fe7 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10/a72468e2589270d91f06c7d36ec97a88db53ae5d6fe3787fadc943f0b0276b10347f89b363b2a82285f650bdcc135ad4a257c61bdd4d00d6df1fa24875b0ddaf + languageName: node + linkType: hard + "resolve-alpn@npm:^1.2.0": version: 1.2.1 resolution: "resolve-alpn@npm:1.2.1" @@ -2527,6 +3234,16 @@ __metadata: languageName: node linkType: hard +"restore-cursor@npm:^4.0.0": + version: 4.0.0 + resolution: "restore-cursor@npm:4.0.0" + dependencies: + onetime: "npm:^5.1.0" + signal-exit: "npm:^3.0.2" + checksum: 10/5b675c5a59763bf26e604289eab35711525f11388d77f409453904e1e69c0d37ae5889295706b2c81d23bd780165084d040f9b68fffc32cc921519031c4fa4af + languageName: node + linkType: hard + "retry@npm:^0.12.0": version: 0.12.0 resolution: "retry@npm:0.12.0" @@ -2642,6 +3359,13 @@ __metadata: languageName: node linkType: hard +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 10/7eb5b48f2ed9a594a4795677d5a150faa7eb54483b2318b568dc0c4fc94092a6cce5be02c7288a0500a156282f5276d5688bce7259299568d1053b2150ef374a + languageName: node + linkType: hard + "safer-buffer@npm:>= 2.1.2 < 3.0.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" @@ -2660,6 +3384,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.5.3, semver@npm:^7.6.2": + version: 7.6.3 + resolution: "semver@npm:7.6.3" + bin: + semver: bin/semver.js + checksum: 10/36b1fbe1a2b6f873559cd57b238f1094a053dbfd997ceeb8757d79d1d2089c56d1321b9f1069ce263dc64cfa922fa1d2ad566b39426fe1ac6c723c1487589e10 + languageName: node + linkType: hard + "semver@npm:^7.6.0": version: 7.6.1 resolution: "semver@npm:7.6.1" @@ -2669,7 +3402,7 @@ __metadata: languageName: node linkType: hard -"serialize-javascript@npm:^6.0.1": +"serialize-javascript@npm:^6.0.1, serialize-javascript@npm:^6.0.2": version: 6.0.2 resolution: "serialize-javascript@npm:6.0.2" dependencies: @@ -2685,6 +3418,13 @@ __metadata: languageName: node linkType: hard +"setimmediate@npm:^1.0.5": + version: 1.0.5 + resolution: "setimmediate@npm:1.0.5" + checksum: 10/76e3f5d7f4b581b6100ff819761f04a984fa3f3990e72a6554b57188ded53efce2d3d6c0932c10f810b7c59414f85e2ab3c11521877d1dea1ce0b56dc906f485 + languageName: node + linkType: hard + "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -2701,7 +3441,7 @@ __metadata: languageName: node linkType: hard -"signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: 10/a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 @@ -2783,7 +3523,16 @@ __metadata: languageName: node linkType: hard -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.3": +"stdin-discarder@npm:^0.1.0": + version: 0.1.0 + resolution: "stdin-discarder@npm:0.1.0" + dependencies: + bl: "npm:^5.0.0" + checksum: 10/85131f70ae2830144133b7a6211d56f9ac2603573f4af3d0b66e828af5e13fcdea351f9192f86bb7fed2c64604c8097bf36d50cb77d54e898ce4604c3b7b6b8f + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" dependencies: @@ -2805,6 +3554,17 @@ __metadata: languageName: node linkType: hard +"string-width@npm:^6.1.0": + version: 6.1.0 + resolution: "string-width@npm:6.1.0" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^10.2.1" + strip-ansi: "npm:^7.0.1" + checksum: 10/8aefb456a230c8d7fe254049b1b2d62603da1a3b6c7fc9f3332f6779583cc1c72653f9b6e4cd0c1c92befee1565d4a0a7542d09ba4ceb6d96af02fbd8425bb03 + languageName: node + linkType: hard + "string_decoder@npm:^1.1.1": version: 1.3.0 resolution: "string_decoder@npm:1.3.0" @@ -2814,6 +3574,15 @@ __metadata: languageName: node linkType: hard +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: "npm:~5.1.0" + checksum: 10/7c41c17ed4dea105231f6df208002ebddd732e8e9e2d619d133cecd8e0087ddfd9587d2feb3c8caf3213cbd841ada6d057f5142cae68a4e62d3540778d9819b4 + languageName: node + linkType: hard + "strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": version: 6.0.1 resolution: "strip-ansi@npm:6.0.1" @@ -2823,7 +3592,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^7.0.1": +"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": version: 7.1.0 resolution: "strip-ansi@npm:7.1.0" dependencies: @@ -2848,6 +3617,22 @@ __metadata: languageName: node linkType: hard +"supports-color@npm:^8.1.1": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10/157b534df88e39c5518c5e78c35580c1eca848d7dbaf31bbe06cdfc048e22c7ff1a9d046ae17b25691128f631a51d9ec373c1b740c12ae4f0de6e292037e4282 + languageName: node + linkType: hard + +"supports-color@npm:^9.4.0": + version: 9.4.0 + resolution: "supports-color@npm:9.4.0" + checksum: 10/cb8ff8daeaf1db642156f69a9aa545b6c01dd9c4def4f90a49f46cbf24be0c245d392fcf37acd119cd1819b99dad2cc9b7e3260813f64bcfd7f5b18b5a1eefb8 + languageName: node + linkType: hard + "supports-preserve-symlinks-flag@npm:^1.0.0": version: 1.0.0 resolution: "supports-preserve-symlinks-flag@npm:1.0.0" @@ -2855,6 +3640,13 @@ __metadata: languageName: node linkType: hard +"tapable@npm:^2.2.0": + version: 2.2.1 + resolution: "tapable@npm:2.2.1" + checksum: 10/1769336dd21481ae6347611ca5fca47add0962fd8e80466515032125eca0084a4f0ede11e65341b9c0018ef4e1cf1ad820adbb0fba7cc99865c6005734000b0a + languageName: node + linkType: hard + "tar@npm:^6.1.11, tar@npm:^6.1.2": version: 6.2.1 resolution: "tar@npm:6.2.1" @@ -2883,6 +3675,17 @@ __metadata: languageName: node linkType: hard +"test-exclude@npm:^6.0.0": + version: 6.0.0 + resolution: "test-exclude@npm:6.0.0" + dependencies: + "@istanbuljs/schema": "npm:^0.1.2" + glob: "npm:^7.1.4" + minimatch: "npm:^3.0.4" + checksum: 10/8fccb2cb6c8fcb6bb4115394feb833f8b6cf4b9503ec2485c2c90febf435cac62abe882a0c5c51a37b9bbe70640cdd05acf5f45e486ac4583389f4b0855f69e5 + languageName: node + linkType: hard + "text-table@npm:^0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" @@ -2999,7 +3802,7 @@ __metadata: languageName: node linkType: hard -"util-deprecate@npm:^1.0.1": +"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" checksum: 10/474acf1146cb2701fe3b074892217553dfcf9a031280919ba1b8d651a068c9b15d863b7303cb15bd00a862b498e6cf4ad7b4a08fb134edd5a6f7641681cb54a2 @@ -3015,6 +3818,17 @@ __metadata: languageName: node linkType: hard +"v8-to-istanbul@npm:^9.0.0": + version: 9.3.0 + resolution: "v8-to-istanbul@npm:9.3.0" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.12" + "@types/istanbul-lib-coverage": "npm:^2.0.1" + convert-source-map: "npm:^2.0.0" + checksum: 10/fb1d70f1176cb9dc46cabbb3fd5c52c8f3e8738b61877b6e7266029aed0870b04140e3f9f4550ac32aebcfe1d0f38b0bac57e1e8fb97d68fec82f2b416148166 + languageName: node + linkType: hard + "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -3046,7 +3860,14 @@ __metadata: languageName: node linkType: hard -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": +"workerpool@npm:^6.5.1": + version: 6.5.1 + resolution: "workerpool@npm:6.5.1" + checksum: 10/b1b00139fe62f2ebec556a2af8085bf6e7502ad26cf2a4dcb34fb4408b2e68aa12c88b0a50cb463b24f2806d60fa491fc0da933b56ec3b53646aeec0025d14cb + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" dependencies: @@ -3075,6 +3896,13 @@ __metadata: languageName: node linkType: hard +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10/5f1b5f95e3775de4514edbb142398a2c37849ccfaf04a015be5d75521e9629d3be29bd4432d23c57f37e5b61ade592fb0197022e9993f81a06a5afbdcda9346d + languageName: node + linkType: hard + "yallist@npm:^4.0.0": version: 4.0.0 resolution: "yallist@npm:4.0.0" @@ -3082,6 +3910,62 @@ __metadata: languageName: node linkType: hard +"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.9": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 10/0188f430a0f496551d09df6719a9132a3469e47fe2747208b1dd0ab2bb0c512a95d0b081628bbca5400fb20dbf2fabe63d22badb346cecadffdd948b049f3fcc + languageName: node + linkType: hard + +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10/9dc2c217ea3bf8d858041252d43e074f7166b53f3d010a8c711275e09cd3d62a002969a39858b92bbda2a6a63a585c7127014534a560b9c69ed2d923d113406e + languageName: node + linkType: hard + +"yargs-unparser@npm:^2.0.0": + version: 2.0.0 + resolution: "yargs-unparser@npm:2.0.0" + dependencies: + camelcase: "npm:^6.0.0" + decamelize: "npm:^4.0.0" + flat: "npm:^5.0.2" + is-plain-obj: "npm:^2.1.0" + checksum: 10/68f9a542c6927c3768c2f16c28f71b19008710abd6b8f8efbac6dcce26bbb68ab6503bed1d5994bdbc2df9a5c87c161110c1dfe04c6a3fe5c6ad1b0e15d9a8a3 + languageName: node + linkType: hard + +"yargs@npm:^16.2.0": + version: 16.2.0 + resolution: "yargs@npm:16.2.0" + dependencies: + cliui: "npm:^7.0.2" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.0" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^20.2.2" + checksum: 10/807fa21211d2117135d557f95fcd3c3d390530cda2eca0c840f1d95f0f40209dcfeb5ec18c785a1f3425896e623e3b2681e8bb7b6600060eda1c3f4804e7957e + languageName: node + linkType: hard + +"yargs@npm:^17.7.2": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10/abb3e37678d6e38ea85485ed86ebe0d1e3464c640d7d9069805ea0da12f69d5a32df8e5625e370f9c96dd1c2dc088ab2d0a4dd32af18222ef3c4224a19471576 + languageName: node + linkType: hard + "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0"