From 2154a781e98af50f10e1e21d8005da20724e5538 Mon Sep 17 00:00:00 2001 From: Jagadeeswaran Jayaprakash <58611665+jag-j@users.noreply.github.com> Date: Tue, 27 Aug 2024 08:58:38 -0700 Subject: [PATCH 01/11] FIX (Extension) @W-16442046@ ApexGuru suggestions should appear on the same line as the diagnostic (#123) --- src/lib/fixer.ts | 4 ++-- src/test/suite/fixer.test.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/fixer.ts b/src/lib/fixer.ts index 08cd5bd..bf00e09 100644 --- a/src/lib/fixer.ts +++ b/src/lib/fixer.ts @@ -114,8 +114,8 @@ export class _ApexGuruFixGenerator extends FixGenerator { const edit = new vscode.WorkspaceEdit(); const range = this.diagnostic.range; // Assuming the range is the location of the existing code in the document - const oneLineAbove = new vscode.Position(range.start.line > 1 ? range.start.line - 1 : 0, range.start.character); - edit.insert(document.uri, oneLineAbove, suggestedCode + '\n'); + const diagnosticStartLine = new vscode.Position(range.start.line, range.start.character); + edit.insert(document.uri, diagnosticStartLine, suggestedCode + '\n'); // Assign the edit to the action action.edit = edit; diff --git a/src/test/suite/fixer.test.ts b/src/test/suite/fixer.test.ts index 7f72999..f962f05 100644 --- a/src/test/suite/fixer.test.ts +++ b/src/test/suite/fixer.test.ts @@ -531,7 +531,7 @@ suite('fixer.ts', () => { expect(fixes).to.have.lengthOf(1, 'One fix should be offered'); const fix = fixes[0].edit.get(fileUri)[0]; expect(fix.newText).to.equal('apex guru suggested code\n', 'The suppression code should match the suggestion'); - expect(fix.range.start.line).to.equal(6, 'The suppression should be added one line above the diagnostic line'); + expect(fix.range.start.line).to.equal(7, 'The suppression should be added at the diagnostic line'); }); test('Should not generate a suppression fix if line is already processed', async () => { @@ -605,7 +605,7 @@ suite('fixer.ts', () => { // Validate results. expect(fix.edit.get(fileUri)[0].newText).to.equal('apex guru suggested code\n', 'The suppression code should match the suggestion'); - expect(fix.edit.get(fileUri)[0].range.start.line).to.equal(6, 'The suppression should be added one line above the diagnostic line'); + expect(fix.edit.get(fileUri)[0].range.start.line).to.equal(7, 'The suppression should be added at the diagnostic line'); }); }); }); From 5da745f2007a1b009fde7b5afe7190a8b6326cde Mon Sep 17 00:00:00 2001 From: svc-cli-bot Date: Tue, 27 Aug 2024 12:09:19 -0500 Subject: [PATCH 02/11] Updating SHA256.md after 1.1.0 release --- SHA256.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SHA256.md b/SHA256.md index 2024ef4..877997e 100644 --- a/SHA256.md +++ b/SHA256.md @@ -15,7 +15,7 @@ make sure that their SHA values match the values in the list below. shasum -a 256 3. Confirm that the SHA in your output matches the value in this list of SHAs. - 172c7b2973ea3d66feaae5017e7eae0de384340a137d59305ef3c1bc4114a04f ./extensions/sfdx-code-analyzer-vscode-1.0.0.vsix + f668893331860e3b8bc89357c4bfe2cac9840ee05acd1b0d67de5a8c37518b87 ./extensions/sfdx-code-analyzer-vscode-1.1.0.vsix 4. Change the filename extension for the file that you downloaded from .zip to .vsix. From 04912ac3c4d2fd78132bc81c7431889cdf77f221 Mon Sep 17 00:00:00 2001 From: Jag Jayaprakash Date: Tue, 27 Aug 2024 12:42:54 -0700 Subject: [PATCH 03/11] FIX (Extension) @W-16442046@ ApexGuru suggestions UI improvements --- src/lib/diagnostics.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/diagnostics.ts b/src/lib/diagnostics.ts index 9b9d9dd..ce0978c 100644 --- a/src/lib/diagnostics.ts +++ b/src/lib/diagnostics.ts @@ -100,7 +100,7 @@ export class DiagnosticManager { ), new vscode.DiagnosticRelatedInformation( new vscode.Location(vscode.Uri.parse(violation.url), range), - `\n// ApexGuru Suggestions: \n${apexGuruViolation.suggestedCode}` + `\n// ApexGuru Suggestions: \n${apexGuruViolation.suggestedCode}\n// End of ApexGuru Suggestions.` ) ]; } From 6e129d0722ee1eadc15e99e8f9237aa029b0d612 Mon Sep 17 00:00:00 2001 From: Jag Jayaprakash Date: Wed, 4 Sep 2024 08:34:38 -0700 Subject: [PATCH 04/11] wip: store full run information in deltra run --- package.json | 2 +- src/lib/scanner.ts | 24 ++++++++++++++++++++---- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 66563d7..e9f7ea1 100644 --- a/package.json +++ b/package.json @@ -186,7 +186,7 @@ }, { "command": "sfca.runDfa", - "when": "false" + "when": "true" }, { "command": "sfca.removeDiagnosticsOnActiveFile", diff --git a/src/lib/scanner.ts b/src/lib/scanner.ts index 54096bf..f2aa7af 100644 --- a/src/lib/scanner.ts +++ b/src/lib/scanner.ts @@ -11,6 +11,9 @@ import {exists} from './file'; import {messages} from './messages'; import * as Constants from './constants'; import cspawn = require('cross-spawn'); +import * as os from 'os'; +import * as fs from 'fs'; +import path from 'path'; /** * Class for interacting with the {@code @salesforce/sfdx-scanner} plug-in. @@ -21,6 +24,7 @@ export class ScanRunner { * @param targets A list of files to be targeted by the scan * @returns The results of the scan */ + public async run(targets: string[]): Promise { // Create the arg array. const args: string[] = await this.createPathlessArgArray(targets); @@ -44,7 +48,8 @@ export class ScanRunner { const args: string[] = this.createDfaArgArray(targets, projectDir); // Invoke the scanner. - const executionResult: ExecutionResult = await this.invokeDfaAnalyzer(args, context); + const sfgeResultsJson = path.join(this.createTempDirectory(), 'sfca-graph-engine-cache.json'); + const executionResult: ExecutionResult = await this.invokeDfaAnalyzer(args, context, sfgeResultsJson); // Process the results. return this.processDfaResults(executionResult); @@ -162,9 +167,10 @@ export class ScanRunner { * Uses the provided arguments to run a Salesforce Code Analyzer command. * @param args The arguments to be supplied */ - private async invokeDfaAnalyzer(args: string[], context: vscode.ExtensionContext): Promise { - return new Promise((res) => { - const cp = cspawn.spawn('sf', args); + private async invokeDfaAnalyzer(args: string[], context: vscode.ExtensionContext, sfgeResultsJson: string): Promise { + return new Promise( (res) => { + const env = { ...process.env, SCANNER_INTERNAL_OUTFILE: sfgeResultsJson}; + const cp = cspawn.spawn('sf', args, {env}); void context.workspaceState.update(Constants.WORKSPACE_DFA_PROCESS, cp.pid); let stdout = ''; @@ -182,6 +188,16 @@ export class ScanRunner { }); } + private createTempDirectory(): string { + const tempFolderPrefix = path.join(os.tmpdir(), Constants.EXTENSION_PACK_ID); + try { + const folder = fs.mkdtempSync(tempFolderPrefix); + return folder; + } catch (err) { + throw new Error('Failed to create temporary directory'); + } + } + /** * * @param executionResult The results from a scan From 663f56a6aa04eca08611949a1c2c27881700d489 Mon Sep 17 00:00:00 2001 From: Jag Jayaprakash Date: Wed, 4 Sep 2024 11:10:03 -0700 Subject: [PATCH 05/11] FIX (Extension) @W-16442046@ ApexGuru suggestions UI improvements - making all suggestions be inside comment block --- src/lib/diagnostics.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/diagnostics.ts b/src/lib/diagnostics.ts index ce0978c..4df4900 100644 --- a/src/lib/diagnostics.ts +++ b/src/lib/diagnostics.ts @@ -100,7 +100,7 @@ export class DiagnosticManager { ), new vscode.DiagnosticRelatedInformation( new vscode.Location(vscode.Uri.parse(violation.url), range), - `\n// ApexGuru Suggestions: \n${apexGuruViolation.suggestedCode}\n// End of ApexGuru Suggestions.` + `/*\nApexGuru Suggestions: \n${apexGuruViolation.suggestedCode}\nEnd of ApexGuru Suggestions.\n*/` ) ]; } From 0a55241127a8b2c8c0587ff11a7798bc11c48da1 Mon Sep 17 00:00:00 2001 From: Jag Jayaprakash Date: Wed, 4 Sep 2024 11:22:28 -0700 Subject: [PATCH 06/11] FIX (Extension) @W-16442046@ address feedback --- src/lib/diagnostics.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/diagnostics.ts b/src/lib/diagnostics.ts index 4df4900..bd5055d 100644 --- a/src/lib/diagnostics.ts +++ b/src/lib/diagnostics.ts @@ -100,7 +100,7 @@ export class DiagnosticManager { ), new vscode.DiagnosticRelatedInformation( new vscode.Location(vscode.Uri.parse(violation.url), range), - `/*\nApexGuru Suggestions: \n${apexGuruViolation.suggestedCode}\nEnd of ApexGuru Suggestions.\n*/` + `/*\n//ApexGuru Suggestions: \n${apexGuruViolation.suggestedCode}\n*/` ) ]; } From 8a3a7d2128bcdcc5575b59c6cd5f07bbe8495a81 Mon Sep 17 00:00:00 2001 From: Jag Jayaprakash Date: Thu, 5 Sep 2024 15:35:14 -0700 Subject: [PATCH 07/11] NEW (Extension) @W-15639920@ Save SFGE run information in temporary location for use by delta run --- src/extension.ts | 24 +++++++++++++++++++----- src/lib/scanner.ts | 32 +++++++++++--------------------- src/test/suite/scanner.test.ts | 21 +++++++++++++++++++++ 3 files changed, 51 insertions(+), 26 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index 88037ee..0c8291c 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -21,6 +21,8 @@ import * as Constants from './lib/constants'; import * as path from 'path'; import { SIGKILL } from 'constants'; import * as ApexGuruFunctions from './apexguru/apex-guru-service' +import * as os from 'os'; +import * as fs from 'fs'; export type RunInfo = { diagnosticCollection?: vscode.DiagnosticCollection; @@ -38,6 +40,8 @@ let customCancellationToken: vscode.CancellationTokenSource | null = null; let outputChannel: vscode.LogOutputChannel; +let sfgeCachePath: string = null; + /** * This method is invoked when the extension is first activated (this is currently configured to be when a sfdx project is loaded). * The activation trigger can be changed by changing activationEvents in package.json @@ -136,6 +140,7 @@ export async function activate(context: vscode.ExtensionContext): Promise { await _runDfa(context); }); @@ -167,12 +172,22 @@ export async function activate(context: vscode.ExtensionContext): Promise 0) { const panel = vscode.window.createWebviewPanel( 'dfaResults', diff --git a/src/lib/scanner.ts b/src/lib/scanner.ts index f2aa7af..ba7324b 100644 --- a/src/lib/scanner.ts +++ b/src/lib/scanner.ts @@ -11,9 +11,6 @@ import {exists} from './file'; import {messages} from './messages'; import * as Constants from './constants'; import cspawn = require('cross-spawn'); -import * as os from 'os'; -import * as fs from 'fs'; -import path from 'path'; /** * Class for interacting with the {@code @salesforce/sfdx-scanner} plug-in. @@ -43,13 +40,12 @@ export class ScanRunner { * @param projectDir The directory containing all files in the project to be scanned. * @returns The HTML-formatted scan results, or an empty string if no violations were found. */ - public async runDfa(targets: string[], projectDir: string, context: vscode.ExtensionContext): Promise { + public async runDfa(targets: string[], projectDir: string, context: vscode.ExtensionContext, cacheFilePath?: string): Promise { // Create the arg array. - const args: string[] = this.createDfaArgArray(targets, projectDir); + const args: string[] = this.createDfaArgArray(targets, projectDir, cacheFilePath); // Invoke the scanner. - const sfgeResultsJson = path.join(this.createTempDirectory(), 'sfca-graph-engine-cache.json'); - const executionResult: ExecutionResult = await this.invokeDfaAnalyzer(args, context, sfgeResultsJson); + const executionResult: ExecutionResult = await this.invokeDfaAnalyzer(args, context); // Process the results. return this.processDfaResults(executionResult); @@ -60,7 +56,7 @@ export class ScanRunner { * @param targets The files/methods to be targeted. * @param projectDir The root of the project to be scanned. */ - private createDfaArgArray(targets: string[], projectDir: string): string[] { + private createDfaArgArray(targets: string[], projectDir: string, cacheFilePath?: string): string[] { const args: string[] = [ 'scanner', 'run', 'dfa', `--projectdir`, projectDir, @@ -78,6 +74,11 @@ export class ScanRunner { args.push('--target', `${targets.join(',')}`); } + if (cacheFilePath) { + args.push('--cachepath', cacheFilePath); + args.push('--enablecaching'); + } + // There are a number of custom settings that we need to check too. // First we should check whether warning violations are disabled. if (SettingsManager.getGraphEngineDisableWarningViolations()) { @@ -167,10 +168,9 @@ export class ScanRunner { * Uses the provided arguments to run a Salesforce Code Analyzer command. * @param args The arguments to be supplied */ - private async invokeDfaAnalyzer(args: string[], context: vscode.ExtensionContext, sfgeResultsJson: string): Promise { + private async invokeDfaAnalyzer(args: string[], context: vscode.ExtensionContext): Promise { return new Promise( (res) => { - const env = { ...process.env, SCANNER_INTERNAL_OUTFILE: sfgeResultsJson}; - const cp = cspawn.spawn('sf', args, {env}); + const cp = cspawn.spawn('sf', args); void context.workspaceState.update(Constants.WORKSPACE_DFA_PROCESS, cp.pid); let stdout = ''; @@ -188,16 +188,6 @@ export class ScanRunner { }); } - private createTempDirectory(): string { - const tempFolderPrefix = path.join(os.tmpdir(), Constants.EXTENSION_PACK_ID); - try { - const folder = fs.mkdtempSync(tempFolderPrefix); - return folder; - } catch (err) { - throw new Error('Failed to create temporary directory'); - } - } - /** * * @param executionResult The results from a scan diff --git a/src/test/suite/scanner.test.ts b/src/test/suite/scanner.test.ts index 9c621ad..2ccee4e 100644 --- a/src/test/suite/scanner.test.ts +++ b/src/test/suite/scanner.test.ts @@ -399,6 +399,27 @@ suite('ScanRunner', () => { expect(args[10]).to.equal('--sfgejvmargs', 'Wrong arg'); expect(args[11]).to.equal(jvmArgs, 'Wrong arg'); }); + + test('Enable caching and include cache path', () => { + // ===== SETUP ===== + Sinon.stub(SettingsManager, 'getGraphEngineDisableWarningViolations').returns(false); + Sinon.stub(SettingsManager, 'getGraphEngineThreadTimeout').returns(null); + Sinon.stub(SettingsManager, 'getGraphEnginePathExpansionLimit').returns(null); + Sinon.stub(SettingsManager, 'getGraphEngineJvmArgs').returns(null); + const emptyTargets = []; + + // ===== TEST ===== + // Call the test method helper. + const scanner: ScanRunner = new ScanRunner(); + const args: string[] = (scanner as any).createDfaArgArray(emptyTargets, projectDir, 'some/path/file.json'); + + // ===== ASSERTIONS ===== + // Verify that the right arguments were created. + expect(args).to.have.lengthOf(11, 'Wrong number of args'); + expect(args[8]).to.equal('--cachepath', 'Wrong arg'); + expect(args[9]).to.equal('some/path/file.json', 'Wrong arg'); + expect(args[10]).to.equal('--enablecaching', 'Wrong arg'); + }); }); }); From 75b0dc02b13ed398a12a8724fbd332cfa2d7fd09 Mon Sep 17 00:00:00 2001 From: Jag Jayaprakash Date: Thu, 5 Sep 2024 15:37:28 -0700 Subject: [PATCH 08/11] NEW (Extension) @W-15639920@ Save SFGE run information in temporary location for use by delta run - remove accidental commits --- package.json | 2 +- src/extension.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index e9f7ea1..66563d7 100644 --- a/package.json +++ b/package.json @@ -186,7 +186,7 @@ }, { "command": "sfca.runDfa", - "when": "true" + "when": "false" }, { "command": "sfca.removeDiagnosticsOnActiveFile", diff --git a/src/extension.ts b/src/extension.ts index 0c8291c..08559a5 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -187,7 +187,7 @@ async function _runDfa(context: vscode.ExtensionContext) { const choice = await vscode.window.showQuickPick( ['***Yes***', '***No***'], { - placeHolder: '***We identified a previous Salesforce Graph Engine run.\n Do you want to only run the previously failed violations from that run?***', + placeHolder: '***We identified a previous Salesforce Graph Engine run. Do you want to only run the previously failed violations from that run?***', canPickMany: false, ignoreFocusOut: true } From 222e8edc09b7e77dc9cc3ab02dfca2342215451e Mon Sep 17 00:00:00 2001 From: Jag Jayaprakash Date: Fri, 6 Sep 2024 14:01:47 -0700 Subject: [PATCH 09/11] fix review comments --- src/lib/scanner.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/scanner.ts b/src/lib/scanner.ts index ba7324b..5c2326c 100644 --- a/src/lib/scanner.ts +++ b/src/lib/scanner.ts @@ -169,7 +169,7 @@ export class ScanRunner { * @param args The arguments to be supplied */ private async invokeDfaAnalyzer(args: string[], context: vscode.ExtensionContext): Promise { - return new Promise( (res) => { + return new Promise((res) => { const cp = cspawn.spawn('sf', args); void context.workspaceState.update(Constants.WORKSPACE_DFA_PROCESS, cp.pid); From 1da423bdfe03c45aa1e9b24025bb959f10ad208d Mon Sep 17 00:00:00 2001 From: Jag Jayaprakash Date: Tue, 17 Sep 2024 09:31:53 -0700 Subject: [PATCH 10/11] NEW (Extension) @W-16733527@ Add pmd-appexchange as a suggested engine in settings --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 66563d7..f3ef455 100644 --- a/package.json +++ b/package.json @@ -152,7 +152,7 @@ "codeAnalyzer.scanner.engines": { "type": "string", "default": "pmd,retire-js,eslint-lwc", - "description": "The engines to run. Specify multiple values as a comma-separated list. Possible values are pmd, retire-js, eslint, eslint-lwc, and eslint-typescript." + "description": "The engines to run. Specify multiple values as a comma-separated list. Possible values are pmd, pmd-appexchange, retire-js, eslint, eslint-lwc, and eslint-typescript." }, "codeAnalyzer.normalizeSeverity.enabled": { "type": "boolean", From a5068f276b2d4c6db49d1e6510d9b4a799a526e3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 12:09:48 +0000 Subject: [PATCH 11/11] Preparing for v1.2.0 release. --- package.json | 2 +- yarn.lock | 280 ++++++++++++++++++++++++--------------------------- 2 files changed, 135 insertions(+), 147 deletions(-) diff --git a/package.json b/package.json index f3ef455..85e4877 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "color": "#ECECEC", "theme": "light" }, - "version": "1.1.0", + "version": "1.2.0", "publisher": "salesforce", "license": "BSD-3-Clause", "engines": { diff --git a/yarn.lock b/yarn.lock index 0c38833..e5ff6ad 100644 --- a/yarn.lock +++ b/yarn.lock @@ -24,10 +24,10 @@ dependencies: tslib "^2.6.2" -"@azure/core-auth@^1.4.0", "@azure/core-auth@^1.5.0": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.7.2.tgz#558b7cb7dd12b00beec07ae5df5907d74df1ebd9" - integrity sha512-Igm/S3fDYmnMq1uKS38Ae1/m37B3zigdlZw+kocwEhh5GjyKjPrXKO2J6rzpC1wAxrNil/jX9BJRqBshyjnF3g== +"@azure/core-auth@^1.4.0", "@azure/core-auth@^1.5.0", "@azure/core-auth@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@azure/core-auth/-/core-auth-1.8.0.tgz#281b4a6d3309c3e7b15bcd967f01d4c79ae4a1d6" + integrity sha512-YvFMowkXzLbXNM11yZtVLhUCmuG0ex7JKOH366ipjmHBhL3vpDcPAeWF+jf0X+jVXwFqo3UhsWUq4kH0ZPdu/g== dependencies: "@azure/abort-controller" "^2.0.0" "@azure/core-util" "^1.1.0" @@ -47,12 +47,12 @@ tslib "^2.6.2" "@azure/core-rest-pipeline@^1.1.0", "@azure/core-rest-pipeline@^1.9.1": - version "1.16.3" - resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.16.3.tgz#bde3bc3ebad7f885ddd9de6af5e5a8fc254b287e" - integrity sha512-VxLk4AHLyqcHsfKe4MZ6IQ+D+ShuByy+RfStKfSjxJoL3WBWq17VNmrz8aT8etKzqc2nAeIyLxScjpzsS4fz8w== + version "1.17.0" + resolved "https://registry.yarnpkg.com/@azure/core-rest-pipeline/-/core-rest-pipeline-1.17.0.tgz#55dafa1093553c549ed6d8dbca69aa505c7b3aa3" + integrity sha512-62Vv8nC+uPId3j86XJ0WI+sBf0jlqTqPUFCBNrGtlaUeQUIXWV/D8GE5A1d+Qx8H7OQojn2WguC8kChD6v0shA== dependencies: "@azure/abort-controller" "^2.0.0" - "@azure/core-auth" "^1.4.0" + "@azure/core-auth" "^1.8.0" "@azure/core-tracing" "^1.0.1" "@azure/core-util" "^1.9.0" "@azure/logger" "^1.0.0" @@ -68,9 +68,9 @@ tslib "^2.6.2" "@azure/core-util@^1.1.0", "@azure/core-util@^1.3.0", "@azure/core-util@^1.6.1", "@azure/core-util@^1.9.0": - version "1.9.2" - resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.9.2.tgz#1dc37dc5b0dae34c578be62cf98905ba7c0cafe7" - integrity sha512-l1Qrqhi4x1aekkV+OlcqsJa4AnAkj5p0JV8omgwjaV9OAbP41lvrMvs+CptfetKkeEaGRGSzby7sjPZEX7+kkQ== + version "1.10.0" + resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.10.0.tgz#cf3163382d40343972848c914869864df5d44bdb" + integrity sha512-dqLWQsh9Nro1YQU+405POVtXnwrIVqPyfUzc4zXCbThTg7+vNNaiMkwbX9AMXKyoFYFClxmB3s25ZFr3+jZkww== dependencies: "@azure/abort-controller" "^2.0.0" tslib "^2.6.2" @@ -103,23 +103,23 @@ tslib "^2.6.2" "@azure/msal-browser@^3.14.0": - version "3.21.0" - resolved "https://registry.yarnpkg.com/@azure/msal-browser/-/msal-browser-3.21.0.tgz#2f86ee646b005531b3b165a0c76d724eb6ae0cbf" - integrity sha512-BAwcFsVvOrYzKuUZHhFuvRykUmQGq6lDxst2qGnjxnpNZc3d/tnVPcmhgvUdeKl28VSE0ltgBzT3HkdpDtz9rg== + version "3.24.0" + resolved "https://registry.yarnpkg.com/@azure/msal-browser/-/msal-browser-3.24.0.tgz#3208047672d0b0c943b0bef5f995d510d6582ae4" + integrity sha512-JGNV9hTYAa7lsum9IMIibn2kKczAojNihGo1hi7pG0kNrcKej530Fl6jxwM05A44/6I079CSn6WxYxbVhKUmWg== dependencies: - "@azure/msal-common" "14.14.1" + "@azure/msal-common" "14.15.0" -"@azure/msal-common@14.14.1": - version "14.14.1" - resolved "https://registry.yarnpkg.com/@azure/msal-common/-/msal-common-14.14.1.tgz#62e4569518d2c52e7de1f460d40ab919ca66b99b" - integrity sha512-2Q3tqNz/PZLfSr8BvcHZVpRRfSn4MjGSqjj9J+HlBsmbf1Uu4P0WeXnemjTJwwx9KrmplsrN3UkZ/LPOR720rw== +"@azure/msal-common@14.15.0": + version "14.15.0" + resolved "https://registry.yarnpkg.com/@azure/msal-common/-/msal-common-14.15.0.tgz#0e27ac0bb88fe100f4f8d1605b64d5c268636a55" + integrity sha512-ImAQHxmpMneJ/4S8BRFhjt1MZ3bppmpRPYYNyzeQPeFN288YKbb8TmmISQEbtfkQ1BPASvYZU5doIZOPBAqENQ== "@azure/msal-node@^2.9.2": - version "2.13.0" - resolved "https://registry.yarnpkg.com/@azure/msal-node/-/msal-node-2.13.0.tgz#007ffffa84e4f91f00f816b980740837ce6626fe" - integrity sha512-DhP97ycs7qlCVzzzWGzJiwAFyFj5okno74E4FUZ61oCLfKh4IxA1kxirqzrWuYZWpBe9HVPL6GA4NvmlEOBN5Q== + version "2.14.0" + resolved "https://registry.yarnpkg.com/@azure/msal-node/-/msal-node-2.14.0.tgz#7881895d41b03d8b9b38a29550ba3bbb15f73b3c" + integrity sha512-rrfzIpG3Q1rHjVYZmHAEDidWAZZ2cgkxlIcMQ8dHebRISaZ2KCV33Q8Vs+uaV6lxweROabNxKFlR2lIKagZqYg== dependencies: - "@azure/msal-common" "14.14.1" + "@azure/msal-common" "14.15.0" jsonwebtoken "^9.0.0" uuid "^8.3.0" @@ -157,12 +157,12 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.25.0", "@babel/generator@^7.25.4": - version "7.25.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.5.tgz#b31cf05b3fe8c32d206b6dad03bb0aacbde73450" - integrity sha512-abd43wyLfbWoxC6ahM8xTkqLpGB2iWBVyuKC9/srhFunCd1SDNrV1s72bBpK4hLj8KLzHBBcOblvLQZBNw9r3w== +"@babel/generator@^7.25.0", "@babel/generator@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.6.tgz#0df1ad8cb32fe4d2b01d8bf437f153d19342a87c" + integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== dependencies: - "@babel/types" "^7.25.4" + "@babel/types" "^7.25.6" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" jsesc "^2.5.1" @@ -220,12 +220,12 @@ integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== "@babel/helpers@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.0.tgz#e69beb7841cb93a6505531ede34f34e6a073650a" - integrity sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw== + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.6.tgz#57ee60141829ba2e102f30711ffe3afab357cc60" + integrity sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q== dependencies: "@babel/template" "^7.25.0" - "@babel/types" "^7.25.0" + "@babel/types" "^7.25.6" "@babel/highlight@^7.24.7": version "7.24.7" @@ -237,12 +237,12 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.25.0", "@babel/parser@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.4.tgz#af4f2df7d02440286b7de57b1c21acfb2a6f257a" - integrity sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA== +"@babel/parser@^7.25.0", "@babel/parser@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" + integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== dependencies: - "@babel/types" "^7.25.4" + "@babel/types" "^7.25.6" "@babel/template@^7.25.0": version "7.25.0" @@ -254,22 +254,22 @@ "@babel/types" "^7.25.0" "@babel/traverse@^7.24.7", "@babel/traverse@^7.25.2": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.4.tgz#648678046990f2957407e3086e97044f13c3e18e" - integrity sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg== + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.6.tgz#04fad980e444f182ecf1520504941940a90fea41" + integrity sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ== dependencies: "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.4" - "@babel/parser" "^7.25.4" + "@babel/generator" "^7.25.6" + "@babel/parser" "^7.25.6" "@babel/template" "^7.25.0" - "@babel/types" "^7.25.4" + "@babel/types" "^7.25.6" debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.24.7", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.4": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.4.tgz#6bcb46c72fdf1012a209d016c07f769e10adcb5f" - integrity sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ== +"@babel/types@^7.24.7", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6": + version "7.25.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" + integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== dependencies: "@babel/helper-string-parser" "^7.24.8" "@babel/helper-validator-identifier" "^7.24.7" @@ -410,9 +410,9 @@ eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" - integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== + version "4.11.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.11.1.tgz#a547badfc719eb3e5f4b556325e542fbe9d7a18f" + integrity sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q== "@eslint/eslintrc@^2.1.4": version "2.1.4" @@ -429,17 +429,17 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" - integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== +"@eslint/js@8.57.1": + version "8.57.1" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.1.tgz#de633db3ec2ef6a3c89e2f19038063e8a122e2c2" + integrity sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q== -"@humanwhocodes/config-array@^0.11.14": - version "0.11.14" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== +"@humanwhocodes/config-array@^0.13.0": + version "0.13.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.13.0.tgz#fb907624df3256d04b9aa2df50d7aa97ec648748" + integrity sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw== dependencies: - "@humanwhocodes/object-schema" "^2.0.2" + "@humanwhocodes/object-schema" "^2.0.3" debug "^4.3.1" minimatch "^3.0.5" @@ -448,7 +448,7 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== -"@humanwhocodes/object-schema@^2.0.2": +"@humanwhocodes/object-schema@^2.0.3": version "2.0.3" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== @@ -537,14 +537,7 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@sinonjs/commons@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-2.0.0.tgz#fd4ca5b063554307e8327b4564bd56d3b73924a3" - integrity sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg== - dependencies: - type-detect "4.0.8" - -"@sinonjs/commons@^3.0.0": +"@sinonjs/commons@^3.0.0", "@sinonjs/commons@^3.0.1": version "3.0.1" resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.1.tgz#1029357e44ca901a615585f6d27738dbc89084cd" integrity sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ== @@ -559,20 +552,20 @@ "@sinonjs/commons" "^3.0.0" "@sinonjs/fake-timers@^11.2.2": - version "11.2.2" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz#50063cc3574f4a27bd8453180a04171c85cc9699" - integrity sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw== + version "11.3.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-11.3.1.tgz#51d6e8d83ca261ff02c0ab0e68e9db23d5cd5999" + integrity sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA== dependencies: - "@sinonjs/commons" "^3.0.0" + "@sinonjs/commons" "^3.0.1" "@sinonjs/samsam@^8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-8.0.0.tgz#0d488c91efb3fa1442e26abea81759dfc8b5ac60" - integrity sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew== + version "8.0.2" + resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-8.0.2.tgz#e4386bf668ff36c95949e55a38dc5f5892fc2689" + integrity sha512-v46t/fwnhejRSFTGqbpn9u+LQ9xJDse10gNnPgAcxgdoCDMXj/G2asWAC/8Qs+BAZDicX+MNZouXT1A7c83kVw== dependencies: - "@sinonjs/commons" "^2.0.0" + "@sinonjs/commons" "^3.0.1" lodash.get "^4.4.2" - type-detect "^4.0.8" + type-detect "^4.1.0" "@sinonjs/text-encoding@^0.7.2": version "0.7.3" @@ -600,9 +593,9 @@ integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== "@types/chai@^4.3.5": - version "4.3.17" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.17.tgz#9195f9d242f2ac3b429908864b6b871a8f73f489" - integrity sha512-zmZ21EWzR71B4Sscphjief5djsLre50M6lI622OSySTmn9DB3j+C3kWroHfBQWXbOBwbgg/M8CG/hUxDLIloow== + version "4.3.19" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.19.tgz#14519f437361d41e84102ed3fbc922ddace3e228" + integrity sha512-2hHHvQBVE2FiSK4eN0Br6snX9MtolHaTo/batnLjlGRhoQzlCL61iVpxoqO7SfFyOw+P/pwv+0zNHzKoGWz9Cw== "@types/cross-spawn@^6.0.2": version "6.0.6" @@ -630,21 +623,21 @@ integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== "@types/mocha@^10.0.1": - version "10.0.7" - resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.7.tgz#4c620090f28ca7f905a94b706f74dc5b57b44f2f" - integrity sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw== + version "10.0.8" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.8.tgz#a7eff5816e070c3b4d803f1d3cd780c4e42934a1" + integrity sha512-HfMcUmy9hTMJh66VNcmeC9iVErIZJli2bszuXc6julh5YGuRb/W5OnkHjwLNYdFlMis0sY3If5SEAp+PktdJjw== "@types/node@*": - version "22.5.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.0.tgz#10f01fe9465166b4cab72e75f60d8b99d019f958" - integrity sha512-DkFrJOe+rfdHTqqMg0bSNlGlQ85hSoh2TPzZyhHsXnMtligRWpxUySiyw8FY14ITt24HVCiQPWxS3KO/QlGmWg== + version "22.5.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.5.tgz#52f939dd0f65fc552a4ad0b392f3c466cc5d7a44" + integrity sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA== dependencies: undici-types "~6.19.2" "@types/node@16.x": - version "16.18.105" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.105.tgz#7147176852774ec4d6dd626803888adf6b999feb" - integrity sha512-w2d0Z9yMk07uH3+Cx0N8lqFyi3yjXZxlbYappPj+AsOlT02OyxyiuNoNHdGt6EuiSm8Wtgp2YV7vWg+GMFrvFA== + version "16.18.108" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.108.tgz#b794e2b2a85b4c12935ea7d0f18641be68b352f9" + integrity sha512-fj42LD82fSv6yN9C6Q4dzS+hujHj+pTv0IpRR3kI20fnYeS0ytBpjFO9OjmDowSPPt4lNKN46JLaKbCyP+BW2A== "@types/semver@^7.3.12": version "7.5.8" @@ -664,9 +657,9 @@ integrity sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ== "@types/vscode@^1.74.0": - version "1.92.0" - resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.92.0.tgz#b4d6bc180e7206defe643a1a5f38a1367947d418" - integrity sha512-DcZoCj17RXlzB4XJ7IfKdPTcTGDLYvTOcTNkvtjXWF+K2TlKzHHkBEXNWQRpBIXixNEUgx39cQeTFunY0E2msw== + version "1.93.0" + resolved "https://registry.yarnpkg.com/@types/vscode/-/vscode-1.93.0.tgz#1cd7573e0272aef9c357bafc635b6177c154013e" + integrity sha512-kUK6jAHSR5zY8ps42xuW89NLcBpw1kOabah7yv38J8MyiYuOHxLQBi0e7zeXbQgVefDy/mZZetqEFC+Fl5eIEQ== "@typescript-eslint/eslint-plugin@^5.45.0": version "5.62.0" @@ -866,9 +859,9 @@ acorn-jsx@^5.3.2: integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^8.1.1: - version "8.3.3" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" - integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== + version "8.3.4" + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== dependencies: acorn "^8.11.0" @@ -913,9 +906,9 @@ ansi-regex@^5.0.1: integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" - integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + version "6.1.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654" + integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA== ansi-styles@^3.2.1: version "3.2.1" @@ -1129,9 +1122,9 @@ camelcase@^6.0.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001646: - version "1.0.30001651" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz#52de59529e8b02b1aedcaaf5c05d9e23c0c28138" - integrity sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg== + version "1.0.30001662" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001662.tgz#3574b22dfec54a3f3b6787331da1040fe8e763ec" + integrity sha512-sgMUVwLmGseH8ZIrm1d51UbrhqMCH3jvS7gF/M6byuHOnKyLOBL7W8yz5V02OHwgLGA36o/AFhWzzh4uc5aqTA== chai@^4.3.7: version "4.5.0" @@ -1361,11 +1354,11 @@ css-what@^6.1.0: integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5: - version "4.3.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.6.tgz#2ab2c38fbaffebf8aa95fdfe6d88438c7a13c52b" - integrity sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg== + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== dependencies: - ms "2.1.2" + ms "^2.1.3" decamelize@^1.2.0: version "1.2.0" @@ -1499,14 +1492,14 @@ ecdsa-sig-formatter@1.0.11: safe-buffer "^5.0.1" electron-to-chromium@^1.5.4: - version "1.5.13" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz#1abf0410c5344b2b829b7247e031f02810d442e6" - integrity sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q== + version "1.5.26" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.26.tgz#449b4fa90e83ab98abbe3b6a96c8ee395de94452" + integrity sha512-Z+OMe9M/V6Ep9n/52+b7lkvYEps26z4Yz3vjWL1V61W0q+VLF1pOHhMY17sa4roz4AWmULSI8E6SAojZA5L0YQ== emoji-regex@^10.2.1: - version "10.3.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.3.0.tgz#76998b9268409eb3dae3de989254d456e70cfe23" - integrity sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw== + version "10.4.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.4.0.tgz#03553afea80b3975749cfcb36f776ca268e413d4" + integrity sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw== emoji-regex@^8.0.0: version "8.0.0" @@ -1586,9 +1579,9 @@ esbuild@^0.23.0: "@esbuild/win32-x64" "0.23.1" escalade@^3.1.1, escalade@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== escape-string-regexp@^1.0.5: version "1.0.5" @@ -1622,15 +1615,15 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint@^8.28.0: - version "8.57.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" - integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== + version "8.57.1" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.1.tgz#7df109654aba7e3bbe5c8eae533c5e461d3c6ca9" + integrity sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.57.0" - "@humanwhocodes/config-array" "^0.11.14" + "@eslint/js" "8.57.1" + "@humanwhocodes/config-array" "^0.13.0" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" "@ungap/structured-clone" "^1.2.0" @@ -1817,9 +1810,9 @@ flatted@^3.2.9: integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== follow-redirects@^1.14.6: - version "1.15.6" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + version "1.15.9" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== foreground-child@^2.0.0: version "2.0.0" @@ -2577,9 +2570,9 @@ merge2@^1.3.0, merge2@^1.4.1: integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== micromatch@^4.0.4: - version "4.0.7" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" - integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: braces "^3.0.3" picomatch "^2.3.1" @@ -2661,11 +2654,6 @@ mocha@^10.1.0: yargs-parser "^20.2.9" yargs-unparser "^2.0.0" -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" @@ -2703,9 +2691,9 @@ nise@^5.1.4: path-to-regexp "^6.2.1" node-abi@^3.3.0: - version "3.67.0" - resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.67.0.tgz#1d159907f18d18e18809dbbb5df47ed2426a08df" - integrity sha512-bLn/fU/ALVBE9wj+p4Y21ZJWYFjUXLXPi/IewyLZkx3ApxKDNBWCKdReeKOtD8dWpOdDCeMyLh6ZewzcLsG2Nw== + version "3.68.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.68.0.tgz#8f37fb02ecf4f43ebe694090dcb52e0c4cc4ba25" + integrity sha512-7vbj10trelExNjFSBm5kTvZXXa7pZyKWx9RCKIyqe6I9Ev3IzGpQoqBP3a+cOdxY+pWj6VkP28n/2wWysBHD/A== dependencies: semver "^7.3.5" @@ -2946,9 +2934,9 @@ path-key@^3.1.0: integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-to-regexp@^6.2.1: - version "6.2.2" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.2.2.tgz#324377a83e5049cbecadc5554d6a63a9a4866b36" - integrity sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw== + version "6.3.0" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-6.3.0.tgz#2b6a26a337737a8e1416f9272ed0766b1c0389f4" + integrity sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ== path-type@^4.0.0: version "4.0.0" @@ -2966,9 +2954,9 @@ pend@~1.2.0: integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== picocolors@^1.0.0, picocolors@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" - integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== + version "1.1.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" + integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" @@ -3018,9 +3006,9 @@ process-on-spawn@^1.0.0: fromentries "^1.2.0" pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + version "3.0.2" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.2.tgz#836f3edd6bc2ee599256c924ffe0d88573ddcbf8" + integrity sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw== dependencies: end-of-stream "^1.1.0" once "^1.3.1" @@ -3464,9 +3452,9 @@ tslib@^1.8.1: integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.2.0, tslib@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" - integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== tsutils@^3.21.0: version "3.21.0" @@ -3499,7 +3487,7 @@ type-detect@4.0.8: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-detect@^4.0.0, type-detect@^4.0.8, type-detect@^4.1.0: +type-detect@^4.0.0, type-detect@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.1.0.tgz#deb2453e8f08dcae7ae98c626b13dddb0155906c" integrity sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==