diff --git a/Extension/.eslintignore b/Extension/.eslintignore deleted file mode 100644 index 37c9042eb..000000000 --- a/Extension/.eslintignore +++ /dev/null @@ -1,4 +0,0 @@ -*.js - -dist/ -vscode*.d.ts diff --git a/Extension/.eslintrc.js b/Extension/.eslintrc.js deleted file mode 100644 index 4cd07eb8b..000000000 --- a/Extension/.eslintrc.js +++ /dev/null @@ -1,155 +0,0 @@ -module.exports = { - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/eslint-recommended", - "plugin:@typescript-eslint/strict", - ], - "env": { - "browser": true, - "es6": true, - "node": true - }, - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": ["tsconfig.json", ".scripts/tsconfig.json"], - "ecmaVersion": 2022, - "sourceType": "module", - "warnOnUnsupportedTypeScriptVersion": false, - }, - "plugins": [ - "@typescript-eslint", - "eslint-plugin-jsdoc", - "@typescript-eslint/eslint-plugin", - "eslint-plugin-import", - "eslint-plugin-header" - ], - "rules": { - "@typescript-eslint/adjacent-overload-signatures": "error", - "@typescript-eslint/array-type": "error", - "@typescript-eslint/await-thenable": "error", - "camelcase": "off", - "@typescript-eslint/naming-convention": [ - "error", - { - "selector": "typeLike", - "format": ["PascalCase"] - } - ], - "@typescript-eslint/member-delimiter-style": [ - "error", - { - "multiline": { - "delimiter": "semi", - "requireLast": true - }, - "singleline": { - "delimiter": "semi", - "requireLast": false - } - } - ], - "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-extraneous-class": "off", - "no-case-declarations": "off", - "no-useless-escape": "off", - "no-floating-decimal": "error", - "keyword-spacing": ["error", { "before": true, "overrides": { "this": { "before": false } } }], - "arrow-spacing": ["error", { "before": true, "after": true }], - "semi-spacing": ["error", { "before": false, "after": true }], - "no-extra-parens": ["error", "all", { "nestedBinaryExpressions": false, "ternaryOperandBinaryExpressions": false }], - "@typescript-eslint/no-array-constructor": "error", - "@typescript-eslint/no-useless-constructor": "error", - "@typescript-eslint/no-for-in-array": "error", - "@typescript-eslint/no-misused-new": "error", - "@typescript-eslint/no-misused-promises": "error", - "@typescript-eslint/no-namespace": "error", - "@typescript-eslint/no-non-null-assertion": "error", - "@typescript-eslint/no-extra-non-null-assertion": "error", - "@typescript-eslint/no-this-alias": "error", - "@typescript-eslint/no-unnecessary-qualifier": "error", - "@typescript-eslint/no-unnecessary-type-arguments": "error", - "@typescript-eslint/no-var-requires": "error", - "@typescript-eslint/prefer-function-type": "error", - "@typescript-eslint/prefer-namespace-keyword": "error", - "@typescript-eslint/semi": "error", - "@typescript-eslint/triple-slash-reference": "error", - "@typescript-eslint/type-annotation-spacing": "error", - "@typescript-eslint/unified-signatures": "error", - "@typescript-eslint/no-floating-promises": "error", - "@typescript-eslint/method-signature-style": ["error", "method"], - "@typescript-eslint/space-infix-ops": "error", - "no-unused-vars": "off", - "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }], - "@typescript-eslint/no-unnecessary-boolean-literal-compare": "error", - "arrow-body-style": "error", - "comma-dangle": "error", - "comma-spacing": "off", - "@typescript-eslint/comma-spacing": "error", - "constructor-super": "error", - "curly": "error", - "eol-last": "error", - "eqeqeq": [ - "error", - "always" - ], - "import/no-default-export": "error", - "import/no-unassigned-import": "error", - "jsdoc/no-types": "error", - "new-parens": "error", - "no-bitwise": "error", - "no-caller": "error", - "no-cond-assign": "error", - "no-debugger": "error", - "no-duplicate-case": "error", - "no-duplicate-imports": "error", - "no-eval": "error", - "no-fallthrough": "error", - "no-invalid-this": "error", - "no-irregular-whitespace": "error", - "rest-spread-spacing": ["error", "never"], - "no-multiple-empty-lines": ["error", { "max": 1, "maxEOF": 1, "maxBOF": 0 }], - "no-new-wrappers": "error", - "no-return-await": "error", - "no-sequences": "error", - "no-sparse-arrays": "error", - "no-trailing-spaces": "error", - "no-multi-spaces": "error", - "no-undef-init": "error", - "no-unsafe-finally": "error", - "no-unused-expressions": "error", - "no-unused-labels": "error", - "space-before-blocks": "error", - "no-var": "error", - "one-var": [ - "error", - "never" - ], - "prefer-const": "error", - "prefer-object-spread": "error", - "space-in-parens": [ - "error", - "never" - ], - "spaced-comment": [ - "off", - "always", - { "line": { "exceptions": ["/"] } } // triple slash directives - ], - "use-isnan": "error", - "valid-typeof": "error", - "yoda": "error", - "space-infix-ops": "error", - "header/header": [ - "warn", - "block", - [ - " --------------------------------------------------------------------------------------------", - " * Copyright (c) Microsoft Corporation. All Rights Reserved.", - " * See 'LICENSE' in the project root for license information.", - " * ------------------------------------------------------------------------------------------ " - - ], - ], - - } -}; diff --git a/Extension/.scripts/clean.ts b/Extension/.scripts/clean.ts index 9d3ac258e..92a85edab 100644 --- a/Extension/.scripts/clean.ts +++ b/Extension/.scripts/clean.ts @@ -18,18 +18,20 @@ export async function main() { } export async function all() { - await rimraf(...(await getModifiedIgnoredFiles()).filter(each => !each.includes('node_modules'))); + await rimraf(...(await getModifiedIgnoredFiles()).filter((each): each is string => each !== undefined && !each.includes('node_modules'))); } export async function reset() { verbose(`Resetting all .gitignored files in extension`); - await rimraf(...await getModifiedIgnoredFiles()); + await rimraf(...(await getModifiedIgnoredFiles()).filter((each): each is string => each !== undefined)); } async function details(files: string[]) { - let all = await Promise.all(files.filter(each => each).map(async (each) => { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const [filename, stats ] = await filepath.stats(each); + const results = await Promise.all(files.filter(each => each).map(async (each) => { + const [, stats] = await filepath.stats(each); + if (!stats) { + return null; + } return { filename: stats.isDirectory() ? cyan(`${each}${sep}**`) : brightGreen(`${each}`), date: stats.mtime.toLocaleDateString().replace(/\b(\d)\//g, '0$1\/'), @@ -37,6 +39,7 @@ async function details(files: string[]) { modified: stats.mtime }; })); + let all = results.filter((each): each is NonNullable => each !== null); all = all.sort((a, b) => a.modified.getTime() - b.modified.getTime()); // print a formatted table so the date and time are aligned const max = all.reduce((max, each) => Math.max(max, each.filename.length), 0); @@ -56,7 +59,7 @@ export async function show(opt?: string) { case 'ignored': case 'untracked': console.log(cyan('\n\nUntracked+Ignored files:')); - return details(await getModifiedIgnoredFiles()); + return details((await getModifiedIgnoredFiles()).filter((each): each is string => each !== undefined)); default: return error(`Unknown option '${opt}'`); diff --git a/Extension/.scripts/common.ts b/Extension/.scripts/common.ts index 91adc0e30..29758c269 100644 --- a/Extension/.scripts/common.ts +++ b/Extension/.scripts/common.ts @@ -54,11 +54,12 @@ export async function getModifiedIgnoredFiles() { } // return the full path of files that would be removed. + // eslint-disable-next-line @typescript-eslint/no-misused-promises return Promise.all(stdio.filter("Would remove").map((s) => filepath.exists(s.replace(/^Would remove /, ''), $root)).filter(p => p)); } export async function rimraf(...paths: string[]) { - const all = []; + const all: Promise[] = []; for (const each of paths) { if (!each) { continue; @@ -82,6 +83,9 @@ export async function mkdir(filePath: string) { } throw new Error(`Cannot create directory '${filePath}' because there is a file there.`); } + if (!fullPath) { + throw new Error(`Cannot create directory '${filePath}' because the path is invalid.`); + } await md(fullPath, { recursive: true }); return fullPath; @@ -258,7 +262,7 @@ export function position(text: string) { return gray(`${text}`); } -export async function assertAnyFolder(oneOrMoreFolders: string | string[], errorMessage?: string): Promise { +export async function assertAnyFolder(oneOrMoreFolders: string | string[], errorMessage?: string): Promise { oneOrMoreFolders = is.array(oneOrMoreFolders) ? oneOrMoreFolders : [oneOrMoreFolders]; for (const each of oneOrMoreFolders) { const result = await filepath.isFolder(each, $root); @@ -275,7 +279,7 @@ export async function assertAnyFolder(oneOrMoreFolders: string | string[], error } } -export async function assertAnyFile(oneOrMoreFiles: string | string[], errorMessage?: string): Promise { +export async function assertAnyFile(oneOrMoreFiles: string | string[], errorMessage?: string): Promise { oneOrMoreFiles = is.array(oneOrMoreFiles) ? oneOrMoreFiles : [oneOrMoreFiles]; for (const each of oneOrMoreFiles) { const result = await filepath.isFile(each, $root); @@ -325,7 +329,6 @@ export async function checkDTS() { let failing = false; failing = !await assertAnyFile('vscode.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.d.ts is missing.`)) || failing; failing = !await assertAnyFile('vscode.proposed.terminalDataWriteEvent.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.terminalDataWriteEvent.d.ts is missing.`)) || failing; - failing = !await assertAnyFile('vscode.proposed.lmTools.d.ts') && (quiet || warn(`The VSCode import file '${$root}/dist/src/vscode.proposed.lmTools.d.ts is missing.`)) || failing; if (!failing) { verbose('VSCode d.ts files appear to be in place.'); diff --git a/Extension/.scripts/copyWalkthruMedia.ts b/Extension/.scripts/copyWalkthruMedia.ts index e2b18823d..842d5da3d 100644 --- a/Extension/.scripts/copyWalkthruMedia.ts +++ b/Extension/.scripts/copyWalkthruMedia.ts @@ -19,7 +19,7 @@ export async function watch() { verbose(`Watching ${source} folder for changes.`); console.log('Press Ctrl+C to exit.'); // eslint-disable-next-line @typescript-eslint/no-unused-vars - for await (const event of watchFiles(source, {recursive: true })) { + for await (const event of watchFiles(source, { recursive: true })) { await main(); } } diff --git a/Extension/.scripts/generateOptionsSchema.ts b/Extension/.scripts/generateOptionsSchema.ts index b6c9a2029..346b21007 100644 --- a/Extension/.scripts/generateOptionsSchema.ts +++ b/Extension/.scripts/generateOptionsSchema.ts @@ -3,8 +3,6 @@ * See 'LICENSE' in the project root for license information. * ------------------------------------------------------------------------------------------ */ -/* eslint-disable no-prototype-builtins */ - import { resolve } from 'path'; import { $root, read, write } from './common'; diff --git a/Extension/.scripts/test.ts b/Extension/.scripts/test.ts index 69fd443cd..c6b2a9a2c 100644 --- a/Extension/.scripts/test.ts +++ b/Extension/.scripts/test.ts @@ -75,7 +75,7 @@ filterStdio(); async function unitTests() { await assertAnyFolder('dist/test/unit', `The folder '${$root}/dist/test/unit is missing. You should run ${brightGreen("yarn compile")}\n\n`); const mocha = await assertAnyFile(["node_modules/.bin/mocha.cmd", "node_modules/.bin/mocha"], `Can't find the mocha testrunner. You might need to run ${brightGreen("yarn install")}\n\n`); - const result = spawnSync(mocha, [`${$root}/dist/test/unit/**/*.test.js`, '--timeout', '30000'], { stdio:'inherit', shell: true }); + const result = spawnSync(mocha, [`${$root}/dist/test/unit/**/*.test.js`, '--timeout', '30000'], { stdio: 'inherit', shell: true }); verbose(`\n${green("NOTE:")} If you want to run a scenario test (end-to-end) use ${cmdSwitch('scenario=')} \n\n`); return result.status; } @@ -161,23 +161,24 @@ interface Input { id: string; type: string; description: string; - options: CommentArray<{label: string; value: string}>; + options: CommentArray<{ label: string; value: string }>; } export async function getScenarioNames() { return (await readdir(`${$root}/test/scenarios`).catch(returns.none)).filter(each => each !== 'Debugger'); } -export async function getScenarioFolder(scenarioName: string) { +export async function getScenarioFolder(scenarioName: string | undefined) { return scenarioName ? resolve(`${$root}/test/scenarios/${(await getScenarioNames()).find(each => each.toLowerCase() === scenarioName.toLowerCase())}`) : undefined; } export async function list() { console.log(`\n${cyan("Scenarios: ")}\n`); const names = await getScenarioNames(); - const max = names.reduce((max, each) => Math.max(max, each), 0); + const max = names.reduce((max, each) => Math.max(max, each.length), 0); for (const each of names) { - console.log(` ${green(each.padEnd(max))}: ${gray(await getScenarioFolder(each))}`); + const folder = await getScenarioFolder(each); + console.log(` ${green(each.padEnd(max))}: ${gray(folder || '')}`); } } diff --git a/Extension/.scripts/tsconfig.json b/Extension/.scripts/tsconfig.json index f382b7844..9253a3c8e 100644 --- a/Extension/.scripts/tsconfig.json +++ b/Extension/.scripts/tsconfig.json @@ -7,6 +7,7 @@ "experimentalDecorators": true, "allowSyntheticDefaultImports": true, "sourceMap": true, - "esModuleInterop": true + "esModuleInterop": true, + "strictNullChecks": true } } diff --git a/Extension/.vscodeignore b/Extension/.vscodeignore index 55474d9bf..ca69612fc 100644 --- a/Extension/.vscodeignore +++ b/Extension/.vscodeignore @@ -29,8 +29,7 @@ jobs/** cgmanifest.json # ignore development files -.eslintignore -.eslintrc.js +eslint.config.js .gitattributes .gitignore gulpfile.js diff --git a/Extension/eslint.config.js b/Extension/eslint.config.js new file mode 100644 index 000000000..a22a98be3 --- /dev/null +++ b/Extension/eslint.config.js @@ -0,0 +1,136 @@ +const js = require("@eslint/js"); +const tseslint = require("@typescript-eslint/eslint-plugin"); +const tsparser = require("@typescript-eslint/parser"); +const jsdoc = require("eslint-plugin-jsdoc"); +const eslintImport = require("eslint-plugin-import"); + +module.exports = [ + { + ignores: ["dist/", "vscode*.d.ts", "**/*.js"], + }, + { + files: ["**/*.ts", "**/*.tsx"], + languageOptions: { + parser: tsparser, + parserOptions: { + projectService: true, + tsconfigRootDir: __dirname, + }, + globals: { + window: "readonly", + document: "readonly", + console: "readonly", + process: "readonly", + module: "readonly", + require: "readonly", + global: "readonly", + __dirname: "readonly", + exports: "readonly", + }, + }, + plugins: { + "@typescript-eslint": tseslint, + jsdoc, + import: eslintImport, + }, + rules: { + // TypeScript-specific rules + "@typescript-eslint/adjacent-overload-signatures": "error", + "@typescript-eslint/array-type": "error", + "@typescript-eslint/await-thenable": "error", + "@typescript-eslint/method-signature-style": ["error", "method"], + "@typescript-eslint/naming-convention": [ + "error", + { + selector: "typeLike", + format: ["PascalCase"] + } + ], + "@typescript-eslint/no-array-constructor": "error", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-extraneous-class": "off", + "@typescript-eslint/no-extra-non-null-assertion": "error", + "@typescript-eslint/no-floating-promises": "error", + "@typescript-eslint/no-for-in-array": "error", + "@typescript-eslint/no-misused-new": "error", + "@typescript-eslint/no-misused-promises": "error", + "@typescript-eslint/no-namespace": "error", + "@typescript-eslint/no-non-null-assertion": "error", + "@typescript-eslint/no-this-alias": "error", + "@typescript-eslint/no-unnecessary-boolean-literal-compare": "error", + "@typescript-eslint/no-unnecessary-qualifier": "error", + "@typescript-eslint/no-unnecessary-type-arguments": "error", + "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }], + "@typescript-eslint/no-useless-constructor": "error", + "@typescript-eslint/no-var-requires": "error", + "@typescript-eslint/prefer-function-type": "error", + "@typescript-eslint/prefer-namespace-keyword": "error", + "@typescript-eslint/triple-slash-reference": "error", + "@typescript-eslint/unified-signatures": "error", + + // Core ESLint rules + "camelcase": "off", + "no-case-declarations": "off", + "no-useless-escape": "off", + "no-floating-decimal": "error", + "keyword-spacing": ["error", { before: true, overrides: { this: { before: false } } }], + "arrow-spacing": ["error", { before: true, after: true }], + "semi-spacing": ["error", { before: false, after: true }], + "no-extra-parens": ["error", "all", { nestedBinaryExpressions: false, ternaryOperandBinaryExpressions: false }], + "arrow-body-style": "error", + "comma-dangle": "error", + "comma-spacing": "error", + "constructor-super": "error", + "curly": "error", + "eol-last": "error", + "eqeqeq": ["error", "always"], + "new-parens": "error", + "no-bitwise": "error", + "no-caller": "error", + "no-cond-assign": "error", + "no-debugger": "error", + "no-duplicate-case": "error", + "no-duplicate-imports": "error", + "no-eval": "error", + "no-fallthrough": "error", + "no-invalid-this": "error", + "no-irregular-whitespace": "error", + "rest-spread-spacing": ["error", "never"], + "no-multiple-empty-lines": ["error", { max: 1, maxEOF: 1, maxBOF: 0 }], + "no-new-wrappers": "error", + "no-return-await": "error", + "no-sequences": "error", + "no-sparse-arrays": "error", + "no-trailing-spaces": "error", + "no-multi-spaces": "error", + "no-undef-init": "error", + "no-unsafe-finally": "error", + "no-unused-expressions": "error", + "no-unused-labels": "error", + "no-unused-vars": "off", + "space-before-blocks": "error", + "no-var": "error", + "one-var": ["error", "never"], + "prefer-const": "error", + "prefer-object-spread": "error", + "space-in-parens": ["error", "never"], + "spaced-comment": ["off", "always", { line: { exceptions: ["/"] } }], + "use-isnan": "error", + "valid-typeof": "error", + "yoda": "error", + "space-infix-ops": "error", + + // Import rules + "import/no-default-export": "error", + "import/no-unassigned-import": "error", + + // JSDoc rules + "jsdoc/no-types": "error", + }, + }, + { + // Apply JS recommended rules only to JS files + ...js.configs.recommended, + files: ["**/*.{js,mjs,cjs}"] + }, +]; diff --git a/Extension/package.json b/Extension/package.json index e9aa328de..5d7c5e4a2 100644 --- a/Extension/package.json +++ b/Extension/package.json @@ -63,6 +63,7 @@ "onFileSystem:cpptools-schema" ], "main": "./dist/src/main", + "type": "commonjs", "contributes": { "languages": [ { @@ -6718,7 +6719,7 @@ "code": "yarn install && (yarn verify compiled --quiet || yarn build) && yarn verify binaries && ts-node -T .scripts/code.ts", "verify": "ts-node -T .scripts/verify.ts", "prep": "yarn prep:dts && yarn copy-walkthrough-media && yarn generate-native-strings && yarn translations-generate", - "lint": "yarn install && eslint -c .eslintrc.js --report-unused-disable-directives src test ui .scripts", + "lint": "yarn install && eslint --report-unused-disable-directives src test ui .scripts", "compile": "yarn install && (yarn verify prep --quiet || yarn prep) && yarn build", "watch": "yarn install && (yarn verify prep --quiet || yarn prep) && tsc --build tsconfig.json --watch", "rebuild": "yarn install && yarn clean && yarn prep && yarn build", @@ -6748,15 +6749,15 @@ "@types/tmp": "^0.2.6", "@types/which": "^2.0.2", "@types/yauzl": "^2.10.3", - "@typescript-eslint/eslint-plugin": "^6.1.0", - "@typescript-eslint/parser": "^6.1.0", + "@typescript-eslint/eslint-plugin": "^8.54.0", + "@typescript-eslint/parser": "^8.54.0", "@vscode/debugadapter": "^1.65.0", "@vscode/debugprotocol": "^1.65.0", "@vscode/dts": "^0.4.0", "@vscode/test-electron": "^2.3.10", "async-child-process": "^1.1.1", "await-notify": "^1.0.1", - "eslint": "^8.45.0", + "eslint": "^9.39.2", "eslint-plugin-header": "^3.1.1", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsdoc": "^48.2.8", @@ -6787,6 +6788,7 @@ "chokidar": "^3.6.0", "comment-json": "^4.2.3", "escape-string-regexp": "^2.0.0", + "fast-glob": "^3.3.3", "glob": "^7.2.3", "minimatch": "^4.2.0", "mkdirp": "^3.0.1", diff --git a/Extension/src/Debugger/configurationProvider.ts b/Extension/src/Debugger/configurationProvider.ts index 559011251..37945823a 100644 --- a/Extension/src/Debugger/configurationProvider.ts +++ b/Extension/src/Debugger/configurationProvider.ts @@ -179,7 +179,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv await cppBuildTaskProvider.runBuildTask(config.preLaunchTask); config.preLaunchTask = undefined; Telemetry.logDebuggerEvent(DebuggerEvent.debugPanel, { "debugType": DebugType.debug, "configSource": config.configSource || ConfigSource.unknown, "configMode": ConfigMode.launchConfig, "cancelled": "false", "succeeded": "true" }); - } catch (err) { + } catch { Telemetry.logDebuggerEvent(DebuggerEvent.debugPanel, { "debugType": DebugType.debug, "configSource": config.configSource || ConfigSource.unknown, "configMode": ConfigMode.launchConfig, "cancelled": "false", "succeeded": "false" }); } return config; @@ -245,7 +245,6 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv } // Handle legacy 'externalConsole' bool and convert to console: "externalTerminal" - // eslint-disable-next-line no-prototype-builtins if (config.hasOwnProperty("externalConsole")) { void logger.getOutputChannelLogger().showWarningMessage(localize("debugger.deprecated.config", "The key '{0}' is deprecated. Please use '{1}' instead.", "externalConsole", "console")); if (config.externalConsole && !config.console) { @@ -621,7 +620,7 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv if (response === applyButton || response === updateButton) { try { await vscode.commands.executeCommand('C_Cpp.SetVsDeveloperEnvironment', 'buildAndDebug'); - } catch (e: any) { + } catch { // Ignore the error, the user will be prompted to apply the environment manually. } } @@ -710,7 +709,6 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv const newSourceFileMapSource: string = util.resolveVariables(sourceFileMapSource, undefined); if (sourceFileMapSource !== newSourceFileMapSource) { message = "\t" + localize("replacing.sourcepath", "Replacing {0} '{1}' with '{2}'.", "sourcePath", sourceFileMapSource, newSourceFileMapSource); - // eslint-disable-next-line @typescript-eslint/no-dynamic-delete delete config.sourceFileMap[sourceFileMapSource]; source = newSourceFileMapSource; } @@ -790,7 +788,6 @@ export class DebugConfigurationProvider implements vscode.DebugConfigurationProv } private findDefaultConfig(configs: CppDebugConfiguration[]): CppDebugConfiguration[] { - // eslint-disable-next-line no-prototype-builtins return configs.filter((config: CppDebugConfiguration) => config.hasOwnProperty("isDefault") && config.isDefault); } diff --git a/Extension/src/Debugger/nativeAttach.ts b/Extension/src/Debugger/nativeAttach.ts index 26914a90e..669fe7570 100644 --- a/Extension/src/Debugger/nativeAttach.ts +++ b/Extension/src/Debugger/nativeAttach.ts @@ -184,7 +184,7 @@ function spawnChildProcess(command: string, token?: vscode.CancellationToken): P try { process.kill(); - } catch (e) { + } catch { // Failed to kill process. } reject(new Error(localize("timeout.processList.spawn", '"{0}" timed out after {1} seconds.', command, seconds))); @@ -198,7 +198,7 @@ function spawnChildProcess(command: string, token?: vscode.CancellationToken): P try { process.kill(); - } catch (e) { + } catch { // Failed to kill process. } reject(new Error(localize("cancel.processList.spawn", '"{0}" canceled.', command))); diff --git a/Extension/src/LanguageServer/client.ts b/Extension/src/LanguageServer/client.ts index decbfaca6..1cc7e087c 100644 --- a/Extension/src/LanguageServer/client.ts +++ b/Extension/src/LanguageServer/client.ts @@ -816,25 +816,25 @@ export interface Client { didChangeActiveEditor(editor?: vscode.TextEditor, selection?: Range): Promise; restartIntelliSenseForFile(document: vscode.TextDocument): Promise; activate(): void; - selectionChanged(selection: Range): void; - resetDatabase(): void; + selectionChanged(selection: Range): Promise; + resetDatabase(): Promise; deactivate(): void; promptSelectIntelliSenseConfiguration(sender?: any): Promise; rescanCompilers(sender?: any): Promise; - pauseParsing(): void; - resumeParsing(): void; - PauseCodeAnalysis(): void; - ResumeCodeAnalysis(): void; - CancelCodeAnalysis(): void; + pauseParsing(): Promise; + resumeParsing(): Promise; + PauseCodeAnalysis(): Promise; + ResumeCodeAnalysis(): Promise; + CancelCodeAnalysis(): Promise; handleConfigurationSelectCommand(config?: string): Promise; handleConfigurationProviderSelectCommand(): Promise; handleShowActiveCodeAnalysisCommands(): Promise; handleShowIdleCodeAnalysisCommands(): Promise; - handleReferencesIcon(): void; - handleConfigurationEditCommand(viewColumn?: vscode.ViewColumn): void; - handleConfigurationEditJSONCommand(viewColumn?: vscode.ViewColumn): void; - handleConfigurationEditUICommand(viewColumn?: vscode.ViewColumn): void; - handleAddToIncludePathCommand(path: string): void; + handleReferencesIcon(): Promise; + handleConfigurationEditCommand(viewColumn?: vscode.ViewColumn): Promise; + handleConfigurationEditJSONCommand(viewColumn?: vscode.ViewColumn): Promise; + handleConfigurationEditUICommand(viewColumn?: vscode.ViewColumn): Promise; + handleAddToIncludePathCommand(path: string): Promise; handleGoToDirectiveInGroup(next: boolean): Promise; handleGenerateDoxygenComment(args: DoxygenCodeActionCommandArguments | vscode.Uri | undefined): Promise; handleRunCodeAnalysisOnActiveFile(): Promise; @@ -849,7 +849,7 @@ export interface Client { onInterval(): void; dispose(): void; addFileAssociations(fileAssociations: string, languageId: string): void; - sendDidChangeSettings(): void; + sendDidChangeSettings(): Promise; isInitialized(): boolean; getShowConfigureIntelliSenseButton(): boolean; setShowConfigureIntelliSenseButton(show: boolean): void; @@ -1780,7 +1780,7 @@ export class DefaultClient implements Client { } public async sendDidChangeSettings(): Promise { - // Send settings json to native side + // Send settings json to native side. await this.ready; await this.languageClient.sendNotification(DidChangeSettingsNotification, this.getAllSettings()); } @@ -1789,7 +1789,7 @@ export class DefaultClient implements Client { const defaultClient: Client = clients.getDefaultClient(); if (this === defaultClient) { // Only send the updated settings information once, as it includes values for all folders. - void this.sendDidChangeSettings(); + void this.sendDidChangeSettings().catch(logAndReturn.undefined); } const changedSettings: Record = this.settingsTracker.getChangedSettings(); @@ -2226,13 +2226,13 @@ export class DefaultClient implements Client { if (!await provider.canProvideConfiguration(docUri, tokenSource.token)) { return []; } - } catch (err) { + } catch { console.warn("Caught exception from canProvideConfiguration"); } let configs: util.Mutable[] = []; try { configs = await provider.provideConfigurations([docUri], tokenSource.token); - } catch (err) { + } catch { console.warn("Caught exception from provideConfigurations"); } @@ -3418,7 +3418,6 @@ export class DefaultClient implements Client { this.browseConfigurationLogging = ""; // This while (true) is here just so we can break out early if the config is set on error - // eslint-disable-next-line no-constant-condition while (true) { // config is marked as 'any' because it is untrusted data coming from a 3rd-party. We need to sanitize it before sending it to the language server. if (timeoutOccured || !config || config instanceof Array) { @@ -4249,7 +4248,6 @@ export class DefaultClient implements Client { if (this.ReferencesCommandMode === refs.ReferencesCommandMode.Find) { void this.languageClient.sendNotification(PreviewReferencesNotification); } - } private serverCanceledReferences(): void { @@ -4372,25 +4370,25 @@ class NullClient implements Client { didChangeActiveEditor(editor?: vscode.TextEditor): Promise { return Promise.resolve(); } restartIntelliSenseForFile(document: vscode.TextDocument): Promise { return Promise.resolve(); } activate(): void { } - selectionChanged(selection: Range): void { } - resetDatabase(): void { } + selectionChanged(selection: Range): Promise { return Promise.resolve(); } + resetDatabase(): Promise { return Promise.resolve(); } promptSelectIntelliSenseConfiguration(sender?: any): Promise { return Promise.resolve(); } rescanCompilers(sender?: any): Promise { return Promise.resolve(); } deactivate(): void { } - pauseParsing(): void { } - resumeParsing(): void { } - PauseCodeAnalysis(): void { } - ResumeCodeAnalysis(): void { } - CancelCodeAnalysis(): void { } + pauseParsing(): Promise { return Promise.resolve(); } + resumeParsing(): Promise { return Promise.resolve(); } + PauseCodeAnalysis(): Promise { return Promise.resolve(); } + ResumeCodeAnalysis(): Promise { return Promise.resolve(); } + CancelCodeAnalysis(): Promise { return Promise.resolve(); } handleConfigurationSelectCommand(): Promise { return Promise.resolve(); } handleConfigurationProviderSelectCommand(): Promise { return Promise.resolve(); } handleShowActiveCodeAnalysisCommands(): Promise { return Promise.resolve(); } handleShowIdleCodeAnalysisCommands(): Promise { return Promise.resolve(); } - handleReferencesIcon(): void { } - handleConfigurationEditCommand(viewColumn?: vscode.ViewColumn): void { } - handleConfigurationEditJSONCommand(viewColumn?: vscode.ViewColumn): void { } - handleConfigurationEditUICommand(viewColumn?: vscode.ViewColumn): void { } - handleAddToIncludePathCommand(path: string): void { } + handleReferencesIcon(): Promise { return Promise.resolve(); } + handleConfigurationEditCommand(viewColumn?: vscode.ViewColumn): Promise { return Promise.resolve(); } + handleConfigurationEditJSONCommand(viewColumn?: vscode.ViewColumn): Promise { return Promise.resolve(); } + handleConfigurationEditUICommand(viewColumn?: vscode.ViewColumn): Promise { return Promise.resolve(); } + handleAddToIncludePathCommand(path: string): Promise { return Promise.resolve(); } handleGoToDirectiveInGroup(next: boolean): Promise { return Promise.resolve(); } handleGenerateDoxygenComment(args: DoxygenCodeActionCommandArguments | vscode.Uri | undefined): Promise { return Promise.resolve(); } handleRunCodeAnalysisOnActiveFile(): Promise { return Promise.resolve(); } @@ -4408,7 +4406,7 @@ class NullClient implements Client { this.stringEvent.dispose(); } addFileAssociations(fileAssociations: string, languageId: string): void { } - sendDidChangeSettings(): void { } + sendDidChangeSettings(): Promise { return Promise.resolve(); } isInitialized(): boolean { return true; } getShowConfigureIntelliSenseButton(): boolean { return false; } setShowConfigureIntelliSenseButton(show: boolean): void { } diff --git a/Extension/src/LanguageServer/clientCollection.ts b/Extension/src/LanguageServer/clientCollection.ts index a6b21f431..54528a827 100644 --- a/Extension/src/LanguageServer/clientCollection.ts +++ b/Extension/src/LanguageServer/clientCollection.ts @@ -177,7 +177,7 @@ export class ClientCollection { // read for new workspace folders. Send them up before creating new // clients, so the native process is already aware of all workspace // folders before receiving new CppProperties for new folders. - this.defaultClient.sendDidChangeSettings(); + void this.defaultClient.sendDidChangeSettings(); e.added.forEach(folder => { const path: string = util.asFolder(folder.uri); const client: cpptools.Client | undefined = this.languageClients.get(path); diff --git a/Extension/src/LanguageServer/configurations.ts b/Extension/src/LanguageServer/configurations.ts index ea135109d..6f3c1588a 100644 --- a/Extension/src/LanguageServer/configurations.ts +++ b/Extension/src/LanguageServer/configurations.ts @@ -493,7 +493,7 @@ export class CppProperties { }); } } - } catch (error) { + } catch { /*ignore*/ } finally { this.vcpkgPathReady = true; @@ -1196,7 +1196,7 @@ export class CppProperties { }, 1000); })); }); - } catch (e) { + } catch { // The file watcher limit is hit. // TODO: Check if the compile commands file has a higher timestamp during the interval timer. } @@ -1571,7 +1571,7 @@ export class CppProperties { if (dirty) { try { this.writeToJson(); - } catch (err) { + } catch { // Ignore write errors, the file may be under source control. Updated settings will only be modified in memory. void vscode.window.showWarningMessage(localize('update.properties.failed', 'Attempt to update "{0}" failed (do you have write access?)', this.propertiesFile.fsPath)); success = false; diff --git a/Extension/src/LanguageServer/cppBuildTaskProvider.ts b/Extension/src/LanguageServer/cppBuildTaskProvider.ts index efb282335..e42b429c6 100644 --- a/Extension/src/LanguageServer/cppBuildTaskProvider.ts +++ b/Extension/src/LanguageServer/cppBuildTaskProvider.ts @@ -10,6 +10,7 @@ import { CustomExecution, Disposable, Event, EventEmitter, ProcessExecution, Pse import * as nls from 'vscode-nls'; import * as util from '../common'; import * as telemetry from '../telemetry'; +import { logAndReturn } from "../Utility/Async/returns"; import { Client } from './client'; import * as configs from './configurations'; import { getEffectiveEnvironment, isEnvironmentOverrideApplied } from "./devcmd"; @@ -93,7 +94,7 @@ export class CppBuildTaskProvider implements TaskProvider { let activeClient: Client; try { activeClient = ext.getActiveClient(); - } catch (errJS) { + } catch { return emptyTasks; // Language service features may be disabled. } @@ -370,7 +371,7 @@ class CustomBuildTaskTerminal implements Pseudoterminal { constructor(private command: string | util.IQuotedString, private args: (string | util.IQuotedString)[], private options: cp.ExecOptions | undefined, private buildOptions: BuildOptions) { } - async open(_initialDimensions: TerminalDimensions | undefined): Promise { + async openAsync(_initialDimensions: TerminalDimensions | undefined): Promise { if (this.buildOptions.taskUsesActiveFile && !util.isCppOrCFile(window.activeTextEditor?.document.uri)) { this.writeEmitter.fire(localize("cannot.build.non.cpp", 'Cannot build and debug because the active file is not a C or C++ source file.') + this.endOfLine); this.closeEmitter.fire(-1); @@ -387,6 +388,10 @@ class CustomBuildTaskTerminal implements Pseudoterminal { await this.doBuild(); } + open(_initialDimensions: TerminalDimensions | undefined): void { + void this.openAsync(_initialDimensions).catch(logAndReturn.undefined); + } + close(): void { // The terminal has been closed. Shutdown the build. } diff --git a/Extension/src/LanguageServer/extension.ts b/Extension/src/LanguageServer/extension.ts index 89ede26ed..2c072eff3 100644 --- a/Extension/src/LanguageServer/extension.ts +++ b/Extension/src/LanguageServer/extension.ts @@ -195,10 +195,10 @@ export async function activate(): Promise { await registerCommands(true); - vscode.tasks.onDidStartTask(() => getActiveClient().PauseCodeAnalysis()); + vscode.tasks.onDidStartTask(() => void getActiveClient().PauseCodeAnalysis().catch(logAndReturn.undefined)); - vscode.tasks.onDidEndTask(event => { - getActiveClient().ResumeCodeAnalysis(); + vscode.tasks.onDidEndTask(async event => { + await getActiveClient().ResumeCodeAnalysis(); if (event.execution.task.definition.type === CppBuildTaskProvider.CppBuildScriptType || event.execution.task.name.startsWith(configPrefix)) { if (event.execution.task.scope !== vscode.TaskScope.Global && event.execution.task.scope !== vscode.TaskScope.Workspace) { @@ -353,7 +353,7 @@ function onDidChangeTextEditorSelection(event: vscode.TextEditorSelectionChangeE if (!util.isCpp(event.textEditor.document)) { return; } - clients.ActiveClient.selectionChanged(makeLspRange(event.selections[0])); + void clients.ActiveClient.selectionChanged(makeLspRange(event.selections[0])).catch(logAndReturn.undefined); } async function onDidChangeVisibleTextEditors(editors: readonly vscode.TextEditor[]): Promise { @@ -507,7 +507,7 @@ async function selectClient(): Promise { async function onResetDatabase(): Promise { await clients.ActiveClient.ready; - clients.ActiveClient.resetDatabase(); + return clients.ActiveClient.resetDatabase(); } async function onRescanCompilers(sender?: any): Promise { @@ -750,7 +750,7 @@ function onExpandSelection(r: Range) { } } -function onAddToIncludePath(path: string): void { +async function onAddToIncludePath(path: string): Promise { if (isFolderOpen()) { // This only applies to the active client. It would not make sense to add the include path // suggestion to a different workspace. @@ -777,23 +777,23 @@ function onToggleDimInactiveRegions(): void { } function onPauseParsing(): void { - clients.ActiveClient.pauseParsing(); + void clients.ActiveClient.pauseParsing().catch(logAndReturn.undefined); } function onResumeParsing(): void { - clients.ActiveClient.resumeParsing(); + void clients.ActiveClient.resumeParsing().catch(logAndReturn.undefined); } function onPauseCodeAnalysis(): void { - clients.ActiveClient.PauseCodeAnalysis(); + void clients.ActiveClient.PauseCodeAnalysis().catch(logAndReturn.undefined); } function onResumeCodeAnalysis(): void { - clients.ActiveClient.ResumeCodeAnalysis(); + void clients.ActiveClient.ResumeCodeAnalysis().catch(logAndReturn.undefined); } function onCancelCodeAnalysis(): void { - clients.ActiveClient.CancelCodeAnalysis(); + void clients.ActiveClient.CancelCodeAnalysis().catch(logAndReturn.undefined); } function onShowActiveCodeAnalysisCommands(): Promise { @@ -805,7 +805,7 @@ function onShowIdleCodeAnalysisCommands(): Promise { } function onShowReferencesProgress(): void { - clients.ActiveClient.handleReferencesIcon(); + void clients.ActiveClient.handleReferencesIcon().catch(logAndReturn.undefined); } function onToggleRefGroupView(): void { @@ -964,7 +964,7 @@ function reportMacCrashes(): void { }); }, 5000); }); - } catch (e) { + } catch { // The file watcher limit is hit (may not be possible on Mac, but just in case). } }); @@ -1023,7 +1023,7 @@ export function watchForCrashes(crashDirectory: string): void { }); }, 5000); }); - } catch (e) { + } catch { // The file watcher limit is hit (may not be possible on Mac, but just in case). } }); diff --git a/Extension/src/LanguageServer/protocolFilter.ts b/Extension/src/LanguageServer/protocolFilter.ts index d6462072e..5a95fc5a5 100644 --- a/Extension/src/LanguageServer/protocolFilter.ts +++ b/Extension/src/LanguageServer/protocolFilter.ts @@ -36,7 +36,7 @@ export function createProtocolFilter(): Middleware { const baseFileName: string = path.basename(document.fileName); const mappingString: string = baseFileName + "@" + document.fileName; client.addFileAssociations(mappingString, "cpp"); - client.sendDidChangeSettings(); + void client.sendDidChangeSettings(); // The following will cause the file to be closed and reopened. void vscode.languages.setTextDocumentLanguage(document, "cpp"); return; diff --git a/Extension/src/LanguageServer/settings.ts b/Extension/src/LanguageServer/settings.ts index 86ddf401a..3ee17d794 100644 --- a/Extension/src/LanguageServer/settings.ts +++ b/Extension/src/LanguageServer/settings.ts @@ -301,7 +301,7 @@ export class CppSettings extends Settings { if (!semver.valid(bundledVersion)) { return path; } - } catch (e) { + } catch { // Unable to invoke our own clang-*. Use the system installed clang-*. return path; } @@ -314,7 +314,7 @@ export class CppSettings extends Settings { path = ""; setCachedClangPath(path); } - } catch (e) { + } catch { path = ""; setCachedClangPath(path); } @@ -898,7 +898,7 @@ export class CppSettings extends Settings { try { await vscode.workspace.applyEdit(edits); document = await vscode.workspace.openTextDocument(uri); - } catch (e) { + } catch { document = await vscode.workspace.openTextDocument(); } } else { diff --git a/Extension/src/SSH/commandInteractors.ts b/Extension/src/SSH/commandInteractors.ts index 01f4808d1..ce676c070 100644 --- a/Extension/src/SSH/commandInteractors.ts +++ b/Extension/src/SSH/commandInteractors.ts @@ -182,7 +182,7 @@ export function getExitCode(output: string, marker: string): number | undefined try { const num: number = parseInt(match[1]); return Number.isNaN(num) ? undefined : num; - } catch (err) { + } catch { return undefined; } } diff --git a/Extension/src/SSH/sshCommandToConfig.ts b/Extension/src/SSH/sshCommandToConfig.ts index 80b9a0562..e60463bd6 100644 --- a/Extension/src/SSH/sshCommandToConfig.ts +++ b/Extension/src/SSH/sshCommandToConfig.ts @@ -175,7 +175,6 @@ function parseFlags(input: string[], entries: { [key: string]: string }): number // prefix with `:` to tell the library not to log anything itself const parser: BasicParser = new BasicParser(`:${getOptDirective}`, input, 0); - // eslint-disable-next-line no-constant-condition while (true) { const next: IParsedOption | undefined = parser.getopt(); if (!next) { diff --git a/Extension/src/SSH/sshHosts.ts b/Extension/src/SSH/sshHosts.ts index 98c4d9308..b1b37f4b7 100644 --- a/Extension/src/SSH/sshHosts.ts +++ b/Extension/src/SSH/sshHosts.ts @@ -61,7 +61,7 @@ function extractHostNames(parsedConfig: Configuration): { [host: string]: string let resolvedConfig: ResolvedConfiguration | undefined; try { resolvedConfig = parsedConfig.compute(host); - } catch (e) { + } catch { getSshChannel().appendLine(localize("failed.to.find.user.info.for.SSH", "Failed to find user info for SSH. This could be caused by VS Code being installed using 'snap'. Please reinstall VS Code using the 'deb' package if you are planning to use SSH features.")); } @@ -160,7 +160,7 @@ async function getIncludedConfigFile( let includedContents: string; try { includedContents = (await fs.readFile(includePath)).toString(); - } catch (e) { + } catch { getSshChannel().appendLine(localize("failed.to.read.file", "Failed to read file {0}.", includePath)); return; } @@ -181,7 +181,7 @@ export async function writeSshConfiguration(configurationPath: string, configura try { await vscode.workspace.fs.createDirectory(vscode.Uri.file(path.dirname(configurationPath))); await fs.writeFile(configurationPath, configuration.toString()); - } catch (e) { + } catch { getSshChannel().appendLine(localize("failed.to.write.file", "Failed to write to file {0}.", configurationPath)); } } diff --git a/Extension/src/Utility/Eventing/eventParser.ts b/Extension/src/Utility/Eventing/eventParser.ts index fb9cc6e48..4ebf5d649 100644 --- a/Extension/src/Utility/Eventing/eventParser.ts +++ b/Extension/src/Utility/Eventing/eventParser.ts @@ -116,7 +116,6 @@ export function parse(triggerExpression: string, sourceToBindTo: ArbitraryObject if (token.kind !== Kind.Slash) { throw new Error(`unexpected token ${JSON.stringify(token)}`); } - // eslint-disable-next-line no-constant-condition } while (true); // for each discriminator[filter] diff --git a/Extension/src/Utility/Process/process.ts b/Extension/src/Utility/Process/process.ts index 248311b12..eb09026e6 100644 --- a/Extension/src/Utility/Process/process.ts +++ b/Extension/src/Utility/Process/process.ts @@ -5,7 +5,6 @@ /* eslint-disable @typescript-eslint/naming-convention */ /* eslint-disable @typescript-eslint/unified-signatures */ -/* eslint-disable @typescript-eslint/no-unsafe-declaration-merging */ import { ChildProcess, spawn } from 'child_process'; import { basename, resolve } from 'path'; diff --git a/Extension/src/Utility/Process/streams.ts b/Extension/src/Utility/Process/streams.ts index 2ce90013f..a266e1505 100644 --- a/Extension/src/Utility/Process/streams.ts +++ b/Extension/src/Utility/Process/streams.ts @@ -13,8 +13,6 @@ import { finalize } from '../System/finalize'; import { is } from '../System/guards'; import { verbose } from '../Text/streams'; -/* eslint-disable no-constant-condition */ - /** An iterator/iterable wrapper to process a stream of lines. */ export class LineIterator implements AsyncIterable, AsyncIterator { #current = 0; diff --git a/Extension/src/Utility/Sandbox/sandbox.ts b/Extension/src/Utility/Sandbox/sandbox.ts index 6e8d16ca6..4da9d8a3f 100644 --- a/Extension/src/Utility/Sandbox/sandbox.ts +++ b/Extension/src/Utility/Sandbox/sandbox.ts @@ -23,13 +23,12 @@ export function createSandbox(): (code: string, context?: any) => T { sandbox ); for (const key of Object.keys(context)) { - // eslint-disable-next-line @typescript-eslint/no-dynamic-delete delete sandbox[key]; } } else { try { runInContext(`${response} = ${code}`, sandbox); - } catch (e) { + } catch { sandbox[response] = undefined; } } diff --git a/Extension/src/Utility/System/guards.ts b/Extension/src/Utility/System/guards.ts index 4dbec77d8..06e9130ad 100644 --- a/Extension/src/Utility/System/guards.ts +++ b/Extension/src/Utility/System/guards.ts @@ -61,7 +61,6 @@ export class is { return instance instanceof Socket; } - // eslint-disable-next-line @typescript-eslint/ban-types static function(instance: any): instance is Function { return typeof instance === 'function'; } diff --git a/Extension/src/Utility/System/info.ts b/Extension/src/Utility/System/info.ts index 3f3690dc2..1205953a8 100644 --- a/Extension/src/Utility/System/info.ts +++ b/Extension/src/Utility/System/info.ts @@ -75,7 +75,6 @@ interface FunctionInfo { /** a bound callable function for the member (saves us from having to do it later anyway) */ - // eslint-disable-next-line @typescript-eslint/ban-types fn: Function; } @@ -140,7 +139,7 @@ export function members(obj: any): Members { result.fields.set(memberName, type); } } - // eslint-disable-next-line no-cond-assign + // eslint-disable-next-line no-cond-assign } while (instance = Object.getPrototypeOf(instance)); } return result; diff --git a/Extension/src/Utility/Text/scanner.ts b/Extension/src/Utility/Text/scanner.ts index aaa683d0c..6f90bfd82 100644 --- a/Extension/src/Utility/Text/scanner.ts +++ b/Extension/src/Utility/Text/scanner.ts @@ -117,11 +117,9 @@ export enum Kind { Comma, QuestionDot, LessThan, - // eslint-disable-next-line @typescript-eslint/prefer-literal-enum-member OpenAngle = LessThan, LessThanSlash, GreaterThan, - // eslint-disable-next-line @typescript-eslint/prefer-literal-enum-member CloseAngle = GreaterThan, LessThanEquals, GreaterThanEquals, diff --git a/Extension/src/common.ts b/Extension/src/common.ts index e32f23043..9ee2cb46c 100644 --- a/Extension/src/common.ts +++ b/Extension/src/common.ts @@ -95,7 +95,7 @@ export async function getRawJson(path: string | undefined): Promise { let rawElement: any = {}; try { rawElement = jsonc.parse(fileContents, undefined, true); - } catch (error) { + } catch { throw new Error(failedToParseJson); } return rawElement; @@ -501,7 +501,7 @@ export async function fsStat(filePath: fs.PathLike): Promise { // The first MAC address is the one Visual Studio uses const primary = await getMachineId(macAddresses.shift()); if (primary) { - logLanguageServerEvent('machineIdMap', {primary}); + logLanguageServerEvent('machineIdMap', { primary }); } // VS Code uses os.networkInterfaces() which has different sorting and availability, @@ -30,7 +30,7 @@ export async function logMachineIdMappings(): Promise { for (const macAddress of macAddresses) { const additional = await getMachineId(macAddress); if (additional) { - logLanguageServerEvent('machineIdMap', {additional}); + logLanguageServerEvent('machineIdMap', { additional }); } } } @@ -43,7 +43,7 @@ async function getMacAddresses(): Promise { const output = await execChildProcess('getmac'); const regex = /(?:[a-z0-9]{2}[:\-]){5}[a-z0-9]{2}/gmi; return output.match(regex) ?? []; - } catch (err) { + } catch { return []; } } @@ -62,7 +62,7 @@ async function getMachineId(macAddress?: string): Promise { const crypto = await import('crypto'); const normalized = macAddress.toUpperCase().replace(/:/g, '-'); return crypto.createHash('sha256').update(normalized, 'utf8').digest('hex'); - } catch (err) { + } catch { return undefined; } } diff --git a/Extension/src/main.ts b/Extension/src/main.ts index ac9030d55..fed7e019f 100644 --- a/Extension/src/main.ts +++ b/Extension/src/main.ts @@ -131,7 +131,7 @@ export async function activate(context: vscode.ExtensionContext): Promise { + suiteSetup(async function (): Promise { const extension: vscode.Extension = vscode.extensions.getExtension("ms-vscode.cpptools") || assert.fail("Extension not found"); if (!extension.isActive) { await extension.activate(); diff --git a/Extension/test/scenarios/SingleRootProject/tests/common.test.ts b/Extension/test/scenarios/SingleRootProject/tests/common.test.ts index 28182b863..e04c88ea2 100644 --- a/Extension/test/scenarios/SingleRootProject/tests/common.test.ts +++ b/Extension/test/scenarios/SingleRootProject/tests/common.test.ts @@ -62,7 +62,6 @@ suite("resolveVariables", () => { process.env[processKey] = "bar"; actual = resolveVariables(input, {}); } finally { - // eslint-disable-next-line @typescript-eslint/no-dynamic-delete delete process.env[processKey]; } assert.equal(actual, "foobar"); diff --git a/Extension/yarn.lock b/Extension/yarn.lock index e6d8bbacf..40ee3d8ed 100644 --- a/Extension/yarn.lock +++ b/Extension/yarn.lock @@ -23,37 +23,73 @@ esquery "^1.6.0" jsdoc-type-pratt-parser "~4.0.0" -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz#d1145bf2c20132d6400495d6df4bf59362fd9d56" - integrity sha1-0RRb8sIBMtZABJXW30v1k2L9nVY= +"@eslint-community/eslint-utils@^4.8.0", "@eslint-community/eslint-utils@^4.9.1": + version "4.9.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz#4e90af67bc51ddee6cdef5284edf572ec376b595" + integrity sha1-TpCvZ7xR3e5s3vUoTt9XLsN2tZU= dependencies: eslint-visitor-keys "^3.4.3" -"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": - version "4.12.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0" - integrity sha1-z8bP/jnfOQo4Qc3iq8z5Lqp64OA= +"@eslint-community/regexpp@^4.12.1", "@eslint-community/regexpp@^4.12.2": + version "4.12.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b" + integrity sha1-vM32Fbz3tujbgw7AuNIcmiXeWXs= + +"@eslint/config-array@^0.21.1": + version "0.21.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint/config-array/-/config-array-0.21.1.tgz#7d1b0060fea407f8301e932492ba8c18aff29713" + integrity sha1-fRsAYP6kB/gwHpMkkrqMGK/ylxM= + dependencies: + "@eslint/object-schema" "^2.1.7" + debug "^4.3.1" + minimatch "^3.1.2" + +"@eslint/config-helpers@^0.4.2": + version "0.4.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint/config-helpers/-/config-helpers-0.4.2.tgz#1bd006ceeb7e2e55b2b773ab318d300e1a66aeda" + integrity sha1-G9AGzut+LlWyt3OrMY0wDhpmrto= + dependencies: + "@eslint/core" "^0.17.0" -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha1-OIomnw8lwbatwxe1osVXFIlMcK0= +"@eslint/core@^0.17.0": + version "0.17.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint/core/-/core-0.17.0.tgz#77225820413d9617509da9342190a2019e78761c" + integrity sha1-dyJYIEE9lhdQnak0IZCiAZ54dhw= + dependencies: + "@types/json-schema" "^7.0.15" + +"@eslint/eslintrc@^3.3.1": + version "3.3.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint/eslintrc/-/eslintrc-3.3.3.tgz#26393a0806501b5e2b6a43aa588a4d8df67880ac" + integrity sha1-Jjk6CAZQG14rakOqWIpNjfZ4gKw= dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" + espree "^10.0.1" + globals "^14.0.0" ignore "^5.2.0" import-fresh "^3.2.1" - js-yaml "^4.1.0" + js-yaml "^4.1.1" minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.57.1": - version "8.57.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" - integrity sha1-3mM9s+wu9qPIni8ZA4Bj6KEi4sI= +"@eslint/js@9.39.2": + version "9.39.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint/js/-/js-9.39.2.tgz#2d4b8ec4c3ea13c1b3748e0c97ecd766bdd80599" + integrity sha1-LUuOxMPqE8GzdI4Ml+zXZr3YBZk= + +"@eslint/object-schema@^2.1.7": + version "2.1.7" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint/object-schema/-/object-schema-2.1.7.tgz#6e2126a1347e86a4dedf8706ec67ff8e107ebbad" + integrity sha1-biEmoTR+hqTe34cG7Gf/jhB+u60= + +"@eslint/plugin-kit@^0.4.1": + version "0.4.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz#9779e3fd9b7ee33571a57435cf4335a1794a6cb2" + integrity sha1-l3nj/Zt+4zVxpXQ1z0M1oXlKbLI= + dependencies: + "@eslint/core" "^0.17.0" + levn "^0.4.1" "@github/copilot-language-server@^1.316.0": version "1.316.0" @@ -93,24 +129,28 @@ dependencies: is-negated-glob "^1.0.0" -"@humanwhocodes/config-array@^0.13.0": - version "0.13.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" - integrity sha1-+5B2JN8yVtBLmqLfUNeql+xkh0g= +"@humanfs/core@^0.19.1": + version "0.19.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77" + integrity sha1-F8Vcp9Qmcz/jxWGQa4Fzwza0Cnc= + +"@humanfs/node@^0.16.6": + version "0.16.7" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@humanfs/node/-/node-0.16.7.tgz#822cb7b3a12c5a240a24f621b5a2413e27a45f26" + integrity sha1-giy3s6EsWiQKJPYhtaJBPiekXyY= dependencies: - "@humanwhocodes/object-schema" "^2.0.3" - debug "^4.3.1" - minimatch "^3.0.5" + "@humanfs/core" "^0.19.1" + "@humanwhocodes/retry" "^0.4.0" "@humanwhocodes/module-importer@^1.0.1": version "1.0.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha1-r1smkaIrRL6EewyoFkHF+2rQFyw= -"@humanwhocodes/object-schema@^2.0.3": - version "2.0.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" - integrity sha1-Siho111taWPkI7z5C3/RvjQ0CdM= +"@humanwhocodes/retry@^0.4.0", "@humanwhocodes/retry@^0.4.2": + version "0.4.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba" + integrity sha1-wrnS43TuYsWG062+qHGZsdenpro= "@jridgewell/gen-mapping@^0.3.5": version "0.3.8" @@ -266,7 +306,7 @@ resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos= -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": +"@nodelib/fs.walk@^1.2.3": version "1.2.8" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po= @@ -449,7 +489,7 @@ "@types/minimatch" "*" "@types/node" "*" -"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.9": version "7.0.15" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha1-WWoXRyM2lNUPatinhp/Lb1bPWEE= @@ -509,7 +549,7 @@ resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/proxyquire/-/proxyquire-1.3.31.tgz#a008b78dad6061754e3adf2cb64b60303f68deaa" integrity sha1-oAi3ja1gYXVOOt8stktgMD9o3qo= -"@types/semver@^7.5.0", "@types/semver@^7.5.8": +"@types/semver@^7.5.8": version "7.5.8" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" integrity sha1-gmioxXo+Sr0lwWXs02I323lIpV4= @@ -548,96 +588,101 @@ dependencies: "@types/node" "*" -"@typescript-eslint/eslint-plugin@^6.1.0": - version "6.21.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3" - integrity sha1-MIMMHKgf1fPCcU5STEMD4BlPnNM= - dependencies: - "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/type-utils" "6.21.0" - "@typescript-eslint/utils" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.4" +"@typescript-eslint/eslint-plugin@^8.54.0": + version "8.54.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.54.0.tgz#d8899e5c2eccf5c4a20d01c036a193753748454d" + integrity sha1-2ImeXC7M9cSiDQHANqGTdTdIRU0= + dependencies: + "@eslint-community/regexpp" "^4.12.2" + "@typescript-eslint/scope-manager" "8.54.0" + "@typescript-eslint/type-utils" "8.54.0" + "@typescript-eslint/utils" "8.54.0" + "@typescript-eslint/visitor-keys" "8.54.0" + ignore "^7.0.5" natural-compare "^1.4.0" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/parser@^6.1.0": - version "6.21.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b" - integrity sha1-r4/PZv7uLtyGvF0c9F4zsGML81s= - dependencies: - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/typescript-estree" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - debug "^4.3.4" + ts-api-utils "^2.4.0" + +"@typescript-eslint/parser@^8.54.0": + version "8.54.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/parser/-/parser-8.54.0.tgz#3d01a6f54ed247deb9982621f70e7abf1810bd97" + integrity sha1-PQGm9U7SR965mCYh9w56vxgQvZc= + dependencies: + "@typescript-eslint/scope-manager" "8.54.0" + "@typescript-eslint/types" "8.54.0" + "@typescript-eslint/typescript-estree" "8.54.0" + "@typescript-eslint/visitor-keys" "8.54.0" + debug "^4.4.3" + +"@typescript-eslint/project-service@8.54.0": + version "8.54.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/project-service/-/project-service-8.54.0.tgz#f582aceb3d752544c8e1b11fea8d95d00cf9adc6" + integrity sha1-9YKs6z11JUTI4bEf6o2V0Az5rcY= + dependencies: + "@typescript-eslint/tsconfig-utils" "^8.54.0" + "@typescript-eslint/types" "^8.54.0" + debug "^4.4.3" + +"@typescript-eslint/scope-manager@8.54.0": + version "8.54.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz#307dc8cbd80157e2772c2d36216857415a71ab33" + integrity sha1-MH3Iy9gBV+J3LC02IWhXQVpxqzM= + dependencies: + "@typescript-eslint/types" "8.54.0" + "@typescript-eslint/visitor-keys" "8.54.0" + +"@typescript-eslint/tsconfig-utils@8.54.0", "@typescript-eslint/tsconfig-utils@^8.54.0": + version "8.54.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz#71dd7ba1674bd48b172fc4c85b2f734b0eae3dbc" + integrity sha1-cd17oWdL1IsXL8TIWy9zSw6uPbw= + +"@typescript-eslint/type-utils@8.54.0": + version "8.54.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/type-utils/-/type-utils-8.54.0.tgz#64965317dd4118346c2fa5ee94492892200e9fb9" + integrity sha1-ZJZTF91BGDRsL6XulEkokiAOn7k= + dependencies: + "@typescript-eslint/types" "8.54.0" + "@typescript-eslint/typescript-estree" "8.54.0" + "@typescript-eslint/utils" "8.54.0" + debug "^4.4.3" + ts-api-utils "^2.4.0" + +"@typescript-eslint/types@8.54.0", "@typescript-eslint/types@^8.54.0": + version "8.54.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/types/-/types-8.54.0.tgz#c12d41f67a2e15a8a96fbc5f2d07b17331130889" + integrity sha1-wS1B9nouFaipb7xfLQexczETCIk= + +"@typescript-eslint/typescript-estree@8.54.0": + version "8.54.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz#3c7716905b2b811fadbd2114804047d1bfc86527" + integrity sha1-PHcWkFsrgR+tvSEUgEBH0b/IZSc= + dependencies: + "@typescript-eslint/project-service" "8.54.0" + "@typescript-eslint/tsconfig-utils" "8.54.0" + "@typescript-eslint/types" "8.54.0" + "@typescript-eslint/visitor-keys" "8.54.0" + debug "^4.4.3" + minimatch "^9.0.5" + semver "^7.7.3" + tinyglobby "^0.2.15" + ts-api-utils "^2.4.0" -"@typescript-eslint/scope-manager@6.21.0": - version "6.21.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz#ea8a9bfc8f1504a6ac5d59a6df308d3a0630a2b1" - integrity sha1-6oqb/I8VBKasXVmm3zCNOgYworE= +"@typescript-eslint/utils@8.54.0": + version "8.54.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/utils/-/utils-8.54.0.tgz#c79a4bcbeebb4f571278c0183ed1cb601d84c6c8" + integrity sha1-x5pLy+67T1cSeMAYPtHLYB2Exsg= dependencies: - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" + "@eslint-community/eslint-utils" "^4.9.1" + "@typescript-eslint/scope-manager" "8.54.0" + "@typescript-eslint/types" "8.54.0" + "@typescript-eslint/typescript-estree" "8.54.0" -"@typescript-eslint/type-utils@6.21.0": - version "6.21.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e" - integrity sha1-ZHMoHP7U2sq+gAToUhzuC9nUwB4= +"@typescript-eslint/visitor-keys@8.54.0": + version "8.54.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz#0e4b50124b210b8600b245dd66cbad52deb15590" + integrity sha1-DktQEkshC4YAskXdZsutUt6xVZA= dependencies: - "@typescript-eslint/typescript-estree" "6.21.0" - "@typescript-eslint/utils" "6.21.0" - debug "^4.3.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/types@6.21.0": - version "6.21.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" - integrity sha1-IFckxRI6j+9+zRlQdfpuhbrDQ20= - -"@typescript-eslint/typescript-estree@6.21.0": - version "6.21.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz#c47ae7901db3b8bddc3ecd73daff2d0895688c46" - integrity sha1-xHrnkB2zuL3cPs1z2v8tCJVojEY= - dependencies: - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - minimatch "9.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/utils@6.21.0": - version "6.21.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134" - integrity sha1-RxTnprOedzwcjpfsWH9SCEDNgTQ= - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/typescript-estree" "6.21.0" - semver "^7.5.4" - -"@typescript-eslint/visitor-keys@6.21.0": - version "6.21.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz#87a99d077aa507e20e238b11d56cc26ade45fe47" - integrity sha1-h6mdB3qlB+IOI4sR1WzCat5F/kc= - dependencies: - "@typescript-eslint/types" "6.21.0" - eslint-visitor-keys "^3.4.1" - -"@ungap/structured-clone@^1.2.0": - version "1.3.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/@ungap/structured-clone/-/structured-clone-1.3.0.tgz#d06bbb384ebcf6c505fde1c3d0ed4ddffe0aaff8" - integrity sha1-0Gu7OE689sUF/eHD0O1N3/4Kr/g= + "@typescript-eslint/types" "8.54.0" + eslint-visitor-keys "^4.2.1" "@vscode/debugadapter@^1.65.0": version "1.68.0" @@ -848,11 +893,16 @@ acorn@^6.4.1: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha1-NYZv1xBSjpLeEM8GAWSY5H454eY= -acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1, acorn@^8.8.2, acorn@^8.9.0: +acorn@^8.11.0, acorn@^8.14.0, acorn@^8.4.1, acorn@^8.8.2: version "8.14.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/acorn/-/acorn-8.14.0.tgz#063e2c70cac5fb4f6467f0b11152e04c682795b0" integrity sha1-Bj4scMrF+09kZ/CxEVLgTGgnlbA= +acorn@^8.15.0: + version "8.15.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" + integrity sha1-o2CJi8QV7arEbIJB9jg5dbkwuBY= + agent-base@^7.1.0, agent-base@^7.1.2: version "7.1.3" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/agent-base/-/agent-base-7.1.3.tgz#29435eb821bc4194633a5b89e5bc4703bafc25a1" @@ -1474,7 +1524,7 @@ create-require@^1.1.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha1-wdfo8eX2z8n/ZfnNNS03NIdWwzM= -cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.3, cross-spawn@^7.0.6: version "7.0.6" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f" integrity sha1-ilj+ePANzXDDcEUXWd+/rwPo7p8= @@ -1550,6 +1600,13 @@ debug@4, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5: dependencies: ms "^2.1.3" +debug@^4.4.3: + version "4.4.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" + integrity sha1-xq5DLZvZZiWC/OCHCbA4xY6ePWo= + dependencies: + ms "^2.1.3" + decamelize@^4.0.0: version "4.0.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" @@ -1613,13 +1670,6 @@ diff@^8.0.2: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/diff/-/diff-8.0.3.tgz#c7da3d9e0e8c283bb548681f8d7174653720c2d5" integrity sha1-x9o9ng6MKDu1SGgfjXF0ZTcgwtU= -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8= - dependencies: - path-type "^4.0.0" - doctrine@^2.1.0: version "2.1.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -1627,13 +1677,6 @@ doctrine@^2.1.0: dependencies: esutils "^2.0.2" -doctrine@^3.0.0: - version "3.0.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha1-rd6+rXKmV023g2OdyHoSF3OXOWE= - dependencies: - esutils "^2.0.2" - dunder-proto@^1.0.0, dunder-proto@^1.0.1: version "1.0.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" @@ -1944,15 +1987,15 @@ eslint-scope@5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha1-3rT5JWM5DzIAaJSvYqItuhxGQj8= +eslint-scope@^8.4.0: + version "8.4.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/eslint-scope/-/eslint-scope-8.4.0.tgz#88e646a207fad61436ffa39eb505147200655c82" + integrity sha1-iOZGogf61hQ2/6OetQUUcgBlXII= dependencies: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: +eslint-visitor-keys@^3.4.3: version "3.4.3" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha1-DNcv6FUOPC6uFWqWpN3c0cisWAA= @@ -1962,49 +2005,50 @@ eslint-visitor-keys@^4.2.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz#687bacb2af884fcdda8a6e7d65c606f46a14cd45" integrity sha1-aHussq+IT83aim59ZcYG9GoUzUU= -eslint@^8.45.0: - version "8.57.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9" - integrity sha1-ffEJZUq6fju+XI6uUzxeRh08bKk= - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.57.1" - "@humanwhocodes/config-array" "^0.13.0" +eslint-visitor-keys@^4.2.1: + version "4.2.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1" + integrity sha1-TP6mD+fdCtjoFuHtAmwdUlG1EsE= + +eslint@^9.39.2: + version "9.39.2" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/eslint/-/eslint-9.39.2.tgz#cb60e6d16ab234c0f8369a3fe7cc87967faf4b6c" + integrity sha1-y2Dm0WqyNMD4Npo/58yHln+vS2w= + dependencies: + "@eslint-community/eslint-utils" "^4.8.0" + "@eslint-community/regexpp" "^4.12.1" + "@eslint/config-array" "^0.21.1" + "@eslint/config-helpers" "^0.4.2" + "@eslint/core" "^0.17.0" + "@eslint/eslintrc" "^3.3.1" + "@eslint/js" "9.39.2" + "@eslint/plugin-kit" "^0.4.1" + "@humanfs/node" "^0.16.6" "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" + "@humanwhocodes/retry" "^0.4.2" + "@types/estree" "^1.0.6" ajv "^6.12.4" chalk "^4.0.0" - cross-spawn "^7.0.2" + cross-spawn "^7.0.6" debug "^4.3.2" - doctrine "^3.0.0" escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" + eslint-scope "^8.4.0" + eslint-visitor-keys "^4.2.1" + espree "^10.4.0" + esquery "^1.5.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" + file-entry-cache "^8.0.0" find-up "^5.0.0" glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" ignore "^5.2.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" lodash.merge "^4.6.2" minimatch "^3.1.2" natural-compare "^1.4.0" optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" esniff@^2.0.1: version "2.0.1" @@ -2016,6 +2060,15 @@ esniff@^2.0.1: event-emitter "^0.3.5" type "^2.7.2" +espree@^10.0.1, espree@^10.4.0: + version "10.4.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/espree/-/espree-10.4.0.tgz#d54f4949d4629005a1fa168d937c3ff1f7e2a837" + integrity sha1-1U9JSdRikAWh+haNk3w/8ffiqDc= + dependencies: + acorn "^8.15.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^4.2.1" + espree@^10.1.0: version "10.3.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/espree/-/espree-10.3.0.tgz#29267cf5b0cb98735b65e64ba07e0ed49d1eed8a" @@ -2025,21 +2078,19 @@ espree@^10.1.0: acorn-jsx "^5.3.2" eslint-visitor-keys "^4.2.0" -espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha1-oqF7jkNGkKVDLy+AGM5x0zGkjG8= - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - esprima@^4.0.1: version "4.0.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha1-E7BM2z5sXRnfkatph6hpVhmwqnE= -esquery@^1.4.2, esquery@^1.6.0: +esquery@^1.5.0: + version "1.7.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/esquery/-/esquery-1.7.0.tgz#08d048f261f0ddedb5bae95f46809463d9c9496d" + integrity sha1-CNBI8mHw3e21uulfRoCUY9nJSW0= + dependencies: + estraverse "^5.1.0" + +esquery@^1.6.0: version "1.6.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7" integrity sha1-kUGSNPgE2FKoLc7sPhbNwiz52uc= @@ -2159,7 +2210,7 @@ fast-fifo@^1.3.2: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-fifo/-/fast-fifo-1.3.2.tgz#286e31de96eb96d38a97899815740ba2a4f3640c" integrity sha1-KG4x3pbrltOKl4mYFXQLoqTzZAw= -fast-glob@^3.2.9: +fast-glob@^3.3.3: version "3.3.3" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" integrity sha1-0G1YXOjbqQoWsFBcVDw8z7OuuBg= @@ -2197,19 +2248,31 @@ fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.0.7: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" integrity sha1-IQ5htv8YHekeqbPRuE/e3UfgNOU= -fastq@^1.13.0, fastq@^1.6.0: +fastq@^1.13.0: version "1.19.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fastq/-/fastq-1.19.0.tgz#a82c6b7c2bb4e44766d865f07997785fecfdcb89" integrity sha1-qCxrfCu05Edm2GXweZd4X+z9y4k= dependencies: reusify "^1.0.4" -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha1-IRst2WWcsDlLBz5zI6w8kz1SICc= +fastq@^1.6.0: + version "1.20.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fastq/-/fastq-1.20.1.tgz#ca750a10dc925bc8b18839fd203e3ef4b3ced675" + integrity sha1-ynUKENySW8ixiDn9ID4+9LPO1nU= + dependencies: + reusify "^1.0.4" + +fdir@^6.5.0: + version "6.5.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" + integrity sha1-7Sq5Z6MxreYvGNB32uGSaE1Q01A= + +file-entry-cache@^8.0.0: + version "8.0.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f" + integrity sha1-d4e93PETG/+5JjbGlFe7wO3W2B8= dependencies: - flat-cache "^3.0.4" + flat-cache "^4.0.0" fill-keys@^1.0.2: version "1.0.2" @@ -2268,14 +2331,13 @@ flagged-respawn@^2.0.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/flagged-respawn/-/flagged-respawn-2.0.0.tgz#abf39719dcfe1ac06c86c9466081c541c682987b" integrity sha1-q/OXGdz+GsBshslGYIHFQcaCmHs= -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha1-LAwtUEDJmxYydxqdEFclwBFTY+4= +flat-cache@^4.0.0: + version "4.0.1" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/flat-cache/-/flat-cache-4.0.1.tgz#0ece39fcb14ee012f4b0410bd33dd9c1f011127c" + integrity sha1-Ds45/LFO4BL0sEEL0z3ZwfAREnw= dependencies: flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" + keyv "^4.5.4" flat@^5.0.2: version "5.0.2" @@ -2482,7 +2544,7 @@ glob-watcher@^6.0.0: async-done "^2.0.0" chokidar "^3.5.3" -glob@^7.1.1, glob@^7.1.3, glob@^7.2.0, glob@^7.2.3: +glob@^7.1.1, glob@^7.2.0, glob@^7.2.3: version "7.2.3" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha1-uN8PuAK7+o6JvR2Ti04WV47UTys= @@ -2525,12 +2587,10 @@ global-prefix@^1.0.1: is-windows "^1.0.1" which "^1.2.14" -globals@^13.19.0: - version "13.24.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" - integrity sha1-hDKhnXjODB6DOUnDats0VAC7EXE= - dependencies: - type-fest "^0.20.2" +globals@^14.0.0: + version "14.0.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/globals/-/globals-14.0.0.tgz#898d7413c29babcf6bafe56fcadded858ada724e" + integrity sha1-iY10E8Kbq89rr+Vvyt3thYrack4= globalthis@^1.0.4: version "1.0.4" @@ -2540,18 +2600,6 @@ globalthis@^1.0.4: define-properties "^1.2.1" gopd "^1.0.1" -globby@^11.1.0: - version "11.1.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha1-vUvpi7BC+D15b344EZkfvoKg00s= - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - glogg@^2.2.0: version "2.2.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/glogg/-/glogg-2.2.0.tgz#956ceb855a05a2aa1fa668d748f2be8e7361c11c" @@ -2569,11 +2617,6 @@ graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha1-QYPk6L8Iu24Fu7L30uDI9xLKQOM= -graphemer@^1.4.0: - version "1.4.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha1-+y8dVeDjoYSa7/yQxPoN1ToOZsY= - gulp-cli@^3.0.0: version "3.0.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/gulp-cli/-/gulp-cli-3.0.0.tgz#577008f5323fad6106b44db24803c27c3a649841" @@ -2744,11 +2787,16 @@ ieee754@^1.2.1: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I= -ignore@^5.2.0, ignore@^5.2.4: +ignore@^5.2.0: version "5.3.2" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" integrity sha1-PNQOcp82Q/2HywTlC/DrcivFlvU= +ignore@^7.0.5: + version "7.0.5" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9" + integrity sha1-TLX2zX1MerA2VzjHrqiIuqbX79k= + immediate@~3.0.5: version "3.0.6" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" @@ -2965,11 +3013,6 @@ is-object@~1.0.1: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" integrity sha1-pWVS4cZlyelQtKAlRh2ofnL4b88= -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha1-0jE2LlOgf/Kw4Op/7QSRYf/RYoM= - is-plain-obj@^2.1.0: version "2.1.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" @@ -3131,7 +3174,7 @@ jest-worker@^27.4.5: merge-stream "^2.0.0" supports-color "^8.0.0" -js-yaml@^4.1.0: +js-yaml@^4.1.0, js-yaml@^4.1.1: version "4.1.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b" integrity sha1-hUwpJGdwW2mUduGi3swMijRYgGs= @@ -3199,7 +3242,7 @@ jszip@^3.10.1: readable-stream "~2.3.6" setimmediate "^1.0.5" -keyv@^4.5.3: +keyv@^4.5.4: version "4.5.4" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" integrity sha1-qHmpnilFL5QkOfKkBeOvizHU3pM= @@ -3368,7 +3411,7 @@ merge-stream@^2.0.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A= -merge2@^1.3.0, merge2@^1.4.1: +merge2@^1.3.0: version "1.4.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4= @@ -3398,14 +3441,7 @@ mimic-fn@^2.1.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs= -minimatch@9.0.3: - version "9.0.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825" - integrity sha1-puAMPeRMOlQr+q5wq/wiQgptqCU= - dependencies: - brace-expansion "^2.0.1" - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s= @@ -3426,6 +3462,13 @@ minimatch@^5.0.1, minimatch@^5.1.0, minimatch@^5.1.6: dependencies: brace-expansion "^2.0.1" +minimatch@^9.0.5: + version "9.0.5" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5" + integrity sha1-10+d1rV9g9jpjPuCEzsDl4vJKeU= + dependencies: + brace-expansion "^2.0.1" + minimist@^1.2.0, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" @@ -3818,11 +3861,6 @@ path-root@^0.1.1: dependencies: path-root-regex "^0.1.0" -path-type@^4.0.0: - version "4.0.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs= - pause-stream@^0.0.11: version "0.0.11" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" @@ -3840,6 +3878,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI= +picomatch@^4.0.3: + version "4.0.3" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042" + integrity sha1-eWx2E20e6tcV2x57rXhd7daVoEI= + pkg-dir@^4.2.0: version "4.2.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" @@ -4126,13 +4169,6 @@ reusify@^1.0.4: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY= -rimraf@^3.0.2: - version "3.0.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho= - dependencies: - glob "^7.1.3" - run-parallel@^1.1.9: version "1.2.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -4210,7 +4246,7 @@ semver@^6.3.0, semver@^6.3.1: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha1-VW0u+GiRRuRtzqS/3QlfNDTf/LQ= -semver@^7.3.4, semver@^7.3.7, semver@^7.5.4, semver@^7.6.2, semver@^7.6.3: +semver@^7.3.4, semver@^7.3.7, semver@^7.6.2, semver@^7.6.3: version "7.7.1" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/semver/-/semver-7.7.1.tgz#abd5098d82b18c6c81f6074ff2647fd3e7220c9f" integrity sha1-q9UJjYKxjGyB9gdP8mR/0+ciDJ8= @@ -4348,11 +4384,6 @@ sisteransi@^1.0.5: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha1-E01oEpd1ZDfMBcoBNw06elcQde0= -slash@^3.0.0: - version "3.0.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ= - slashes@^3.0.12: version "3.0.12" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/slashes/-/slashes-3.0.12.tgz#3d664c877ad542dc1509eaf2c50f38d483a6435a" @@ -4645,11 +4676,6 @@ text-decoder@^1.1.0: dependencies: b4a "^1.6.4" -text-table@^0.2.0: - version "0.2.0" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - through2-filter@^3.0.0: version "3.1.0" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/through2-filter/-/through2-filter-3.1.0.tgz#4a1b45d2b76b3ac93ec137951e372c268efc1a4e" @@ -4698,6 +4724,14 @@ timers-ext@^0.1.7: es5-ext "^0.10.64" next-tick "^1.1.0" +tinyglobby@^0.2.15: + version "0.2.15" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2" + integrity sha1-4ijdHmOM6pk9L9tPzS1GAqeZUcI= + dependencies: + fdir "^6.5.0" + picomatch "^4.0.3" + tmp@^0.2.5: version "0.2.5" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/tmp/-/tmp-0.2.5.tgz#b06bcd23f0f3c8357b426891726d16015abfd8f8" @@ -4737,10 +4771,10 @@ tr46@~0.0.3: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= -ts-api-utils@^1.0.1: - version "1.4.3" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064" - integrity sha1-v8IhX+ZSj+yrKw+6VwouikJjsGQ= +ts-api-utils@^2.4.0: + version "2.4.0" + resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/ts-api-utils/-/ts-api-utils-2.4.0.tgz#2690579f96d2790253bdcf1ca35d569ad78f9ad8" + integrity sha1-JpBXn5bSeQJTvc8co11WmtePmtg= ts-loader@^9.5.1: version "9.5.2" @@ -4804,11 +4838,6 @@ type-detect@^4.1.0: resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/type-detect/-/type-detect-4.1.0.tgz#deb2453e8f08dcae7ae98c626b13dddb0155906c" integrity sha1-3rJFPo8I3K566YxiaxPd2wFVkGw= -type-fest@^0.20.2: - version "0.20.2" - resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ= - type@^2.7.2: version "2.7.3" resolved "https://pkgs.dev.azure.com/azure-public/VisualCpp/_packaging/cpp_PublicPackages/npm/registry/type/-/type-2.7.3.tgz#436981652129285cc3ba94f392886c2637ea0486"