From 1c9939f06ed2a46033c6e8a8068be80137cb9be6 Mon Sep 17 00:00:00 2001 From: epszaw Date: Mon, 20 Feb 2023 17:28:42 +0100 Subject: [PATCH 1/4] add error notification when user try to use mocha reporter in parallel mode relates to #619 --- packages/allure-mocha/README.md | 2 + packages/allure-mocha/package.json | 2 + .../allure-mocha/src/MochaAllureReporter.ts | 6 ++ packages/allure-mocha/test/runner.ts | 1 - packages/allure-mocha/test/specs/reporter.ts | 55 +++++++++++++++ yarn.lock | 67 +++++++++++++++++++ 6 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 packages/allure-mocha/test/specs/reporter.ts diff --git a/packages/allure-mocha/README.md b/packages/allure-mocha/README.md index e9db79040..8dd842e34 100644 --- a/packages/allure-mocha/README.md +++ b/packages/allure-mocha/README.md @@ -2,6 +2,8 @@ This project implements Allure integration with Mocha framework. +**Allure API doesn't work in parallel mode**! If you want to use the functionality, please switch back to single thread mode! + ## Installation ```bash diff --git a/packages/allure-mocha/package.json b/packages/allure-mocha/package.json index 0e7029a34..3cdc99dbb 100644 --- a/packages/allure-mocha/package.json +++ b/packages/allure-mocha/package.json @@ -37,6 +37,7 @@ "@types/glob": "^8.0.0", "@types/mocha": "^9.0.0", "@types/node": "^16.7.8", + "@types/sinon": "^10.0.13", "chai": "^4.2.0", "codecov": "^3.6.5", "fs-jetpack": "^4.1.0", @@ -45,6 +46,7 @@ "mocha-multi-reporters": "^1.5.1", "nyc": "^15.0.1", "rimraf": "^3.0.2", + "sinon": "^15.0.1", "source-map-support": "^0.5.19", "ts-node": "^10.2.1", "typescript": "^4.4.2" diff --git a/packages/allure-mocha/src/MochaAllureReporter.ts b/packages/allure-mocha/src/MochaAllureReporter.ts index 221fa0ee9..2b3045b5a 100644 --- a/packages/allure-mocha/src/MochaAllureReporter.ts +++ b/packages/allure-mocha/src/MochaAllureReporter.ts @@ -28,6 +28,12 @@ export class MochaAllureReporter extends Mocha.reporters.Base { constructor(readonly runner: ParallelRunner, readonly opts: Mocha.MochaOptions) { super(runner, opts); + if (opts.parallel) { + throw new Error( + "Allure API doesn't work in parallel mode! If you want to use the functionality, please switch back to single thread mode!", + ); + } + const { resultsDir = "allure-results" } = opts.reporterOptions || {}; const allureConfig: AllureConfig = { ...opts.reporterOptions, diff --git a/packages/allure-mocha/test/runner.ts b/packages/allure-mocha/test/runner.ts index 0f955501b..893f7db58 100644 --- a/packages/allure-mocha/test/runner.ts +++ b/packages/allure-mocha/test/runner.ts @@ -10,7 +10,6 @@ const mocha = new Mocha({ reporter: "mocha-multi-reporters", reporterOptions: { reporterEnabled: "list, ../allure-mocha", - parallel: true, allureMochaReporterOptions: { resultsDir: path.resolve(__dirname, "../out/allure-results"), }, diff --git a/packages/allure-mocha/test/specs/reporter.ts b/packages/allure-mocha/test/specs/reporter.ts new file mode 100644 index 000000000..ad9f6198e --- /dev/null +++ b/packages/allure-mocha/test/specs/reporter.ts @@ -0,0 +1,55 @@ +import fs from "node:fs"; +import MochaAllureReporter from "allure-mocha"; +import { expect } from "chai"; +import Mocha, { beforeEach, describe, it } from "mocha"; +import { restore, stub } from "sinon"; + +describe("reporter", () => { + beforeEach(() => { + restore(); + stub(fs, "mkdirSync").callsFake(() => ""); + }); + + describe("single thread mode", () => { + it("doesn't throw any error", (done) => { + const mocha = new Mocha({ + timeout: 16000, + reporter: MochaAllureReporter, + reporterOptions: { + reporterEnabled: "list, ../allure-mocha", + allureMochaReporterOptions: { + resultsDir: ".", + }, + }, + }); + + mocha.run(() => { + done(); + }); + }); + }); + + describe("parallel mode", () => { + it("throws an error", () => { + const mocha = new Mocha({ + timeout: 16000, + reporter: MochaAllureReporter, + parallel: true, + reporterOptions: { + reporterEnabled: "list, ../allure-mocha", + allureMochaReporterOptions: { + resultsDir: "", + }, + }, + }); + + try { + mocha.run(); + } catch (err) { + expect((err as Error).message).eq( + "Allure API doesn't work in parallel mode! If you want to use the functionality, please switch back to single thread mode!", + ); + } + }); + }); +}); diff --git a/yarn.lock b/yarn.lock index c128f4cee..eadbd8384 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1135,6 +1135,24 @@ __metadata: languageName: node linkType: hard +"@sinonjs/commons@npm:^2.0.0": + version: 2.0.0 + resolution: "@sinonjs/commons@npm:2.0.0" + dependencies: + type-detect: 4.0.8 + checksum: 5023ba17edf2b85ed58262313b8e9b59e23c6860681a9af0200f239fe939e2b79736d04a260e8270ddd57196851dde3ba754d7230be5c5234e777ae2ca8af137 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:10.0.2, @sinonjs/fake-timers@npm:^10.0.2": + version: 10.0.2 + resolution: "@sinonjs/fake-timers@npm:10.0.2" + dependencies: + "@sinonjs/commons": ^2.0.0 + checksum: c62aa98e7cefda8dedc101ce227abc888dc46b8ff9706c5f0a8dfd9c3ada97d0a5611384738d9ba0b26b59f99c2ba24efece8e779bb08329e9e87358fa309824 + languageName: node + linkType: hard + "@sinonjs/fake-timers@npm:>=5, @sinonjs/fake-timers@npm:^9.1.2": version: 9.1.2 resolution: "@sinonjs/fake-timers@npm:9.1.2" @@ -1164,6 +1182,17 @@ __metadata: languageName: node linkType: hard +"@sinonjs/samsam@npm:^7.0.1": + version: 7.0.1 + resolution: "@sinonjs/samsam@npm:7.0.1" + dependencies: + "@sinonjs/commons": ^2.0.0 + lodash.get: ^4.4.2 + type-detect: ^4.0.8 + checksum: 291efb158d54c67dee23ddabcb28873d22063449b692aaa3b2a4f1826d2f79d38695574063c92e9c17573cc805cd6acbf0ab0c66c9f3aed7afd0f12a2b905615 + languageName: node + linkType: hard + "@sinonjs/text-encoding@npm:^0.7.1": version: 0.7.1 resolution: "@sinonjs/text-encoding@npm:0.7.1" @@ -1584,6 +1613,15 @@ __metadata: languageName: node linkType: hard +"@types/sinon@npm:^10.0.13": + version: 10.0.13 + resolution: "@types/sinon@npm:10.0.13" + dependencies: + "@types/sinonjs__fake-timers": "*" + checksum: 46a14c888db50f0098ec53d451877e0111d878ec4a653b9e9ed7f8e54de386d6beb0e528ddc3e95cd3361a8ab9ad54e4cca33cd88d45b9227b83e9fc8fb6688a + languageName: node + linkType: hard + "@types/sinonjs__fake-timers@npm:*": version: 8.1.2 resolution: "@types/sinonjs__fake-timers@npm:8.1.2" @@ -2207,6 +2245,7 @@ __metadata: "@types/glob": ^8.0.0 "@types/mocha": ^9.0.0 "@types/node": ^16.7.8 + "@types/sinon": ^10.0.13 allure-js-commons: "workspace:*" chai: ^4.2.0 codecov: ^3.6.5 @@ -2216,6 +2255,7 @@ __metadata: mocha-multi-reporters: ^1.5.1 nyc: ^15.0.1 rimraf: ^3.0.2 + sinon: ^15.0.1 source-map-support: ^0.5.19 ts-node: ^10.2.1 typescript: ^4.4.2 @@ -9343,6 +9383,19 @@ __metadata: languageName: node linkType: hard +"nise@npm:^5.1.2": + version: 5.1.4 + resolution: "nise@npm:5.1.4" + dependencies: + "@sinonjs/commons": ^2.0.0 + "@sinonjs/fake-timers": ^10.0.2 + "@sinonjs/text-encoding": ^0.7.1 + just-extend: ^4.0.2 + path-to-regexp: ^1.7.0 + checksum: bc57c10eaec28a6a7ddfb2e1e9b21d5e1fe22710e514f8858ae477cf9c7e9c891475674d5241519193403db43d16c3675f4207bc094a7a27b7e4f56584a78c1b + languageName: node + linkType: hard + "no-case@npm:^3.0.4": version: 3.0.4 resolution: "no-case@npm:3.0.4" @@ -11526,6 +11579,20 @@ __metadata: languageName: node linkType: hard +"sinon@npm:^15.0.1": + version: 15.0.1 + resolution: "sinon@npm:15.0.1" + dependencies: + "@sinonjs/commons": ^2.0.0 + "@sinonjs/fake-timers": 10.0.2 + "@sinonjs/samsam": ^7.0.1 + diff: ^5.0.0 + nise: ^5.1.2 + supports-color: ^7.2.0 + checksum: 4b5acff291b4650cf736bf45fc9eceed44dceca63b663cbd55926dd688fe8e9baa4b4629e296ee5d5b64245aedec5c540fea0416b8bb35bccfb98ca9e9ed87f3 + languageName: node + linkType: hard + "sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5" From 5ef42afe8c1c0f52b3a5642911efe17b38de3d3f Mon Sep 17 00:00:00 2001 From: epszaw Date: Wed, 22 Feb 2023 14:17:58 +0100 Subject: [PATCH 2/4] make mocha parallel mode notification less agressive update mocha docs --- packages/allure-mocha/README.md | 4 +- .../allure-mocha/src/MochaAllureReporter.ts | 13 ++--- .../allure-mocha/src/ParallelMochaAllure.ts | 43 +++++++++++++++ packages/allure-mocha/test/specs/reporter.ts | 55 ------------------- 4 files changed, 50 insertions(+), 65 deletions(-) create mode 100644 packages/allure-mocha/src/ParallelMochaAllure.ts delete mode 100644 packages/allure-mocha/test/specs/reporter.ts diff --git a/packages/allure-mocha/README.md b/packages/allure-mocha/README.md index 8dd842e34..cfb928a2e 100644 --- a/packages/allure-mocha/README.md +++ b/packages/allure-mocha/README.md @@ -50,7 +50,7 @@ it("is a test", () => { ### Parameters usage ```ts -import { allure } from "allure-mocha/runtime"; +import allureMocha from "allure-mocha/runtime"; it("is a test", () => { allureMocha.allure.parameter("parameterName", "parameterValue"); @@ -63,7 +63,7 @@ Also addParameter takes an third optional parameter with the hidden and excluded `excluded: true` - excludes parameter from the history ```ts -import { allure } from "allure-mocha/runtime"; +import allureMocha from "allure-mocha/runtime"; it("is a test", () => { allureMocha.allure.parameter("parameterName", "parameterValue", { diff --git a/packages/allure-mocha/src/MochaAllureReporter.ts b/packages/allure-mocha/src/MochaAllureReporter.ts index 2b3045b5a..4479c6b7a 100644 --- a/packages/allure-mocha/src/MochaAllureReporter.ts +++ b/packages/allure-mocha/src/MochaAllureReporter.ts @@ -2,7 +2,7 @@ import { AllureConfig, AllureRuntime } from "allure-js-commons"; import * as Mocha from "mocha"; import { AllureReporter } from "./AllureReporter"; import { MochaAllure } from "./MochaAllure"; -import Base = Mocha.reporters.Base; +import { ParallelMochaAllure } from "./ParallelMochaAllure"; const { EVENT_SUITE_BEGIN, @@ -16,7 +16,9 @@ const { EVENT_HOOK_END, } = Mocha.Runner.constants; -export let allure: MochaAllure; +// eslint-disable-next-line +// @ts-ignore +export let allure: MochaAllure = new ParallelMochaAllure(); type ParallelRunner = Mocha.Runner & { linkPartialObjects?: (val: boolean) => ParallelRunner; @@ -28,12 +30,6 @@ export class MochaAllureReporter extends Mocha.reporters.Base { constructor(readonly runner: ParallelRunner, readonly opts: Mocha.MochaOptions) { super(runner, opts); - if (opts.parallel) { - throw new Error( - "Allure API doesn't work in parallel mode! If you want to use the functionality, please switch back to single thread mode!", - ); - } - const { resultsDir = "allure-results" } = opts.reporterOptions || {}; const allureConfig: AllureConfig = { ...opts.reporterOptions, @@ -41,6 +37,7 @@ export class MochaAllureReporter extends Mocha.reporters.Base { }; this.coreReporter = new AllureReporter(new AllureRuntime(allureConfig)); + allure = this.coreReporter.getImplementation(); if (runner.linkPartialObjects) { diff --git a/packages/allure-mocha/src/ParallelMochaAllure.ts b/packages/allure-mocha/src/ParallelMochaAllure.ts new file mode 100644 index 000000000..41b4d2679 --- /dev/null +++ b/packages/allure-mocha/src/ParallelMochaAllure.ts @@ -0,0 +1,43 @@ +export class ParallelMochaAllure { + constructor() { + const methods = [ + "epic", + "feature", + "story", + "suite", + "parentSuite", + "subSuite", + "label", + "parameter", + "link", + "issue", + "ims", + "description", + "descriptionHtml", + "owner", + "severity", + "layer", + "id", + "tag", + "writeEnvironmentInfo", + "writeCategoriesDefinitions", + "attachment", + "logStep", + "step", + ]; + + methods.forEach((method) => { + // eslint-disable-next-line + // @ts-ignore + this[method] = this.stubMethod(method); + }); + } + + private stubMethod(methodName: string) { + return () => + // eslint-disable-next-line + console.error( + `MochaAllure: "${methodName}" can't be used in parallel mode! To use Allure Runtime API, please, switch back to single thread mode.`, + ); + } +} diff --git a/packages/allure-mocha/test/specs/reporter.ts b/packages/allure-mocha/test/specs/reporter.ts deleted file mode 100644 index ad9f6198e..000000000 --- a/packages/allure-mocha/test/specs/reporter.ts +++ /dev/null @@ -1,55 +0,0 @@ -import fs from "node:fs"; -import MochaAllureReporter from "allure-mocha"; -import { expect } from "chai"; -import Mocha, { beforeEach, describe, it } from "mocha"; -import { restore, stub } from "sinon"; - -describe("reporter", () => { - beforeEach(() => { - restore(); - stub(fs, "mkdirSync").callsFake(() => ""); - }); - - describe("single thread mode", () => { - it("doesn't throw any error", (done) => { - const mocha = new Mocha({ - timeout: 16000, - reporter: MochaAllureReporter, - reporterOptions: { - reporterEnabled: "list, ../allure-mocha", - allureMochaReporterOptions: { - resultsDir: ".", - }, - }, - }); - - mocha.run(() => { - done(); - }); - }); - }); - - describe("parallel mode", () => { - it("throws an error", () => { - const mocha = new Mocha({ - timeout: 16000, - reporter: MochaAllureReporter, - parallel: true, - reporterOptions: { - reporterEnabled: "list, ../allure-mocha", - allureMochaReporterOptions: { - resultsDir: "", - }, - }, - }); - - try { - mocha.run(); - } catch (err) { - expect((err as Error).message).eq( - "Allure API doesn't work in parallel mode! If you want to use the functionality, please switch back to single thread mode!", - ); - } - }); - }); -}); From e72d509fd70fc218e063f12f1b3b121e6110696d Mon Sep 17 00:00:00 2001 From: epszaw Date: Mon, 27 Feb 2023 14:59:10 +0100 Subject: [PATCH 3/4] add test for mocha runtime api stub --- .../test/fixtures/runners/parallel.ts | 14 +++++++ .../test/fixtures/runners/singleThread.ts | 13 ++++++ .../test/fixtures/specs/runtime.ts | 8 ++++ packages/allure-mocha/test/specs/reporter.ts | 41 +++++++++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 packages/allure-mocha/test/fixtures/runners/parallel.ts create mode 100644 packages/allure-mocha/test/fixtures/runners/singleThread.ts create mode 100644 packages/allure-mocha/test/fixtures/specs/runtime.ts create mode 100644 packages/allure-mocha/test/specs/reporter.ts diff --git a/packages/allure-mocha/test/fixtures/runners/parallel.ts b/packages/allure-mocha/test/fixtures/runners/parallel.ts new file mode 100644 index 000000000..17cb8dd52 --- /dev/null +++ b/packages/allure-mocha/test/fixtures/runners/parallel.ts @@ -0,0 +1,14 @@ +import MochaAllureReporter from "allure-mocha"; +import glob from "glob"; +import Mocha from "mocha"; +import "source-map-support/register"; + +const mocha = new Mocha({ + timeout: 16000, + reporter: MochaAllureReporter, + parallel: true, +}); + +glob.sync("test/fixtures/specs/runtime.ts").forEach((file) => mocha.addFile(file)); + +mocha.run((failures) => process.exit(failures === 0 ? 0 : 1)); diff --git a/packages/allure-mocha/test/fixtures/runners/singleThread.ts b/packages/allure-mocha/test/fixtures/runners/singleThread.ts new file mode 100644 index 000000000..a27535cdb --- /dev/null +++ b/packages/allure-mocha/test/fixtures/runners/singleThread.ts @@ -0,0 +1,13 @@ +import MochaAllureReporter from "allure-mocha"; +import glob from "glob"; +import Mocha from "mocha"; +import "source-map-support/register"; + +const mocha = new Mocha({ + timeout: 16000, + reporter: MochaAllureReporter, +}); + +glob.sync("test/fixtures/specs/runtime.ts").forEach((file) => mocha.addFile(file)); + +mocha.run((failures) => process.exit(failures === 0 ? 0 : 1)); diff --git a/packages/allure-mocha/test/fixtures/specs/runtime.ts b/packages/allure-mocha/test/fixtures/specs/runtime.ts new file mode 100644 index 000000000..e4a6f8f8c --- /dev/null +++ b/packages/allure-mocha/test/fixtures/specs/runtime.ts @@ -0,0 +1,8 @@ +import { describe, it } from "mocha"; +import { allure } from "../../../runtime"; + +describe("runtime", () => { + it("assigns label", () => { + allure.label("foo", "bar"); + }); +}); diff --git a/packages/allure-mocha/test/specs/reporter.ts b/packages/allure-mocha/test/specs/reporter.ts new file mode 100644 index 000000000..d8dc7b265 --- /dev/null +++ b/packages/allure-mocha/test/specs/reporter.ts @@ -0,0 +1,41 @@ +import { spawnSync } from "node:child_process"; +import fs from "node:fs"; +import process from "node:process"; +import { expect } from "chai"; +import { beforeEach, describe, it } from "mocha"; +import { restore, stub } from "sinon"; + +describe("reporter", () => { + beforeEach(() => { + restore(); + stub(fs, "mkdirSync").callsFake(() => ""); + }); + + describe("parallel mode", () => { + it("prints warnings about allure api", () => { + const out = spawnSync( + "ts-node", + ["--project", "test/tsconfig.json", "test/fixtures/runners/parallel.ts"], + { + cwd: process.cwd(), + }, + ); + + expect(out.stderr.toString("utf8")).contains("can't be used in parallel mode"); + }); + }); + + describe("single thread mode", () => { + it("doesn't print any warning about allure api", () => { + const out = spawnSync( + "ts-node", + ["--project", "test/tsconfig.json", "test/fixtures/runners/singleThread.ts"], + { + cwd: process.cwd(), + }, + ); + + expect(out.stderr.toString("utf8")).not.contains("can't be used in parallel mode"); + }); + }); +}); From 66a5a01547dfbe105d549534efc0778286ecce95 Mon Sep 17 00:00:00 2001 From: epszaw Date: Tue, 28 Feb 2023 13:35:11 +0100 Subject: [PATCH 4/4] remove sinon from mocha --- packages/allure-mocha/package.json | 2 - yarn.lock | 67 ------------------------------ 2 files changed, 69 deletions(-) diff --git a/packages/allure-mocha/package.json b/packages/allure-mocha/package.json index 3cdc99dbb..0e7029a34 100644 --- a/packages/allure-mocha/package.json +++ b/packages/allure-mocha/package.json @@ -37,7 +37,6 @@ "@types/glob": "^8.0.0", "@types/mocha": "^9.0.0", "@types/node": "^16.7.8", - "@types/sinon": "^10.0.13", "chai": "^4.2.0", "codecov": "^3.6.5", "fs-jetpack": "^4.1.0", @@ -46,7 +45,6 @@ "mocha-multi-reporters": "^1.5.1", "nyc": "^15.0.1", "rimraf": "^3.0.2", - "sinon": "^15.0.1", "source-map-support": "^0.5.19", "ts-node": "^10.2.1", "typescript": "^4.4.2" diff --git a/yarn.lock b/yarn.lock index eadbd8384..c128f4cee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1135,24 +1135,6 @@ __metadata: languageName: node linkType: hard -"@sinonjs/commons@npm:^2.0.0": - version: 2.0.0 - resolution: "@sinonjs/commons@npm:2.0.0" - dependencies: - type-detect: 4.0.8 - checksum: 5023ba17edf2b85ed58262313b8e9b59e23c6860681a9af0200f239fe939e2b79736d04a260e8270ddd57196851dde3ba754d7230be5c5234e777ae2ca8af137 - languageName: node - linkType: hard - -"@sinonjs/fake-timers@npm:10.0.2, @sinonjs/fake-timers@npm:^10.0.2": - version: 10.0.2 - resolution: "@sinonjs/fake-timers@npm:10.0.2" - dependencies: - "@sinonjs/commons": ^2.0.0 - checksum: c62aa98e7cefda8dedc101ce227abc888dc46b8ff9706c5f0a8dfd9c3ada97d0a5611384738d9ba0b26b59f99c2ba24efece8e779bb08329e9e87358fa309824 - languageName: node - linkType: hard - "@sinonjs/fake-timers@npm:>=5, @sinonjs/fake-timers@npm:^9.1.2": version: 9.1.2 resolution: "@sinonjs/fake-timers@npm:9.1.2" @@ -1182,17 +1164,6 @@ __metadata: languageName: node linkType: hard -"@sinonjs/samsam@npm:^7.0.1": - version: 7.0.1 - resolution: "@sinonjs/samsam@npm:7.0.1" - dependencies: - "@sinonjs/commons": ^2.0.0 - lodash.get: ^4.4.2 - type-detect: ^4.0.8 - checksum: 291efb158d54c67dee23ddabcb28873d22063449b692aaa3b2a4f1826d2f79d38695574063c92e9c17573cc805cd6acbf0ab0c66c9f3aed7afd0f12a2b905615 - languageName: node - linkType: hard - "@sinonjs/text-encoding@npm:^0.7.1": version: 0.7.1 resolution: "@sinonjs/text-encoding@npm:0.7.1" @@ -1613,15 +1584,6 @@ __metadata: languageName: node linkType: hard -"@types/sinon@npm:^10.0.13": - version: 10.0.13 - resolution: "@types/sinon@npm:10.0.13" - dependencies: - "@types/sinonjs__fake-timers": "*" - checksum: 46a14c888db50f0098ec53d451877e0111d878ec4a653b9e9ed7f8e54de386d6beb0e528ddc3e95cd3361a8ab9ad54e4cca33cd88d45b9227b83e9fc8fb6688a - languageName: node - linkType: hard - "@types/sinonjs__fake-timers@npm:*": version: 8.1.2 resolution: "@types/sinonjs__fake-timers@npm:8.1.2" @@ -2245,7 +2207,6 @@ __metadata: "@types/glob": ^8.0.0 "@types/mocha": ^9.0.0 "@types/node": ^16.7.8 - "@types/sinon": ^10.0.13 allure-js-commons: "workspace:*" chai: ^4.2.0 codecov: ^3.6.5 @@ -2255,7 +2216,6 @@ __metadata: mocha-multi-reporters: ^1.5.1 nyc: ^15.0.1 rimraf: ^3.0.2 - sinon: ^15.0.1 source-map-support: ^0.5.19 ts-node: ^10.2.1 typescript: ^4.4.2 @@ -9383,19 +9343,6 @@ __metadata: languageName: node linkType: hard -"nise@npm:^5.1.2": - version: 5.1.4 - resolution: "nise@npm:5.1.4" - dependencies: - "@sinonjs/commons": ^2.0.0 - "@sinonjs/fake-timers": ^10.0.2 - "@sinonjs/text-encoding": ^0.7.1 - just-extend: ^4.0.2 - path-to-regexp: ^1.7.0 - checksum: bc57c10eaec28a6a7ddfb2e1e9b21d5e1fe22710e514f8858ae477cf9c7e9c891475674d5241519193403db43d16c3675f4207bc094a7a27b7e4f56584a78c1b - languageName: node - linkType: hard - "no-case@npm:^3.0.4": version: 3.0.4 resolution: "no-case@npm:3.0.4" @@ -11579,20 +11526,6 @@ __metadata: languageName: node linkType: hard -"sinon@npm:^15.0.1": - version: 15.0.1 - resolution: "sinon@npm:15.0.1" - dependencies: - "@sinonjs/commons": ^2.0.0 - "@sinonjs/fake-timers": 10.0.2 - "@sinonjs/samsam": ^7.0.1 - diff: ^5.0.0 - nise: ^5.1.2 - supports-color: ^7.2.0 - checksum: 4b5acff291b4650cf736bf45fc9eceed44dceca63b663cbd55926dd688fe8e9baa4b4629e296ee5d5b64245aedec5c540fea0416b8bb35bccfb98ca9e9ed87f3 - languageName: node - linkType: hard - "sisteransi@npm:^1.0.5": version: 1.0.5 resolution: "sisteransi@npm:1.0.5"