From e8e92a305f30c6c4ff9e81059143b0b20ad70303 Mon Sep 17 00:00:00 2001 From: dlilley Date: Fri, 9 May 2025 08:54:38 -0400 Subject: [PATCH 1/4] v1.3.3 commit --- .eslintrc.json | 1 + .github/ISSUE_TEMPLATE/bug_report.md | 1 + CHANGELOG.md | 13 ++ package-lock.json | 28 ++-- package.json | 2 +- server | 2 +- src/Notifications.ts | 4 +- src/commandwindow/CommandWindow.ts | 187 +++++++++++++++++++++--- src/commandwindow/TerminalService.ts | 4 +- src/debug/MatlabDebugger.ts | 2 +- src/test/tools/tester/TerminalTester.ts | 7 +- src/test/tools/tester/TestSuite.ts | 4 +- src/test/ui/terminal.test.ts | 31 +++- 13 files changed, 246 insertions(+), 40 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 74e2d74..b53ab36 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -21,6 +21,7 @@ "@typescript-eslint/no-inferrable-types": "off", "@typescript-eslint/promise-function-async": "off", "@typescript-eslint/consistent-type-assertions": "off", + "object-shorthand": "off", "@typescript-eslint/indent": ["error", 4, { "SwitchCase": 1, "VariableDeclarator": 1, diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 30e59ba..def1e29 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -24,6 +24,7 @@ A clear and concise description of what you expected to happen. If applicable, add screenshots to help explain your problem. **Useful Information** + - MATLAB Version: - OS Version: - VS Code Version: diff --git a/CHANGELOG.md b/CHANGELOG.md index e97b089..9357e6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.3.3] - 2025-05-15 + +### Added +- Use automatic code completion to complete commands in the MATLAB terminal +- Move the cursor in the MATLAB terminal using `Alt+Click` +- Support for debugging P-coded files when the corresponding source file is available +- Filter the commands in the MATLAB terminal history by entering text in the terminal (Thanks @robertoffmoura!) + +### Fixed +- Resolves issues with the MATLAB workspace not updating correctly when switching contexts in the call stack +- Resolves potential crashes when using code completion in files without a .m file extension +- Patches CVE-2024-12905 + ## [1.3.2] - 2025-03-06 ### Fixed diff --git a/package-lock.json b/package-lock.json index 99d9159..f85c87c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "language-matlab", - "version": "1.3.2", + "version": "1.3.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "language-matlab", - "version": "1.3.2", + "version": "1.3.3", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -6191,9 +6191,9 @@ } }, "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.2.tgz", + "integrity": "sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==", "dev": true, "optional": true, "dependencies": { @@ -6277,9 +6277,9 @@ } }, "node_modules/targz/node_modules/tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", + "version": "1.16.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.4.tgz", + "integrity": "sha512-u3XczWoYAIVXe5GOKK6+VeWaHjtc47W7hyuTo3+4cNakcCcuDmlkYiiHEsECwTkcI3h1VUgtwBQ54+RvY6cM4w==", "dev": true, "dependencies": { "chownr": "^1.0.1", @@ -11828,9 +11828,9 @@ "dev": true }, "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.2.tgz", + "integrity": "sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==", "dev": true, "optional": true, "requires": { @@ -11907,9 +11907,9 @@ } }, "tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", + "version": "1.16.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.4.tgz", + "integrity": "sha512-u3XczWoYAIVXe5GOKK6+VeWaHjtc47W7hyuTo3+4cNakcCcuDmlkYiiHEsECwTkcI3h1VUgtwBQ54+RvY6cM4w==", "dev": true, "requires": { "chownr": "^1.0.1", diff --git a/package.json b/package.json index c396974..91cbc91 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "Edit MATLAB code with syntax highlighting, linting, navigation support, and more", "icon": "public/L-Membrane_RGB_128x128.png", "license": "MIT", - "version": "1.3.2", + "version": "1.3.3", "engines": { "vscode": "^1.67.0" }, diff --git a/server b/server index 41d556f..4765aa2 160000 --- a/server +++ b/server @@ -1 +1 @@ -Subproject commit 41d556fddba85735e3681d1ec52884f33d9e3b5e +Subproject commit 4765aa220a599dc4b9d437e745d8db6e0cae3246 diff --git a/src/Notifications.ts b/src/Notifications.ts index 99dbba3..3cf9dd9 100644 --- a/src/Notifications.ts +++ b/src/Notifications.ts @@ -1,4 +1,4 @@ -// Copyright 2023-2024 The MathWorks, Inc. +// Copyright 2023-2025 The MathWorks, Inc. enum Notification { // Connection Status Updates @@ -15,6 +15,8 @@ enum Notification { // Execution MatlabRequestInstance = 'matlab/request', + TerminalCompletionRequest = 'TerminalCompletionRequest', + TerminalCompletionResponse = 'TerminalCompletionResponse', MVMEvalRequest = 'evalRequest', MVMEvalComplete = 'evalResponse', diff --git a/src/commandwindow/CommandWindow.ts b/src/commandwindow/CommandWindow.ts index 0188ada..d5b38ab 100644 --- a/src/commandwindow/CommandWindow.ts +++ b/src/commandwindow/CommandWindow.ts @@ -1,8 +1,11 @@ -// Copyright 2024 The MathWorks, Inc. +// Copyright 2024-2025 The MathWorks, Inc. import * as vscode from 'vscode' import { MVM, MatlabState } from './MVM' import { TextEvent, PromptState } from './MVMInterface' +import { createResolvablePromise, Notifier, ResolvablePromise } from './Utilities'; +import Notification from '../Notifications'; +import { CompletionList } from 'vscode-languageclient'; /** * Direction of cursor movement @@ -15,7 +18,7 @@ enum CursorDirection { /** * Direction of history movement */ -enum HistoryDirection { +enum Direction { BACKWARDS, FORWARDS } @@ -50,6 +53,8 @@ const ACTION_KEYS = { SELECT_ALL: '\x01', DELETE: ESC + '[3~', ESCAPE: ESC, + TAB: '\t', + SHIFT_TAB: ESC + '[Z', INVERT_COLORS: ESC + '[7m', RESTORE_COLORS: ESC + '[27m', @@ -66,6 +71,10 @@ const ACTION_KEYS = { QUERY_CURSOR: ESC + '[6n', SET_CURSOR_STYLE_TO_BAR: ESC + '[5 q' }; +// eslint-disable-next-line no-control-regex +const LEFT_REGEX = /^(\x1b\[D)+$/; +// eslint-disable-next-line no-control-regex +const RIGHT_REGEX = /^(\x1b\[C)+$/; const PROMPTS = { IDLE_PROMPT: '>> ', @@ -74,6 +83,13 @@ const PROMPTS = { BUSY_PROMPT: '' }; +// A modification of the word boundary regex being used by VS Code when replacing completions. +// The first part splits on numbers. The second/third parts split on quoted strings, ie. plot("Color"| +// the fourth part splits on unquoted words (same as VS Code's original regex), +// And the fifth part splits on unfinished quotes. ie. plot("C| +// eslint-disable-next-line no-useless-escape +const WORD_REGEX = /(-?\d*\.\d\w*)|(\"[^\"]*\"?)|(\'[^\']*\'?)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)|(\"|\')/ + /** * Represents command window. Is a pseudoterminal to be used as the input/output processor in a VS Code terminal. */ @@ -82,7 +98,7 @@ export default class CommandWindow implements vscode.Pseudoterminal { private readonly _writeEmitter: vscode.EventEmitter; private _initialized: boolean = false; - private _currentPrompt = PROMPTS.IDLE_PROMPT; + private _currentPrompt: string = PROMPTS.IDLE_PROMPT; private _currentState: PromptState = PromptState.INITIALIZING; private _currentPromptLine: string = this._currentPrompt; @@ -101,12 +117,22 @@ export default class CommandWindow implements vscode.Pseudoterminal { private _justTypedLastInColumn: boolean = false; - constructor (mvm: MVM) { + private readonly _notifier: Notifier; + + private _latestTabCompletionData?: CompletionList; + private _currentCompletionIndex: number = -1; + private _pendingTabCompletionRequestNumber: number = -1; + private _pendingTabCompletionPromise?: ResolvablePromise; + + constructor (mvm: MVM, notifier: Notifier) { this._mvm = mvm; this._mvm.on(MVM.Events.output, this.addOutput.bind(this)); this._mvm.on(MVM.Events.clc, this.clear.bind(this)); this._mvm.on(MVM.Events.promptChange, this._handlePromptChange.bind(this)); + this._notifier = notifier; + this._notifier.onNotification(Notification.TerminalCompletionResponse, this._handleCompletionDataResponse.bind(this)); + this._initialized = false; this._writeEmitter = new vscode.EventEmitter(); @@ -248,6 +274,7 @@ export default class CommandWindow implements vscode.Pseudoterminal { this._handleOutputLine(lines[i], i !== lines.length - 1); } } else { + this._invalidateCompletionData(); // Case 1: Normal typing if (lines.length === 1) { this._handleLine(lines[0]); @@ -300,8 +327,8 @@ export default class CommandWindow implements vscode.Pseudoterminal { return data.startsWith(ESC) || Object.values(ACTION_KEYS).includes(data) } - private _handleActionKeys (keyCode: string): boolean { - switch (keyCode) { + private _handleActionKeys (input: string): boolean { + switch (input) { case ACTION_KEYS.LEFT: return this._handleLeftRight(CursorDirection.LEFT, AnchorPolicy.MOVE); case ACTION_KEYS.RIGHT: @@ -321,9 +348,9 @@ export default class CommandWindow implements vscode.Pseudoterminal { case ACTION_KEYS.DELETE: return this._handleDelete(); case ACTION_KEYS.UP: - return this._handleNavigateHistory(HistoryDirection.BACKWARDS); + return this._handleNavigateHistory(Direction.BACKWARDS); case ACTION_KEYS.DOWN: - return this._handleNavigateHistory(HistoryDirection.FORWARDS); + return this._handleNavigateHistory(Direction.FORWARDS); case ACTION_KEYS.ESCAPE: return this._handleEscape(); case ACTION_KEYS.BACKSPACE: @@ -335,8 +362,26 @@ export default class CommandWindow implements vscode.Pseudoterminal { return this._handleCopy(); case ACTION_KEYS.PASTE: return this._handlePaste(); - default: - return false; + case ACTION_KEYS.TAB: + return this._handleTab(Direction.FORWARDS); + case ACTION_KEYS.SHIFT_TAB: + return this._handleTab(Direction.BACKWARDS); + default: { + let result = false; + // Handle repeated left/right arrow keys. This is what is received when using Alt+Mouse to move the cursor. + if (input.match(RIGHT_REGEX) != null) { + const count = input.length / 3; + for (let i = 0; i < count; i++) { + result ||= this._handleLeftRight(CursorDirection.RIGHT, AnchorPolicy.MOVE); + } + } else if (input.match(LEFT_REGEX) != null) { + const count = input.length / 3; + for (let i = 0; i < count; i++) { + result ||= this._handleLeftRight(CursorDirection.LEFT, AnchorPolicy.MOVE); + } + } + return result; + } } } @@ -346,12 +391,12 @@ export default class CommandWindow implements vscode.Pseudoterminal { return lines; } - private _handleNavigateHistory (direction: HistoryDirection): boolean { + private _handleNavigateHistory (direction: Direction): boolean { const isAtEnd = this._historyIndex === this._filteredCommandHistory.length; const isAtBeginning = this._historyIndex === 0; - if ((direction === HistoryDirection.BACKWARDS && isAtBeginning) || - (direction === HistoryDirection.FORWARDS && isAtEnd)) { + if ((direction === Direction.BACKWARDS && isAtBeginning) || + (direction === Direction.FORWARDS && isAtEnd)) { return false; } @@ -359,7 +404,7 @@ export default class CommandWindow implements vscode.Pseudoterminal { this._lastKnownCurrentLine = this._stripCurrentPrompt(this._currentPromptLine); } - this._historyIndex += direction === HistoryDirection.BACKWARDS ? -1 : 1; + this._historyIndex += direction === Direction.BACKWARDS ? -1 : 1; const line = this._getHistoryItem(this._historyIndex); return this._replaceCurrentLineWithNewLine(this._currentPrompt + line); } @@ -441,6 +486,7 @@ export default class CommandWindow implements vscode.Pseudoterminal { this._cursorIndex++; } + this._invalidateCompletionData(); return isLineDirty; } @@ -466,6 +512,7 @@ export default class CommandWindow implements vscode.Pseudoterminal { this._currentPromptLine = before + after; this._cursorIndex--; this._markCurrentLineChanged(); + this._invalidateCompletionData(); return true; } @@ -473,6 +520,7 @@ export default class CommandWindow implements vscode.Pseudoterminal { this._cursorIndex = this._getMaxIndexOnLine(); this._anchorIndex = 0; this._updateHasSelectionContext(); + this._invalidateCompletionData(); return true; } @@ -489,6 +537,7 @@ export default class CommandWindow implements vscode.Pseudoterminal { const after = this._currentPromptLine.substring(this._getAbsoluteIndexOnLine(this._cursorIndex) + 1); this._currentPromptLine = before + after; this._markCurrentLineChanged(); + this._invalidateCompletionData(); return true; } @@ -522,10 +571,10 @@ export default class CommandWindow implements vscode.Pseudoterminal { this._writeEmitter.fire(ACTION_KEYS.CLEAR_AND_MOVE_TO_BEGINNING) } - private _replaceCurrentLineWithNewLine (updatedLine: string): boolean { + private _replaceCurrentLineWithNewLine (updatedLine: string, cursorIndex?: number): boolean { this._eraseExistingPromptLine(); this._currentPromptLine = updatedLine; - this._cursorIndex = this._getMaxIndexOnLine(); + this._cursorIndex = cursorIndex ?? this._getMaxIndexOnLine(); this._anchorIndex = undefined; this._updateWhetherJustTypedInLastColumn(); this._writeCurrentPromptLine(false); @@ -583,7 +632,7 @@ export default class CommandWindow implements vscode.Pseudoterminal { this._updateHasSelectionContext(); this._lastKnownCurrentLine = this._stripCurrentPrompt(this._currentPromptLine); this._writeCurrentPromptLine(); - + this._invalidateCompletionData(); void this._evaluateCommand(stringToEvaluate); } @@ -677,6 +726,7 @@ export default class CommandWindow implements vscode.Pseudoterminal { } private _handlePaste (): boolean { + this._invalidateCompletionData(); vscode.env.clipboard.readText().then((text: string) => { this.handleInput(text); }, () => { @@ -687,6 +737,109 @@ export default class CommandWindow implements vscode.Pseudoterminal { private _handleEscape (): boolean { this._setToEmptyPrompt(); + this._invalidateCompletionData(); + return true; + } + + private _requestCompletionData (code: string, offset: number): Promise { + this._invalidateCompletionData(); + this._pendingTabCompletionRequestNumber = this._pendingTabCompletionRequestNumber + 1; + this._notifier.sendNotification(Notification.TerminalCompletionRequest, { + requestId: this._pendingTabCompletionRequestNumber, + code: code, + offset: offset + }); + + this._pendingTabCompletionPromise = createResolvablePromise(); + return this._pendingTabCompletionPromise; + } + + private _handleCompletionDataResponse (data: any): void { + if (data.requestId === this._pendingTabCompletionRequestNumber && (this._pendingTabCompletionPromise != null)) { + this._pendingTabCompletionPromise.resolve(data.result); + } + } + + private _invalidateCompletionData (): void { + this._latestTabCompletionData = undefined; + this._pendingTabCompletionPromise?.reject(); + this._pendingTabCompletionPromise = undefined; + } + + private _doCompletion (): boolean { + if (this._latestTabCompletionData === undefined || this._latestTabCompletionData?.items.length === 0) { + return false; + } + + const currentCompletion = this._latestTabCompletionData.items[this._currentCompletionIndex].label; + const currentLine = this._stripCurrentPrompt(this._currentPromptLine); + + // Split the current line into words and non-words + const words = currentLine.split(WORD_REGEX).filter(match => match !== undefined && match !== ''); + const wordLengths = words.map(match => match.length); + const validWords = words.map(match => WORD_REGEX.test(match)); + validWords.unshift(false); + + // Find the first word/non-word the cursor is within + const cumulativeLengths = []; + let cumulativeLength = 0; + cumulativeLengths.push(0); + wordLengths.forEach((value) => { + cumulativeLength += value; + cumulativeLengths.push(cumulativeLength); + }); + + let i; + for (i = 0; i < cumulativeLengths.length; i++) { + if (this._cursorIndex <= cumulativeLengths[i]) { + break; + } + } + + if (i === cumulativeLengths.length) { + return false; + } + + // If the cursor is within or at the end of a valid word, then we want to replace that word. + if (validWords[i]) { + // Then get the code before the replacement and after the replacement + const codeBefore = currentLine.substring(0, cumulativeLengths[i - 1]); + const codeAfter = currentLine.substring(cumulativeLengths[i]); + // And construct the new line with the replacement made + const newLine = codeBefore + currentCompletion + codeAfter; + + this._replaceCurrentLineWithNewLine(this._currentPrompt + newLine, codeBefore.length + currentCompletion.length); + } else { + // Otherwise we want to just insert the new completion directly at the cursor. + const codeBefore = currentLine.substring(0, this._cursorIndex); + const codeAfter = currentLine.substring(this._cursorIndex); + // And construct the new line with the replacement made + const newLine = codeBefore + currentCompletion + codeAfter; + + this._replaceCurrentLineWithNewLine(this._currentPrompt + newLine, codeBefore.length + currentCompletion.length); + } + return true; + } + + private _handleTab (direction: Direction): boolean { + // If we have data and that not been invalidated, just increment the match index and do the replacement + if (this._latestTabCompletionData !== undefined) { + this._currentCompletionIndex = (this._currentCompletionIndex + this._latestTabCompletionData.items.length + (direction === Direction.FORWARDS ? 1 : -1)) % this._latestTabCompletionData.items.length; + return this._doCompletion(); + } else { + // Otherwise, request new completion data and do a completion when the data has come in. + const code = this._stripCurrentPrompt(this._currentPromptLine); + const offset = this._cursorIndex; + if (code.trim() === '') { + return false; + } + // If the request isn't invalidated before the data has arrived, then do the completion. Otherwise it will be rejected and ignored. + this._requestCompletionData(code, offset).then((completions: CompletionList) => { + this._latestTabCompletionData = completions; + this._currentCompletionIndex = 0; + this._doCompletion(); + }, () => { /* intentionally empty */ }); + } return true; } diff --git a/src/commandwindow/TerminalService.ts b/src/commandwindow/TerminalService.ts index 8abc634..8b1550e 100644 --- a/src/commandwindow/TerminalService.ts +++ b/src/commandwindow/TerminalService.ts @@ -1,4 +1,4 @@ -// Copyright 2024 The MathWorks, Inc. +// Copyright 2024-2025 The MathWorks, Inc. import * as vscode from 'vscode' import { MVM } from './MVM' @@ -23,7 +23,7 @@ export default class TerminalService { this._mvm = mvm; this._client = client; - this._commandWindow = new CommandWindow(mvm); + this._commandWindow = new CommandWindow(mvm, client); this._terminalOptions = { name: 'MATLAB', diff --git a/src/debug/MatlabDebugger.ts b/src/debug/MatlabDebugger.ts index 4658fc3..7b356e1 100644 --- a/src/debug/MatlabDebugger.ts +++ b/src/debug/MatlabDebugger.ts @@ -148,7 +148,7 @@ export default class MatlabDebugger { if ((vscode.debug as any).onDidChangeActiveStackItem !== undefined) { // eslint-disable-next-line @typescript-eslint/no-explicit-any (vscode.debug as any).onDidChangeActiveStackItem((frame: any) => { - if (this._baseDebugSession !== null) { + if (this._baseDebugSession === null) { return; } diff --git a/src/test/tools/tester/TerminalTester.ts b/src/test/tools/tester/TerminalTester.ts index 6d4bc22..6102fe5 100644 --- a/src/test/tools/tester/TerminalTester.ts +++ b/src/test/tools/tester/TerminalTester.ts @@ -1,4 +1,4 @@ -// Copyright 2024 The MathWorks, Inc. +// Copyright 2024-2025 The MathWorks, Inc. import * as vet from 'vscode-extension-tester' import * as PollingUtils from '../utils/PollingUtils' @@ -55,4 +55,9 @@ export class TerminalTester { const content = await this.getTerminalContent() return content.includes(expected) } + + public async type (text: string): Promise { + const container = await this.terminal.findElement(vet.By.className('xterm-helper-textarea')); + return await container.sendKeys(text) + } } diff --git a/src/test/tools/tester/TestSuite.ts b/src/test/tools/tester/TestSuite.ts index 2b91d59..ac28876 100644 --- a/src/test/tools/tester/TestSuite.ts +++ b/src/test/tools/tester/TestSuite.ts @@ -36,7 +36,9 @@ export class TestSuite { 'window.dialogStyle': 'custom', 'terminal.integrated.copyOnSelection': true, 'debug.toolBarLocation': 'docked', - 'workbench.startupEditor': 'none' + 'workbench.startupEditor': 'none', + 'terminal.integrated.sendKeybindingsToShell': true, + 'editor.action.toggleTabFocusMode': false }) fs.writeFileSync(settingsjson, settings) this.vscodeSettings = settingsjson diff --git a/src/test/ui/terminal.test.ts b/src/test/ui/terminal.test.ts index 099c3be..6e9047f 100644 --- a/src/test/ui/terminal.test.ts +++ b/src/test/ui/terminal.test.ts @@ -1,6 +1,7 @@ // Copyright 2025 The MathWorks, Inc. import { VSCodeTester } from '../tools/tester/VSCodeTester' import { before, afterEach, after } from 'mocha'; +import { Key } from 'selenium-webdriver'; suite('Terminal Smoke Tests', () => { let vs: VSCodeTester @@ -14,7 +15,7 @@ suite('Terminal Smoke Tests', () => { }); afterEach(async () => { - await vs.terminal.executeCommand('clc'); + await vs.terminal.executeCommand('clc') }); after(async () => { @@ -35,4 +36,32 @@ suite('Terminal Smoke Tests', () => { await vs.terminal.executeCommand('clc'); await vs.terminal.assertContent('>>', 'clc should clear terminal') }) + + test('Test tab completions', async () => { + await vs.terminal.type('displ') + await vs.terminal.type(Key.TAB) + await vs.terminal.assertContains('display', 'terminal should contain display') + await vs.terminal.type(Key.ESCAPE) + await vs.terminal.assertContent('>>', 'ESCAPE should clear typed command and suggestion') + }) + + test('Test tab completions with context', async () => { + await vs.terminal.executeCommand('xVar = 1;') + await vs.terminal.type('disp(x') + await vs.terminal.type(Key.TAB) + await vs.terminal.assertContains('disp(xVar', 'terminal should contain disp(xVar') + await vs.terminal.type(Key.ESCAPE) + }) + + test('Test tab completions from within the command', async () => { + await vs.terminal.executeCommand('xVar = 1;') + await vs.terminal.type('x + 3') + await vs.terminal.type(Key.LEFT) + await vs.terminal.type(Key.LEFT) + await vs.terminal.type(Key.LEFT) + await vs.terminal.type(Key.LEFT) + await vs.terminal.type(Key.TAB) + await vs.terminal.assertContains('xVar + 3', 'terminal should contain xVar + 3') + await vs.terminal.type(Key.ESCAPE) + }) }); From 51dd3be32d4d7b67927df547ebfcbe0a461d303b Mon Sep 17 00:00:00 2001 From: dlilley Date: Fri, 9 May 2025 08:54:56 -0400 Subject: [PATCH 2/4] Update server submodule --- server | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server b/server index 4765aa2..afcef80 160000 --- a/server +++ b/server @@ -1 +1 @@ -Subproject commit 4765aa220a599dc4b9d437e745d8db6e0cae3246 +Subproject commit afcef8062cbcf0205e75fef665bdad83cdba8d74 From de33fd7bbcdbf282af40054767922ae6088f5cfb Mon Sep 17 00:00:00 2001 From: Jay Dhameliya <107123702+jdhameli@users.noreply.github.com> Date: Tue, 13 May 2025 10:30:42 -0400 Subject: [PATCH 3/4] Bump vscode-extension-tester to v8.14.1 npm update vscode-extension-tester --- package-lock.json | 428 +++++++++++++++++++++++++++++----------------- package.json | 2 +- 2 files changed, 271 insertions(+), 159 deletions(-) diff --git a/package-lock.json b/package-lock.json index f85c87c..f182cf8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,7 +33,7 @@ "glob": "^8.0.3", "mocha": "^10.0.0", "typescript": "^5.0.4", - "vscode-extension-tester": "8.11.0" + "vscode-extension-tester": "8.14.1" }, "engines": { "vscode": "^1.67.0" @@ -631,9 +631,9 @@ } }, "node_modules/@redhat-developer/locators": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@redhat-developer/locators/-/locators-1.9.0.tgz", - "integrity": "sha512-Yo3Jgy3VDMb9TWr4s2SCwNSG7nrFN/t9WR+6ke9TIx16oi8lSUqq/0RGB2XHIJOQK8hzCLCa8cap5tIaadoz/Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@redhat-developer/locators/-/locators-1.12.1.tgz", + "integrity": "sha512-bJZSZ1J1t0NM0UroK2jiT125hEiqzaGjcKCZBXyOQoUGTr9XvGnk/nDg1VBEm1krQjLdsNxZ3TgfCRDbXsQCnA==", "dev": true, "peerDependencies": { "@redhat-developer/page-objects": ">=1.0.0", @@ -641,16 +641,16 @@ } }, "node_modules/@redhat-developer/page-objects": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@redhat-developer/page-objects/-/page-objects-1.9.0.tgz", - "integrity": "sha512-BmNZrWtpyNkaoHETxkgCUG/4f9Z+MNe8DJPV8xsGfp5XSAqA6ZOkk24mNmqEMU8jIXFwHp8RnWJDqrXQLbN2VQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@redhat-developer/page-objects/-/page-objects-1.12.1.tgz", + "integrity": "sha512-rfSQDYlHLeSpn+OHzMb3AYmTG5c2Ped4JRH7eHQb5yhhcxkZA755Ik0DvvdRQZMo1H9Kk8Ajn44PdicPewhPVg==", "dev": true, "dependencies": { "clipboardy": "^4.0.0", "clone-deep": "^4.0.1", "compare-versions": "^6.1.1", - "fs-extra": "^11.2.0", - "type-fest": "^4.31.0" + "fs-extra": "^11.3.0", + "type-fest": "^4.39.1" }, "peerDependencies": { "selenium-webdriver": ">=4.6.1", @@ -658,9 +658,9 @@ } }, "node_modules/@redhat-developer/page-objects/node_modules/type-fest": { - "version": "4.34.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.34.1.tgz", - "integrity": "sha512-6kSc32kT0rbwxD6QL1CYe8IqdzN/J/ILMrNK+HMQCKH3insCDRY/3ITb0vcBss0a3t72fzh2YSzj8ko1HgwT3g==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, "engines": { "node": ">=16" @@ -1871,6 +1871,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -2404,6 +2417,20 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", @@ -2504,13 +2531,10 @@ } }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4" - }, "engines": { "node": ">= 0.4" } @@ -2524,15 +2548,28 @@ "node": ">= 0.4" } }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "dev": true, "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -3408,16 +3445,21 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -3426,6 +3468,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", @@ -3564,21 +3619,21 @@ } }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/got": { - "version": "14.4.6", - "resolved": "https://registry.npmjs.org/got/-/got-14.4.6.tgz", - "integrity": "sha512-rnhwfM/PhMNJ1i17k3DuDqgj0cKx3IHxBKVv/WX1uDKqrhi2Gv3l7rhPThR/Cc6uU++dD97W9c8Y0qyw9x0jag==", + "version": "14.4.7", + "resolved": "https://registry.npmjs.org/got/-/got-14.4.7.tgz", + "integrity": "sha512-DI8zV1231tqiGzOiOzQWDhsBmncFW7oQDH6Zgy6pDPrqJuVZMtoSgPLLsBZQj8Jg4JFfwoOsDA8NGtLQLnIx2g==", "dev": true, "dependencies": { "@sindresorhus/is": "^7.0.1", @@ -3601,9 +3656,9 @@ } }, "node_modules/got/node_modules/type-fest": { - "version": "4.34.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.34.1.tgz", - "integrity": "sha512-6kSc32kT0rbwxD6QL1CYe8IqdzN/J/ILMrNK+HMQCKH3insCDRY/3ITb0vcBss0a3t72fzh2YSzj8ko1HgwT3g==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, "engines": { "node": ">=16" @@ -3679,9 +3734,9 @@ } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, "engines": { "node": ">= 0.4" @@ -3691,12 +3746,12 @@ } }, "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, "dependencies": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -3773,9 +3828,9 @@ } }, "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "dev": true }, "node_modules/http-proxy-agent": { @@ -4723,6 +4778,15 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", @@ -5814,9 +5878,9 @@ "dev": true }, "node_modules/selenium-webdriver": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.28.1.tgz", - "integrity": "sha512-TwbTpu/NUQkorBODGAkGowJ8sar63bvqi66/tjqhS05rBl34HkVp8DoRg1cOv2iSnNonVSbkxazS3wjbc+NRtg==", + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.32.0.tgz", + "integrity": "sha512-dG48JJnB96Aea1iVaZOKGmd6yT6aemeI1heWI/i8DtfD3pDX7uIlwpDBoGauNhtXAaFaamP+U4hIab8zZkg3Ag==", "dev": true, "funding": [ { @@ -6702,26 +6766,26 @@ } }, "node_modules/vscode-extension-tester": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/vscode-extension-tester/-/vscode-extension-tester-8.11.0.tgz", - "integrity": "sha512-o8a4E8Uumgz44KBy3p3j0jCo06pbSlU+9cJE1fZ83R5aAFW5X3a8ewRa85Wd32+Zo58uGOLIPe8stla+BzPw7Q==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/vscode-extension-tester/-/vscode-extension-tester-8.14.1.tgz", + "integrity": "sha512-yu5nvQBI69Nwy7OZyNNmYcTMfcMbFy4jX2XjQc+jqenzifjOYLmr4iB427fA0A+fycl1S3ynbDlu9wKygcpdcA==", "dev": true, "dependencies": { - "@redhat-developer/locators": "^1.9.0", - "@redhat-developer/page-objects": "^1.9.0", - "@types/selenium-webdriver": "^4.1.27", - "@vscode/vsce": "^3.2.1", + "@redhat-developer/locators": "^1.12.1", + "@redhat-developer/page-objects": "^1.12.1", + "@types/selenium-webdriver": "^4.1.28", + "@vscode/vsce": "^3.3.2", "c8": "^10.1.3", - "commander": "^13.0.0", + "commander": "^13.1.0", "compare-versions": "^6.1.1", "find-up": "7.0.0", - "fs-extra": "^11.2.0", - "glob": "^11.0.0", - "got": "^14.4.5", + "fs-extra": "^11.3.0", + "glob": "^11.0.1", + "got": "^14.4.7", "hpagent": "^1.2.0", "js-yaml": "^4.1.0", "sanitize-filename": "^1.6.3", - "selenium-webdriver": "^4.27.0", + "selenium-webdriver": "^4.31.0", "targz": "^1.0.1", "unzipper": "^0.12.3" }, @@ -6734,9 +6798,9 @@ } }, "node_modules/vscode-extension-tester/node_modules/@vscode/vsce": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.2.2.tgz", - "integrity": "sha512-4TqdUq/yKlQTHcQMk/DamR632bq/+IJDomSbexOMee/UAYWqYm0XHWA6scGslsCpzY+sCWEhhl0nqdOB0XW1kw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.3.2.tgz", + "integrity": "sha512-XQ4IhctYalSTMwLnMS8+nUaGbU7v99Qm2sOoGfIEf2QC7jpiLXZZMh7NwArEFsKX4gHTJLx0/GqAUlCdC3gKCw==", "dev": true, "dependencies": { "@azure/identity": "^4.1.0", @@ -6869,13 +6933,14 @@ } }, "node_modules/vscode-extension-tester/node_modules/form-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", - "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" }, "engines": { @@ -6883,9 +6948,9 @@ } }, "node_modules/vscode-extension-tester/node_modules/glob": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz", - "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.2.tgz", + "integrity": "sha512-YT7U7Vye+t5fZ/QMkBFrTJ7ZQxInIUjwyAjVj84CYXqgBdv30MFUPGnBR6sQaVq6Is15wYJUsnzTuWaGRBhBAQ==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", @@ -7212,9 +7277,9 @@ "dev": true }, "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", "dev": true, "engines": { "node": ">=10.0.0" @@ -7822,29 +7887,29 @@ "optional": true }, "@redhat-developer/locators": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@redhat-developer/locators/-/locators-1.9.0.tgz", - "integrity": "sha512-Yo3Jgy3VDMb9TWr4s2SCwNSG7nrFN/t9WR+6ke9TIx16oi8lSUqq/0RGB2XHIJOQK8hzCLCa8cap5tIaadoz/Q==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@redhat-developer/locators/-/locators-1.12.1.tgz", + "integrity": "sha512-bJZSZ1J1t0NM0UroK2jiT125hEiqzaGjcKCZBXyOQoUGTr9XvGnk/nDg1VBEm1krQjLdsNxZ3TgfCRDbXsQCnA==", "dev": true, "requires": {} }, "@redhat-developer/page-objects": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@redhat-developer/page-objects/-/page-objects-1.9.0.tgz", - "integrity": "sha512-BmNZrWtpyNkaoHETxkgCUG/4f9Z+MNe8DJPV8xsGfp5XSAqA6ZOkk24mNmqEMU8jIXFwHp8RnWJDqrXQLbN2VQ==", + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@redhat-developer/page-objects/-/page-objects-1.12.1.tgz", + "integrity": "sha512-rfSQDYlHLeSpn+OHzMb3AYmTG5c2Ped4JRH7eHQb5yhhcxkZA755Ik0DvvdRQZMo1H9Kk8Ajn44PdicPewhPVg==", "dev": true, "requires": { "clipboardy": "^4.0.0", "clone-deep": "^4.0.1", "compare-versions": "^6.1.1", - "fs-extra": "^11.2.0", - "type-fest": "^4.31.0" + "fs-extra": "^11.3.0", + "type-fest": "^4.39.1" }, "dependencies": { "type-fest": { - "version": "4.34.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.34.1.tgz", - "integrity": "sha512-6kSc32kT0rbwxD6QL1CYe8IqdzN/J/ILMrNK+HMQCKH3insCDRY/3ITb0vcBss0a3t72fzh2YSzj8ko1HgwT3g==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true } } @@ -8705,6 +8770,16 @@ "set-function-length": "^1.2.1" } }, + "call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + } + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -9087,6 +9162,17 @@ "domhandler": "^5.0.1" } }, + "dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + } + }, "duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", @@ -9175,13 +9261,10 @@ } }, "es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.4" - } + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true }, "es-errors": { "version": "1.3.0", @@ -9189,15 +9272,25 @@ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "dev": true }, + "es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "requires": { + "es-errors": "^1.3.0" + } + }, "es-set-tostringtag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", - "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "dev": true, "requires": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" } }, "es-shim-unscopables": { @@ -9836,16 +9929,31 @@ "dev": true }, "get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, "requires": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + } + }, + "get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "requires": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" } }, "get-stream": { @@ -9946,18 +10054,15 @@ } }, "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" - } + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true }, "got": { - "version": "14.4.6", - "resolved": "https://registry.npmjs.org/got/-/got-14.4.6.tgz", - "integrity": "sha512-rnhwfM/PhMNJ1i17k3DuDqgj0cKx3IHxBKVv/WX1uDKqrhi2Gv3l7rhPThR/Cc6uU++dD97W9c8Y0qyw9x0jag==", + "version": "14.4.7", + "resolved": "https://registry.npmjs.org/got/-/got-14.4.7.tgz", + "integrity": "sha512-DI8zV1231tqiGzOiOzQWDhsBmncFW7oQDH6Zgy6pDPrqJuVZMtoSgPLLsBZQj8Jg4JFfwoOsDA8NGtLQLnIx2g==", "dev": true, "requires": { "@sindresorhus/is": "^7.0.1", @@ -9974,9 +10079,9 @@ }, "dependencies": { "type-fest": { - "version": "4.34.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.34.1.tgz", - "integrity": "sha512-6kSc32kT0rbwxD6QL1CYe8IqdzN/J/ILMrNK+HMQCKH3insCDRY/3ITb0vcBss0a3t72fzh2YSzj8ko1HgwT3g==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true } } @@ -10030,18 +10135,18 @@ "dev": true }, "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true }, "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, "requires": { - "has-symbols": "^1.0.2" + "has-symbols": "^1.0.3" } }, "hasown": { @@ -10093,9 +10198,9 @@ } }, "http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "dev": true }, "http-proxy-agent": { @@ -10792,6 +10897,12 @@ } } }, + "math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true + }, "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", @@ -11585,9 +11696,9 @@ "dev": true }, "selenium-webdriver": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.28.1.tgz", - "integrity": "sha512-TwbTpu/NUQkorBODGAkGowJ8sar63bvqi66/tjqhS05rBl34HkVp8DoRg1cOv2iSnNonVSbkxazS3wjbc+NRtg==", + "version": "4.32.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.32.0.tgz", + "integrity": "sha512-dG48JJnB96Aea1iVaZOKGmd6yT6aemeI1heWI/i8DtfD3pDX7uIlwpDBoGauNhtXAaFaamP+U4hIab8zZkg3Ag==", "dev": true, "requires": { "@bazel/runfiles": "^6.3.1", @@ -12249,34 +12360,34 @@ } }, "vscode-extension-tester": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/vscode-extension-tester/-/vscode-extension-tester-8.11.0.tgz", - "integrity": "sha512-o8a4E8Uumgz44KBy3p3j0jCo06pbSlU+9cJE1fZ83R5aAFW5X3a8ewRa85Wd32+Zo58uGOLIPe8stla+BzPw7Q==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/vscode-extension-tester/-/vscode-extension-tester-8.14.1.tgz", + "integrity": "sha512-yu5nvQBI69Nwy7OZyNNmYcTMfcMbFy4jX2XjQc+jqenzifjOYLmr4iB427fA0A+fycl1S3ynbDlu9wKygcpdcA==", "dev": true, "requires": { - "@redhat-developer/locators": "^1.9.0", - "@redhat-developer/page-objects": "^1.9.0", - "@types/selenium-webdriver": "^4.1.27", - "@vscode/vsce": "^3.2.1", + "@redhat-developer/locators": "^1.12.1", + "@redhat-developer/page-objects": "^1.12.1", + "@types/selenium-webdriver": "^4.1.28", + "@vscode/vsce": "^3.3.2", "c8": "^10.1.3", - "commander": "^13.0.0", + "commander": "^13.1.0", "compare-versions": "^6.1.1", "find-up": "7.0.0", - "fs-extra": "^11.2.0", - "glob": "^11.0.0", - "got": "^14.4.5", + "fs-extra": "^11.3.0", + "glob": "^11.0.1", + "got": "^14.4.7", "hpagent": "^1.2.0", "js-yaml": "^4.1.0", "sanitize-filename": "^1.6.3", - "selenium-webdriver": "^4.27.0", + "selenium-webdriver": "^4.31.0", "targz": "^1.0.1", "unzipper": "^0.12.3" }, "dependencies": { "@vscode/vsce": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.2.2.tgz", - "integrity": "sha512-4TqdUq/yKlQTHcQMk/DamR632bq/+IJDomSbexOMee/UAYWqYm0XHWA6scGslsCpzY+sCWEhhl0nqdOB0XW1kw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.3.2.tgz", + "integrity": "sha512-XQ4IhctYalSTMwLnMS8+nUaGbU7v99Qm2sOoGfIEf2QC7jpiLXZZMh7NwArEFsKX4gHTJLx0/GqAUlCdC3gKCw==", "dev": true, "requires": { "@azure/identity": "^4.1.0", @@ -12382,20 +12493,21 @@ } }, "form-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", - "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" } }, "glob": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz", - "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.2.tgz", + "integrity": "sha512-YT7U7Vye+t5fZ/QMkBFrTJ7ZQxInIUjwyAjVj84CYXqgBdv30MFUPGnBR6sQaVq6Is15wYJUsnzTuWaGRBhBAQ==", "dev": true, "requires": { "foreground-child": "^3.1.0", @@ -12640,9 +12752,9 @@ "dev": true }, "ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", "dev": true, "requires": {} }, diff --git a/package.json b/package.json index 91cbc91..ddde168 100644 --- a/package.json +++ b/package.json @@ -321,7 +321,7 @@ "glob": "^8.0.3", "mocha": "^10.0.0", "typescript": "^5.0.4", - "vscode-extension-tester": "8.11.0" + "vscode-extension-tester": "8.14.1" }, "dependencies": { "node-fetch": "^2.6.6", From 85be5e021ba68974346920e5cb699c96ce3177e0 Mon Sep 17 00:00:00 2001 From: Jay Dhameliya <107123702+jdhameli@users.noreply.github.com> Date: Tue, 13 May 2025 10:45:41 -0400 Subject: [PATCH 4/4] Revert "Bump vscode-extension-tester to v8.14.1" This reverts commit de33fd7bbcdbf282af40054767922ae6088f5cfb. --- package-lock.json | 428 +++++++++++++++++----------------------------- package.json | 2 +- 2 files changed, 159 insertions(+), 271 deletions(-) diff --git a/package-lock.json b/package-lock.json index f182cf8..f85c87c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,7 +33,7 @@ "glob": "^8.0.3", "mocha": "^10.0.0", "typescript": "^5.0.4", - "vscode-extension-tester": "8.14.1" + "vscode-extension-tester": "8.11.0" }, "engines": { "vscode": "^1.67.0" @@ -631,9 +631,9 @@ } }, "node_modules/@redhat-developer/locators": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@redhat-developer/locators/-/locators-1.12.1.tgz", - "integrity": "sha512-bJZSZ1J1t0NM0UroK2jiT125hEiqzaGjcKCZBXyOQoUGTr9XvGnk/nDg1VBEm1krQjLdsNxZ3TgfCRDbXsQCnA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@redhat-developer/locators/-/locators-1.9.0.tgz", + "integrity": "sha512-Yo3Jgy3VDMb9TWr4s2SCwNSG7nrFN/t9WR+6ke9TIx16oi8lSUqq/0RGB2XHIJOQK8hzCLCa8cap5tIaadoz/Q==", "dev": true, "peerDependencies": { "@redhat-developer/page-objects": ">=1.0.0", @@ -641,16 +641,16 @@ } }, "node_modules/@redhat-developer/page-objects": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@redhat-developer/page-objects/-/page-objects-1.12.1.tgz", - "integrity": "sha512-rfSQDYlHLeSpn+OHzMb3AYmTG5c2Ped4JRH7eHQb5yhhcxkZA755Ik0DvvdRQZMo1H9Kk8Ajn44PdicPewhPVg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@redhat-developer/page-objects/-/page-objects-1.9.0.tgz", + "integrity": "sha512-BmNZrWtpyNkaoHETxkgCUG/4f9Z+MNe8DJPV8xsGfp5XSAqA6ZOkk24mNmqEMU8jIXFwHp8RnWJDqrXQLbN2VQ==", "dev": true, "dependencies": { "clipboardy": "^4.0.0", "clone-deep": "^4.0.1", "compare-versions": "^6.1.1", - "fs-extra": "^11.3.0", - "type-fest": "^4.39.1" + "fs-extra": "^11.2.0", + "type-fest": "^4.31.0" }, "peerDependencies": { "selenium-webdriver": ">=4.6.1", @@ -658,9 +658,9 @@ } }, "node_modules/@redhat-developer/page-objects/node_modules/type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.34.1.tgz", + "integrity": "sha512-6kSc32kT0rbwxD6QL1CYe8IqdzN/J/ILMrNK+HMQCKH3insCDRY/3ITb0vcBss0a3t72fzh2YSzj8ko1HgwT3g==", "dev": true, "engines": { "node": ">=16" @@ -1871,19 +1871,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -2417,20 +2404,6 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", @@ -2531,10 +2504,13 @@ } }, "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, "engines": { "node": ">= 0.4" } @@ -2548,28 +2524,15 @@ "node": ">= 0.4" } }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dev": true, "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -3445,21 +3408,16 @@ } }, "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -3468,19 +3426,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/get-stream": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", @@ -3619,21 +3564,21 @@ } }, "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, - "engines": { - "node": ">= 0.4" + "dependencies": { + "get-intrinsic": "^1.1.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/got": { - "version": "14.4.7", - "resolved": "https://registry.npmjs.org/got/-/got-14.4.7.tgz", - "integrity": "sha512-DI8zV1231tqiGzOiOzQWDhsBmncFW7oQDH6Zgy6pDPrqJuVZMtoSgPLLsBZQj8Jg4JFfwoOsDA8NGtLQLnIx2g==", + "version": "14.4.6", + "resolved": "https://registry.npmjs.org/got/-/got-14.4.6.tgz", + "integrity": "sha512-rnhwfM/PhMNJ1i17k3DuDqgj0cKx3IHxBKVv/WX1uDKqrhi2Gv3l7rhPThR/Cc6uU++dD97W9c8Y0qyw9x0jag==", "dev": true, "dependencies": { "@sindresorhus/is": "^7.0.1", @@ -3656,9 +3601,9 @@ } }, "node_modules/got/node_modules/type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.34.1.tgz", + "integrity": "sha512-6kSc32kT0rbwxD6QL1CYe8IqdzN/J/ILMrNK+HMQCKH3insCDRY/3ITb0vcBss0a3t72fzh2YSzj8ko1HgwT3g==", "dev": true, "engines": { "node": ">=16" @@ -3734,9 +3679,9 @@ } }, "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, "engines": { "node": ">= 0.4" @@ -3746,12 +3691,12 @@ } }, "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "dependencies": { - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -3828,9 +3773,9 @@ } }, "node_modules/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, "node_modules/http-proxy-agent": { @@ -4778,15 +4723,6 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", @@ -5878,9 +5814,9 @@ "dev": true }, "node_modules/selenium-webdriver": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.32.0.tgz", - "integrity": "sha512-dG48JJnB96Aea1iVaZOKGmd6yT6aemeI1heWI/i8DtfD3pDX7uIlwpDBoGauNhtXAaFaamP+U4hIab8zZkg3Ag==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.28.1.tgz", + "integrity": "sha512-TwbTpu/NUQkorBODGAkGowJ8sar63bvqi66/tjqhS05rBl34HkVp8DoRg1cOv2iSnNonVSbkxazS3wjbc+NRtg==", "dev": true, "funding": [ { @@ -6766,26 +6702,26 @@ } }, "node_modules/vscode-extension-tester": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/vscode-extension-tester/-/vscode-extension-tester-8.14.1.tgz", - "integrity": "sha512-yu5nvQBI69Nwy7OZyNNmYcTMfcMbFy4jX2XjQc+jqenzifjOYLmr4iB427fA0A+fycl1S3ynbDlu9wKygcpdcA==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/vscode-extension-tester/-/vscode-extension-tester-8.11.0.tgz", + "integrity": "sha512-o8a4E8Uumgz44KBy3p3j0jCo06pbSlU+9cJE1fZ83R5aAFW5X3a8ewRa85Wd32+Zo58uGOLIPe8stla+BzPw7Q==", "dev": true, "dependencies": { - "@redhat-developer/locators": "^1.12.1", - "@redhat-developer/page-objects": "^1.12.1", - "@types/selenium-webdriver": "^4.1.28", - "@vscode/vsce": "^3.3.2", + "@redhat-developer/locators": "^1.9.0", + "@redhat-developer/page-objects": "^1.9.0", + "@types/selenium-webdriver": "^4.1.27", + "@vscode/vsce": "^3.2.1", "c8": "^10.1.3", - "commander": "^13.1.0", + "commander": "^13.0.0", "compare-versions": "^6.1.1", "find-up": "7.0.0", - "fs-extra": "^11.3.0", - "glob": "^11.0.1", - "got": "^14.4.7", + "fs-extra": "^11.2.0", + "glob": "^11.0.0", + "got": "^14.4.5", "hpagent": "^1.2.0", "js-yaml": "^4.1.0", "sanitize-filename": "^1.6.3", - "selenium-webdriver": "^4.31.0", + "selenium-webdriver": "^4.27.0", "targz": "^1.0.1", "unzipper": "^0.12.3" }, @@ -6798,9 +6734,9 @@ } }, "node_modules/vscode-extension-tester/node_modules/@vscode/vsce": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.3.2.tgz", - "integrity": "sha512-XQ4IhctYalSTMwLnMS8+nUaGbU7v99Qm2sOoGfIEf2QC7jpiLXZZMh7NwArEFsKX4gHTJLx0/GqAUlCdC3gKCw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.2.2.tgz", + "integrity": "sha512-4TqdUq/yKlQTHcQMk/DamR632bq/+IJDomSbexOMee/UAYWqYm0XHWA6scGslsCpzY+sCWEhhl0nqdOB0XW1kw==", "dev": true, "dependencies": { "@azure/identity": "^4.1.0", @@ -6933,14 +6869,13 @@ } }, "node_modules/vscode-extension-tester/node_modules/form-data": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", - "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" }, "engines": { @@ -6948,9 +6883,9 @@ } }, "node_modules/vscode-extension-tester/node_modules/glob": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.2.tgz", - "integrity": "sha512-YT7U7Vye+t5fZ/QMkBFrTJ7ZQxInIUjwyAjVj84CYXqgBdv30MFUPGnBR6sQaVq6Is15wYJUsnzTuWaGRBhBAQ==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz", + "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", @@ -7277,9 +7212,9 @@ "dev": true }, "node_modules/ws": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", - "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "engines": { "node": ">=10.0.0" @@ -7887,29 +7822,29 @@ "optional": true }, "@redhat-developer/locators": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@redhat-developer/locators/-/locators-1.12.1.tgz", - "integrity": "sha512-bJZSZ1J1t0NM0UroK2jiT125hEiqzaGjcKCZBXyOQoUGTr9XvGnk/nDg1VBEm1krQjLdsNxZ3TgfCRDbXsQCnA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@redhat-developer/locators/-/locators-1.9.0.tgz", + "integrity": "sha512-Yo3Jgy3VDMb9TWr4s2SCwNSG7nrFN/t9WR+6ke9TIx16oi8lSUqq/0RGB2XHIJOQK8hzCLCa8cap5tIaadoz/Q==", "dev": true, "requires": {} }, "@redhat-developer/page-objects": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@redhat-developer/page-objects/-/page-objects-1.12.1.tgz", - "integrity": "sha512-rfSQDYlHLeSpn+OHzMb3AYmTG5c2Ped4JRH7eHQb5yhhcxkZA755Ik0DvvdRQZMo1H9Kk8Ajn44PdicPewhPVg==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@redhat-developer/page-objects/-/page-objects-1.9.0.tgz", + "integrity": "sha512-BmNZrWtpyNkaoHETxkgCUG/4f9Z+MNe8DJPV8xsGfp5XSAqA6ZOkk24mNmqEMU8jIXFwHp8RnWJDqrXQLbN2VQ==", "dev": true, "requires": { "clipboardy": "^4.0.0", "clone-deep": "^4.0.1", "compare-versions": "^6.1.1", - "fs-extra": "^11.3.0", - "type-fest": "^4.39.1" + "fs-extra": "^11.2.0", + "type-fest": "^4.31.0" }, "dependencies": { "type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.34.1.tgz", + "integrity": "sha512-6kSc32kT0rbwxD6QL1CYe8IqdzN/J/ILMrNK+HMQCKH3insCDRY/3ITb0vcBss0a3t72fzh2YSzj8ko1HgwT3g==", "dev": true } } @@ -8770,16 +8705,6 @@ "set-function-length": "^1.2.1" } }, - "call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "requires": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - } - }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -9162,17 +9087,6 @@ "domhandler": "^5.0.1" } }, - "dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "requires": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - } - }, "duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", @@ -9261,10 +9175,13 @@ } }, "es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.4" + } }, "es-errors": { "version": "1.3.0", @@ -9272,25 +9189,15 @@ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "dev": true }, - "es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "requires": { - "es-errors": "^1.3.0" - } - }, "es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", + "integrity": "sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==", "dev": true, "requires": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" + "get-intrinsic": "^1.1.3", + "has": "^1.0.3", + "has-tostringtag": "^1.0.0" } }, "es-shim-unscopables": { @@ -9929,31 +9836,16 @@ "dev": true }, "get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, "requires": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - } - }, - "get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "requires": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" } }, "get-stream": { @@ -10054,15 +9946,18 @@ } }, "gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } }, "got": { - "version": "14.4.7", - "resolved": "https://registry.npmjs.org/got/-/got-14.4.7.tgz", - "integrity": "sha512-DI8zV1231tqiGzOiOzQWDhsBmncFW7oQDH6Zgy6pDPrqJuVZMtoSgPLLsBZQj8Jg4JFfwoOsDA8NGtLQLnIx2g==", + "version": "14.4.6", + "resolved": "https://registry.npmjs.org/got/-/got-14.4.6.tgz", + "integrity": "sha512-rnhwfM/PhMNJ1i17k3DuDqgj0cKx3IHxBKVv/WX1uDKqrhi2Gv3l7rhPThR/Cc6uU++dD97W9c8Y0qyw9x0jag==", "dev": true, "requires": { "@sindresorhus/is": "^7.0.1", @@ -10079,9 +9974,9 @@ }, "dependencies": { "type-fest": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", - "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "version": "4.34.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.34.1.tgz", + "integrity": "sha512-6kSc32kT0rbwxD6QL1CYe8IqdzN/J/ILMrNK+HMQCKH3insCDRY/3ITb0vcBss0a3t72fzh2YSzj8ko1HgwT3g==", "dev": true } } @@ -10135,18 +10030,18 @@ "dev": true }, "has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true }, "has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, "requires": { - "has-symbols": "^1.0.3" + "has-symbols": "^1.0.2" } }, "hasown": { @@ -10198,9 +10093,9 @@ } }, "http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, "http-proxy-agent": { @@ -10897,12 +10792,6 @@ } } }, - "math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true - }, "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", @@ -11696,9 +11585,9 @@ "dev": true }, "selenium-webdriver": { - "version": "4.32.0", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.32.0.tgz", - "integrity": "sha512-dG48JJnB96Aea1iVaZOKGmd6yT6aemeI1heWI/i8DtfD3pDX7uIlwpDBoGauNhtXAaFaamP+U4hIab8zZkg3Ag==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.28.1.tgz", + "integrity": "sha512-TwbTpu/NUQkorBODGAkGowJ8sar63bvqi66/tjqhS05rBl34HkVp8DoRg1cOv2iSnNonVSbkxazS3wjbc+NRtg==", "dev": true, "requires": { "@bazel/runfiles": "^6.3.1", @@ -12360,34 +12249,34 @@ } }, "vscode-extension-tester": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/vscode-extension-tester/-/vscode-extension-tester-8.14.1.tgz", - "integrity": "sha512-yu5nvQBI69Nwy7OZyNNmYcTMfcMbFy4jX2XjQc+jqenzifjOYLmr4iB427fA0A+fycl1S3ynbDlu9wKygcpdcA==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/vscode-extension-tester/-/vscode-extension-tester-8.11.0.tgz", + "integrity": "sha512-o8a4E8Uumgz44KBy3p3j0jCo06pbSlU+9cJE1fZ83R5aAFW5X3a8ewRa85Wd32+Zo58uGOLIPe8stla+BzPw7Q==", "dev": true, "requires": { - "@redhat-developer/locators": "^1.12.1", - "@redhat-developer/page-objects": "^1.12.1", - "@types/selenium-webdriver": "^4.1.28", - "@vscode/vsce": "^3.3.2", + "@redhat-developer/locators": "^1.9.0", + "@redhat-developer/page-objects": "^1.9.0", + "@types/selenium-webdriver": "^4.1.27", + "@vscode/vsce": "^3.2.1", "c8": "^10.1.3", - "commander": "^13.1.0", + "commander": "^13.0.0", "compare-versions": "^6.1.1", "find-up": "7.0.0", - "fs-extra": "^11.3.0", - "glob": "^11.0.1", - "got": "^14.4.7", + "fs-extra": "^11.2.0", + "glob": "^11.0.0", + "got": "^14.4.5", "hpagent": "^1.2.0", "js-yaml": "^4.1.0", "sanitize-filename": "^1.6.3", - "selenium-webdriver": "^4.31.0", + "selenium-webdriver": "^4.27.0", "targz": "^1.0.1", "unzipper": "^0.12.3" }, "dependencies": { "@vscode/vsce": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.3.2.tgz", - "integrity": "sha512-XQ4IhctYalSTMwLnMS8+nUaGbU7v99Qm2sOoGfIEf2QC7jpiLXZZMh7NwArEFsKX4gHTJLx0/GqAUlCdC3gKCw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.2.2.tgz", + "integrity": "sha512-4TqdUq/yKlQTHcQMk/DamR632bq/+IJDomSbexOMee/UAYWqYm0XHWA6scGslsCpzY+sCWEhhl0nqdOB0XW1kw==", "dev": true, "requires": { "@azure/identity": "^4.1.0", @@ -12493,21 +12382,20 @@ } }, "form-data": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.2.tgz", - "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", "mime-types": "^2.1.12" } }, "glob": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.2.tgz", - "integrity": "sha512-YT7U7Vye+t5fZ/QMkBFrTJ7ZQxInIUjwyAjVj84CYXqgBdv30MFUPGnBR6sQaVq6Is15wYJUsnzTuWaGRBhBAQ==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.1.tgz", + "integrity": "sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==", "dev": true, "requires": { "foreground-child": "^3.1.0", @@ -12752,9 +12640,9 @@ "dev": true }, "ws": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", - "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", "dev": true, "requires": {} }, diff --git a/package.json b/package.json index ddde168..91cbc91 100644 --- a/package.json +++ b/package.json @@ -321,7 +321,7 @@ "glob": "^8.0.3", "mocha": "^10.0.0", "typescript": "^5.0.4", - "vscode-extension-tester": "8.14.1" + "vscode-extension-tester": "8.11.0" }, "dependencies": { "node-fetch": "^2.6.6",