From 2eadd5ce755c904e3f0b25c37e7eba7b2ff303fb Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Thu, 14 May 2026 20:52:22 -0700 Subject: [PATCH 01/19] common-utils: add .js extensions to relative imports Prep for switching the package to ESM (Node16) emit. Adding the explicit ".js" suffixes is a no-op under the current TypeScript compiler settings, so it can land safely ahead of the tsconfig swap. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- common/lib/common-utils/src/base64Encoding.ts | 2 +- .../lib/common-utils/src/hashFileBrowser.ts | 2 +- common/lib/common-utils/src/hashFileNode.ts | 2 +- common/lib/common-utils/src/index.ts | 36 +++++++++---------- common/lib/common-utils/src/indexBrowser.ts | 6 ++-- common/lib/common-utils/src/indexNode.ts | 6 ++-- common/lib/common-utils/src/rangeTracker.ts | 2 +- .../common-utils/src/test/jest/buffer.spec.ts | 4 +-- .../src/test/jest/gitHash.spec.ts | 2 +- .../src/test/mocha/assert.spec.ts | 2 +- .../src/test/mocha/idleTaskScheduler.spec.ts | 2 +- .../src/test/mocha/promiseCache.spec.ts | 2 +- .../src/test/mocha/rangeTracker.spec.ts | 2 +- .../common-utils/src/test/mocha/timer.spec.ts | 2 +- .../src/test/mocha/typedEventEmitter.spec.ts | 4 +-- common/lib/common-utils/src/timer.ts | 4 +-- common/lib/common-utils/src/trace.ts | 2 +- 17 files changed, 41 insertions(+), 41 deletions(-) diff --git a/common/lib/common-utils/src/base64Encoding.ts b/common/lib/common-utils/src/base64Encoding.ts index 49e7315ede22..fe7d5e273ba9 100644 --- a/common/lib/common-utils/src/base64Encoding.ts +++ b/common/lib/common-utils/src/base64Encoding.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. */ -import { IsoBuffer } from "./indexNode"; +import { IsoBuffer } from "./indexNode.js"; /** * Converts the provided {@link https://en.wikipedia.org/wiki/Base64 | base64}-encoded string diff --git a/common/lib/common-utils/src/hashFileBrowser.ts b/common/lib/common-utils/src/hashFileBrowser.ts index 54904001d602..f0b8f0e8ea8e 100644 --- a/common/lib/common-utils/src/hashFileBrowser.ts +++ b/common/lib/common-utils/src/hashFileBrowser.ts @@ -5,7 +5,7 @@ import * as base64js from "base64-js"; -import { IsoBuffer } from "./bufferBrowser"; +import { IsoBuffer } from "./bufferBrowser.js"; async function digestBuffer(file: IsoBuffer, algorithm: "SHA-1" | "SHA-256"): Promise { const hash = await crypto.subtle.digest(algorithm, file); diff --git a/common/lib/common-utils/src/hashFileNode.ts b/common/lib/common-utils/src/hashFileNode.ts index 4a00d274d582..5a37f646ee2c 100644 --- a/common/lib/common-utils/src/hashFileNode.ts +++ b/common/lib/common-utils/src/hashFileNode.ts @@ -8,7 +8,7 @@ import sha1 from "sha.js/sha1"; // eslint-disable-next-line import/no-internal-modules import sha256 from "sha.js/sha256"; -import type { IsoBuffer } from "./bufferNode"; +import type { IsoBuffer } from "./bufferNode.js"; /** * Hash a file. Consistent within a session, but should not be persisted and diff --git a/common/lib/common-utils/src/index.ts b/common/lib/common-utils/src/index.ts index bc1eabc6ba85..4b4801f100ba 100644 --- a/common/lib/common-utils/src/index.ts +++ b/common/lib/common-utils/src/index.ts @@ -9,12 +9,12 @@ * @packageDocumentation */ -export { assert } from "./assert"; -export { fromBase64ToUtf8, fromUtf8ToBase64, toUtf8 } from "./base64Encoding"; -export { Uint8ArrayToArrayBuffer } from "./bufferShared"; -export { delay } from "./delay"; -export { doIfNotDisposed, type IDisposable } from "./disposal"; -export { Heap, type IComparer, type IHeapNode, NumberComparer } from "./heap"; +export { assert } from "./assert.js"; +export { fromBase64ToUtf8, fromUtf8ToBase64, toUtf8 } from "./base64Encoding.js"; +export { Uint8ArrayToArrayBuffer } from "./bufferShared.js"; +export { delay } from "./delay.js"; +export { doIfNotDisposed, type IDisposable } from "./disposal.js"; +export { Heap, type IComparer, type IHeapNode, NumberComparer } from "./heap.js"; /** * NOTE: This export is remapped to export from "./indexBrowser" in browser environments via package.json. * Because the two files don't have fully isomorphic exports, using named exports for the full API surface @@ -24,14 +24,14 @@ export { Heap, type IComparer, type IHeapNode, NumberComparer } from "./heap"; * desired. */ // eslint-disable-next-line no-restricted-syntax -export * from "./indexNode"; -export { Lazy } from "./lazy"; -export type { IsomorphicPerformance } from "./performanceIsomorphic"; -export { PromiseCache, type PromiseCacheExpiry, type PromiseCacheOptions } from "./promiseCache"; -export { Deferred, LazyPromise } from "./promises"; -export { type IRange, type IRangeTrackerSnapshot, RangeTracker } from "./rangeTracker"; -export { RateLimiter } from "./rateLimiter"; -export { safelyParseJSON } from "./safeParser"; +export * from "./indexNode.js"; +export { Lazy } from "./lazy.js"; +export type { IsomorphicPerformance } from "./performanceIsomorphic.js"; +export { PromiseCache, type PromiseCacheExpiry, type PromiseCacheOptions } from "./promiseCache.js"; +export { Deferred, LazyPromise } from "./promises.js"; +export { type IRange, type IRangeTrackerSnapshot, RangeTracker } from "./rangeTracker.js"; +export { RateLimiter } from "./rateLimiter.js"; +export { safelyParseJSON } from "./safeParser.js"; export { type IPromiseTimer, type IPromiseTimerResult, @@ -39,8 +39,8 @@ export { PromiseTimer, setLongTimeout, Timer, -} from "./timer"; -export { type ITraceEvent, Trace } from "./trace"; +} from "./timer.js"; +export { type ITraceEvent, Trace } from "./trace.js"; export { type EventEmitterEventType, type IEvent, @@ -51,5 +51,5 @@ export { type TransformedEvent, TypedEventEmitter, type TypedEventTransform, -} from "./typedEventEmitter"; -export { unreachableCase } from "./unreachable"; +} from "./typedEventEmitter.js"; +export { unreachableCase } from "./unreachable.js"; diff --git a/common/lib/common-utils/src/indexBrowser.ts b/common/lib/common-utils/src/indexBrowser.ts index 63412ac495d2..78d75b7160ba 100644 --- a/common/lib/common-utils/src/indexBrowser.ts +++ b/common/lib/common-utils/src/indexBrowser.ts @@ -9,6 +9,6 @@ export { IsoBuffer, stringToBuffer, Uint8ArrayToString, -} from "./bufferBrowser"; -export { gitHashFile, hashFile } from "./hashFileBrowser"; -export { performance } from "./performanceIsomorphic"; +} from "./bufferBrowser.js"; +export { gitHashFile, hashFile } from "./hashFileBrowser.js"; +export { performance } from "./performanceIsomorphic.js"; diff --git a/common/lib/common-utils/src/indexNode.ts b/common/lib/common-utils/src/indexNode.ts index 344d2c65aa89..5fa5cc637e90 100644 --- a/common/lib/common-utils/src/indexNode.ts +++ b/common/lib/common-utils/src/indexNode.ts @@ -9,6 +9,6 @@ export { IsoBuffer, stringToBuffer, Uint8ArrayToString, -} from "./bufferNode"; -export { gitHashFile, hashFile } from "./hashFileNode"; -export { performance } from "./performanceIsomorphic"; +} from "./bufferNode.js"; +export { gitHashFile, hashFile } from "./hashFileNode.js"; +export { performance } from "./performanceIsomorphic.js"; diff --git a/common/lib/common-utils/src/rangeTracker.ts b/common/lib/common-utils/src/rangeTracker.ts index 2615299548e4..47d6c58cf5ce 100644 --- a/common/lib/common-utils/src/rangeTracker.ts +++ b/common/lib/common-utils/src/rangeTracker.ts @@ -6,7 +6,7 @@ // eslint-disable-next-line import/no-internal-modules import cloneDeep from "lodash/cloneDeep"; -import { assert } from "./assert"; +import { assert } from "./assert.js"; /** * A range in the {@link RangeTracker} diff --git a/common/lib/common-utils/src/test/jest/buffer.spec.ts b/common/lib/common-utils/src/test/jest/buffer.spec.ts index f397cbc259a3..af1dd7dbd18d 100644 --- a/common/lib/common-utils/src/test/jest/buffer.spec.ts +++ b/common/lib/common-utils/src/test/jest/buffer.spec.ts @@ -3,8 +3,8 @@ * Licensed under the MIT License. */ -import * as BufferBrowser from "../../bufferBrowser"; -import * as BufferNode from "../../bufferNode"; +import * as BufferBrowser from "../../bufferBrowser.js"; +import * as BufferNode from "../../bufferNode.js"; describe("Buffer isomorphism", () => { test("from string utf-8/16 is compatible", () => { diff --git a/common/lib/common-utils/src/test/jest/gitHash.spec.ts b/common/lib/common-utils/src/test/jest/gitHash.spec.ts index bca00f58e828..b0fb2ec6f12e 100644 --- a/common/lib/common-utils/src/test/jest/gitHash.spec.ts +++ b/common/lib/common-utils/src/test/jest/gitHash.spec.ts @@ -10,7 +10,7 @@ import path from "path"; import rewire from "rewire"; -import * as HashNode from "../../hashFileNode"; +import * as HashNode from "../../hashFileNode.js"; // Use rewire to access private functions const HashBrowser = rewire("../../hashFileBrowser"); diff --git a/common/lib/common-utils/src/test/mocha/assert.spec.ts b/common/lib/common-utils/src/test/mocha/assert.spec.ts index 2b632d406524..a4421a7a1609 100644 --- a/common/lib/common-utils/src/test/mocha/assert.spec.ts +++ b/common/lib/common-utils/src/test/mocha/assert.spec.ts @@ -5,7 +5,7 @@ import { strict } from "assert"; -import { assert } from "../../assert"; +import { assert } from "../../assert.js"; describe("Assert", () => { it("Validate Shortcode Format", async () => { diff --git a/common/lib/common-utils/src/test/mocha/idleTaskScheduler.spec.ts b/common/lib/common-utils/src/test/mocha/idleTaskScheduler.spec.ts index 1bde66f15a02..8302b34cf4ab 100644 --- a/common/lib/common-utils/src/test/mocha/idleTaskScheduler.spec.ts +++ b/common/lib/common-utils/src/test/mocha/idleTaskScheduler.spec.ts @@ -7,7 +7,7 @@ import { strict as assert } from "assert"; import { fake, match, type SinonFakeTimers, useFakeTimers } from "sinon"; -import * as idleTask from "../../idleTaskScheduler"; +import * as idleTask from "../../idleTaskScheduler.js"; describe("Idle task scheduler", () => { let clock: SinonFakeTimers; diff --git a/common/lib/common-utils/src/test/mocha/promiseCache.spec.ts b/common/lib/common-utils/src/test/mocha/promiseCache.spec.ts index 0fab82b447e0..8005404bfee9 100644 --- a/common/lib/common-utils/src/test/mocha/promiseCache.spec.ts +++ b/common/lib/common-utils/src/test/mocha/promiseCache.spec.ts @@ -7,7 +7,7 @@ import { strict as assert } from "assert"; import { type SinonFakeTimers, useFakeTimers } from "sinon"; -import { PromiseCache } from "../.."; +import { PromiseCache } from "../../index.js"; describe("PromiseCache", () => { describe("Basic Cache Mechanism", () => { diff --git a/common/lib/common-utils/src/test/mocha/rangeTracker.spec.ts b/common/lib/common-utils/src/test/mocha/rangeTracker.spec.ts index 9aa93d10b9ea..da7d774f3237 100644 --- a/common/lib/common-utils/src/test/mocha/rangeTracker.spec.ts +++ b/common/lib/common-utils/src/test/mocha/rangeTracker.spec.ts @@ -5,7 +5,7 @@ import { strict as assert } from "assert"; -import { RangeTracker } from "../.."; +import { RangeTracker } from "../../index.js"; describe("Routerlicious", () => { describe("Shared", () => { diff --git a/common/lib/common-utils/src/test/mocha/timer.spec.ts b/common/lib/common-utils/src/test/mocha/timer.spec.ts index 42a21a60ae68..0bd04c34ed3d 100644 --- a/common/lib/common-utils/src/test/mocha/timer.spec.ts +++ b/common/lib/common-utils/src/test/mocha/timer.spec.ts @@ -14,7 +14,7 @@ import { useFakeTimers, } from "sinon"; -import { type IPromiseTimerResult, PromiseTimer, Timer } from "../.."; +import { type IPromiseTimerResult, PromiseTimer, Timer } from "../../index.js"; const flushPromises = async (): Promise => new Promise((resolve) => process.nextTick(resolve)); diff --git a/common/lib/common-utils/src/test/mocha/typedEventEmitter.spec.ts b/common/lib/common-utils/src/test/mocha/typedEventEmitter.spec.ts index db77e7a429bb..56d8b28e1811 100644 --- a/common/lib/common-utils/src/test/mocha/typedEventEmitter.spec.ts +++ b/common/lib/common-utils/src/test/mocha/typedEventEmitter.spec.ts @@ -5,8 +5,8 @@ import { strict as assert } from "assert"; -import { TypedEventEmitter } from "../.."; -import type { IErrorEvent } from "../../typedEventEmitter"; +import { TypedEventEmitter } from "../../index.js"; +import type { IErrorEvent } from "../../typedEventEmitter.js"; describe("TypedEventEmitter", () => { it("Validate Function proxies", () => { diff --git a/common/lib/common-utils/src/timer.ts b/common/lib/common-utils/src/timer.ts index 700eeccfc796..9177e2f20ce6 100644 --- a/common/lib/common-utils/src/timer.ts +++ b/common/lib/common-utils/src/timer.ts @@ -3,8 +3,8 @@ * Licensed under the MIT License. */ -import { assert } from "./assert"; -import { Deferred } from "./promises"; +import { assert } from "./assert.js"; +import { Deferred } from "./promises.js"; /** * @deprecated Moved to the `@fluidframework/core-utils` package. diff --git a/common/lib/common-utils/src/trace.ts b/common/lib/common-utils/src/trace.ts index c7ae9484ced9..35033cd3b1c0 100644 --- a/common/lib/common-utils/src/trace.ts +++ b/common/lib/common-utils/src/trace.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. */ -import { performance } from "./indexNode"; +import { performance } from "./indexNode.js"; /** * Helper class for tracing performance of events From 42d511e62782478c399e0c7c2dd213cf94df78bc Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Thu, 14 May 2026 21:03:51 -0700 Subject: [PATCH 02/19] common-utils: switch to Node16 ESM-first tsconfig layout Adopt the same tsconfig topology used by client-utils and protocol-definitions: - tsconfig.json now extends build-common's tsconfig.node16.json and emits ESM into ./lib (was the role of tsconfig.esnext.json). - New tsconfig.cjs.json extends tsconfig.json and emits CJS into ./dist via fluid-tsc commonjs. - tsconfig.esnext.json removed. - Test tsconfigs migrated to extend tsconfig.test.node16.json. The mocha config now has both an ESM (tsconfig.json) and a CJS (tsconfig.cjs.json) variant; the jest config is renamed tsconfig.cjs.json since it must remain CJS (rewire). package.json: - "type": "module" with an exports map that resolves node vs. browser entry points for both import and require, replacing the older main/module/browser fields. - tsc script now runs fluid-tsc commonjs and copies the cjs package.json shim to ./dist. - build:esnext targets the new tsconfig.json. - build:test:mocha now drives both the ESM and CJS variants. - fluidBuild task graph updated for the split mocha builds and the separate build:esnext step. Source updates required by Node16 module resolution: - Drop internal-module imports (sha.js/sha1, sha.js/sha256, lodash/cloneDeep) in favor of top-level imports. - Add the missing .js suffix on the dynamic ./hashFileNode import. Strictness: - exactOptionalPropertyTypes and noUncheckedIndexedAccess are disabled in tsconfig.json. The package is deprecated, so we opt out of the stricter base-config defaults rather than churn the source. api-extractor: - api-extractor.json now extends api-extractor-base.esm.no-legacy (instead of cjs). - api-extractor-lint.json points at lib/index.d.ts. eslint.config.mts switches from projectService to an explicit project list so the renamed jest tsconfig is picked up. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../lib/common-utils/api-extractor-lint.json | 2 +- common/lib/common-utils/api-extractor.json | 2 +- common/lib/common-utils/eslint.config.mts | 8 ++- common/lib/common-utils/package.json | 53 ++++++++++++++----- .../lib/common-utils/src/hashFileBrowser.ts | 2 +- common/lib/common-utils/src/hashFileNode.ts | 5 +- common/lib/common-utils/src/rangeTracker.ts | 3 +- .../jest/{tsconfig.json => tsconfig.cjs.json} | 4 +- .../src/test/mocha/tsconfig.cjs.json | 12 +++++ .../common-utils/src/test/mocha/tsconfig.json | 5 +- .../common-utils/src/test/types/tsconfig.json | 4 +- common/lib/common-utils/tsconfig.cjs.json | 7 +++ common/lib/common-utils/tsconfig.esnext.json | 7 --- common/lib/common-utils/tsconfig.json | 9 ++-- 14 files changed, 82 insertions(+), 41 deletions(-) rename common/lib/common-utils/src/test/jest/{tsconfig.json => tsconfig.cjs.json} (62%) create mode 100644 common/lib/common-utils/src/test/mocha/tsconfig.cjs.json create mode 100644 common/lib/common-utils/tsconfig.cjs.json delete mode 100644 common/lib/common-utils/tsconfig.esnext.json diff --git a/common/lib/common-utils/api-extractor-lint.json b/common/lib/common-utils/api-extractor-lint.json index bbcb8ca90ade..5f885a2c860f 100644 --- a/common/lib/common-utils/api-extractor-lint.json +++ b/common/lib/common-utils/api-extractor-lint.json @@ -1,5 +1,5 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", "extends": "../../build/build-common/api-extractor-lint.json", - "mainEntryPointFilePath": "/dist/index.d.ts" + "mainEntryPointFilePath": "/lib/index.d.ts" } diff --git a/common/lib/common-utils/api-extractor.json b/common/lib/common-utils/api-extractor.json index 167a45dc22fe..7ed01d39297f 100644 --- a/common/lib/common-utils/api-extractor.json +++ b/common/lib/common-utils/api-extractor.json @@ -1,4 +1,4 @@ { "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "extends": "../../build/build-common/api-extractor-base.cjs.no-legacy.json" + "extends": "../../build/build-common/api-extractor-base.esm.no-legacy.json" } diff --git a/common/lib/common-utils/eslint.config.mts b/common/lib/common-utils/eslint.config.mts index 28a94229db4a..d58ecc15195d 100644 --- a/common/lib/common-utils/eslint.config.mts +++ b/common/lib/common-utils/eslint.config.mts @@ -29,7 +29,13 @@ export default tseslint.config( }, languageOptions: { parserOptions: { - projectService: true, + projectService: false, + project: [ + "./tsconfig.json", + "./src/test/mocha/tsconfig.json", + "./src/test/jest/tsconfig.cjs.json", + "./src/test/types/tsconfig.json", + ], tsconfigRootDir: import.meta.dirname, }, }, diff --git a/common/lib/common-utils/package.json b/common/lib/common-utils/package.json index 34f1b55a4c9d..801b4e69ca0a 100644 --- a/common/lib/common-utils/package.json +++ b/common/lib/common-utils/package.json @@ -11,22 +11,44 @@ "license": "MIT", "author": "Microsoft and contributors", "sideEffects": false, - "main": "dist/index.js", - "module": "lib/index.js", - "browser": { - "./dist/indexNode.js": "./dist/indexBrowser.js", - "./lib/indexNode.js": "./lib/indexBrowser.js" + "type": "module", + "exports": { + ".": { + "node": { + "import": { + "types": "./lib/indexNode.d.ts", + "default": "./lib/indexNode.js" + }, + "require": { + "types": "./dist/indexNode.d.ts", + "default": "./dist/indexNode.js" + } + }, + "default": { + "import": { + "types": "./lib/indexBrowser.d.ts", + "default": "./lib/indexBrowser.js" + }, + "require": { + "types": "./dist/indexBrowser.d.ts", + "default": "./dist/indexBrowser.js" + } + } + } }, - "types": "dist/index.d.ts", + "main": "lib/indexBrowser.js", + "types": "lib/indexBrowser.d.ts", "scripts": { "build": "npm run build:compile && concurrently npm:lint npm:build:docs", "build:commonjs": "npm run tsc && npm run typetests:gen && npm run build:test", "build:compile": "concurrently npm:build:commonjs npm:build:esnext", "build:docs": "api-extractor run --local --typescript-compiler-folder ./node_modules/typescript && copyfiles -u 1 \"./_api-extractor-temp/doc-models/*\" ../../../_api-extractor-temp/", - "build:esnext": "tsc --project ./tsconfig.esnext.json", + "build:esnext": "tsc --project ./tsconfig.json", "build:test": "concurrently npm:build:test:mocha npm:build:test:jest npm:build:test:types", - "build:test:jest": "tsc --project ./src/test/jest/tsconfig.json", - "build:test:mocha": "tsc --project ./src/test/mocha/tsconfig.json", + "build:test:jest": "fluid-tsc commonjs --project ./src/test/jest/tsconfig.cjs.json", + "build:test:mocha": "concurrently npm:build:test:mocha:esm npm:build:test:mocha:cjs", + "build:test:mocha:cjs": "fluid-tsc commonjs --project ./src/test/mocha/tsconfig.cjs.json", + "build:test:mocha:esm": "tsc --project ./src/test/mocha/tsconfig.json", "build:test:types": "tsc --project ./src/test/types/tsconfig.json", "bump-version": "npm version minor --no-push --no-git-tag-version", "check:release-tags": "api-extractor run --config ./api-extractor-lint.json", @@ -50,7 +72,7 @@ "test:mocha:multireport": "cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha", "test:mocha:report": "npm run test:mocha -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml", "test:report": "npm run test:mocha:report && npm run test:jest:report", - "tsc": "tsc", + "tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && copyfiles -f ../../../common/build/build-common/src/cjs/package.json ./dist", "typetests:gen": "flub generate typetests --dir . -v" }, "c8": { @@ -128,18 +150,23 @@ "tasks": { "eslint": [ "tsc", - "build:test:mocha", + "build:esnext", + "build:test:mocha:esm", + "build:test:mocha:cjs", "build:test:jest", "build:test:types" ], "build:test:jest": [ "tsc" ], - "build:test:mocha": [ + "build:test:mocha:cjs": [ "tsc" ], + "build:test:mocha:esm": [ + "build:esnext" + ], "build:test:types": [ - "tsc" + "build:esnext" ] } }, diff --git a/common/lib/common-utils/src/hashFileBrowser.ts b/common/lib/common-utils/src/hashFileBrowser.ts index f0b8f0e8ea8e..f1b96d2a0294 100644 --- a/common/lib/common-utils/src/hashFileBrowser.ts +++ b/common/lib/common-utils/src/hashFileBrowser.ts @@ -55,7 +55,7 @@ export async function hashFile( if (crypto.subtle === undefined) { return import( /* webpackChunkName: "FluidFramework-HashFallback" */ - "./hashFileNode" + "./hashFileNode.js" ).then(async (m) => m.hashFile(file, algorithm, hashEncoding)); } diff --git a/common/lib/common-utils/src/hashFileNode.ts b/common/lib/common-utils/src/hashFileNode.ts index 5a37f646ee2c..3a126906dc0b 100644 --- a/common/lib/common-utils/src/hashFileNode.ts +++ b/common/lib/common-utils/src/hashFileNode.ts @@ -3,10 +3,7 @@ * Licensed under the MIT License. */ -// eslint-disable-next-line import/no-internal-modules -import sha1 from "sha.js/sha1"; -// eslint-disable-next-line import/no-internal-modules -import sha256 from "sha.js/sha256"; +import { sha1, sha256 } from "sha.js"; import type { IsoBuffer } from "./bufferNode.js"; diff --git a/common/lib/common-utils/src/rangeTracker.ts b/common/lib/common-utils/src/rangeTracker.ts index 47d6c58cf5ce..003e90d5d539 100644 --- a/common/lib/common-utils/src/rangeTracker.ts +++ b/common/lib/common-utils/src/rangeTracker.ts @@ -3,8 +3,7 @@ * Licensed under the MIT License. */ -// eslint-disable-next-line import/no-internal-modules -import cloneDeep from "lodash/cloneDeep"; +import { cloneDeep } from "lodash"; import { assert } from "./assert.js"; diff --git a/common/lib/common-utils/src/test/jest/tsconfig.json b/common/lib/common-utils/src/test/jest/tsconfig.cjs.json similarity index 62% rename from common/lib/common-utils/src/test/jest/tsconfig.json rename to common/lib/common-utils/src/test/jest/tsconfig.cjs.json index 53e4ebcede51..0f537556f4a4 100644 --- a/common/lib/common-utils/src/test/jest/tsconfig.json +++ b/common/lib/common-utils/src/test/jest/tsconfig.cjs.json @@ -1,5 +1,5 @@ { - "extends": "@fluidframework/build-common/ts-common-config.json", + "extends": "../../../../../../common/build/build-common/tsconfig.test.node16.json", "compilerOptions": { "rootDir": "./", "outDir": "../../../dist/test/jest", @@ -8,7 +8,7 @@ "include": ["./**/*"], "references": [ { - "path": "../../..", + "path": "../../../tsconfig.cjs.json", }, ], } diff --git a/common/lib/common-utils/src/test/mocha/tsconfig.cjs.json b/common/lib/common-utils/src/test/mocha/tsconfig.cjs.json new file mode 100644 index 000000000000..0b1f5e5bcfcf --- /dev/null +++ b/common/lib/common-utils/src/test/mocha/tsconfig.cjs.json @@ -0,0 +1,12 @@ +{ + // This config must be used in a "type": "commonjs" environment. (Use fluid-tsc commonjs.) + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../../dist/test/mocha", + }, + "references": [ + { + "path": "../../../tsconfig.cjs.json", + }, + ], +} diff --git a/common/lib/common-utils/src/test/mocha/tsconfig.json b/common/lib/common-utils/src/test/mocha/tsconfig.json index db956b71efd0..1824fc98c859 100644 --- a/common/lib/common-utils/src/test/mocha/tsconfig.json +++ b/common/lib/common-utils/src/test/mocha/tsconfig.json @@ -1,9 +1,8 @@ { - "extends": "@fluidframework/build-common/ts-common-config.json", - "exclude": ["dist", "node_modules"], + "extends": "../../../../../../common/build/build-common/tsconfig.test.node16.json", "compilerOptions": { "rootDir": "./", - "outDir": "../../../dist/test/mocha", + "outDir": "../../../lib/test/mocha", "types": ["node", "mocha"], }, "include": ["./**/*"], diff --git a/common/lib/common-utils/src/test/types/tsconfig.json b/common/lib/common-utils/src/test/types/tsconfig.json index 9ea9798bcd75..0ca179fb0702 100644 --- a/common/lib/common-utils/src/test/types/tsconfig.json +++ b/common/lib/common-utils/src/test/types/tsconfig.json @@ -1,9 +1,9 @@ { - "extends": "@fluidframework/build-common/ts-common-config.json", + "extends": "../../../../../../common/build/build-common/tsconfig.test.node16.json", "exclude": ["dist", "node_modules"], "compilerOptions": { "rootDir": "./", - "outDir": "../../../dist/test/types", + "outDir": "../../../lib/test/types", }, "include": ["./**/*"], "references": [ diff --git a/common/lib/common-utils/tsconfig.cjs.json b/common/lib/common-utils/tsconfig.cjs.json new file mode 100644 index 000000000000..773d0806da58 --- /dev/null +++ b/common/lib/common-utils/tsconfig.cjs.json @@ -0,0 +1,7 @@ +{ + // This config must be used in a "type": "commonjs" environment. (Use fluid-tsc commonjs.) + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./dist", + }, +} diff --git a/common/lib/common-utils/tsconfig.esnext.json b/common/lib/common-utils/tsconfig.esnext.json deleted file mode 100644 index 1ea62d46b20b..000000000000 --- a/common/lib/common-utils/tsconfig.esnext.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./lib", - "module": "esnext", - }, -} diff --git a/common/lib/common-utils/tsconfig.json b/common/lib/common-utils/tsconfig.json index 9e92087afa65..2737efffe181 100644 --- a/common/lib/common-utils/tsconfig.json +++ b/common/lib/common-utils/tsconfig.json @@ -1,10 +1,11 @@ { - "extends": "@fluidframework/build-common/ts-common-config.json", + "extends": "../../../common/build/build-common/tsconfig.node16.json", "compilerOptions": { - "composite": true, "rootDir": "./src", - "outDir": "./dist", - "baseUrl": ".", + "outDir": "./lib", + // This package is deprecated; relax the stricter semver-ts checks rather than rewrite the source. + "exactOptionalPropertyTypes": false, + "noUncheckedIndexedAccess": false, }, "include": ["src/**/*"], "exclude": ["src/test/**/*"], From 263809e40936ba8563fb5084e73baae3671bf501 Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Thu, 14 May 2026 21:12:59 -0700 Subject: [PATCH 03/19] common-utils: align mocha tsconfig types order with client-utils Cosmetic only \u2014 reorder the mocha tsconfig types array to ["mocha", "node"] to match client-utils. attw was attempted as a follow-up but reverted: adding the @arethetypeswrong/cli devDependency forces a lockfile refresh, which trips the workspace's no-downgrade trust policy on a pre-existing rewire@5.0.0 \u2192 eslint@6.8.0 \u2192 cross-spawn@6.0.6 \u2192 semver@5.7.2 chain. Bumping rewire is out of scope for this change. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- common/lib/common-utils/src/test/mocha/tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/lib/common-utils/src/test/mocha/tsconfig.json b/common/lib/common-utils/src/test/mocha/tsconfig.json index 1824fc98c859..ae4cd44c6277 100644 --- a/common/lib/common-utils/src/test/mocha/tsconfig.json +++ b/common/lib/common-utils/src/test/mocha/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "rootDir": "./", "outDir": "../../../lib/test/mocha", - "types": ["node", "mocha"], + "types": ["mocha", "node"], }, "include": ["./**/*"], "references": [ From f6d007a85c6a2b9f7b75065d28ea7e7170bb5d24 Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Thu, 14 May 2026 21:16:12 -0700 Subject: [PATCH 04/19] common-utils: rename jest configs to .cjs The package now declares "type": "module", which makes Node treat .js files as ESM. Both jest config files use CommonJS module.exports syntax, so they fail to load with: ReferenceError: module is not defined in ES module scope Rename them to .cjs so Node treats them as CommonJS, matching the client-utils convention. No content changes \u2014 jest auto-discovers both .cjs files by name. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../{jest-puppeteer.config.js => jest-puppeteer.config.cjs} | 0 common/lib/common-utils/{jest.config.js => jest.config.cjs} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename common/lib/common-utils/{jest-puppeteer.config.js => jest-puppeteer.config.cjs} (100%) rename common/lib/common-utils/{jest.config.js => jest.config.cjs} (100%) diff --git a/common/lib/common-utils/jest-puppeteer.config.js b/common/lib/common-utils/jest-puppeteer.config.cjs similarity index 100% rename from common/lib/common-utils/jest-puppeteer.config.js rename to common/lib/common-utils/jest-puppeteer.config.cjs diff --git a/common/lib/common-utils/jest.config.js b/common/lib/common-utils/jest.config.cjs similarity index 100% rename from common/lib/common-utils/jest.config.js rename to common/lib/common-utils/jest.config.cjs From 18d2fb25c363c55981fa441a87c213e5ddc30f4a Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Thu, 14 May 2026 21:18:29 -0700 Subject: [PATCH 05/19] common-utils: delegate top-level build/lint scripts to fluid-build Replace the legacy npm-script orchestration of build, build:compile, build:commonjs, lint, and lint:fix with the fluid-build task graph form used by client-utils and protocol-definitions: build -> fluid-build . --task build build:commonjs-> fluid-build . --task commonjs build:compile -> fluid-build . --task compile lint -> fluid-build . --task lint lint:fix -> fluid-build . --task lint:fix The existing fluidBuild.tasks block in package.json already declares the dependency graph, so fluid-build picks it up unchanged. Verified `npm run build` runs all 12 tasks, plus mocha (53), jest (19), and lint stay green. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- common/lib/common-utils/package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/common/lib/common-utils/package.json b/common/lib/common-utils/package.json index 801b4e69ca0a..96219354702f 100644 --- a/common/lib/common-utils/package.json +++ b/common/lib/common-utils/package.json @@ -39,9 +39,9 @@ "main": "lib/indexBrowser.js", "types": "lib/indexBrowser.d.ts", "scripts": { - "build": "npm run build:compile && concurrently npm:lint npm:build:docs", - "build:commonjs": "npm run tsc && npm run typetests:gen && npm run build:test", - "build:compile": "concurrently npm:build:commonjs npm:build:esnext", + "build": "fluid-build . --task build", + "build:commonjs": "fluid-build . --task commonjs", + "build:compile": "fluid-build . --task compile", "build:docs": "api-extractor run --local --typescript-compiler-folder ./node_modules/typescript && copyfiles -u 1 \"./_api-extractor-temp/doc-models/*\" ../../../_api-extractor-temp/", "build:esnext": "tsc --project ./tsconfig.json", "build:test": "concurrently npm:build:test:mocha npm:build:test:jest npm:build:test:types", @@ -60,8 +60,8 @@ "eslint": "eslint --format stylish src", "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout", "format": "npm run prettier:fix", - "lint": "npm run prettier && npm run check:release-tags && npm run eslint", - "lint:fix": "npm run prettier:fix && npm run eslint:fix", + "lint": "fluid-build . --task lint", + "lint:fix": "fluid-build . --task lint:fix", "prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore", "prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore", "test": "npm run test:mocha && npm run test:jest", From cff5636d5d845c754c2cc7e1c301230b081330d1 Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Thu, 14 May 2026 21:34:19 -0700 Subject: [PATCH 06/19] common-utils: bump build-tools to 0.65, fix exports surface - Bump @fluid-tools/build-cli and @fluidframework/build-tools from ^0.63.0 to ^0.65.0 (matches the workspace-wide bump in 7f856ce557cef04023a6dcfbb7eebbeedd30b95d). - Add the trust-policy exclusions that bump pulls in transitively (@octokit/endpoint@9.0.6, semver@5.7.2 || 6.3.1). - Regenerate src/test/types/validateCommonUtilsPrevious.generated.ts with the new build-cli; the only changes are a header tweak and a switch from a relative import to a package self-import: -import type * as current from "../../index.js"; +import type * as current from "@fluidframework/common-utils"; That self-import surfaced a real bug in our modernized exports map. The map points each platform entry directly at the platform file: node import -> lib/indexNode.js default import -> lib/indexBrowser.js but those two files only carried the platform-specific Buffer/hash/ performance bindings. The bulk of the API (assert, Heap, NumberComparer, toUtf8, ...) lived in index.ts and was unreachable through the package self-import. Fix by adopting the client-utils convention: - index.ts is now a stub that just re-exports indexNode (kept only so the type-test generator can resolve a canonical entry). - indexNode.ts and indexBrowser.ts each list the full public API for their platform, with bufferNode/hashFileNode swapped for bufferBrowser/hashFileBrowser. Side effect: api-report now records "(No @packageDocumentation comment for this package)" because the comment moved off the canonical entry; api-extractor only inspects that one. This matches the existing client-utils api-report layout. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../api-report/common-utils.alpha.api.md | 2 + .../api-report/common-utils.beta.api.md | 2 + .../api-report/common-utils.public.api.md | 2 + common/lib/common-utils/package.json | 4 +- common/lib/common-utils/pnpm-lock.yaml | 1668 +++-------------- common/lib/common-utils/pnpm-workspace.yaml | 18 +- common/lib/common-utils/src/index.ts | 51 +- common/lib/common-utils/src/indexBrowser.ts | 51 +- common/lib/common-utils/src/indexNode.ts | 51 +- .../validateCommonUtilsPrevious.generated.ts | 4 +- 10 files changed, 404 insertions(+), 1449 deletions(-) diff --git a/common/lib/common-utils/api-report/common-utils.alpha.api.md b/common/lib/common-utils/api-report/common-utils.alpha.api.md index ff2a373d6748..3199e2f4e471 100644 --- a/common/lib/common-utils/api-report/common-utils.alpha.api.md +++ b/common/lib/common-utils/api-report/common-utils.alpha.api.md @@ -4,4 +4,6 @@ ```ts +// (No @packageDocumentation comment for this package) + ``` diff --git a/common/lib/common-utils/api-report/common-utils.beta.api.md b/common/lib/common-utils/api-report/common-utils.beta.api.md index 2e5a1b5903a6..2dca11462cb6 100644 --- a/common/lib/common-utils/api-report/common-utils.beta.api.md +++ b/common/lib/common-utils/api-report/common-utils.beta.api.md @@ -4,4 +4,6 @@ ```ts +// (No @packageDocumentation comment for this package) + ``` diff --git a/common/lib/common-utils/api-report/common-utils.public.api.md b/common/lib/common-utils/api-report/common-utils.public.api.md index ac63dff83832..26e52b57ad61 100644 --- a/common/lib/common-utils/api-report/common-utils.public.api.md +++ b/common/lib/common-utils/api-report/common-utils.public.api.md @@ -4,4 +4,6 @@ ```ts +// (No @packageDocumentation comment for this package) + ``` diff --git a/common/lib/common-utils/package.json b/common/lib/common-utils/package.json index 96219354702f..fbe41ad3af06 100644 --- a/common/lib/common-utils/package.json +++ b/common/lib/common-utils/package.json @@ -105,9 +105,9 @@ }, "devDependencies": { "@eslint/js": "^9.39.0", - "@fluid-tools/build-cli": "^0.63.0", + "@fluid-tools/build-cli": "^0.65.0", "@fluidframework/build-common": "^2.0.3", - "@fluidframework/build-tools": "^0.63.0", + "@fluidframework/build-tools": "^0.65.0", "@fluidframework/common-utils-previous": "npm:@fluidframework/common-utils@1.0.0", "@microsoft/api-extractor": "7.58.1", "@rushstack/eslint-plugin": "~0.22.1", diff --git a/common/lib/common-utils/pnpm-lock.yaml b/common/lib/common-utils/pnpm-lock.yaml index ab96942da7e7..709fd59be87a 100644 --- a/common/lib/common-utils/pnpm-lock.yaml +++ b/common/lib/common-utils/pnpm-lock.yaml @@ -60,14 +60,14 @@ importers: specifier: ^9.39.0 version: 9.39.2 '@fluid-tools/build-cli': - specifier: ^0.63.0 - version: 0.63.0(@types/node@22.19.17)(encoding@0.1.13) + specifier: ^0.65.0 + version: 0.65.0(@types/node@22.19.17)(encoding@0.1.13) '@fluidframework/build-common': specifier: ^2.0.3 version: 2.0.3 '@fluidframework/build-tools': - specifier: ^0.63.0 - version: 0.63.0(@types/node@22.19.17) + specifier: ^0.65.0 + version: 0.65.0(@types/node@22.19.17) '@fluidframework/common-utils-previous': specifier: npm:@fluidframework/common-utils@1.0.0 version: '@fluidframework/common-utils@1.0.0' @@ -351,10 +351,6 @@ packages: resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} - '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} - '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -397,31 +393,31 @@ packages: resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@fluid-tools/build-cli@0.63.0': - resolution: {integrity: sha512-uojCOPIEhjtGCLd69RdQAvfJ55scFgyXaltTwoD19z6Q3JTn4FRnLfl2t00sAXHB5rCLoff6fDeIJ7blRElOpg==} - engines: {node: '>=20.19.0'} + '@fluid-tools/build-cli@0.65.0': + resolution: {integrity: sha512-mkSliGz43IzqyaCvcrj3tdFwtdVEJRpgzlPHSjIxFL5Wz3EeAzjzFceGUbsiW+tT1aNcR9a+6fSXG0MFDVS41w==} + engines: {node: '>=22.22.2'} hasBin: true - '@fluid-tools/build-infrastructure@0.63.0': - resolution: {integrity: sha512-YuOvII++mJ18PVTW8A1phqvk/6/NgKJ6n940exaXBgKiXqcumLWDKW5Bmlr0w9FK8+iYuvmjVcDJCKMof6CUlg==} + '@fluid-tools/build-infrastructure@0.65.0': + resolution: {integrity: sha512-goAa8bHbBqUt/zAjXbPJ2EkpgDOAAtgWDDFbhZLWRdvJFX+u8ElqvyHnSXshKQG64cEW/7qgKeaCmr+/SreAXg==} hasBin: true - '@fluid-tools/version-tools@0.63.0': - resolution: {integrity: sha512-XckRsHRPKunrcD4CtbqpHFbCrH/kIbRuyohSEckeTh2GVxaZW4eUj3NxyaKCn/hUq9qtGvhDhBbbfGlA/G2HiQ==} - engines: {node: '>=20.19.0'} + '@fluid-tools/version-tools@0.65.0': + resolution: {integrity: sha512-C8BNi0zK6h7qGy+bszrLAxfg0GAloYInOq73iNJ26y6TNHUtvGY6xiGi22CknElYcG6sLDl5bNiE08nhUtBetg==} + engines: {node: '>=22.22.2'} hasBin: true '@fluidframework/build-common@2.0.3': resolution: {integrity: sha512-1LU/2uyCeMxf63z5rhFOFEBvFyBogZ7ZXwzXLxyBhSgq/fGiq8PLjBW7uX++r0LcVCdaWyopf7w060eJpANYdg==} hasBin: true - '@fluidframework/build-tools@0.63.0': - resolution: {integrity: sha512-Zpp1X6gETBXSIP9mkhBjKTpY1qkNINQIdEhYRoo6bvnZ50mvSncEOBgHlEhS3vQh3vYc2XwUT8sGuVMVJCKhoA==} - engines: {node: '>=20.19.0'} + '@fluidframework/build-tools@0.65.0': + resolution: {integrity: sha512-Cqd4/tsSIFKqWbKB4acxt0QKQRgOK4kPTtn7qlEo4ft7en6H1YMDlE1fGdP6+vtgzodeXtZZhSUGsJW3jPv0zg==} + engines: {node: '>=22.22.2'} hasBin: true - '@fluidframework/bundle-size-tools@0.63.0': - resolution: {integrity: sha512-S6KbzJVfVOYAMWwrWOf05K/JWdpVt7b+hAdP2g8vC89hvwUcGjwtxxHEsZYcPJx/aQ+xtTPcjiqNCqnSxiEu3Q==} + '@fluidframework/bundle-size-tools@0.65.0': + resolution: {integrity: sha512-rI6Kdf3BpsYhUmyTRSD3Cude0AZzcPuvH13CsHs+kvEGz4dJWklHoZK8l3bvNz/mj+h7MHz2Gh8DHg5zNJAM8g==} '@fluidframework/common-definitions@0.20.1': resolution: {integrity: sha512-KaoQ7w2MDH5OeRKVatL5yVOCFg+9wD6bLSLFh1/TV1EZM46l49iBqO7UVjUtPE6BIm0jvvOzJXULGVSpzokX3g==} @@ -429,9 +425,6 @@ packages: '@fluidframework/common-utils@1.0.0': resolution: {integrity: sha512-O3UoZ2dQR/ZWMXTSbDcTH93WMqHmEKoYhYMn6cybESswmMOA2E9UF3B2TkJ+aofBLOLllDKXXGtuhPmu/9rTqQ==} - '@gar/promisify@1.1.3': - resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - '@gitbeaker/core@38.12.1': resolution: {integrity: sha512-8XMVcBIdVAAoxn7JtqmZ2Ee8f+AZLcCPmqEmPFOXY2jPS84y/DERISg/+sbhhb18iRy+ZsZhpWgQ/r3CkYNJOQ==} engines: {node: '>=18.0.0'} @@ -444,6 +437,50 @@ packages: resolution: {integrity: sha512-9KMSDtJ/sIov+5pcH+CAfiJXSiuYgN0KLKQFg0HHWR2DwcjGYkcbmhoZcWsaOWOqq4kihN1l7wX91UoRxxKKTQ==} engines: {node: '>=18.0.0'} + '@github/copilot-darwin-arm64@1.0.47': + resolution: {integrity: sha512-sGuN+7VfBjOTbPkyKFm0dPfp1hwyNsJVkNsV+3xmOwVsGy3nhROc76sQ5SWWSmyDGl7H58KnpPazlSDwbpf4PQ==} + cpu: [arm64] + os: [darwin] + hasBin: true + + '@github/copilot-darwin-x64@1.0.47': + resolution: {integrity: sha512-nVHYbzvOau5zy4nONWZPXROIrqzd7DhY12bMkE7spLe7lj0Sh6MFtTdPpMT7kkaObEikGYLTrZtOUpguwqHkmA==} + cpu: [x64] + os: [darwin] + hasBin: true + + '@github/copilot-linux-arm64@1.0.47': + resolution: {integrity: sha512-7aDoE6pnSGcCTuPdJKyHfzif/Rj1z5UE0gLMHHQMo1QIYJkUZFX7mV8Ng4zB+2edq8lNL5DiYRcbFajV54ibSg==} + cpu: [arm64] + os: [linux] + hasBin: true + + '@github/copilot-linux-x64@1.0.47': + resolution: {integrity: sha512-wB5ekOdoxM/6Ogguk54fqJTHTRJkXwUIyzrbYaMy7zANE82jeRE1PQqs+5SdUZXq2IBMZIN1vq6bM56gpb54qg==} + cpu: [x64] + os: [linux] + hasBin: true + + '@github/copilot-sdk@0.2.2': + resolution: {integrity: sha512-VZCqS08YlUM90bUKJ7VLeIxgTTEHtfXBo84T1IUMNvXRREX2csjPH6Z+CPw3S2468RcCLvzBXcc9LtJJTLIWFw==} + engines: {node: '>=20.0.0'} + + '@github/copilot-win32-arm64@1.0.47': + resolution: {integrity: sha512-AenPXpTeXApOh25biS+Vmc1Uau78OLHxeXjXDF6Po07xWO7fVzorEK0hnSoD6xmpjptvP2MDSMk4as7jyvM0sQ==} + cpu: [arm64] + os: [win32] + hasBin: true + + '@github/copilot-win32-x64@1.0.47': + resolution: {integrity: sha512-35bOBTTIm31rgbvFDogAMojWMSV6sLTd3mGjLl1Lf/d0KZGCGLqWXAYMAcV3grEjiAEXxlLLzNs8OfBR/9OdZg==} + cpu: [x64] + os: [win32] + hasBin: true + + '@github/copilot@1.0.47': + resolution: {integrity: sha512-U4WrajOOjjMVleqIRvRt+kDsjYQPLHxtJMMtdzW2N18dbRddlxqN+qo6ZOxOTy3tks2+YI+G89zyO1qpxpuWSg==} + hasBin: true + '@hapi/hoek@9.3.0': resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} @@ -758,10 +795,6 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - '@isaacs/fs-minipass@4.0.1': - resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} - engines: {node: '>=18.0.0'} - '@istanbuljs/load-nyc-config@1.1.0': resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} engines: {node: '>=8'} @@ -907,66 +940,36 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@npmcli/fs@2.1.2': - resolution: {integrity: sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - '@npmcli/fs@3.1.0': - resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - '@npmcli/git@4.0.4': - resolution: {integrity: sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - '@npmcli/installed-package-contents@2.0.2': - resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - - '@npmcli/move-file@2.0.1': - resolution: {integrity: sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This functionality has been moved to @npmcli/fs - - '@npmcli/node-gyp@3.0.0': - resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - '@npmcli/promise-spawn@6.0.2': - resolution: {integrity: sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - '@npmcli/run-script@6.0.0': - resolution: {integrity: sha512-ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + '@oclif/core@4.11.2': + resolution: {integrity: sha512-LWDalCgy+hYyAkLa9sMIXMXk6ws5RzQhVnkmfXtVIIyEEYigbXQ/9/x+s76p53MiXxNc6SJB7lfwkPF+SdzfMQ==} + engines: {node: '>=18.0.0'} - '@oclif/core@4.8.0': - resolution: {integrity: sha512-jteNUQKgJHLHFbbz806aGZqf+RJJ7t4gwF4MYa8fCwCxQ8/klJNWc0MvaJiBebk7Mc+J39mdlsB4XraaCKznFw==} + '@oclif/core@4.9.0': + resolution: {integrity: sha512-k/ntRgDcUprTT+aaNoF+whk3cY3f9fRD2lkF6ul7JeCUg2MaMXVXZXfbRhJCfsiX51X8/5Pqo0LGdO9SLYXNHg==} engines: {node: '>=18.0.0'} - '@oclif/plugin-autocomplete@3.2.39': - resolution: {integrity: sha512-OwAZNnSpuDjKyhAwoOJkFWxGswPFKBB4hpNIMsj6PUtbKwGBPmD+2wGGPgTsDioVwLmUELSb2bZ+1dxHfvXmvg==} + '@oclif/plugin-autocomplete@3.2.49': + resolution: {integrity: sha512-+rrAZ468bW/B9uVrn6sEnFYepy3M1N/BWht8mHzhFIFCIduPSoE+8MweROxZLOGBZrXGWt0iavuPQmy0eaXRfQ==} engines: {node: '>=18.0.0'} - '@oclif/plugin-commands@4.1.38': - resolution: {integrity: sha512-cv2hRvS5wLD9Ai0cxBuAS7r/4U7GDj9DiC66onU5Eq0mrYW0YMQH8eHEk/sRAo5Wdt5wAA1ZrjoWx/53g1xu9w==} + '@oclif/plugin-commands@4.1.52': + resolution: {integrity: sha512-D0TtZffJEPlkP6pWbhDHG5Yr8nkMA04UX0CCG1VmcFBxSkPUOmG/9PRnPobo8fFahG72z8hqcBoq/jmptJgqCw==} engines: {node: '>=18.0.0'} - '@oclif/plugin-help@6.2.36': - resolution: {integrity: sha512-NBQIg5hEMhvdbi4mSrdqRGl5XJ0bqTAHq6vDCCCDXUcfVtdk3ZJbSxtRVWyVvo9E28vwqu6MZyHOJylevqcHbA==} + '@oclif/plugin-help@6.2.48': + resolution: {integrity: sha512-nvGLBtUZUWrHfoAEDRsRZUHKVwptyZ6F+MErdVRLQBo3dja0GCZH8DE33dA7mBux2KOmbxGqop15gyud9HZYhQ==} engines: {node: '>=18.0.0'} - '@oclif/plugin-not-found@3.2.73': - resolution: {integrity: sha512-2bQieTGI9XNFe9hKmXQjJmHV5rZw+yn7Rud1+C5uLEo8GaT89KZbiLTJgL35tGILahy/cB6+WAs812wjw7TK6w==} + '@oclif/plugin-not-found@3.2.85': + resolution: {integrity: sha512-Si18rRKWknlvQ5anmFbQz9oKBae5/l/Npreuf05xdoNWfOV1J97Z7cpzqBlHbldmxCIiDRgmDKuCBBi4XN6ACA==} engines: {node: '>=18.0.0'} - '@oclif/plugin-warn-if-update-available@3.1.53': - resolution: {integrity: sha512-ALxKMNFFJQJV1Z2OMVTV+q7EbKHhnTAPcTgkgHeXCNdW5nFExoXuwusZLS4Zv2o83j9UoDx1R/CSX7QZVgEHTA==} + '@oclif/plugin-warn-if-update-available@3.1.64': + resolution: {integrity: sha512-+BauVC7jeMRs6NPvFFO1KHdSIVL10ruz6W3laKdN0i7PjSo14clmQe+DUJVTADI5Z3eYFYnsISwdDbOU/2pnYQ==} engines: {node: '>=18.0.0'} - '@oclif/table@0.5.1': - resolution: {integrity: sha512-k/68jl8SqJEGh+SgUYS93GK+G+EIWENuQQfJgdQBP+DP7G3evGRbe9ajdSVaL5ldMOfgZ4se4mfrEkiEVIiVvQ==} + '@oclif/table@0.5.7': + resolution: {integrity: sha512-iS7gXzOhUf2toij0pxkcD6sPnXzr/j4eLugHwjSKI2+WgytjUycP7A3i6OIvXDrIGMuq8+S7wgZ7tCC1I18q+Q==} engines: {node: '>=18.0.0'} '@octokit/auth-token@4.0.0': @@ -1089,6 +1092,10 @@ packages: resolution: {integrity: sha512-yfRcuupmxxeDOSxvw4g+wFCrGiPD0L32f5WMzqMXp7Rl93EOCdFiDcaSNnZ10Up9GdNqkj70UTa8hfhPFphaZA==} engines: {node: '>=12'} + '@pnpm/npm-conf@3.0.2': + resolution: {integrity: sha512-h104Kh26rR8tm+a3Qkc5S4VLYint3FE48as7+/5oCEcKR2idC/pF1G6AhIXKI+eHPJa/3J9i5z0Al47IeGHPkA==} + engines: {node: '>=12'} + '@puppeteer/browsers@2.4.0': resolution: {integrity: sha512-x8J1csfIygOwf6D6qUAZ0ASk3z63zPb7wkNeHRerCMh82qWKUrOgkuP005AJC8lDL6/evtXETGEJVcwykKT4/g==} engines: {node: '>=18'} @@ -1144,10 +1151,6 @@ packages: '@sideway/pinpoint@2.0.0': resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} - '@sigstore/protobuf-specs@0.1.0': - resolution: {integrity: sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -1202,14 +1205,6 @@ packages: '@tsconfig/node16@1.0.3': resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} - '@tufjs/canonical-json@1.0.0': - resolution: {integrity: sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - '@tufjs/models@1.0.3': - resolution: {integrity: sha512-mkFEqqRisi13DmR5pX4x+Zk97EiU8djTtpNW1GeuX410y/raAsq/T3ZCjwoRIZ8/cIBfW0olK/sywlAiWevDVw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} @@ -1310,9 +1305,6 @@ packages: '@types/react@18.3.23': resolution: {integrity: sha512-/LDXMQh55EzZQ0uVAZmKKhfENivEvWz6E+EYzh+/MCjMhNsotd+ZHhBGIjFDTi6+fz0OhQQQLbTgdQIxxCsC0w==} - '@types/semver-utils@1.1.3': - resolution: {integrity: sha512-T+YwkslhsM+CeuhYUxyAjWm7mJ5am/K10UX40RuA6k6Lc7eGtq8iY2xOzy7Vq0GOqhl/xZl5l2FwURZMTPTUww==} - '@types/sinon@17.0.3': resolution: {integrity: sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==} @@ -1441,6 +1433,7 @@ packages: '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + deprecated: Potential CWE-502 - Update to 1.3.1 or higher '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -1493,9 +1486,6 @@ packages: '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - acorn-import-phases@1.0.4: resolution: {integrity: sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==} engines: {node: '>=10.13.0'} @@ -1529,14 +1519,6 @@ packages: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} - agentkeepalive@4.3.0: - resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==} - engines: {node: '>= 8.0.0'} - - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - ajv-draft-04@1.0.0: resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} peerDependencies: @@ -1572,9 +1554,6 @@ packages: ajv@8.18.0: resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -1623,14 +1602,6 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - aproba@2.0.0: - resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - - are-we-there-yet@3.0.1: - resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This package is no longer supported. - arg-parser@1.2.0: resolution: {integrity: sha512-qeFIPI9MQUPLugbbvBczsvqCIOuat8yHZ66mdlP5rbJhImRoCgFn2o9/kNlF5KHqaMZw6vVugIAWyJfgkbqG1w==} engines: {node: '>=0.8.0'} @@ -1816,10 +1787,6 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - boxen@7.0.2: - resolution: {integrity: sha512-1Z4UJabXUP1/R9rLpoU3O2lEMnG3pPLAs/ZD2lF3t2q7qD5lM8rqbtnvtvm4N0wEyNlE+9yZVTVAGmd1V5jabg==} - engines: {node: '>=14.16'} - brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -1878,14 +1845,6 @@ packages: monocart-coverage-reports: optional: true - cacache@16.1.3: - resolution: {integrity: sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - cacache@17.0.5: - resolution: {integrity: sha512-Y/PRQevNSsjAPWykl9aeGz8Pr+OI6BYM9fYDNMvOkuUiG9IhG4LEmaYrZZZvioMUEQ+cBCxT0v8wrnCURccyKA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - cacheable-lookup@7.0.0: resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} engines: {node: '>=14.16'} @@ -1921,10 +1880,6 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - camelcase@7.0.1: - resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} - engines: {node: '>=14.16'} - caniuse-lite@1.0.30001759: resolution: {integrity: sha512-Pzfx9fOKoKvevQf8oCXoyNRQ5QyxJj+3O0Rqx2V5oxT61KGx8+n6hV/IUyJeifUci2clnmmKVpvtiqRzgiWjSw==} @@ -1946,6 +1901,10 @@ packages: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + change-case@4.1.2: resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} @@ -1969,14 +1928,6 @@ packages: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} - chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} - - chownr@3.0.0: - resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} - engines: {node: '>=18'} - chrome-trace-event@1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} @@ -2004,10 +1955,6 @@ packages: resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} engines: {node: '>=4'} - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - clean-stack@3.0.1: resolution: {integrity: sha512-lR9wNiMRcVQjSB3a7xXGLuz4cr4wJuuXlaAEbRutGowQTmlp7R72/DOgN21e8jdwblMWl9UOJMJXarX94pzKdg==} engines: {node: '>=10'} @@ -2028,10 +1975,6 @@ packages: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} - cli-table3@0.6.3: - resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} - engines: {node: 10.* || >= 12.*} - cli-truncate@4.0.0: resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} engines: {node: '>=18'} @@ -2051,6 +1994,10 @@ packages: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} + cliui@9.0.1: + resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} + engines: {node: '>=20'} + co@4.6.0: resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} @@ -2078,10 +2025,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} - hasBin: true - colors@1.4.0: resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} engines: {node: '>=0.1.90'} @@ -2090,10 +2033,6 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} - commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -2116,13 +2055,6 @@ packages: config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} - configstore@6.0.0: - resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} - engines: {node: '>=12'} - - console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - constant-case@3.0.4: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} @@ -2189,10 +2121,6 @@ packages: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - crypto-random-string@4.0.0: - resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} - engines: {node: '>=12'} - csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -2291,13 +2219,6 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} - delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - deprecation@2.3.1: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} @@ -2366,10 +2287,6 @@ packages: dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} - dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} - dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} @@ -2422,9 +2339,6 @@ packages: resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} engines: {node: '>=18'} - err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} @@ -2463,10 +2377,6 @@ packages: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - escape-goat@4.0.0: - resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} - engines: {node: '>=12'} - escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -2675,9 +2585,6 @@ packages: fast-levenshtein@3.0.0: resolution: {integrity: sha512-hKKNajm46uNmTlhHSyZkmToAc56uZJwYq7yrciZjqOxnlfQwERDQJmHPUp7m1m9wx8vgOe8IaCKZ5Kv2k1DdCQ==} - fast-memoize@2.5.2: - resolution: {integrity: sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==} - fast-uri@3.1.0: resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} @@ -2799,10 +2706,6 @@ packages: resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} engines: {node: '>= 6'} - fp-and-or@0.1.4: - resolution: {integrity: sha512-+yRYRhpnFPWXSly/6V4Lw9IfOV26uu30kynGJ03PW+MnjOEQe45RZ141QcS0aJehYBYA50GfCDnsRbFJdhssRw==} - engines: {node: '>=10'} - fs-exists-sync@0.1.0: resolution: {integrity: sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==} engines: {node: '>=0.10.0'} @@ -2815,14 +2718,6 @@ packages: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} engines: {node: '>=6 <7 || >=8'} - fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - - fs-minipass@3.0.1: - resolution: {integrity: sha512-MhaJDcFRTuLidHrIttu0RDGyyXs/IYHVmlcxfLAEFIWjc1vdLAkdwT7Ace2u7DbitWC0toKMl5eJZRYNVreIMw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -2844,11 +2739,6 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - gauge@4.0.4: - resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This package is no longer supported. - generator-function@2.0.1: resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} engines: {node: '>= 0.4'} @@ -2865,6 +2755,10 @@ packages: resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} + get-east-asian-width@1.6.0: + resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} + engines: {node: '>=18'} + get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} @@ -2877,10 +2771,6 @@ packages: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} - get-stdin@8.0.0: - resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} - engines: {node: '>=10'} - get-stdin@9.0.0: resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} engines: {node: '>=12'} @@ -2939,15 +2829,6 @@ packages: engines: {node: '>=12'} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - glob@9.3.5: - resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} - engines: {node: '>=16 || 14 >=14.17'} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - - global-dirs@3.0.1: - resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} - engines: {node: '>=10'} - global-modules@0.2.3: resolution: {integrity: sha512-JeXuCbvYzYXcwE6acL9V2bAOeSIGl4dD+iwLY9iUx2VBJJ80R18HCn+JCwHM9Oegdfya3lEkGCdaRkSyc10hDA==} engines: {node: '>=0.10.0'} @@ -2988,10 +2869,6 @@ packages: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} - got@12.6.0: - resolution: {integrity: sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==} - engines: {node: '>=14.16'} - got@13.0.0: resolution: {integrity: sha512-XfBk1CxOOScDcMr9O1yKkNaQyy865NbYs+F7dr4H0LZMVgCj2Le59k6PqbNHoL5ToeaEQUYh6c6yMfVcc6SJxA==} engines: {node: '>=16'} @@ -3037,13 +2914,6 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - - has-yarn@3.0.0: - resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -3062,14 +2932,6 @@ packages: hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - hosted-git-info@5.2.1: - resolution: {integrity: sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - hosted-git-info@6.1.1: - resolution: {integrity: sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hosted-git-info@7.0.2: resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} engines: {node: ^16.14.0 || >=18.0.0} @@ -3112,9 +2974,6 @@ packages: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - hyperlinker@1.0.0: resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==} engines: {node: '>=4'} @@ -3134,10 +2993,6 @@ packages: ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore-walk@6.0.2: - resolution: {integrity: sha512-ezmQ1Dg2b3jVZh2Dh+ar6Eu2MqNSTkyb32HU2MAQQQX9tKM3q/UQ/9lf03lQ5hW+fOeoMnwxwkleZ0xcNp0/qg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - ignore@4.0.6: resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} engines: {node: '>= 4'} @@ -3178,9 +3033,6 @@ packages: resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} engines: {node: '>=12'} - infer-owner@1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} - inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -3191,14 +3043,6 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - ini@2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} - - ini@4.1.1: - resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - ini@5.0.0: resolution: {integrity: sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==} engines: {node: ^18.17.0 || >=20.5.0} @@ -3262,10 +3106,6 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true - is-core-module@2.16.1: resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} @@ -3328,13 +3168,6 @@ packages: engines: {node: '>=18'} hasBin: true - is-installed-globally@0.4.0: - resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} - engines: {node: '>=10'} - - is-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - is-map@2.0.3: resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} engines: {node: '>= 0.4'} @@ -3343,10 +3176,6 @@ packages: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} - is-npm@6.0.0: - resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-number-object@1.1.1: resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} @@ -3355,14 +3184,6 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - is-plain-obj@2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} @@ -3403,9 +3224,6 @@ packages: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} - is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} @@ -3430,10 +3248,6 @@ packages: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} - is-yarn-global@0.4.1: - resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} - engines: {node: '>=12'} - isarray@0.0.1: resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} @@ -3684,13 +3498,6 @@ packages: json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - json-parse-even-better-errors@3.0.2: - resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - json-parse-helpfulerror@1.0.3: - resolution: {integrity: sha512-XgP0FGR77+QhUxjXkwOMkC94k3WtqEBfcnjWqhRd82qTat4SWKRE+9kUnynz/shm3I4ea2+qISvTIeGTNU7kJg==} - json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -3715,13 +3522,6 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - jsonlines@0.1.1: - resolution: {integrity: sha512-ekDrAGso79Cvf+dtm+mL8OBI2bmAOt3gssYs833De/C9NmIpWDWyUO4zPgB5x2/OhY366dkhgfPMYfwZF7yOZA==} - - jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - jsonpointer@5.0.1: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} @@ -3757,18 +3557,10 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} - kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} - ky@1.8.1: resolution: {integrity: sha512-7Bp3TpsE+L+TARSnnDpk3xg8Idi8RwSLdj6CMbNWoOARIrGrbuLGusV0dYwbZOm4bB3jHNxSw8Wk/ByDqJEnDw==} engines: {node: '>=18'} - latest-version@7.0.0: - resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} - engines: {node: '>=14.16'} - latest-version@9.0.0: resolution: {integrity: sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==} engines: {node: '>=18'} @@ -3910,14 +3702,6 @@ packages: make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - make-fetch-happen@10.2.1: - resolution: {integrity: sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - make-fetch-happen@11.1.1: - resolution: {integrity: sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} @@ -4100,14 +3884,6 @@ packages: resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} engines: {node: '>=10'} - minimatch@7.4.9: - resolution: {integrity: sha512-Brg/fp/iAVDOQoHxkuN5bEYhyQlZhxddI78yWsCbeEwTHXQjlNLtiJDUsp1GIptVqMI7/gkJMz4vVAc01mpoBw==} - engines: {node: '>=10'} - - minimatch@8.0.7: - resolution: {integrity: sha512-V+1uQNdzybxa14e/p00HZnQNNcTjnRJjDxg2V8wtkjFctq4M7hXFws4oekyTP0Jebeq7QYtpFyOeBAjc88zvYg==} - engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.9: resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} engines: {node: '>=16 || 14 >=14.17'} @@ -4115,57 +3891,10 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass-collect@1.0.2: - resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} - engines: {node: '>= 8'} - - minipass-fetch@2.1.2: - resolution: {integrity: sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - minipass-fetch@3.0.2: - resolution: {integrity: sha512-/ZpF1CQaWYqjbhfFgKNt3azxztEpc/JUPuMkqOgrnMQqcU8CbE409AUdJYTIWryl3PP5CBaTJZT71N49MXP/YA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} - - minipass-json-stream@1.0.1: - resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} - - minipass-pipeline@1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} - - minipass-sized@1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} - - minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} - - minipass@4.2.8: - resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} - engines: {node: '>=8'} - - minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - engines: {node: '>=8'} - minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} - - minizlib@3.1.0: - resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} - engines: {node: '>= 18'} - mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} @@ -4227,10 +3956,6 @@ packages: resolution: {integrity: sha512-x7ZdOwBxZCEm9MM7+eQCjkrNLrW3rkBKNHVr78zbtqnMGVNlnDi6C/eUEYgxHNrcbu0ymvjzcwIL/6H1iHri9g==} engines: {node: '>=18'} - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} @@ -4259,11 +3984,6 @@ packages: encoding: optional: true - node-gyp@9.3.1: - resolution: {integrity: sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==} - engines: {node: ^12.13 || ^14.13 || >=16} - hasBin: true - node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} @@ -4273,18 +3993,9 @@ packages: noms@0.0.0: resolution: {integrity: sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow==} - nopt@6.0.0: - resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - hasBin: true - normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - normalize-package-data@5.0.0: - resolution: {integrity: sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - normalize-package-data@6.0.2: resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} engines: {node: ^16.14.0 || >=18.0.0} @@ -4297,48 +4008,15 @@ packages: resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} engines: {node: '>=14.16'} - npm-bundled@3.0.0: - resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - npm-check-updates@16.14.20: - resolution: {integrity: sha512-sYbIhun4DrjO7NFOTdvs11nCar0etEhZTsEjL47eM0TuiGMhmYughRCxG2SpGRmGAQ7AkwN7bw2lWzoE7q6yOQ==} - engines: {node: '>=14.14'} + npm-check-updates@17.1.18: + resolution: {integrity: sha512-bkUy2g4v1i+3FeUf5fXMLbxmV95eG4/sS7lYE32GrUeVgQRfQEk39gpskksFunyaxQgTIdrvYbnuNbO/pSUSqw==} + engines: {node: ^18.18.0 || >=20.0.0, npm: '>=8.12.1'} hasBin: true - npm-install-checks@6.1.1: - resolution: {integrity: sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - npm-normalize-package-bin@3.0.0: - resolution: {integrity: sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - npm-package-arg@10.1.0: - resolution: {integrity: sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - npm-packlist@7.0.4: - resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - npm-pick-manifest@8.0.1: - resolution: {integrity: sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - npm-registry-fetch@14.0.4: - resolution: {integrity: sha512-pMS2DRkwg+M44ct65zrN/Cr9IHK1+n6weuefAo6Er4lc+/8YBCU0Czq04H3ZiSigluh7pb2rMM5JpgcytctB+Q==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - npmlog@6.0.2: - resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - deprecated: This package is no longer supported. - object-hash@3.0.0: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} @@ -4371,8 +4049,8 @@ packages: resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} engines: {node: '>= 0.4'} - oclif@4.22.54: - resolution: {integrity: sha512-+LWHTxh8Xi7BVp/eyrsOOutunwBOYpzq6HQ+vu3xEZgST/aqrvHqGFgLOwglEobf5oUqkbuH2LmVzweXCUBu8Q==} + oclif@4.23.0: + resolution: {integrity: sha512-0Rz8YsJx6NQORMgyDeDr6i0OlJa6h4oLXBht9iRZhn/YI/by/ONKgcJIPXyTgeLK21JmhbFqJn6Y1AME0EH1Dw==} engines: {node: '>=18.0.0'} hasBin: true @@ -4434,10 +4112,6 @@ packages: resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -4457,15 +4131,6 @@ packages: resolution: {integrity: sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==} engines: {node: '>=18'} - package-json@8.1.0: - resolution: {integrity: sha512-hySwcV8RAWeAfPsXb9/HGSPn8lwDnv6fabH+obUZKX169QknRkRhPxd1yMubpKDskLFATkl3jHpNtVtDPFA0Wg==} - engines: {node: '>=14.16'} - - pacote@15.2.0: - resolution: {integrity: sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - pako@1.0.11: resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} @@ -4617,10 +4282,6 @@ packages: resolution: {integrity: sha512-rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw==} hasBin: true - proc-log@3.0.0: - resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -4628,22 +4289,6 @@ packages: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} - promise-inflight@1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - peerDependencies: - bluebird: '*' - peerDependenciesMeta: - bluebird: - optional: true - - promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} - - prompts-ncu@3.0.0: - resolution: {integrity: sha512-qyz9UxZ5MlPKWVhWrCmSZ1ahm2GVYdjLb8og2sg0IPth1KRuhcggHGuijz0e41dkx35p1t1q3GRISGH7QGALFA==} - engines: {node: '>= 14'} - prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} @@ -4665,10 +4310,6 @@ packages: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} - pupa@3.1.0: - resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} - engines: {node: '>=12.20'} - puppeteer-core@23.6.0: resolution: {integrity: sha512-se1bhgUpR9C529SgHGr/eyT92mYyQPAhA2S9pGtGrVG2xob9qE6Pbp7TlqiSPlnnY1lINqhn6/67EwkdzOmKqQ==} engines: {node: '>=18'} @@ -4693,9 +4334,6 @@ packages: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} - rc-config-loader@4.1.3: - resolution: {integrity: sha512-kD7FqML7l800i6pS6pvLyIE2ncbk9Du8Q0gp/4hMPhJU6ZxApkoLcGD8ZeqgiAlfwZ6BlETq6qqe+12DUL207w==} - rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true @@ -4716,15 +4354,6 @@ packages: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} - read-package-json-fast@3.0.2: - resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - read-package-json@6.0.1: - resolution: {integrity: sha512-AaHqXxfAVa+fNL07x8iAghfKOds/XXsu7zoouIVsbm7PEbQ3nMWXlvjcbrNLjElnUHWQtAo4QEa0RXuvD4XlpA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - deprecated: This package is no longer supported. Please use @npmcli/package-json instead. - read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -4739,10 +4368,6 @@ packages: readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -4777,6 +4402,10 @@ packages: resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==} engines: {node: '>=14'} + registry-auth-token@5.1.1: + resolution: {integrity: sha512-P7B4+jq8DeD2nMsAcdfaqHbssgHtZ7Z5+++a5ask90fvmJ8p5je4mOa+wzu+DB4vQ5tdJV/xywY+UnVFeQLV5Q==} + engines: {node: '>=14'} + registry-url@6.0.1: resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} engines: {node: '>=12'} @@ -4806,13 +4435,9 @@ packages: remark@15.0.1: resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==} - remote-git-tags@3.0.0: - resolution: {integrity: sha512-C9hAO4eoEsX+OXA4rla66pXZQ+TLQ8T9dttgQj18yuKlPMTVkIkdYXvlMC55IuUsIkV6DpmQYi10JKFLaU+l7w==} - engines: {node: '>=8'} - - replace-in-file@7.2.0: - resolution: {integrity: sha512-CiLXVop3o8/h2Kd1PwKPPimmS9wUV0Ki6Fl8+1ITD35nB3Gl/PrW5IONpTE0AXk0z4v8WYcpEpdeZqMXvSnWpg==} - engines: {node: '>=10'} + replace-in-file@8.4.0: + resolution: {integrity: sha512-D28k8jy2LtUGbCzCnR3znajaTWIjJ/Uee3UdodzcHRxE7zn6NmYW/dcSqyivnsYU3W+MxdX6SbF28NvJ0GRoLA==} + engines: {node: '>=18'} hasBin: true require-directory@2.1.1: @@ -4882,15 +4507,6 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - - rimraf@5.0.10: - resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} - hasBin: true - rimraf@6.1.3: resolution: {integrity: sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==} engines: {node: 20 || >=22} @@ -4945,13 +4561,6 @@ packages: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} engines: {node: '>=4'} - semver-diff@4.0.0: - resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} - engines: {node: '>=12'} - - semver-utils@1.1.4: - resolution: {integrity: sha512-EjnoLE5OGmDAVV/8YDoN5KiajNadjzIp9BAHOhYeQHt7j0UWxjmgsx4YD48wp4Ue1Qogq38F1GNUJNqF1kKKxA==} - semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -4970,6 +4579,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.8.0: + resolution: {integrity: sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==} + engines: {node: '>=10'} + hasBin: true + sentence-case@3.0.4: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} @@ -4977,9 +4591,6 @@ packages: resolution: {integrity: sha512-DuGdB+Po43Q5Jxwpzt1lhyFSYKryqoNjQSA9M92tyw0lyHIOur+XCalOUe0KTJpyqzT8+fQ5A0Jf7vCx/NKmIg==} engines: {node: '>=20.0.0'} - set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -5043,11 +4654,6 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - sigstore@1.4.0: - resolution: {integrity: sha512-N7TRpSbFjY/TrFDg6yGAQSYBrQ5s6qmPiq4pD6fkv1LoyfMsLG0NwZWG2s5q+uttLHgyVyTa0Rogx2P78rN8kQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - simple-git@3.32.3: resolution: {integrity: sha512-56a5oxFdWlsGygOXHWrG+xjj5w9ZIt2uQbzqiIGdR/6i5iococ7WQ/bNPzWxCJdEUGUCmyMH0t9zMpRJTaKxmw==} @@ -5084,10 +4690,6 @@ packages: snake-case@3.0.4: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} - socks-proxy-agent@7.0.0: - resolution: {integrity: sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==} - engines: {node: '>= 10'} - socks-proxy-agent@8.0.4: resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==} engines: {node: '>= 14'} @@ -5121,10 +4723,6 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - spawn-please@2.0.2: - resolution: {integrity: sha512-KM8coezO6ISQ89c1BzyWNtcn2V2kAVtwIXd3cN/V5a0xPYc1F/vydrRc01wsKFEQ/p+V1a4sw4z2yMITIXrgGw==} - engines: {node: '>=14'} - spawnd@10.1.1: resolution: {integrity: sha512-kTim9sz8KuKX7ZcO8imlvEvbaJmFtFhT5tKS0WP5FRlmWLH5Pd9qj9u29nbMrvDcJPj8ltwOG+QAiZq928GKCw==} engines: {node: '>=16'} @@ -5147,14 +4745,6 @@ packages: sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - ssri@10.0.3: - resolution: {integrity: sha512-lJtX/BFPI/VEtxZmLfeh7pzisIs6micwZ3eruD3+ds9aPsXKlYpwDS2Q7omD6WC42WO9+bnUSzlMmfv8uK8meg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - ssri@9.0.1: - resolution: {integrity: sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -5190,6 +4780,10 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} + string-width@8.2.1: + resolution: {integrity: sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==} + engines: {node: '>=20'} + string.prototype.trim@1.2.10: resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} engines: {node: '>= 0.4'} @@ -5208,9 +4802,6 @@ packages: string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - strip-ansi@5.2.0: resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} engines: {node: '>=6'} @@ -5251,10 +4842,6 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strip-json-comments@5.0.1: - resolution: {integrity: sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==} - engines: {node: '>=14.16'} - supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -5293,10 +4880,6 @@ packages: tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} - tar@7.5.11: - resolution: {integrity: sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==} - engines: {node: '>=18'} - terser-webpack-plugin@5.3.15: resolution: {integrity: sha512-PGkOdpRFK+rb1TzVz+msVhw4YMRT9txLF4kRqvJhGhCM324xuR3REBSHALN+l+sAhKUmz0aotnjp5D+P83mLhQ==} engines: {node: '>= 10.13.0'} @@ -5430,10 +5013,6 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tuf-js@1.1.4: - resolution: {integrity: sha512-Lw2JRM3HTYhEtQJM2Th3aNCPbnXirtWMl065BawwmM2pX6XStH/ZO9e8T2hh0zk/HUa+1i6j+Lv6eDitKTau6A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - tunnel-agent@0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} @@ -5469,10 +5048,6 @@ packages: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} - type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} @@ -5503,9 +5078,6 @@ packages: typed-rest-client@1.8.9: resolution: {integrity: sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==} - typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typescript-eslint@8.55.0: resolution: {integrity: sha512-HE4wj+r5lmDVS9gdaN0/+iqNvPZwGfnJ5lZuz7s5vLlg9ODw0bIiiETaios9LvFI1U94/VBXGm3CB2Y5cNFMpw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -5543,26 +5115,6 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - unique-filename@2.0.1: - resolution: {integrity: sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - unique-filename@3.0.0: - resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - unique-slug@3.0.0: - resolution: {integrity: sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - unique-slug@4.0.0: - resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - unique-string@3.0.0: - resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} - engines: {node: '>=12'} - unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} @@ -5599,10 +5151,6 @@ packages: peerDependencies: browserslist: '>= 4.21.0' - update-notifier@6.0.2: - resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} - engines: {node: '>=14.16'} - upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} @@ -5646,6 +5194,10 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + vscode-jsonrpc@8.2.1: + resolution: {integrity: sha512-kdjOSJ2lLIn7r1rtrMbbNCHjyMPfRnowdKjBQ+mGq6NAW5QY2bEZC/khaC5OR8svbbjvLEaIXkOq45e2X9BIbQ==} + engines: {node: '>=14.0.0'} + wait-on@7.2.0: resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==} engines: {node: '>=12.0.0'} @@ -5703,22 +5255,10 @@ packages: engines: {node: '>= 8'} hasBin: true - which@3.0.1: - resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - - wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - widest-line@3.1.0: resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} engines: {node: '>=8'} - widest-line@4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} - widest-line@5.0.0: resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} engines: {node: '>=18'} @@ -5752,9 +5292,6 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - write-file-atomic@4.0.2: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -5778,10 +5315,6 @@ packages: xcase@2.0.1: resolution: {integrity: sha512-UmFXIPU+9Eg3E9m/728Bii0lAIuoc+6nbrNUKaRPJOFp91ih44qqGlWtxMB6kXFrRD6po+86ksHM5XHCfk6iPw==} - xdg-basedir@5.1.0: - resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} - engines: {node: '>=12'} - xml2js@0.6.2: resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} engines: {node: '>=4.0.0'} @@ -5807,10 +5340,6 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yallist@5.0.0: - resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} - engines: {node: '>=18'} - yaml@2.8.2: resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} engines: {node: '>= 14.6'} @@ -5824,6 +5353,10 @@ packages: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} + yargs-parser@22.0.0: + resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} + yargs-unparser@2.0.0: resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} engines: {node: '>=10'} @@ -5836,6 +5369,10 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} + yargs@18.0.0: + resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} + yauzl@2.10.0: resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} @@ -5861,6 +5398,9 @@ packages: zod@3.23.8: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + zod@4.4.3: + resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -6076,9 +5616,6 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} - '@colors/colors@1.5.0': - optional: true - '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 @@ -6129,20 +5666,21 @@ snapshots: '@eslint/core': 0.17.0 levn: 0.4.1 - '@fluid-tools/build-cli@0.63.0(@types/node@22.19.17)(encoding@0.1.13)': + '@fluid-tools/build-cli@0.65.0(@types/node@22.19.17)(encoding@0.1.13)': dependencies: '@andrewbranch/untar.js': 1.0.3 - '@fluid-tools/build-infrastructure': 0.63.0(@types/node@22.19.17) - '@fluid-tools/version-tools': 0.63.0(@types/node@22.19.17) - '@fluidframework/build-tools': 0.63.0(@types/node@22.19.17) - '@fluidframework/bundle-size-tools': 0.63.0 + '@fluid-tools/build-infrastructure': 0.65.0(@types/node@22.19.17) + '@fluid-tools/version-tools': 0.65.0(@types/node@22.19.17) + '@fluidframework/build-tools': 0.65.0(@types/node@22.19.17) + '@fluidframework/bundle-size-tools': 0.65.0 + '@github/copilot-sdk': 0.2.2 '@inquirer/prompts': 8.0.2(@types/node@22.19.17) '@microsoft/api-extractor': 7.58.1(patch_hash=949a26f6cec9ac4e37522f178b8e4982136ccfeb8c6d0835130ef2aa6788f4fa)(@types/node@22.19.17) - '@oclif/core': 4.8.0 - '@oclif/plugin-autocomplete': 3.2.39 - '@oclif/plugin-commands': 4.1.38 - '@oclif/plugin-help': 6.2.36 - '@oclif/plugin-not-found': 3.2.73(@types/node@22.19.17) + '@oclif/core': 4.11.2 + '@oclif/plugin-autocomplete': 3.2.49 + '@oclif/plugin-commands': 4.1.52 + '@oclif/plugin-help': 6.2.48 + '@oclif/plugin-not-found': 3.2.85(@types/node@22.19.17) '@octokit/core': 7.0.6 '@octokit/rest': 22.0.1 '@rushstack/node-core-library': 5.21.0(@types/node@22.19.17) @@ -6152,6 +5690,7 @@ snapshots: danger: 13.0.5(encoding@0.1.13) date-fns: 3.6.0 debug: 4.4.3(supports-color@8.1.1) + ejs: 3.1.10 execa: 5.1.1 fflate: 0.8.2 fs-extra: 11.3.2 @@ -6169,8 +5708,8 @@ snapshots: mdast-util-heading-range: 4.0.0 mdast-util-to-string: 4.0.0 minimatch: 10.2.4 - npm-check-updates: 16.14.20 - oclif: 4.22.54(@types/node@22.19.17) + npm-check-updates: 17.1.18 + oclif: 4.23.0(@types/node@22.19.17) picocolors: 1.1.1 prettier: 3.2.5 prompts: 2.4.2 @@ -6180,7 +5719,7 @@ snapshots: remark-github: 12.0.0 remark-github-beta-blockquote-admonitions: 3.1.1 remark-toc: 9.0.0 - replace-in-file: 7.2.0 + replace-in-file: 8.4.0 resolve.exports: 2.0.3 semver: 7.7.3 simple-git: 3.32.3 @@ -6191,10 +5730,10 @@ snapshots: ts-morph: 22.0.0 unist-util-visit: 5.0.0 xml2js: 0.6.2 + yaml: 2.8.2 transitivePeerDependencies: - '@swc/core' - '@types/node' - - bluebird - bufferutil - encoding - esbuild @@ -6204,18 +5743,18 @@ snapshots: - utf-8-validate - webpack-cli - '@fluid-tools/build-infrastructure@0.63.0(@types/node@22.19.17)': + '@fluid-tools/build-infrastructure@0.65.0(@types/node@22.19.17)': dependencies: - '@fluid-tools/version-tools': 0.63.0(@types/node@22.19.17) + '@fluid-tools/version-tools': 0.65.0(@types/node@22.19.17) '@manypkg/get-packages': 2.2.2 - '@oclif/core': 4.8.0 + '@oclif/core': 4.11.2 detect-indent: 6.1.0 execa: 5.1.1 fs-extra: 11.3.2 globby: 11.1.0 lilconfig: 3.1.3 micromatch: 4.0.8 - oclif: 4.22.54(@types/node@22.19.17) + oclif: 4.23.0(@types/node@22.19.17) picocolors: 1.1.1 read-pkg-up: 7.0.1 semver: 7.7.3 @@ -6230,13 +5769,13 @@ snapshots: - supports-color - utf-8-validate - '@fluid-tools/version-tools@0.63.0(@types/node@22.19.17)': + '@fluid-tools/version-tools@0.65.0(@types/node@22.19.17)': dependencies: - '@oclif/core': 4.8.0 - '@oclif/plugin-autocomplete': 3.2.39 - '@oclif/plugin-commands': 4.1.38 - '@oclif/plugin-help': 6.2.36 - '@oclif/plugin-not-found': 3.2.73(@types/node@22.19.17) + '@oclif/core': 4.11.2 + '@oclif/plugin-autocomplete': 3.2.49 + '@oclif/plugin-commands': 4.1.52 + '@oclif/plugin-help': 6.2.48 + '@oclif/plugin-not-found': 3.2.85(@types/node@22.19.17) semver: 7.7.3 table: 6.9.0 transitivePeerDependencies: @@ -6248,11 +5787,10 @@ snapshots: '@fluidframework/build-common@2.0.3': {} - '@fluidframework/build-tools@0.63.0(@types/node@22.19.17)': + '@fluidframework/build-tools@0.65.0(@types/node@22.19.17)': dependencies: - '@fluid-tools/version-tools': 0.63.0(@types/node@22.19.17) + '@fluid-tools/version-tools': 0.65.0(@types/node@22.19.17) '@manypkg/get-packages': 2.2.2 - '@types/glob': 7.2.0 async: 3.2.6 date-fns: 3.6.0 debug: 4.4.3(supports-color@8.1.1) @@ -6283,7 +5821,7 @@ snapshots: - supports-color - utf-8-validate - '@fluidframework/bundle-size-tools@0.63.0': + '@fluidframework/bundle-size-tools@0.65.0': dependencies: azure-devops-node-api: 11.2.0 fflate: 0.8.2 @@ -6309,8 +5847,6 @@ snapshots: lodash: 4.18.1 sha.js: 2.4.12 - '@gar/promisify@1.1.3': {} - '@gitbeaker/core@38.12.1': dependencies: '@gitbeaker/requester-utils': 38.12.1 @@ -6327,6 +5863,39 @@ snapshots: '@gitbeaker/core': 38.12.1 '@gitbeaker/requester-utils': 38.12.1 + '@github/copilot-darwin-arm64@1.0.47': + optional: true + + '@github/copilot-darwin-x64@1.0.47': + optional: true + + '@github/copilot-linux-arm64@1.0.47': + optional: true + + '@github/copilot-linux-x64@1.0.47': + optional: true + + '@github/copilot-sdk@0.2.2': + dependencies: + '@github/copilot': 1.0.47 + vscode-jsonrpc: 8.2.1 + zod: 4.4.3 + + '@github/copilot-win32-arm64@1.0.47': + optional: true + + '@github/copilot-win32-x64@1.0.47': + optional: true + + '@github/copilot@1.0.47': + optionalDependencies: + '@github/copilot-darwin-arm64': 1.0.47 + '@github/copilot-darwin-x64': 1.0.47 + '@github/copilot-linux-arm64': 1.0.47 + '@github/copilot-linux-x64': 1.0.47 + '@github/copilot-win32-arm64': 1.0.47 + '@github/copilot-win32-x64': 1.0.47 + '@hapi/hoek@9.3.0': {} '@hapi/topo@5.1.0': @@ -6635,10 +6204,6 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@isaacs/fs-minipass@4.0.1': - dependencies: - minipass: 7.1.2 - '@istanbuljs/load-nyc-config@1.1.0': dependencies: camelcase: 5.3.1 @@ -6915,56 +6480,28 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - '@npmcli/fs@2.1.2': + '@oclif/core@4.11.2': dependencies: - '@gar/promisify': 1.1.3 - semver: 7.7.3 - - '@npmcli/fs@3.1.0': - dependencies: - semver: 7.7.3 - - '@npmcli/git@4.0.4': - dependencies: - '@npmcli/promise-spawn': 6.0.2 - lru-cache: 7.18.3 - npm-pick-manifest: 8.0.1 - proc-log: 3.0.0 - promise-inflight: 1.0.1 - promise-retry: 2.0.1 - semver: 7.7.3 - which: 3.0.1 - transitivePeerDependencies: - - bluebird - - '@npmcli/installed-package-contents@2.0.2': - dependencies: - npm-bundled: 3.0.0 - npm-normalize-package-bin: 3.0.0 - - '@npmcli/move-file@2.0.1': - dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 - - '@npmcli/node-gyp@3.0.0': {} - - '@npmcli/promise-spawn@6.0.2': - dependencies: - which: 3.0.1 - - '@npmcli/run-script@6.0.0': - dependencies: - '@npmcli/node-gyp': 3.0.0 - '@npmcli/promise-spawn': 6.0.2 - node-gyp: 9.3.1 - read-package-json-fast: 3.0.2 - which: 3.0.1 - transitivePeerDependencies: - - bluebird - - supports-color + ansi-escapes: 4.3.2 + ansis: 3.17.0 + clean-stack: 3.0.1 + cli-spinners: 2.9.2 + debug: 4.4.3(supports-color@8.1.1) + ejs: 3.1.10 + get-package-type: 0.1.0 + indent-string: 4.0.0 + is-wsl: 2.2.0 + lilconfig: 3.1.3 + minimatch: 10.2.4 + semver: 7.8.0 + string-width: 4.2.3 + supports-color: 8.1.1 + tinyglobby: 0.2.15 + widest-line: 3.1.0 + wordwrap: 1.0.0 + wrap-ansi: 7.0.0 - '@oclif/core@4.8.0': + '@oclif/core@4.9.0': dependencies: ansi-escapes: 4.3.2 ansis: 3.17.0 @@ -6976,8 +6513,8 @@ snapshots: indent-string: 4.0.0 is-wsl: 2.2.0 lilconfig: 3.1.3 - minimatch: 9.0.9 - semver: 7.7.3 + minimatch: 10.2.4 + semver: 7.8.0 string-width: 4.2.3 supports-color: 8.1.1 tinyglobby: 0.2.15 @@ -6985,19 +6522,19 @@ snapshots: wordwrap: 1.0.0 wrap-ansi: 7.0.0 - '@oclif/plugin-autocomplete@3.2.39': + '@oclif/plugin-autocomplete@3.2.49': dependencies: - '@oclif/core': 4.8.0 + '@oclif/core': 4.11.2 ansis: 3.17.0 debug: 4.4.3(supports-color@8.1.1) ejs: 3.1.10 transitivePeerDependencies: - supports-color - '@oclif/plugin-commands@4.1.38': + '@oclif/plugin-commands@4.1.52': dependencies: - '@oclif/core': 4.8.0 - '@oclif/table': 0.5.1 + '@oclif/core': 4.11.2 + '@oclif/table': 0.5.7 lodash: 4.18.1 object-treeify: 4.0.1 transitivePeerDependencies: @@ -7005,31 +6542,31 @@ snapshots: - react-devtools-core - utf-8-validate - '@oclif/plugin-help@6.2.36': + '@oclif/plugin-help@6.2.48': dependencies: - '@oclif/core': 4.8.0 + '@oclif/core': 4.11.2 - '@oclif/plugin-not-found@3.2.73(@types/node@22.19.17)': + '@oclif/plugin-not-found@3.2.85(@types/node@22.19.17)': dependencies: '@inquirer/prompts': 7.10.1(@types/node@22.19.17) - '@oclif/core': 4.8.0 + '@oclif/core': 4.11.2 ansis: 3.17.0 fast-levenshtein: 3.0.0 transitivePeerDependencies: - '@types/node' - '@oclif/plugin-warn-if-update-available@3.1.53': + '@oclif/plugin-warn-if-update-available@3.1.64': dependencies: - '@oclif/core': 4.8.0 + '@oclif/core': 4.11.2 ansis: 3.17.0 debug: 4.4.3(supports-color@8.1.1) http-call: 5.3.0 lodash: 4.18.1 - registry-auth-token: 5.1.0 + registry-auth-token: 5.1.1 transitivePeerDependencies: - supports-color - '@oclif/table@0.5.1': + '@oclif/table@0.5.7': dependencies: '@types/react': 18.3.23 change-case: 5.4.4 @@ -7038,6 +6575,7 @@ snapshots: natural-orderby: 3.0.2 object-hash: 3.0.0 react: 18.3.1 + string-width: 8.2.1 strip-ansi: 7.1.2 wrap-ansi: 9.0.2 transitivePeerDependencies: @@ -7185,6 +6723,12 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 + '@pnpm/npm-conf@3.0.2': + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + '@puppeteer/browsers@2.4.0': dependencies: debug: 4.4.3(supports-color@8.1.1) @@ -7259,8 +6803,6 @@ snapshots: '@sideway/pinpoint@2.0.0': {} - '@sigstore/protobuf-specs@0.1.0': {} - '@sinclair/typebox@0.27.8': {} '@sindresorhus/is@5.3.0': {} @@ -7312,13 +6854,6 @@ snapshots: '@tsconfig/node16@1.0.3': {} - '@tufjs/canonical-json@1.0.0': {} - - '@tufjs/models@1.0.3': - dependencies: - '@tufjs/canonical-json': 1.0.0 - minimatch: 7.4.9 - '@types/argparse@1.0.38': {} '@types/babel__core@7.20.5': @@ -7446,8 +6981,6 @@ snapshots: '@types/prop-types': 15.7.15 csstype: 3.1.3 - '@types/semver-utils@1.1.3': {} - '@types/sinon@17.0.3': dependencies: '@types/sinonjs__fake-timers': 8.1.5 @@ -7702,8 +7235,6 @@ snapshots: '@xtuc/long@4.2.2': {} - abbrev@1.1.1: {} - acorn-import-phases@1.0.4(acorn@8.15.0): dependencies: acorn: 8.15.0 @@ -7734,19 +7265,6 @@ snapshots: transitivePeerDependencies: - supports-color - agentkeepalive@4.3.0: - dependencies: - debug: 4.4.3(supports-color@8.1.1) - depd: 2.0.0 - humanize-ms: 1.2.1 - transitivePeerDependencies: - - supports-color - - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - ajv-draft-04@1.0.0(ajv@8.18.0): optionalDependencies: ajv: 8.18.0 @@ -7778,10 +7296,6 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - ansi-align@3.0.1: - dependencies: - string-width: 4.2.3 - ansi-colors@4.1.3: {} ansi-escapes@4.3.2: @@ -7817,13 +7331,6 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.2 - aproba@2.0.0: {} - - are-we-there-yet@3.0.1: - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.2 - arg-parser@1.2.0: {} arg@4.1.3: {} @@ -8037,17 +7544,6 @@ snapshots: binary-extensions@2.3.0: {} - boxen@7.0.2: - dependencies: - ansi-align: 3.0.1 - camelcase: 7.0.1 - chalk: 5.3.0 - cli-boxes: 3.0.0 - string-width: 5.1.2 - type-fest: 2.19.0 - widest-line: 4.0.1 - wrap-ansi: 8.1.0 - brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -8115,47 +7611,6 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 - cacache@16.1.3: - dependencies: - '@npmcli/fs': 2.1.2 - '@npmcli/move-file': 2.0.1 - chownr: 2.0.0 - fs-minipass: 2.1.0 - glob: 8.1.0 - infer-owner: 1.0.4 - lru-cache: 7.18.3 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - mkdirp: 1.0.4 - p-map: 4.0.0 - promise-inflight: 1.0.1 - rimraf: 3.0.2 - ssri: 9.0.1 - tar: 7.5.11 - unique-filename: 2.0.1 - transitivePeerDependencies: - - bluebird - - cacache@17.0.5: - dependencies: - '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.1 - glob: 9.3.5 - lru-cache: 7.18.3 - minipass: 4.2.8 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - p-map: 4.0.0 - promise-inflight: 1.0.1 - ssri: 10.0.3 - tar: 7.5.11 - unique-filename: 3.0.0 - transitivePeerDependencies: - - bluebird - cacheable-lookup@7.0.0: {} cacheable-request@10.2.9: @@ -8196,8 +7651,6 @@ snapshots: camelcase@6.3.0: {} - camelcase@7.0.1: {} - caniuse-lite@1.0.30001759: {} capital-case@1.0.4: @@ -8221,6 +7674,8 @@ snapshots: chalk@5.3.0: {} + chalk@5.6.2: {} + change-case@4.1.2: dependencies: camel-case: 4.1.2 @@ -8258,10 +7713,6 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chownr@2.0.0: {} - - chownr@3.0.0: {} - chrome-trace-event@1.0.3: {} chromium-bidi@0.8.0(devtools-protocol@0.0.1354347): @@ -8283,8 +7734,6 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 - clean-stack@2.2.0: {} - clean-stack@3.0.1: dependencies: escape-string-regexp: 4.0.0 @@ -8301,12 +7750,6 @@ snapshots: cli-spinners@2.9.2: {} - cli-table3@0.6.3: - dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 - cli-truncate@4.0.0: dependencies: slice-ansi: 5.0.0 @@ -8328,6 +7771,12 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + cliui@9.0.1: + dependencies: + string-width: 7.2.0 + strip-ansi: 7.1.2 + wrap-ansi: 9.0.2 + co@4.6.0: {} code-block-writer@13.0.1: {} @@ -8350,16 +7799,12 @@ snapshots: color-name@1.1.4: {} - color-support@1.1.3: {} - colors@1.4.0: {} combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 - commander@10.0.1: {} - commander@2.20.3: {} commander@5.1.0: {} @@ -8382,16 +7827,6 @@ snapshots: ini: 1.3.8 proto-list: 1.2.4 - configstore@6.0.0: - dependencies: - dot-prop: 6.0.1 - graceful-fs: 4.2.11 - unique-string: 3.0.0 - write-file-atomic: 3.0.3 - xdg-basedir: 5.1.0 - - console-control-strings@1.1.0: {} - constant-case@3.0.4: dependencies: no-case: 3.0.4 @@ -8475,10 +7910,6 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - crypto-random-string@4.0.0: - dependencies: - type-fest: 1.4.0 - csstype@3.1.3: {} cwd@0.10.0: @@ -8598,10 +8029,6 @@ snapshots: delayed-stream@1.0.0: {} - delegates@1.0.0: {} - - depd@2.0.0: {} - deprecation@2.3.1: {} dequal@2.0.3: {} @@ -8649,10 +8076,6 @@ snapshots: no-case: 3.0.4 tslib: 2.8.1 - dot-prop@6.0.1: - dependencies: - is-obj: 2.0.0 - dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.2 @@ -8699,8 +8122,6 @@ snapshots: environment@1.1.0: {} - err-code@2.0.3: {} - error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 @@ -8791,8 +8212,6 @@ snapshots: escalade@3.2.0: {} - escape-goat@4.0.0: {} - escape-string-regexp@1.0.5: {} escape-string-regexp@2.0.0: {} @@ -9091,8 +8510,6 @@ snapshots: dependencies: fastest-levenshtein: 1.0.16 - fast-memoize@2.5.2: {} - fast-uri@3.1.0: {} fastest-levenshtein@1.0.16: {} @@ -9212,8 +8629,6 @@ snapshots: hasown: 2.0.2 mime-types: 2.1.35 - fp-and-or@0.1.4: {} - fs-exists-sync@0.1.0: {} fs-extra@11.3.2: @@ -9228,14 +8643,6 @@ snapshots: jsonfile: 4.0.0 universalify: 0.1.2 - fs-minipass@2.1.0: - dependencies: - minipass: 3.3.6 - - fs-minipass@3.0.1: - dependencies: - minipass: 4.2.8 - fs.realpath@1.0.0: {} fsevents@2.3.3: @@ -9256,17 +8663,6 @@ snapshots: functions-have-names@1.2.3: {} - gauge@4.0.4: - dependencies: - aproba: 2.0.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - generator-function@2.0.1: {} gensync@1.0.0-beta.2: {} @@ -9275,6 +8671,8 @@ snapshots: get-east-asian-width@1.3.0: {} + get-east-asian-width@1.6.0: {} + get-intrinsic@1.3.0: dependencies: call-bind-apply-helpers: 1.0.2 @@ -9295,8 +8693,6 @@ snapshots: dunder-proto: 1.0.1 es-object-atoms: 1.1.1 - get-stdin@8.0.0: {} - get-stdin@9.0.0: {} get-stream@5.2.0: @@ -9368,17 +8764,6 @@ snapshots: minimatch: 5.1.9 once: 1.4.0 - glob@9.3.5: - dependencies: - fs.realpath: 1.0.0 - minimatch: 8.0.7 - minipass: 4.2.8 - path-scurry: 1.11.1 - - global-dirs@3.0.1: - dependencies: - ini: 2.0.0 - global-modules@0.2.3: dependencies: global-prefix: 0.1.5 @@ -9428,20 +8813,6 @@ snapshots: gopd@1.2.0: {} - got@12.6.0: - dependencies: - '@sindresorhus/is': 5.3.0 - '@szmarczak/http-timer': 5.0.1 - cacheable-lookup: 7.0.0 - cacheable-request: 10.2.9 - decompress-response: 6.0.0 - form-data-encoder: 2.1.4 - get-stream: 6.0.1 - http2-wrapper: 2.2.0 - lowercase-keys: 3.0.0 - p-cancelable: 3.0.0 - responselike: 3.0.0 - got@13.0.0: dependencies: '@sindresorhus/is': 5.3.0 @@ -9489,10 +8860,6 @@ snapshots: dependencies: has-symbols: 1.1.0 - has-unicode@2.0.1: {} - - has-yarn@3.0.0: {} - hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -9510,14 +8877,6 @@ snapshots: hosted-git-info@2.8.9: {} - hosted-git-info@5.2.1: - dependencies: - lru-cache: 7.18.3 - - hosted-git-info@6.1.1: - dependencies: - lru-cache: 7.18.3 - hosted-git-info@7.0.2: dependencies: lru-cache: 10.4.3 @@ -9575,10 +8934,6 @@ snapshots: human-signals@2.1.0: {} - humanize-ms@1.2.1: - dependencies: - ms: 2.1.3 - hyperlinker@1.0.0: {} iconv-lite@0.4.24: @@ -9596,10 +8951,6 @@ snapshots: ieee754@1.2.1: {} - ignore-walk@6.0.2: - dependencies: - minimatch: 7.4.9 - ignore@4.0.6: {} ignore@5.3.2: {} @@ -9626,8 +8977,6 @@ snapshots: indent-string@5.0.0: {} - infer-owner@1.0.4: {} - inflight@1.0.6: dependencies: once: 1.4.0 @@ -9637,10 +8986,6 @@ snapshots: ini@1.3.8: {} - ini@2.0.0: {} - - ini@4.1.1: {} - ini@5.0.0: {} ink@5.0.1(@types/react@18.3.23)(react@18.3.1): @@ -9740,10 +9085,6 @@ snapshots: is-callable@1.2.7: {} - is-ci@3.0.1: - dependencies: - ci-info: 3.9.0 - is-core-module@2.16.1: dependencies: hasown: 2.0.2 @@ -9795,19 +9136,10 @@ snapshots: is-in-ci@0.1.0: {} - is-installed-globally@0.4.0: - dependencies: - global-dirs: 3.0.1 - is-path-inside: 3.0.3 - - is-lambda@1.0.1: {} - is-map@2.0.3: {} is-negative-zero@2.0.3: {} - is-npm@6.0.0: {} - is-number-object@1.1.1: dependencies: call-bound: 1.0.4 @@ -9815,10 +9147,6 @@ snapshots: is-number@7.0.0: {} - is-obj@2.0.0: {} - - is-path-inside@3.0.3: {} - is-plain-obj@2.1.0: {} is-plain-obj@4.1.0: {} @@ -9855,8 +9183,6 @@ snapshots: dependencies: which-typed-array: 1.1.19 - is-typedarray@1.0.0: {} - is-unicode-supported@0.1.0: {} is-weakmap@2.0.2: {} @@ -9876,8 +9202,6 @@ snapshots: dependencies: is-docker: 2.2.1 - is-yarn-global@0.4.1: {} - isarray@0.0.1: {} isarray@1.0.0: {} @@ -10352,12 +9676,6 @@ snapshots: json-parse-even-better-errors@2.3.1: {} - json-parse-even-better-errors@3.0.2: {} - - json-parse-helpfulerror@1.0.3: - dependencies: - jju: 1.4.0 - json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} @@ -10380,10 +9698,6 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonlines@0.1.1: {} - - jsonparse@1.3.1: {} - jsonpointer@5.0.1: {} jsonwebtoken@9.0.2: @@ -10433,14 +9747,8 @@ snapshots: kleur@3.0.3: {} - kleur@4.1.5: {} - ky@1.8.1: {} - latest-version@7.0.0: - dependencies: - package-json: 8.1.0 - latest-version@9.0.0: dependencies: package-json: 10.0.1 @@ -10552,49 +9860,6 @@ snapshots: make-error@1.3.6: {} - make-fetch-happen@10.2.1: - dependencies: - agentkeepalive: 4.3.0 - cacache: 16.1.3 - http-cache-semantics: 4.1.1 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - is-lambda: 1.0.1 - lru-cache: 7.18.3 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-fetch: 2.1.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - socks-proxy-agent: 7.0.0 - ssri: 9.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - - make-fetch-happen@11.1.1: - dependencies: - agentkeepalive: 4.3.0 - cacache: 17.0.5 - http-cache-semantics: 4.1.1 - http-proxy-agent: 5.0.0 - https-proxy-agent: 5.0.1 - is-lambda: 1.0.1 - lru-cache: 7.18.3 - minipass: 5.0.0 - minipass-fetch: 3.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - socks-proxy-agent: 7.0.0 - ssri: 10.0.3 - transitivePeerDependencies: - - bluebird - - supports-color - makeerror@1.0.12: dependencies: tmpl: 1.0.5 @@ -10951,76 +10216,14 @@ snapshots: dependencies: brace-expansion: 2.0.2 - minimatch@7.4.9: - dependencies: - brace-expansion: 2.0.2 - - minimatch@8.0.7: - dependencies: - brace-expansion: 2.0.2 - minimatch@9.0.9: dependencies: brace-expansion: 2.0.2 minimist@1.2.8: {} - minipass-collect@1.0.2: - dependencies: - minipass: 3.3.6 - - minipass-fetch@2.1.2: - dependencies: - minipass: 3.3.6 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - - minipass-fetch@3.0.2: - dependencies: - minipass: 4.2.8 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - - minipass-flush@1.0.5: - dependencies: - minipass: 3.3.6 - - minipass-json-stream@1.0.1: - dependencies: - jsonparse: 1.3.1 - minipass: 3.3.6 - - minipass-pipeline@1.2.4: - dependencies: - minipass: 3.3.6 - - minipass-sized@1.0.3: - dependencies: - minipass: 3.3.6 - - minipass@3.3.6: - dependencies: - yallist: 4.0.0 - - minipass@4.2.8: {} - - minipass@5.0.0: {} - minipass@7.1.2: {} - minizlib@2.1.2: - dependencies: - minipass: 3.3.6 - yallist: 4.0.0 - - minizlib@3.1.0: - dependencies: - minipass: 7.1.2 - mitt@3.0.1: {} mkdirp@0.5.6: @@ -11091,8 +10294,6 @@ snapshots: natural-orderby@3.0.2: {} - negotiator@0.6.3: {} - neo-async@2.6.2: {} netmask@2.0.2: {} @@ -11120,22 +10321,6 @@ snapshots: optionalDependencies: encoding: 0.1.13 - node-gyp@9.3.1: - dependencies: - env-paths: 2.2.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - make-fetch-happen: 10.2.1 - nopt: 6.0.0 - npmlog: 6.0.2 - rimraf: 3.0.2 - semver: 7.7.3 - tar: 7.5.11 - which: 2.0.2 - transitivePeerDependencies: - - bluebird - - supports-color - node-int64@0.4.0: {} node-releases@2.0.27: {} @@ -11145,10 +10330,6 @@ snapshots: inherits: 2.0.4 readable-stream: 1.0.34 - nopt@6.0.0: - dependencies: - abbrev: 1.1.1 - normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 @@ -11156,114 +10337,22 @@ snapshots: semver: 5.7.2 validate-npm-package-license: 3.0.4 - normalize-package-data@5.0.0: - dependencies: - hosted-git-info: 6.1.1 - is-core-module: 2.16.1 - semver: 7.7.3 - validate-npm-package-license: 3.0.4 - normalize-package-data@6.0.2: dependencies: hosted-git-info: 7.0.2 - semver: 7.7.3 + semver: 7.8.0 validate-npm-package-license: 3.0.4 normalize-path@3.0.0: {} normalize-url@8.0.0: {} - npm-bundled@3.0.0: - dependencies: - npm-normalize-package-bin: 3.0.0 - - npm-check-updates@16.14.20: - dependencies: - '@types/semver-utils': 1.1.3 - chalk: 5.3.0 - cli-table3: 0.6.3 - commander: 10.0.1 - fast-memoize: 2.5.2 - find-up: 5.0.0 - fp-and-or: 0.1.4 - get-stdin: 8.0.0 - globby: 11.1.0 - hosted-git-info: 5.2.1 - ini: 4.1.1 - js-yaml: 4.1.1 - json-parse-helpfulerror: 1.0.3 - jsonlines: 0.1.1 - lodash: 4.18.1 - make-fetch-happen: 11.1.1 - minimatch: 9.0.9 - p-map: 4.0.0 - pacote: 15.2.0 - parse-github-url: 1.0.2 - progress: 2.0.3 - prompts-ncu: 3.0.0 - rc-config-loader: 4.1.3 - remote-git-tags: 3.0.0 - rimraf: 5.0.10 - semver: 7.7.3 - semver-utils: 1.1.4 - source-map-support: 0.5.21 - spawn-please: 2.0.2 - strip-ansi: 7.1.2 - strip-json-comments: 5.0.1 - untildify: 4.0.0 - update-notifier: 6.0.2 - transitivePeerDependencies: - - bluebird - - supports-color - - npm-install-checks@6.1.1: - dependencies: - semver: 7.7.3 - - npm-normalize-package-bin@3.0.0: {} - - npm-package-arg@10.1.0: - dependencies: - hosted-git-info: 6.1.1 - proc-log: 3.0.0 - semver: 7.7.3 - validate-npm-package-name: 5.0.1 - - npm-packlist@7.0.4: - dependencies: - ignore-walk: 6.0.2 - - npm-pick-manifest@8.0.1: - dependencies: - npm-install-checks: 6.1.1 - npm-normalize-package-bin: 3.0.0 - npm-package-arg: 10.1.0 - semver: 7.7.3 - - npm-registry-fetch@14.0.4: - dependencies: - make-fetch-happen: 11.1.1 - minipass: 4.2.8 - minipass-fetch: 3.0.2 - minipass-json-stream: 1.0.1 - minizlib: 2.1.2 - npm-package-arg: 10.1.0 - proc-log: 3.0.0 - transitivePeerDependencies: - - bluebird - - supports-color + npm-check-updates@17.1.18: {} npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - npmlog@6.0.2: - dependencies: - are-we-there-yet: 3.0.1 - console-control-strings: 1.1.0 - gauge: 4.0.4 - set-blocking: 2.0.0 - object-hash@3.0.0: {} object-inspect@1.13.4: {} @@ -11301,15 +10390,15 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - oclif@4.22.54(@types/node@22.19.17): + oclif@4.23.0(@types/node@22.19.17): dependencies: '@inquirer/confirm': 3.2.0 '@inquirer/input': 2.3.0 '@inquirer/select': 2.5.0 - '@oclif/core': 4.8.0 - '@oclif/plugin-help': 6.2.36 - '@oclif/plugin-not-found': 3.2.73(@types/node@22.19.17) - '@oclif/plugin-warn-if-update-available': 3.1.53 + '@oclif/core': 4.9.0 + '@oclif/plugin-help': 6.2.48 + '@oclif/plugin-not-found': 3.2.85(@types/node@22.19.17) + '@oclif/plugin-warn-if-update-available': 3.1.64 ansis: 3.17.0 async-retry: 1.3.3 change-case: 4.1.2 @@ -11321,7 +10410,7 @@ snapshots: got: 13.0.0 lodash: 4.18.1 normalize-package-data: 6.0.2 - semver: 7.7.3 + semver: 7.8.0 sort-package-json: 2.15.1 tiny-jsonc: 1.0.2 validate-npm-package-name: 5.0.1 @@ -11393,10 +10482,6 @@ snapshots: dependencies: p-limit: 4.0.0 - p-map@4.0.0: - dependencies: - aggregate-error: 3.1.0 - p-try@2.2.0: {} pac-proxy-agent@7.0.2: @@ -11426,37 +10511,6 @@ snapshots: registry-url: 6.0.1 semver: 7.7.3 - package-json@8.1.0: - dependencies: - got: 12.6.0 - registry-auth-token: 5.1.0 - registry-url: 6.0.1 - semver: 7.7.3 - - pacote@15.2.0: - dependencies: - '@npmcli/git': 4.0.4 - '@npmcli/installed-package-contents': 2.0.2 - '@npmcli/promise-spawn': 6.0.2 - '@npmcli/run-script': 6.0.0 - cacache: 17.0.5 - fs-minipass: 3.0.1 - minipass: 5.0.0 - npm-package-arg: 10.1.0 - npm-packlist: 7.0.4 - npm-pick-manifest: 8.0.1 - npm-registry-fetch: 14.0.4 - proc-log: 3.0.0 - promise-retry: 2.0.1 - read-package-json: 6.0.1 - read-package-json-fast: 3.0.2 - sigstore: 1.4.0 - ssri: 10.0.3 - tar: 7.5.11 - transitivePeerDependencies: - - bluebird - - supports-color - pako@1.0.11: {} param-case@3.0.4: @@ -11578,24 +10632,10 @@ snapshots: colors: 1.4.0 minimist: 1.2.8 - proc-log@3.0.0: {} - process-nextick-args@2.0.1: {} progress@2.0.3: {} - promise-inflight@1.0.1: {} - - promise-retry@2.0.1: - dependencies: - err-code: 2.0.3 - retry: 0.12.0 - - prompts-ncu@3.0.0: - dependencies: - kleur: 4.1.5 - sisteransi: 1.0.5 - prompts@2.4.2: dependencies: kleur: 3.0.3 @@ -11625,10 +10665,6 @@ snapshots: punycode@2.3.0: {} - pupa@3.1.0: - dependencies: - escape-goat: 4.0.0 - puppeteer-core@23.6.0: dependencies: '@puppeteer/browsers': 2.4.0 @@ -11668,15 +10704,6 @@ snapshots: quick-lru@5.1.1: {} - rc-config-loader@4.1.3: - dependencies: - debug: 4.4.3(supports-color@8.1.1) - js-yaml: 4.1.1 - json5: 2.2.3 - require-from-string: 2.0.2 - transitivePeerDependencies: - - supports-color - rc@1.2.8: dependencies: deep-extend: 0.6.0 @@ -11698,18 +10725,6 @@ snapshots: dependencies: loose-envify: 1.4.0 - read-package-json-fast@3.0.2: - dependencies: - json-parse-even-better-errors: 3.0.2 - npm-normalize-package-bin: 3.0.0 - - read-package-json@6.0.1: - dependencies: - glob: 9.3.5 - json-parse-even-better-errors: 3.0.2 - normalize-package-data: 5.0.0 - npm-normalize-package-bin: 3.0.0 - read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 @@ -11740,12 +10755,6 @@ snapshots: string_decoder: 1.1.1 util-deprecate: 1.0.2 - readable-stream@3.6.2: - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - readdirp@3.6.0: dependencies: picomatch: 2.3.2 @@ -11784,6 +10793,10 @@ snapshots: dependencies: '@pnpm/npm-conf': 2.1.1 + registry-auth-token@5.1.1: + dependencies: + '@pnpm/npm-conf': 3.0.2 + registry-url@6.0.1: dependencies: rc: 1.2.8 @@ -11845,13 +10858,11 @@ snapshots: transitivePeerDependencies: - supports-color - remote-git-tags@3.0.0: {} - - replace-in-file@7.2.0: + replace-in-file@8.4.0: dependencies: - chalk: 4.1.2 - glob: 8.1.0 - yargs: 17.7.2 + chalk: 5.6.2 + glob: 13.0.5 + yargs: 18.0.0 require-directory@2.1.1: {} @@ -11910,14 +10921,6 @@ snapshots: dependencies: glob: 7.2.3 - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - - rimraf@5.0.10: - dependencies: - glob: 10.5.0 - rimraf@6.1.3: dependencies: glob: 13.0.5 @@ -11980,12 +10983,6 @@ snapshots: extend-shallow: 2.0.1 kind-of: 6.0.3 - semver-diff@4.0.0: - dependencies: - semver: 7.7.3 - - semver-utils@1.1.4: {} - semver@5.7.2: {} semver@6.3.1: {} @@ -11996,6 +10993,8 @@ snapshots: semver@7.7.3: {} + semver@7.8.0: {} + sentence-case@3.0.4: dependencies: no-case: 3.0.4 @@ -12004,8 +11003,6 @@ snapshots: serialize-javascript@7.0.4: {} - set-blocking@2.0.0: {} - set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -12082,15 +11079,6 @@ snapshots: signal-exit@4.1.0: {} - sigstore@1.4.0: - dependencies: - '@sigstore/protobuf-specs': 0.1.0 - make-fetch-happen: 11.1.1 - tuf-js: 1.1.4 - transitivePeerDependencies: - - bluebird - - supports-color - simple-git@3.32.3: dependencies: '@kwsites/file-exists': 1.1.1 @@ -12141,14 +11129,6 @@ snapshots: dot-case: 3.0.4 tslib: 2.8.1 - socks-proxy-agent@7.0.0: - dependencies: - agent-base: 6.0.2 - debug: 4.4.3(supports-color@8.1.1) - socks: 2.8.3 - transitivePeerDependencies: - - supports-color - socks-proxy-agent@8.0.4: dependencies: agent-base: 7.1.1 @@ -12186,7 +11166,7 @@ snapshots: get-stdin: 9.0.0 git-hooks-list: 3.1.0 is-plain-obj: 4.1.0 - semver: 7.7.3 + semver: 7.8.0 sort-object-keys: 1.1.3 tinyglobby: 0.2.15 @@ -12202,10 +11182,6 @@ snapshots: source-map@0.6.1: {} - spawn-please@2.0.2: - dependencies: - cross-spawn: 7.0.6 - spawnd@10.1.1: dependencies: signal-exit: 4.1.0 @@ -12229,14 +11205,6 @@ snapshots: sprintf-js@1.1.3: {} - ssri@10.0.3: - dependencies: - minipass: 4.2.8 - - ssri@9.0.1: - dependencies: - minipass: 3.3.6 - stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -12284,6 +11252,11 @@ snapshots: get-east-asian-width: 1.3.0 strip-ansi: 7.1.2 + string-width@8.2.1: + dependencies: + get-east-asian-width: 1.6.0 + strip-ansi: 7.1.2 + string.prototype.trim@1.2.10: dependencies: call-bind: 1.0.8 @@ -12313,10 +11286,6 @@ snapshots: dependencies: safe-buffer: 5.1.2 - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - strip-ansi@5.2.0: dependencies: ansi-regex: 4.1.1 @@ -12343,8 +11312,6 @@ snapshots: strip-json-comments@3.1.1: {} - strip-json-comments@5.0.1: {} - supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -12397,14 +11364,6 @@ snapshots: fast-fifo: 1.3.2 streamx: 2.22.0 - tar@7.5.11: - dependencies: - '@isaacs/fs-minipass': 4.0.1 - chownr: 3.0.0 - minipass: 7.1.2 - minizlib: 3.1.0 - yallist: 5.0.0 - terser-webpack-plugin@5.3.15(webpack@5.103.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -12536,14 +11495,6 @@ snapshots: tslib@2.8.1: {} - tuf-js@1.1.4: - dependencies: - '@tufjs/models': 1.0.3 - make-fetch-happen: 11.1.1 - transitivePeerDependencies: - - bluebird - - supports-color - tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 @@ -12568,8 +11519,6 @@ snapshots: type-fest@0.8.1: {} - type-fest@1.4.0: {} - type-fest@2.19.0: {} type-fest@4.41.0: {} @@ -12615,10 +11564,6 @@ snapshots: tunnel: 0.0.6 underscore: 1.13.6 - typedarray-to-buffer@3.1.5: - dependencies: - is-typedarray: 1.0.0 - typescript-eslint@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5): dependencies: '@typescript-eslint/eslint-plugin': 8.55.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) @@ -12662,26 +11607,6 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unique-filename@2.0.1: - dependencies: - unique-slug: 3.0.0 - - unique-filename@3.0.0: - dependencies: - unique-slug: 4.0.0 - - unique-slug@3.0.0: - dependencies: - imurmurhash: 0.1.4 - - unique-slug@4.0.0: - dependencies: - imurmurhash: 0.1.4 - - unique-string@3.0.0: - dependencies: - crypto-random-string: 4.0.0 - unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.3 @@ -12717,23 +11642,6 @@ snapshots: escalade: 3.2.0 picocolors: 1.1.1 - update-notifier@6.0.2: - dependencies: - boxen: 7.0.2 - chalk: 5.3.0 - configstore: 6.0.0 - has-yarn: 3.0.0 - import-lazy: 4.0.0 - is-ci: 3.0.1 - is-installed-globally: 0.4.0 - is-npm: 6.0.0 - is-yarn-global: 0.4.1 - latest-version: 7.0.0 - pupa: 3.1.0 - semver: 7.7.3 - semver-diff: 4.0.0 - xdg-basedir: 5.1.0 - upper-case-first@2.0.2: dependencies: tslib: 2.8.1 @@ -12779,6 +11687,8 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 + vscode-jsonrpc@8.2.1: {} + wait-on@7.2.0: dependencies: axios: 1.13.6 @@ -12888,22 +11798,10 @@ snapshots: dependencies: isexe: 2.0.0 - which@3.0.1: - dependencies: - isexe: 2.0.0 - - wide-align@1.1.5: - dependencies: - string-width: 4.2.3 - widest-line@3.1.0: dependencies: string-width: 4.2.3 - widest-line@4.0.1: - dependencies: - string-width: 5.1.2 - widest-line@5.0.0: dependencies: string-width: 7.2.0 @@ -12940,13 +11838,6 @@ snapshots: wrappy@1.0.2: {} - write-file-atomic@3.0.3: - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.7 - typedarray-to-buffer: 3.1.5 - write-file-atomic@4.0.2: dependencies: imurmurhash: 0.1.4 @@ -12960,8 +11851,6 @@ snapshots: xcase@2.0.1: {} - xdg-basedir@5.1.0: {} - xml2js@0.6.2: dependencies: sax: 1.4.1 @@ -12979,14 +11868,14 @@ snapshots: yallist@4.0.0: {} - yallist@5.0.0: {} - yaml@2.8.2: {} yargs-parser@20.2.9: {} yargs-parser@21.1.1: {} + yargs-parser@22.0.0: {} + yargs-unparser@2.0.0: dependencies: camelcase: 6.3.0 @@ -13014,6 +11903,15 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 + yargs@18.0.0: + dependencies: + cliui: 9.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + string-width: 7.2.0 + y18n: 5.0.8 + yargs-parser: 22.0.0 + yauzl@2.10.0: dependencies: buffer-crc32: 0.2.13 @@ -13031,4 +11929,6 @@ snapshots: zod@3.23.8: {} + zod@4.4.3: {} + zwitch@2.0.4: {} diff --git a/common/lib/common-utils/pnpm-workspace.yaml b/common/lib/common-utils/pnpm-workspace.yaml index 5dab1ff40977..fe960fe18c26 100644 --- a/common/lib/common-utils/pnpm-workspace.yaml +++ b/common/lib/common-utils/pnpm-workspace.yaml @@ -16,5 +16,21 @@ trustPolicy: no-downgrade # List of packages known to be safe but for whatever reason were published at a date after another version of the same # package (including later major versions) which had better provenance information. # ALWAYS REVIEW CAREFULLY BEFORE ADDING SOMETHING TO THIS LIST. -trustPolicyExclude: [] +trustPolicyExclude: + # @octokit/endpoint@9.0.6 (published 2025-02-14, by octokitbot) — pipeline regression. + # Prior trusted: @octokit/endpoint@10.1.3 (provenance, 2025-02-13, by octokitbot), with + # verified provenance from octokit/endpoint.js .github/workflows/release.yml @ refs/heads/main. + # Same publisher account (octokitbot); the v9 maintenance branch publish bypassed release.yml. + # Pulled in transitively via danger@13 → @octokit/rest@20 → @octokit/core@5 → @octokit/request@8. + # No reachable direct-dep bump escapes this without overriding @octokit/rest itself. + - "@octokit/endpoint@9.0.6" + # semver@5.7.2 and semver@6.3.1 — legacy maintenance lines (last published 2023-07-10 + # and 2023-04-26 respectively, by lukekarrys). + # Prior trusted: semver@7.5.4 (provenance, 2023-07-07, by npm-cli-ops). + # Different publisher account because the 5.x and 6.x maintenance lines are + # hand-published by lukekarrys (a long-time npm/node-semver maintainer), while the + # current 7.x line publishes through the npm-cli OIDC/Actions pipeline. The 5.x/6.x + # lines will not be retroactively re-published with provenance. Pulled in by widely- + # used legacy tooling that pins ^5 / ^6. + - "semver@5.7.2 || 6.3.1" strictDepBuilds: true diff --git a/common/lib/common-utils/src/index.ts b/common/lib/common-utils/src/index.ts index 4b4801f100ba..40fffce0841c 100644 --- a/common/lib/common-utils/src/index.ts +++ b/common/lib/common-utils/src/index.ts @@ -3,53 +3,8 @@ * Licensed under the MIT License. */ -/** - * This library contains common utility functions and classes used by the Fluid Framework. - * - * @packageDocumentation - */ - -export { assert } from "./assert.js"; -export { fromBase64ToUtf8, fromUtf8ToBase64, toUtf8 } from "./base64Encoding.js"; -export { Uint8ArrayToArrayBuffer } from "./bufferShared.js"; -export { delay } from "./delay.js"; -export { doIfNotDisposed, type IDisposable } from "./disposal.js"; -export { Heap, type IComparer, type IHeapNode, NumberComparer } from "./heap.js"; -/** - * NOTE: This export is remapped to export from "./indexBrowser" in browser environments via package.json. - * Because the two files don't have fully isomorphic exports, using named exports for the full API surface - * is problematic if that named export includes values not in their intersection. - * - * In a future breaking change of common-utils, we could use a named export for their intersection if we - * desired. - */ +// THIS FILE IS NOT ACTUALLY USED (see indexBrowser.ts and indexNode.ts for that). +// It's only here so type-test-generator doesn't fail, until we update it to support packages that don't have an +// index.ts file. // eslint-disable-next-line no-restricted-syntax export * from "./indexNode.js"; -export { Lazy } from "./lazy.js"; -export type { IsomorphicPerformance } from "./performanceIsomorphic.js"; -export { PromiseCache, type PromiseCacheExpiry, type PromiseCacheOptions } from "./promiseCache.js"; -export { Deferred, LazyPromise } from "./promises.js"; -export { type IRange, type IRangeTrackerSnapshot, RangeTracker } from "./rangeTracker.js"; -export { RateLimiter } from "./rateLimiter.js"; -export { safelyParseJSON } from "./safeParser.js"; -export { - type IPromiseTimer, - type IPromiseTimerResult, - type ITimer, - PromiseTimer, - setLongTimeout, - Timer, -} from "./timer.js"; -export { type ITraceEvent, Trace } from "./trace.js"; -export { - type EventEmitterEventType, - type IEvent, - type IEventProvider, - type IEventThisPlaceHolder, - type IEventTransformer, - type ReplaceIEventThisPlaceHolder, - type TransformedEvent, - TypedEventEmitter, - type TypedEventTransform, -} from "./typedEventEmitter.js"; -export { unreachableCase } from "./unreachable.js"; diff --git a/common/lib/common-utils/src/indexBrowser.ts b/common/lib/common-utils/src/indexBrowser.ts index 78d75b7160ba..ef14a3ebd9c8 100644 --- a/common/lib/common-utils/src/indexBrowser.ts +++ b/common/lib/common-utils/src/indexBrowser.ts @@ -3,12 +3,51 @@ * Licensed under the MIT License. */ +/** + * This library contains common utility functions and classes used by the Fluid Framework. + * + * @packageDocumentation + */ + +export { assert } from "./assert.js"; +export { fromBase64ToUtf8, fromUtf8ToBase64, toUtf8 } from "./base64Encoding.js"; export { - bufferToString, - isArrayBuffer, - IsoBuffer, - stringToBuffer, - Uint8ArrayToString, +bufferToString, +isArrayBuffer, +IsoBuffer, +stringToBuffer, +Uint8ArrayToString, } from "./bufferBrowser.js"; +export { Uint8ArrayToArrayBuffer } from "./bufferShared.js"; +export { delay } from "./delay.js"; +export { doIfNotDisposed, type IDisposable } from "./disposal.js"; export { gitHashFile, hashFile } from "./hashFileBrowser.js"; -export { performance } from "./performanceIsomorphic.js"; +export { Heap, type IComparer, type IHeapNode, NumberComparer } from "./heap.js"; +export { Lazy } from "./lazy.js"; +export { type IsomorphicPerformance, performance } from "./performanceIsomorphic.js"; +export { PromiseCache, type PromiseCacheExpiry, type PromiseCacheOptions } from "./promiseCache.js"; +export { Deferred, LazyPromise } from "./promises.js"; +export { type IRange, type IRangeTrackerSnapshot, RangeTracker } from "./rangeTracker.js"; +export { RateLimiter } from "./rateLimiter.js"; +export { safelyParseJSON } from "./safeParser.js"; +export { +type IPromiseTimer, +type IPromiseTimerResult, +type ITimer, +PromiseTimer, +setLongTimeout, +Timer, +} from "./timer.js"; +export { type ITraceEvent, Trace } from "./trace.js"; +export { +type EventEmitterEventType, +type IEvent, +type IEventProvider, +type IEventThisPlaceHolder, +type IEventTransformer, +type ReplaceIEventThisPlaceHolder, +type TransformedEvent, +TypedEventEmitter, +type TypedEventTransform, +} from "./typedEventEmitter.js"; +export { unreachableCase } from "./unreachable.js"; diff --git a/common/lib/common-utils/src/indexNode.ts b/common/lib/common-utils/src/indexNode.ts index 5fa5cc637e90..2c69fbd411a1 100644 --- a/common/lib/common-utils/src/indexNode.ts +++ b/common/lib/common-utils/src/indexNode.ts @@ -3,12 +3,51 @@ * Licensed under the MIT License. */ +/** + * This library contains common utility functions and classes used by the Fluid Framework. + * + * @packageDocumentation + */ + +export { assert } from "./assert.js"; +export { fromBase64ToUtf8, fromUtf8ToBase64, toUtf8 } from "./base64Encoding.js"; export { - Buffer, - bufferToString, - IsoBuffer, - stringToBuffer, - Uint8ArrayToString, +Buffer, +bufferToString, +IsoBuffer, +stringToBuffer, +Uint8ArrayToString, } from "./bufferNode.js"; +export { Uint8ArrayToArrayBuffer } from "./bufferShared.js"; +export { delay } from "./delay.js"; +export { doIfNotDisposed, type IDisposable } from "./disposal.js"; export { gitHashFile, hashFile } from "./hashFileNode.js"; -export { performance } from "./performanceIsomorphic.js"; +export { Heap, type IComparer, type IHeapNode, NumberComparer } from "./heap.js"; +export { Lazy } from "./lazy.js"; +export { type IsomorphicPerformance, performance } from "./performanceIsomorphic.js"; +export { PromiseCache, type PromiseCacheExpiry, type PromiseCacheOptions } from "./promiseCache.js"; +export { Deferred, LazyPromise } from "./promises.js"; +export { type IRange, type IRangeTrackerSnapshot, RangeTracker } from "./rangeTracker.js"; +export { RateLimiter } from "./rateLimiter.js"; +export { safelyParseJSON } from "./safeParser.js"; +export { +type IPromiseTimer, +type IPromiseTimerResult, +type ITimer, +PromiseTimer, +setLongTimeout, +Timer, +} from "./timer.js"; +export { type ITraceEvent, Trace } from "./trace.js"; +export { +type EventEmitterEventType, +type IEvent, +type IEventProvider, +type IEventThisPlaceHolder, +type IEventTransformer, +type ReplaceIEventThisPlaceHolder, +type TransformedEvent, +TypedEventEmitter, +type TypedEventTransform, +} from "./typedEventEmitter.js"; +export { unreachableCase } from "./unreachable.js"; diff --git a/common/lib/common-utils/src/test/types/validateCommonUtilsPrevious.generated.ts b/common/lib/common-utils/src/test/types/validateCommonUtilsPrevious.generated.ts index 72e6a72a3eb6..3920c3ac450f 100644 --- a/common/lib/common-utils/src/test/types/validateCommonUtilsPrevious.generated.ts +++ b/common/lib/common-utils/src/test/types/validateCommonUtilsPrevious.generated.ts @@ -5,7 +5,7 @@ /* * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. - * Generated by flub generate:typetests in @fluid-tools/build-cli. + * Generated by "flub generate typetests" from @fluid-tools/build-cli. * * Baseline (previous) version: 1.0.0 */ @@ -13,7 +13,7 @@ import type { TypeOnly, MinimalType, FullType, requireAssignableTo } from "@fluidframework/build-tools"; import type * as old from "@fluidframework/common-utils-previous"; -import type * as current from "../../index.js"; +import type * as current from "@fluidframework/common-utils"; declare type MakeUnusedImportErrorsGoAway = TypeOnly | MinimalType | FullType | typeof old | typeof current | requireAssignableTo; From f66628d45deebb35d6553653c86bcaba78696a9a Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Thu, 14 May 2026 21:37:07 -0700 Subject: [PATCH 07/19] common-utils: refresh devDependencies to align with client-utils Bump six devDependencies to the versions client-utils ships with: @types/base64-js ^1.3.0 -> ^1.3.2 cross-env ^7.0.3 -> ^10.1.0 jest-junit ^10.0.0 -> ^16.0.0 mocha ^10.8.2 -> ^11.7.5 rewire ^5.0.0 -> ^9.0.1 ts-node ^10.9.1 -> ^10.9.2 Side effect: the rewire 5 -> 9 bump drops the legacy eslint@6 -> cross-spawn@6 -> semver@5.7.2 chain that previously forced a trust-policy exclusion on semver@5.7.2 just to install. The semver exclusion is retained because semver@6.3.1 is still pulled in elsewhere. Add chokidar@4.0.3 to the workspace trust-policy exclusions; mocha@11 pulls it in transitively (precedent already in the root workspace). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- common/lib/common-utils/package.json | 12 +- common/lib/common-utils/pnpm-lock.yaml | 731 +++----------------- common/lib/common-utils/pnpm-workspace.yaml | 6 + 3 files changed, 124 insertions(+), 625 deletions(-) diff --git a/common/lib/common-utils/package.json b/common/lib/common-utils/package.json index fbe41ad3af06..2f4f45b0854b 100644 --- a/common/lib/common-utils/package.json +++ b/common/lib/common-utils/package.json @@ -111,7 +111,7 @@ "@fluidframework/common-utils-previous": "npm:@fluidframework/common-utils@1.0.0", "@microsoft/api-extractor": "7.58.1", "@rushstack/eslint-plugin": "~0.22.1", - "@types/base64-js": "^1.3.0", + "@types/base64-js": "^1.3.2", "@types/jest": "29.5.3", "@types/jest-environment-puppeteer": "2.2.0", "@types/mocha": "^10.0.10", @@ -120,24 +120,24 @@ "c8": "^10.1.3", "concurrently": "^9.2.1", "copyfiles": "^2.4.1", - "cross-env": "^7.0.3", + "cross-env": "^10.1.0", "eslint": "~9.39.1", "eslint-config-prettier": "~10.1.8", "eslint-plugin-import": "~2.32.0", "eslint-plugin-unicorn": "~62.0.0", "jest": "^29.6.2", - "jest-junit": "^10.0.0", + "jest-junit": "^16.0.0", "jest-puppeteer": "^10.1.3", "jiti": "^2.6.1", - "mocha": "^10.8.2", + "mocha": "^11.7.5", "mocha-multi-reporters": "^1.5.1", "prettier": "~3.0.3", "puppeteer": "^23.6.0", - "rewire": "^5.0.0", + "rewire": "^9.0.1", "rimraf": "^6.1.3", "sinon": "^18.0.1", "ts-jest": "^29.1.1", - "ts-node": "^10.9.1", + "ts-node": "^10.9.2", "typescript": "~5.4.5", "typescript-eslint": "~8.55.0" }, diff --git a/common/lib/common-utils/pnpm-lock.yaml b/common/lib/common-utils/pnpm-lock.yaml index 709fd59be87a..5dcef577af92 100644 --- a/common/lib/common-utils/pnpm-lock.yaml +++ b/common/lib/common-utils/pnpm-lock.yaml @@ -78,8 +78,8 @@ importers: specifier: ~0.22.1 version: 0.22.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) '@types/base64-js': - specifier: ^1.3.0 - version: 1.3.0 + specifier: ^1.3.2 + version: 1.5.0 '@types/jest': specifier: 29.5.3 version: 29.5.3 @@ -105,8 +105,8 @@ importers: specifier: ^2.4.1 version: 2.4.1 cross-env: - specifier: ^7.0.3 - version: 7.0.3 + specifier: ^10.1.0 + version: 10.1.0 eslint: specifier: ~9.39.1 version: 9.39.2(jiti@2.6.1) @@ -121,10 +121,10 @@ importers: version: 62.0.0(eslint@9.39.2(jiti@2.6.1)) jest: specifier: ^29.6.2 - version: 29.6.2(@types/node@22.19.17)(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5)) + version: 29.6.2(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)) jest-junit: - specifier: ^10.0.0 - version: 10.0.0 + specifier: ^16.0.0 + version: 16.0.0 jest-puppeteer: specifier: ^10.1.3 version: 10.1.3(puppeteer@23.6.0(typescript@5.4.5))(typescript@5.4.5) @@ -132,11 +132,11 @@ importers: specifier: ^2.6.1 version: 2.6.1 mocha: - specifier: ^10.8.2 - version: 10.8.2 + specifier: ^11.7.5 + version: 11.7.5 mocha-multi-reporters: specifier: ^1.5.1 - version: 1.5.1(mocha@10.8.2) + version: 1.5.1(mocha@11.7.5) prettier: specifier: ~3.0.3 version: 3.0.3 @@ -144,8 +144,8 @@ importers: specifier: ^23.6.0 version: 23.6.0(typescript@5.4.5) rewire: - specifier: ^5.0.0 - version: 5.0.0 + specifier: ^9.0.1 + version: 9.0.1(jiti@2.6.1) rimraf: specifier: ^6.1.3 version: 6.1.3 @@ -154,10 +154,10 @@ importers: version: 18.0.1 ts-jest: specifier: ^29.1.1 - version: 29.1.1(@babel/core@7.25.2)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.6.2(@types/node@22.19.17)(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.1(@babel/core@7.25.2)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.6.2(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)))(typescript@5.4.5) ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@22.19.17)(typescript@5.4.5) + specifier: ^10.9.2 + version: 10.9.2(@types/node@22.19.17)(typescript@5.4.5) typescript: specifier: ~5.4.5 version: 5.4.5 @@ -355,6 +355,9 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} + '@epic-web/invariant@1.0.0': + resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} + '@eslint-community/eslint-utils@4.9.1': resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -865,10 +868,6 @@ packages: resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - '@jest/types@24.9.0': - resolution: {integrity: sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw==} - engines: {node: '>= 6'} - '@jest/types@29.6.3': resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1220,8 +1219,9 @@ packages: '@types/babel__traverse@7.20.6': resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} - '@types/base64-js@1.3.0': - resolution: {integrity: sha512-ZmI0sZGAUNXUfMWboWwi4LcfpoVUYldyN6Oe0oJ5cCsHDU/LlRq8nQKPXhYLOx36QYSW9bNIb1vvRrD6K7Llgw==} + '@types/base64-js@1.5.0': + resolution: {integrity: sha512-xDDGwUoGXW4FHFWs1pIMXZrVD4kxOAo4KmNSZlb0w5hT52Gd4eIzkjwVp/XRpSox2hfR3h7ZO6witfU7aAZ6XA==} + deprecated: This is a stub types definition. base64-js provides its own type definitions, so you do not need this installed. '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -1253,9 +1253,6 @@ packages: '@types/istanbul-lib-report@3.0.3': resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - '@types/istanbul-reports@1.1.2': - resolution: {integrity: sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==} - '@types/istanbul-reports@3.0.4': resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} @@ -1326,9 +1323,6 @@ packages: '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - '@types/yargs@13.0.12': - resolution: {integrity: sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ==} - '@types/yargs@17.0.33': resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} @@ -1501,11 +1495,6 @@ packages: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} - acorn@7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.15.0: resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} @@ -1554,10 +1543,6 @@ packages: ajv@8.18.0: resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} - ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -1566,10 +1551,6 @@ packages: resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} engines: {node: '>=18'} - ansi-regex@4.1.1: - resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} - engines: {node: '>=6'} - ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1655,10 +1636,6 @@ packages: resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} engines: {node: '>=4'} - astral-regex@1.0.0: - resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==} - engines: {node: '>=4'} - astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} engines: {node: '>=8'} @@ -1783,10 +1760,6 @@ packages: resolution: {integrity: sha512-A6U5HdV+gygmNfZ+2UbztVI3aQCXkJzLYL27gJ/WhdNzg1blpE+faHC5y2Iu7Omu0FO2Ra0C0WLU7f5prGoRKg==} hasBin: true - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -1897,10 +1870,6 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - chalk@5.6.2: resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} @@ -1918,15 +1887,12 @@ packages: character-entities@2.0.2: resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - chardet@2.1.1: resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} - chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} chrome-trace-event@1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} @@ -1963,10 +1929,6 @@ packages: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} engines: {node: '>=10'} - cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - cli-cursor@4.0.0: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1979,10 +1941,6 @@ packages: resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} engines: {node: '>=18'} - cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} engines: {node: '>= 12'} @@ -2108,15 +2066,11 @@ packages: create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - cross-env@7.0.3: - resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} - engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + cross-env@10.1.0: + resolution: {integrity: sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==} + engines: {node: '>=20'} hasBin: true - cross-spawn@6.0.6: - resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} - engines: {node: '>=4.8'} - cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} @@ -2268,6 +2222,10 @@ packages: resolution: {integrity: sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==} engines: {node: '>=0.3.1'} + diff@7.0.0: + resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} + engines: {node: '>=0.3.1'} + diff@8.0.3: resolution: {integrity: sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==} engines: {node: '>=0.3.1'} @@ -2280,10 +2238,6 @@ packages: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} @@ -2312,9 +2266,6 @@ packages: emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} - emoji-regex@7.0.3: - resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} - emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2452,14 +2403,6 @@ packages: resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-utils@1.4.3: - resolution: {integrity: sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==} - engines: {node: '>=6'} - - eslint-visitor-keys@1.3.0: - resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} - engines: {node: '>=4'} - eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2468,12 +2411,6 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@6.8.0: - resolution: {integrity: sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==} - engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. - hasBin: true - eslint@9.39.2: resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2488,10 +2425,6 @@ packages: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@6.2.1: - resolution: {integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==} - engines: {node: '>=6.0.0'} - esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -2551,10 +2484,6 @@ packages: extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - extract-zip@2.0.1: resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} engines: {node: '>= 10.17.0'} @@ -2613,14 +2542,6 @@ packages: fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} - figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - - file-entry-cache@5.0.1: - resolution: {integrity: sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==} - engines: {node: '>=4'} - file-entry-cache@8.0.0: resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} engines: {node: '>=16.0.0'} @@ -2663,10 +2584,6 @@ packages: find-yarn-workspace-root@2.0.0: resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} - flat-cache@2.0.1: - resolution: {integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==} - engines: {node: '>=4'} - flat-cache@4.0.1: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} @@ -2675,9 +2592,6 @@ packages: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true - flatted@2.0.2: - resolution: {integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==} - flatted@3.3.3: resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} @@ -2733,9 +2647,6 @@ packages: resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} engines: {node: '>= 0.4'} - functional-red-black-tree@1.0.1: - resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} - functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} @@ -2824,11 +2735,6 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - global-modules@0.2.3: resolution: {integrity: sha512-JeXuCbvYzYXcwE6acL9V2bAOeSIGl4dD+iwLY9iUx2VBJJ80R18HCn+JCwHM9Oegdfya3lEkGCdaRkSyc10hDA==} engines: {node: '>=0.10.0'} @@ -2841,10 +2747,6 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@12.4.0: - resolution: {integrity: sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==} - engines: {node: '>=8'} - globals@14.0.0: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} @@ -2978,10 +2880,6 @@ packages: resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==} engines: {node: '>=4'} - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} @@ -2993,10 +2891,6 @@ packages: ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore@4.0.6: - resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} - engines: {node: '>= 4'} - ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -3060,10 +2954,6 @@ packages: react-devtools-core: optional: true - inquirer@7.3.3: - resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} - engines: {node: '>=8.0.0'} - int64-buffer@0.1.10: resolution: {integrity: sha512-v7cSY1J8ydZ0GyjUHqF+1bshJ6cnEVLo9EnjB8p+4HDRPZc9N5jjmvUV7NvEsqQOKyH0pmIBFWXVQbiS0+OBbA==} @@ -3090,10 +2980,6 @@ packages: resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} engines: {node: '>= 0.4'} - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - is-boolean-object@1.2.2: resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} @@ -3135,10 +3021,6 @@ packages: resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} engines: {node: '>= 0.4'} - is-fullwidth-code-point@2.0.0: - resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} - engines: {node: '>=4'} - is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -3184,6 +3066,10 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + is-plain-obj@2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} @@ -3350,10 +3236,6 @@ packages: resolution: {integrity: sha512-dHBP44r0f1RUis6kWTxYmPyoB2QWXeotzzRWVjIgbiLIVIaRsKkvj3pIscRXQbJIfwaTAT+W50h0URV47IMc1Q==} engines: {node: '>=16'} - jest-get-type@24.9.0: - resolution: {integrity: sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q==} - engines: {node: '>= 6'} - jest-get-type@29.6.3: resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -3362,9 +3244,9 @@ packages: resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-junit@10.0.0: - resolution: {integrity: sha512-dbOVRyxHprdSpwSAR9/YshLwmnwf+RSl5hf0kCGlhAcEeZY9aRqo4oNmaT0tLC16Zy9D0zekDjWkjHGjXlglaQ==} - engines: {node: '>=8.0.0'} + jest-junit@16.0.0: + resolution: {integrity: sha512-A94mmw6NfJab4Fg/BlvVOUXzXgF0XIH6EmTgJ5NDPp4xoKq0Kr7sErb+4Xs9nZvu58pJojz5RFGpqnZYJTrRfQ==} + engines: {node: '>=10.12.0'} jest-leak-detector@29.7.0: resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} @@ -3425,10 +3307,6 @@ packages: resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - jest-validate@24.9.0: - resolution: {integrity: sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ==} - engines: {node: '>= 6'} - jest-validate@29.7.0: resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -3569,10 +3447,6 @@ packages: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} engines: {node: '>=6'} - levn@0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} - engines: {node: '>= 0.8.0'} - levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -3898,10 +3772,6 @@ packages: mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} - mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -3918,9 +3788,9 @@ packages: peerDependencies: mocha: '>=3.1.2' - mocha@10.8.2: - resolution: {integrity: sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==} - engines: {node: '>= 14.0.0'} + mocha@11.7.5: + resolution: {integrity: sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true ms@2.1.3: @@ -3934,9 +3804,6 @@ packages: resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==} engines: {node: '>=10'} - mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - mute-stream@1.0.0: resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -3963,9 +3830,6 @@ packages: resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} engines: {node: '>= 0.4.0'} - nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - nise@6.1.1: resolution: {integrity: sha512-aMSAzLVY7LyeM60gvBS423nBmIPP+Wy7St7hsb+8/fc1HmeoHJfLO8CKse4u3BtOZvQLJghYPI2i/1WZrEj5/g==} @@ -4061,10 +3925,6 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - optionator@0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} - engines: {node: '>= 0.8.0'} - optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} @@ -4073,10 +3933,6 @@ packages: resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} engines: {node: '>=0.10.0'} - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - override-require@1.1.1: resolution: {integrity: sha512-eoJ9YWxFcXbrn2U8FKT6RV+/Kj7fiGAB1VvHzbYKt8xM5ZuKZgCGvnHzDxmreEjcBH28ejg5MiOH4iyY1mQnkg==} @@ -4189,10 +4045,6 @@ packages: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} - path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -4240,6 +4092,10 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} + engines: {node: '>= 6'} + pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} @@ -4252,10 +4108,6 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} - prelude-ls@1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} - engines: {node: '>= 0.8.0'} - prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -4270,10 +4122,6 @@ packages: engines: {node: '>=14'} hasBin: true - pretty-format@24.9.0: - resolution: {integrity: sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA==} - engines: {node: '>= 6'} - pretty-format@29.7.0: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4338,9 +4186,6 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true - react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} @@ -4368,9 +4213,9 @@ packages: readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} readline-sync@1.4.10: resolution: {integrity: sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==} @@ -4394,10 +4239,6 @@ packages: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} engines: {node: '>= 0.4'} - regexpp@2.0.1: - resolution: {integrity: sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==} - engines: {node: '>=6.5.0'} - registry-auth-token@5.1.0: resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==} engines: {node: '>=14'} @@ -4479,10 +4320,6 @@ packages: resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} engines: {node: '>=14.16'} - restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - restore-cursor@4.0.0: resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -4499,30 +4336,17 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rewire@5.0.0: - resolution: {integrity: sha512-1zfitNyp9RH5UDyGGLe9/1N0bMlPQ0WrX0Tmg11kMHBpqwPJI4gfPpP7YngFyLbFmhXh19SToAG0sKKEFcOIJA==} - - rimraf@2.6.3: - resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true + rewire@9.0.1: + resolution: {integrity: sha512-dnbLeTwHpXvWJjswC6CshXUUnnpE5AVhlayVRvDJhJx5ejbO4nbj1IXqN2urErgB7TpHUAMpf6iPDhQIxeSQOQ==} rimraf@6.1.3: resolution: {integrity: sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==} engines: {node: 20 || >=22} hasBin: true - run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - rxjs@6.6.7: - resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} - engines: {npm: '>=2.0.0'} - rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} @@ -4611,18 +4435,10 @@ packages: engines: {node: '>= 0.10'} hasBin: true - shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} - shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} @@ -4667,10 +4483,6 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - slice-ansi@2.1.0: - resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==} - engines: {node: '>=6'} - slice-ansi@4.0.0: resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} engines: {node: '>=10'} @@ -4764,10 +4576,6 @@ packages: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} engines: {node: '>=10'} - string-width@3.1.0: - resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==} - engines: {node: '>=6'} - string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -4802,10 +4610,6 @@ packages: string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - strip-ansi@5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} - engines: {node: '>=6'} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -4862,10 +4666,6 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - table@5.4.6: - resolution: {integrity: sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==} - engines: {node: '>=6.0.0'} - table@6.9.0: resolution: {integrity: sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==} engines: {node: '>=10.0.0'} @@ -4912,9 +4712,6 @@ packages: text-decoder@1.1.1: resolution: {integrity: sha512-8zll7REEv4GDD3x4/0pW+ppIxSNs7H1J10IKFZsuOMscumCdM2a+toDGLPA3T+1+fLBql4zbt5z83GEQGGV5VA==} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} @@ -4928,10 +4725,6 @@ packages: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} @@ -4990,8 +4783,8 @@ packages: ts-morph@22.0.0: resolution: {integrity: sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==} - ts-node@10.9.1: - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -5007,9 +4800,6 @@ packages: tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -5020,10 +4810,6 @@ packages: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - type-check@0.3.2: - resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} - engines: {node: '>= 0.8.0'} - type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -5166,17 +4952,14 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - uuid@3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - v8-compile-cache@2.4.0: - resolution: {integrity: sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==} - v8-to-istanbul@9.3.0: resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} @@ -5263,15 +5046,11 @@ packages: resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} engines: {node: '>=18'} - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - workerpool@6.5.1: - resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} + workerpool@9.3.4: + resolution: {integrity: sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==} wrap-ansi@6.2.0: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} @@ -5296,10 +5075,6 @@ packages: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - write@1.0.3: - resolution: {integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==} - engines: {node: '>=4'} - ws@8.18.0: resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} engines: {node: '>=10.0.0'} @@ -5620,6 +5395,8 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 + '@epic-web/invariant@1.0.0': {} + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1))': dependencies: eslint: 9.39.2(jiti@2.6.1) @@ -6223,7 +6000,7 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5))': + '@jest/core@29.7.0(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -6237,7 +6014,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.19.17)(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5)) + jest-config: 29.7.0(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -6367,12 +6144,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@jest/types@24.9.0': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 1.1.2 - '@types/yargs': 13.0.12 - '@jest/types@29.6.3': dependencies: '@jest/schemas': 29.6.3 @@ -6877,7 +6648,9 @@ snapshots: dependencies: '@babel/types': 7.28.4 - '@types/base64-js@1.3.0': {} + '@types/base64-js@1.5.0': + dependencies: + base64-js: 1.5.1 '@types/debug@4.1.12': dependencies: @@ -6914,11 +6687,6 @@ snapshots: dependencies: '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports@1.1.2': - dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-lib-report': 3.0.3 - '@types/istanbul-reports@3.0.4': dependencies: '@types/istanbul-lib-report': 3.0.3 @@ -6997,10 +6765,6 @@ snapshots: '@types/yargs-parser@21.0.3': {} - '@types/yargs@13.0.12': - dependencies: - '@types/yargs-parser': 21.0.3 - '@types/yargs@17.0.33': dependencies: '@types/yargs-parser': 21.0.3 @@ -7239,18 +7003,12 @@ snapshots: dependencies: acorn: 8.15.0 - acorn-jsx@5.3.2(acorn@7.4.1): - dependencies: - acorn: 7.4.1 - acorn-jsx@5.3.2(acorn@8.15.0): dependencies: acorn: 8.15.0 acorn-walk@8.2.0: {} - acorn@7.4.1: {} - acorn@8.15.0: {} agent-base@6.0.2: @@ -7296,8 +7054,6 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 - ansi-colors@4.1.3: {} - ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -7306,8 +7062,6 @@ snapshots: dependencies: environment: 1.1.0 - ansi-regex@4.1.1: {} - ansi-regex@5.0.1: {} ansi-regex@6.1.0: {} @@ -7401,8 +7155,6 @@ snapshots: dependencies: tslib: 2.8.1 - astral-regex@1.0.0: {} - astral-regex@2.0.0: {} async-function@1.0.0: {} @@ -7542,8 +7294,6 @@ snapshots: commander: 9.5.0 semver: 7.7.3 - binary-extensions@2.3.0: {} - brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -7672,8 +7422,6 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.3.0: {} - chalk@5.6.2: {} change-case@4.1.2: @@ -7697,21 +7445,11 @@ snapshots: character-entities@2.0.2: {} - chardet@0.7.0: {} - chardet@2.1.1: {} - chokidar@3.5.3: + chokidar@4.0.3: dependencies: - anymatch: 3.1.3 - braces: 3.0.3 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 + readdirp: 4.1.2 chrome-trace-event@1.0.3: {} @@ -7740,10 +7478,6 @@ snapshots: cli-boxes@3.0.0: {} - cli-cursor@3.1.0: - dependencies: - restore-cursor: 3.1.0 - cli-cursor@4.0.0: dependencies: restore-cursor: 4.0.0 @@ -7755,8 +7489,6 @@ snapshots: slice-ansi: 5.0.0 string-width: 7.2.0 - cli-width@3.0.0: {} - cli-width@4.1.0: {} cliui@7.0.4: @@ -7875,13 +7607,13 @@ snapshots: optionalDependencies: typescript: 5.4.5 - create-jest@29.7.0(@types/node@22.19.17)(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5)): + create-jest@29.7.0(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.19.17)(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5)) + jest-config: 29.7.0(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -7892,18 +7624,11 @@ snapshots: create-require@1.1.1: {} - cross-env@7.0.3: + cross-env@10.1.0: dependencies: + '@epic-web/invariant': 1.0.0 cross-spawn: 7.0.6 - cross-spawn@6.0.6: - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.2 - shebang-command: 1.2.0 - which: 1.3.1 - cross-spawn@7.0.6: dependencies: path-key: 3.1.1 @@ -8057,6 +7782,8 @@ snapshots: diff@5.2.2: {} + diff@7.0.0: {} + diff@8.0.3: {} dir-glob@3.0.1: @@ -8067,10 +7794,6 @@ snapshots: dependencies: esutils: 2.0.3 - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dot-case@3.0.4: dependencies: no-case: 3.0.4 @@ -8098,8 +7821,6 @@ snapshots: emoji-regex@10.4.0: {} - emoji-regex@7.0.3: {} - emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -8311,58 +8032,10 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-utils@1.4.3: - dependencies: - eslint-visitor-keys: 1.3.0 - - eslint-visitor-keys@1.3.0: {} - eslint-visitor-keys@3.4.3: {} eslint-visitor-keys@4.2.1: {} - eslint@6.8.0: - dependencies: - '@babel/code-frame': 7.27.1 - ajv: 6.12.6 - chalk: 2.4.2 - cross-spawn: 6.0.6 - debug: 4.4.3(supports-color@8.1.1) - doctrine: 3.0.0 - eslint-scope: 5.1.1 - eslint-utils: 1.4.3 - eslint-visitor-keys: 1.3.0 - espree: 6.2.1 - esquery: 1.6.0 - esutils: 2.0.3 - file-entry-cache: 5.0.1 - functional-red-black-tree: 1.0.1 - glob-parent: 5.1.2 - globals: 12.4.0 - ignore: 4.0.6 - import-fresh: 3.3.0 - imurmurhash: 0.1.4 - inquirer: 7.3.3 - is-glob: 4.0.3 - js-yaml: 3.14.2 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.3.0 - lodash: 4.18.1 - minimatch: 3.1.5 - mkdirp: 0.5.6 - natural-compare: 1.4.0 - optionator: 0.8.3 - progress: 2.0.3 - regexpp: 2.0.1 - semver: 6.3.1 - strip-ansi: 5.2.0 - strip-json-comments: 3.1.1 - table: 5.4.6 - text-table: 0.2.0 - v8-compile-cache: 2.4.0 - transitivePeerDependencies: - - supports-color - eslint@9.39.2(jiti@2.6.1): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) @@ -8410,12 +8083,6 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.15.0) eslint-visitor-keys: 4.2.1 - espree@6.2.1: - dependencies: - acorn: 7.4.1 - acorn-jsx: 5.3.2(acorn@7.4.1) - eslint-visitor-keys: 1.3.0 - esprima@4.0.1: {} esquery@1.6.0: @@ -8470,12 +8137,6 @@ snapshots: extend@3.0.2: {} - external-editor@3.1.0: - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - extract-zip@2.0.1: dependencies: debug: 4.4.3(supports-color@8.1.1) @@ -8532,14 +8193,6 @@ snapshots: fflate@0.8.2: {} - figures@3.2.0: - dependencies: - escape-string-regexp: 1.0.5 - - file-entry-cache@5.0.1: - dependencies: - flat-cache: 2.0.1 - file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 @@ -8591,12 +8244,6 @@ snapshots: dependencies: micromatch: 4.0.8 - flat-cache@2.0.1: - dependencies: - flatted: 2.0.2 - rimraf: 2.6.3 - write: 1.0.3 - flat-cache@4.0.1: dependencies: flatted: 3.3.3 @@ -8604,8 +8251,6 @@ snapshots: flat@5.0.2: {} - flatted@2.0.2: {} - flatted@3.3.3: {} follow-redirects@1.15.11: {} @@ -8659,8 +8304,6 @@ snapshots: hasown: 2.0.2 is-callable: 1.2.7 - functional-red-black-tree@1.0.1: {} - functions-have-names@1.2.3: {} generator-function@2.0.1: {} @@ -8756,14 +8399,6 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - glob@8.1.0: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.9 - once: 1.4.0 - global-modules@0.2.3: dependencies: global-prefix: 0.1.5 @@ -8778,10 +8413,6 @@ snapshots: globals@11.12.0: {} - globals@12.4.0: - dependencies: - type-fest: 0.8.1 - globals@14.0.0: {} globals@16.5.0: {} @@ -8936,10 +8567,6 @@ snapshots: hyperlinker@1.0.0: {} - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 - iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2 @@ -8951,8 +8578,6 @@ snapshots: ieee754@1.2.1: {} - ignore@4.0.6: {} - ignore@5.3.2: {} ignore@7.0.5: {} @@ -8994,7 +8619,7 @@ snapshots: ansi-escapes: 7.0.0 ansi-styles: 6.2.1 auto-bind: 5.0.1 - chalk: 5.3.0 + chalk: 5.6.2 cli-boxes: 3.0.0 cli-cursor: 4.0.0 cli-truncate: 4.0.0 @@ -9021,22 +8646,6 @@ snapshots: - bufferutil - utf-8-validate - inquirer@7.3.3: - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.18.1 - mute-stream: 0.0.8 - run-async: 2.4.1 - rxjs: 6.6.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - int64-buffer@0.1.10: {} internal-slot@1.1.0: @@ -9070,10 +8679,6 @@ snapshots: dependencies: has-bigints: 1.1.0 - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - is-boolean-object@1.2.2: dependencies: call-bound: 1.0.4 @@ -9110,8 +8715,6 @@ snapshots: dependencies: call-bound: 1.0.4 - is-fullwidth-code-point@2.0.0: {} - is-fullwidth-code-point@3.0.0: {} is-fullwidth-code-point@4.0.0: {} @@ -9147,6 +8750,8 @@ snapshots: is-number@7.0.0: {} + is-path-inside@3.0.3: {} + is-plain-obj@2.1.0: {} is-plain-obj@4.1.0: {} @@ -9304,16 +8909,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@22.19.17)(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5)): + jest-cli@29.7.0(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.19.17)(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5)) + create-jest: 29.7.0(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.19.17)(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5)) + jest-config: 29.7.0(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -9323,7 +8928,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@22.19.17)(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5)): + jest-config@29.7.0(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)): dependencies: '@babel/core': 7.25.2 '@jest/test-sequencer': 29.7.0 @@ -9349,7 +8954,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 22.19.17 - ts-node: 10.9.1(@types/node@22.19.17)(typescript@5.4.5) + ts-node: 10.9.2(@types/node@22.19.17)(typescript@5.4.5) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -9407,8 +9012,6 @@ snapshots: - supports-color - typescript - jest-get-type@24.9.0: {} - jest-get-type@29.6.3: {} jest-haste-map@29.7.0: @@ -9427,12 +9030,11 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - jest-junit@10.0.0: + jest-junit@16.0.0: dependencies: - jest-validate: 24.9.0 - mkdirp: 0.5.6 - strip-ansi: 5.2.0 - uuid: 3.4.0 + mkdirp: 1.0.4 + strip-ansi: 6.0.1 + uuid: 8.3.2 xml: 1.0.1 jest-leak-detector@29.7.0: @@ -9587,15 +9189,6 @@ snapshots: graceful-fs: 4.2.11 picomatch: 2.3.2 - jest-validate@24.9.0: - dependencies: - '@jest/types': 24.9.0 - camelcase: 5.3.1 - chalk: 2.4.2 - jest-get-type: 24.9.0 - leven: 3.1.0 - pretty-format: 24.9.0 - jest-validate@29.7.0: dependencies: '@jest/types': 29.6.3 @@ -9629,12 +9222,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.6.2(@types/node@22.19.17)(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5)): + jest@29.6.2(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5)) + '@jest/core': 29.7.0(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)) '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.19.17)(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5)) + jest-cli: 29.7.0(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -9755,11 +9348,6 @@ snapshots: leven@3.1.0: {} - levn@0.3.0: - dependencies: - prelude-ls: 1.1.2 - type-check: 0.3.2 - levn@0.4.1: dependencies: prelude-ls: 1.2.1 @@ -10226,43 +9814,40 @@ snapshots: mitt@3.0.1: {} - mkdirp@0.5.6: - dependencies: - minimist: 1.2.8 - mkdirp@1.0.4: {} mkdirp@3.0.1: {} - mocha-multi-reporters@1.5.1(mocha@10.8.2): + mocha-multi-reporters@1.5.1(mocha@11.7.5): dependencies: debug: 4.4.3(supports-color@8.1.1) lodash: 4.18.1 - mocha: 10.8.2 + mocha: 11.7.5 transitivePeerDependencies: - supports-color - mocha@10.8.2: + mocha@11.7.5: dependencies: - ansi-colors: 4.1.3 browser-stdout: 1.3.1 - chokidar: 3.5.3 + chokidar: 4.0.3 debug: 4.4.3(supports-color@8.1.1) - diff: 5.2.2 + diff: 7.0.0 escape-string-regexp: 4.0.0 find-up: 5.0.0 - glob: 8.1.0 + glob: 10.5.0 he: 1.2.0 + is-path-inside: 3.0.3 js-yaml: 4.1.1 log-symbols: 4.1.0 - minimatch: 5.1.9 + minimatch: 9.0.9 ms: 2.1.3 + picocolors: 1.1.1 serialize-javascript: 7.0.4 strip-json-comments: 3.1.1 supports-color: 8.1.1 - workerpool: 6.5.1 - yargs: 16.2.0 - yargs-parser: 20.2.9 + workerpool: 9.3.4 + yargs: 17.7.2 + yargs-parser: 21.1.1 yargs-unparser: 2.0.0 ms@2.1.3: {} @@ -10282,8 +9867,6 @@ snapshots: arrify: 2.0.1 minimatch: 3.1.5 - mute-stream@0.0.8: {} - mute-stream@1.0.0: {} mute-stream@2.0.0: {} @@ -10298,8 +9881,6 @@ snapshots: netmask@2.0.2: {} - nice-try@1.0.5: {} - nise@6.1.1: dependencies: '@sinonjs/commons': 3.0.1 @@ -10426,15 +10007,6 @@ snapshots: dependencies: mimic-fn: 2.1.0 - optionator@0.8.3: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.3.0 - prelude-ls: 1.1.2 - type-check: 0.3.2 - word-wrap: 1.2.5 - optionator@0.9.3: dependencies: '@aashutoshrathi/word-wrap': 1.2.6 @@ -10446,8 +10018,6 @@ snapshots: os-homedir@1.0.2: {} - os-tmpdir@1.0.2: {} - override-require@1.1.1: {} own-keys@1.0.1: @@ -10564,8 +10134,6 @@ snapshots: path-is-absolute@1.0.1: {} - path-key@2.0.1: {} - path-key@3.1.1: {} path-parse@1.0.7: {} @@ -10598,6 +10166,8 @@ snapshots: pirates@4.0.6: {} + pirates@4.0.7: {} + pkg-dir@4.2.0: dependencies: find-up: 4.1.0 @@ -10606,21 +10176,12 @@ snapshots: possible-typed-array-names@1.0.0: {} - prelude-ls@1.1.2: {} - prelude-ls@1.2.1: {} prettier@3.0.3: {} prettier@3.2.5: {} - pretty-format@24.9.0: - dependencies: - '@jest/types': 24.9.0 - ansi-regex: 4.1.1 - ansi-styles: 3.2.1 - react-is: 16.13.1 - pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 @@ -10711,8 +10272,6 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-is@16.13.1: {} - react-is@18.3.1: {} react-reconciler@0.29.2(react@18.3.1): @@ -10755,9 +10314,7 @@ snapshots: string_decoder: 1.1.1 util-deprecate: 1.0.2 - readdirp@3.6.0: - dependencies: - picomatch: 2.3.2 + readdirp@4.1.2: {} readline-sync@1.4.10: {} @@ -10787,8 +10344,6 @@ snapshots: gopd: 1.2.0 set-function-name: 2.0.2 - regexpp@2.0.1: {} - registry-auth-token@5.1.0: dependencies: '@pnpm/npm-conf': 2.1.1 @@ -10895,11 +10450,6 @@ snapshots: dependencies: lowercase-keys: 3.0.0 - restore-cursor@3.1.0: - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - restore-cursor@4.0.0: dependencies: onetime: 5.1.2 @@ -10911,31 +10461,23 @@ snapshots: reusify@1.0.4: {} - rewire@5.0.0: + rewire@9.0.1(jiti@2.6.1): dependencies: - eslint: 6.8.0 + eslint: 9.39.2(jiti@2.6.1) + pirates: 4.0.7 transitivePeerDependencies: + - jiti - supports-color - rimraf@2.6.3: - dependencies: - glob: 7.2.3 - rimraf@6.1.3: dependencies: glob: 13.0.5 package-json-from-dist: 1.0.1 - run-async@2.4.1: {} - run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - rxjs@6.6.7: - dependencies: - tslib: 1.14.1 - rxjs@7.8.2: dependencies: tslib: 2.8.1 @@ -11033,16 +10575,10 @@ snapshots: safe-buffer: 5.2.1 to-buffer: 1.2.1 - shebang-command@1.2.0: - dependencies: - shebang-regex: 1.0.0 - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - shebang-regex@1.0.0: {} - shebang-regex@3.0.0: {} shell-quote@1.8.3: {} @@ -11100,12 +10636,6 @@ snapshots: slash@3.0.0: {} - slice-ansi@2.1.0: - dependencies: - ansi-styles: 3.2.1 - astral-regex: 1.0.0 - is-fullwidth-code-point: 2.0.0 - slice-ansi@4.0.0: dependencies: ansi-styles: 4.3.0 @@ -11228,12 +10758,6 @@ snapshots: char-regex: 1.0.2 strip-ansi: 6.0.1 - string-width@3.1.0: - dependencies: - emoji-regex: 7.0.3 - is-fullwidth-code-point: 2.0.0 - strip-ansi: 5.2.0 - string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -11286,10 +10810,6 @@ snapshots: dependencies: safe-buffer: 5.1.2 - strip-ansi@5.2.0: - dependencies: - ansi-regex: 4.1.1 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -11331,13 +10851,6 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - table@5.4.6: - dependencies: - ajv: 6.12.6 - lodash: 4.18.1 - slice-ansi: 2.1.0 - string-width: 3.1.0 - table@6.9.0: dependencies: ajv: 8.18.0 @@ -11396,8 +10909,6 @@ snapshots: dependencies: b4a: 1.6.6 - text-table@0.2.0: {} - through2@2.0.5: dependencies: readable-stream: 2.3.8 @@ -11412,10 +10923,6 @@ snapshots: fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 - tmp@0.0.33: - dependencies: - os-tmpdir: 1.0.2 - tmpl@1.0.5: {} to-buffer@1.2.1: @@ -11444,11 +10951,11 @@ snapshots: ts-deepmerge@7.0.3: {} - ts-jest@29.1.1(@babel/core@7.25.2)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.6.2(@types/node@22.19.17)(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5)))(typescript@5.4.5): + ts-jest@29.1.1(@babel/core@7.25.2)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.6.2(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)))(typescript@5.4.5): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.6.2(@types/node@22.19.17)(ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5)) + jest: 29.6.2(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -11466,7 +10973,7 @@ snapshots: '@ts-morph/common': 0.23.0 code-block-writer: 13.0.1 - ts-node@10.9.1(@types/node@22.19.17)(typescript@5.4.5): + ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 @@ -11491,8 +10998,6 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 - tslib@1.14.1: {} - tslib@2.8.1: {} tunnel-agent@0.6.0: @@ -11501,10 +11006,6 @@ snapshots: tunnel@0.0.6: {} - type-check@0.3.2: - dependencies: - prelude-ls: 1.1.2 - type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -11658,12 +11159,10 @@ snapshots: util-deprecate@1.0.2: {} - uuid@3.4.0: {} + uuid@8.3.2: {} v8-compile-cache-lib@3.0.1: {} - v8-compile-cache@2.4.0: {} - v8-to-istanbul@9.3.0: dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -11806,11 +11305,9 @@ snapshots: dependencies: string-width: 7.2.0 - word-wrap@1.2.5: {} - wordwrap@1.0.0: {} - workerpool@6.5.1: {} + workerpool@9.3.4: {} wrap-ansi@6.2.0: dependencies: @@ -11843,10 +11340,6 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 3.0.7 - write@1.0.3: - dependencies: - mkdirp: 0.5.6 - ws@8.18.0: {} xcase@2.0.1: {} diff --git a/common/lib/common-utils/pnpm-workspace.yaml b/common/lib/common-utils/pnpm-workspace.yaml index fe960fe18c26..f491b686d815 100644 --- a/common/lib/common-utils/pnpm-workspace.yaml +++ b/common/lib/common-utils/pnpm-workspace.yaml @@ -24,6 +24,12 @@ trustPolicyExclude: # Pulled in transitively via danger@13 → @octokit/rest@20 → @octokit/core@5 → @octokit/request@8. # No reachable direct-dep bump escapes this without overriding @octokit/rest itself. - "@octokit/endpoint@9.0.6" + # chokidar@4.0.3 (published 2024-12-18, by paulmillr) — pipeline regression. + # Prior trusted: chokidar@4.0.1 (provenance, 2024-09-22, by paulmillr). + # Same publisher (sole maintainer); provenance attestation was dropped after 4.0.1. + # Pulled in transitively via mocha@11 (chokidar ^4.0.1). + # chokidar@5.0.0 has restored provenance but no upstream consumer pins ^5 yet. + - "chokidar@4.0.3" # semver@5.7.2 and semver@6.3.1 — legacy maintenance lines (last published 2023-07-10 # and 2023-04-26 respectively, by lukekarrys). # Prior trusted: semver@7.5.4 (provenance, 2023-07-07, by npm-cli-ops). From 6728ad7596eb7be3ed5a199e27e0ed2574c42af7 Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Thu, 14 May 2026 21:38:39 -0700 Subject: [PATCH 08/19] common-utils: drop deprecated @types/base64-js stub base64-js@1.5.x ships its own .d.ts files, so the @types/base64-js package is now a no-op stub. pnpm flagged it as deprecated: WARN deprecated @types/base64-js@1.5.0: This is a stub types definition. base64-js provides its own type definitions, so you do not need this installed. Build, mocha (53), and jest (19) stay green without it. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- common/lib/common-utils/package.json | 1 - common/lib/common-utils/pnpm-lock.yaml | 11 ----------- 2 files changed, 12 deletions(-) diff --git a/common/lib/common-utils/package.json b/common/lib/common-utils/package.json index 2f4f45b0854b..107246a99ecc 100644 --- a/common/lib/common-utils/package.json +++ b/common/lib/common-utils/package.json @@ -111,7 +111,6 @@ "@fluidframework/common-utils-previous": "npm:@fluidframework/common-utils@1.0.0", "@microsoft/api-extractor": "7.58.1", "@rushstack/eslint-plugin": "~0.22.1", - "@types/base64-js": "^1.3.2", "@types/jest": "29.5.3", "@types/jest-environment-puppeteer": "2.2.0", "@types/mocha": "^10.0.10", diff --git a/common/lib/common-utils/pnpm-lock.yaml b/common/lib/common-utils/pnpm-lock.yaml index 5dcef577af92..b0013da7f367 100644 --- a/common/lib/common-utils/pnpm-lock.yaml +++ b/common/lib/common-utils/pnpm-lock.yaml @@ -77,9 +77,6 @@ importers: '@rushstack/eslint-plugin': specifier: ~0.22.1 version: 0.22.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) - '@types/base64-js': - specifier: ^1.3.2 - version: 1.5.0 '@types/jest': specifier: 29.5.3 version: 29.5.3 @@ -1219,10 +1216,6 @@ packages: '@types/babel__traverse@7.20.6': resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} - '@types/base64-js@1.5.0': - resolution: {integrity: sha512-xDDGwUoGXW4FHFWs1pIMXZrVD4kxOAo4KmNSZlb0w5hT52Gd4eIzkjwVp/XRpSox2hfR3h7ZO6witfU7aAZ6XA==} - deprecated: This is a stub types definition. base64-js provides its own type definitions, so you do not need this installed. - '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -6648,10 +6641,6 @@ snapshots: dependencies: '@babel/types': 7.28.4 - '@types/base64-js@1.5.0': - dependencies: - base64-js: 1.5.1 - '@types/debug@4.1.12': dependencies: '@types/ms': 0.7.34 From 3e82cb0b10a9d86f0347353c9a97c818482bb4cb Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Thu, 14 May 2026 21:40:05 -0700 Subject: [PATCH 09/19] common-utils: add attw (check:are-the-types-wrong) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The earlier attempt to add @arethetypeswrong/cli was blocked by a trust-downgrade error on semver@5.7.2, pulled in transitively through rewire@5 -> eslint@6 -> cross-spawn@6. The subsequent rewire@5 -> ^9 bump removed that chain, so the install now goes through cleanly. Adds the script and the devDependency at ^0.15.2 (matches protocol-definitions; client-utils uses ^0.18.2 but staying on avoids pulling in a newer toolchain). attw passes all four resolution modes (node10, node16 CJS/ESM, bundler) — confirms the modernized exports map is correct. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- common/lib/common-utils/package.json | 2 + common/lib/common-utils/pnpm-lock.yaml | 228 +++++++++++++++++++++++-- 2 files changed, 219 insertions(+), 11 deletions(-) diff --git a/common/lib/common-utils/package.json b/common/lib/common-utils/package.json index 107246a99ecc..8c2ace56efc9 100644 --- a/common/lib/common-utils/package.json +++ b/common/lib/common-utils/package.json @@ -51,6 +51,7 @@ "build:test:mocha:esm": "tsc --project ./src/test/mocha/tsconfig.json", "build:test:types": "tsc --project ./src/test/types/tsconfig.json", "bump-version": "npm version minor --no-push --no-git-tag-version", + "check:are-the-types-wrong": "attw --pack .", "check:release-tags": "api-extractor run --config ./api-extractor-lint.json", "ci:build": "fluid-build . --task ci:build", "ci:build:docs": "api-extractor run --typescript-compiler-folder ./node_modules/typescript && copyfiles -u 1 \"./_api-extractor-temp/doc-models/*\" ../../../_api-extractor-temp/", @@ -104,6 +105,7 @@ "sha.js": "^2.4.12" }, "devDependencies": { + "@arethetypeswrong/cli": "^0.15.2", "@eslint/js": "^9.39.0", "@fluid-tools/build-cli": "^0.65.0", "@fluidframework/build-common": "^2.0.3", diff --git a/common/lib/common-utils/pnpm-lock.yaml b/common/lib/common-utils/pnpm-lock.yaml index b0013da7f367..b7c9c77a1edb 100644 --- a/common/lib/common-utils/pnpm-lock.yaml +++ b/common/lib/common-utils/pnpm-lock.yaml @@ -56,6 +56,9 @@ importers: specifier: ^2.4.12 version: 2.4.12 devDependencies: + '@arethetypeswrong/cli': + specifier: ^0.15.2 + version: 0.15.4 '@eslint/js': specifier: ^9.39.0 version: 9.39.2 @@ -179,6 +182,15 @@ packages: '@andrewbranch/untar.js@1.0.3': resolution: {integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==} + '@arethetypeswrong/cli@0.15.4': + resolution: {integrity: sha512-YDbImAi1MGkouT7f2yAECpUMFhhA1J0EaXzIqoC5GGtK0xDgauLtcsZezm8tNq7d3wOFXH7OnY+IORYcG212rw==} + engines: {node: '>=18'} + hasBin: true + + '@arethetypeswrong/core@0.15.1': + resolution: {integrity: sha512-FYp6GBAgsNz81BkfItRz8RLZO03w5+BaeiPma1uCfmxTnxbtuMrI/dbzGiOk8VghO108uFI0oJo0OkewdSHw7g==} + engines: {node: '>=18'} + '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} @@ -348,6 +360,10 @@ packages: resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -1150,6 +1166,10 @@ packages: '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + '@sindresorhus/is@5.3.0': resolution: {integrity: sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==} engines: {node: '>=14.16'} @@ -1572,6 +1592,9 @@ packages: resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==} engines: {node: '>=14'} + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -1926,10 +1949,19 @@ packages: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-highlight@2.1.11: + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} + cli-truncate@4.0.0: resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} engines: {node: '>=18'} @@ -1984,6 +2016,10 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -2265,6 +2301,9 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} @@ -2820,6 +2859,9 @@ packages: header-case@2.0.4: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} + highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + homedir-polyfill@1.0.3: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} @@ -3575,6 +3617,17 @@ packages: markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + marked-terminal@7.3.0: + resolution: {integrity: sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw==} + engines: {node: '>=16.0.0'} + peerDependencies: + marked: '>=1 <16' + + marked@9.1.6: + resolution: {integrity: sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==} + engines: {node: '>= 16'} + hasBin: true + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} @@ -3809,6 +3862,9 @@ packages: resolution: {integrity: sha512-dkEJPVvun4FryqBmZ5KhDo0K9iDXAwn08tMLDinNdRBNPcYEDiWYysLcc6k3mjTMlbP9KyylvRpd4wFtwrT9rw==} engines: {node: ^20.17.0 || >=22.9.0} + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -3832,6 +3888,10 @@ packages: node-cleanup@2.1.2: resolution: {integrity: sha512-qN8v/s2PAJwGUtr1/hYTpNKlD6Y9rc4p8KSmJXyGdYGZsDGKXrGThikLFP9OCHFeLeEpQzPwiAtdIvBLqm//Hw==} + node-emoji@2.2.0: + resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} + engines: {node: '>=18'} + node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -3874,6 +3934,10 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + object-hash@3.0.0: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} @@ -4013,6 +4077,15 @@ packages: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} + parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + + parse5@5.1.1: + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} @@ -4472,6 +4545,10 @@ packages: sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -4655,6 +4732,10 @@ packages: resolution: {integrity: sha512-HHi5kVSefKaJkGYXbDuKbUGRVxqnWGn3J2e39CYcNJEfWciGq2zYtOhXLTlvrOZW1QU7VX67w7fMmWafHX9Pfw==} engines: {node: '>=4'} + supports-hyperlinks@3.2.0: + resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==} + engines: {node: '>=14.18'} + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -4705,6 +4786,13 @@ packages: text-decoder@1.1.1: resolution: {integrity: sha512-8zll7REEv4GDD3x4/0pW+ppIxSNs7H1J10IKFZsuOMscumCdM2a+toDGLPA3T+1+fLBql4zbt5z83GEQGGV5VA==} + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} @@ -4752,6 +4840,9 @@ packages: resolution: {integrity: sha512-Du/ZW2RfwV/D4cmA5rXafYjBQVuvu4qGiEEla4EmEHVHgRdx68Gftx7i66jn2bzHPwSVZY36Ae6OuDn9el4ZKA==} engines: {node: '>=14.13.1'} + ts-expose-internals-conditionally@1.0.0-empty.0: + resolution: {integrity: sha512-F8m9NOF6ZhdOClDVdlM8gj3fDCav4ZIFSs/EI3ksQbAAXVSCN/Jh5OCJDDZWBuBy9psFc6jULGDlPwjMYMhJDw==} + ts-jest@29.1.1: resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -4864,6 +4955,11 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' + typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + typescript@5.4.5: resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} @@ -4887,6 +4983,10 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + unicorn-magic@0.1.0: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} engines: {node: '>=18'} @@ -5188,6 +5288,25 @@ snapshots: '@andrewbranch/untar.js@1.0.3': {} + '@arethetypeswrong/cli@0.15.4': + dependencies: + '@arethetypeswrong/core': 0.15.1 + chalk: 4.1.2 + cli-table3: 0.6.5 + commander: 10.0.1 + marked: 9.1.6 + marked-terminal: 7.3.0(marked@9.1.6) + semver: 7.8.0 + + '@arethetypeswrong/core@0.15.1': + dependencies: + '@andrewbranch/untar.js': 1.0.3 + fflate: 0.8.2 + semver: 7.8.0 + ts-expose-internals-conditionally: 1.0.0-empty.0 + typescript: 5.3.3 + validate-npm-package-name: 5.0.1 + '@babel/code-frame@7.27.1': dependencies: '@babel/helper-validator-identifier': 7.28.5 @@ -5384,6 +5503,9 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} + '@colors/colors@1.5.0': + optional: true + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 @@ -5527,7 +5649,7 @@ snapshots: oclif: 4.23.0(@types/node@22.19.17) picocolors: 1.1.1 read-pkg-up: 7.0.1 - semver: 7.7.3 + semver: 7.8.0 simple-git: 3.32.3 sort-package-json: 1.57.0 type-fest: 2.19.0 @@ -5546,7 +5668,7 @@ snapshots: '@oclif/plugin-commands': 4.1.52 '@oclif/plugin-help': 6.2.48 '@oclif/plugin-not-found': 3.2.85(@types/node@22.19.17) - semver: 7.7.3 + semver: 7.8.0 table: 6.9.0 transitivePeerDependencies: - '@types/node' @@ -6499,7 +6621,7 @@ snapshots: extract-zip: 2.0.1 progress: 2.0.3 proxy-agent: 6.4.0 - semver: 7.7.3 + semver: 7.8.0 tar-fs: 3.1.1 unbzip2-stream: 1.4.3 yargs: 17.7.2 @@ -6569,6 +6691,8 @@ snapshots: '@sinclair/typebox@0.27.8': {} + '@sindresorhus/is@4.6.0': {} + '@sindresorhus/is@5.3.0': {} '@sinonjs/commons@3.0.1': @@ -6853,7 +6977,7 @@ snapshots: fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.9 - semver: 7.7.3 + semver: 7.8.0 ts-api-utils: 2.4.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -6867,7 +6991,7 @@ snapshots: '@typescript-eslint/visitor-keys': 8.55.0 debug: 4.4.3(supports-color@8.1.1) minimatch: 9.0.9 - semver: 7.7.3 + semver: 7.8.0 tinyglobby: 0.2.15 ts-api-utils: 2.4.0(typescript@5.4.5) typescript: 5.4.5 @@ -7069,6 +7193,8 @@ snapshots: ansis@3.17.0: {} + any-promise@1.3.0: {} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 @@ -7281,7 +7407,7 @@ snapshots: dependencies: arg-parser: 1.2.0 commander: 9.5.0 - semver: 7.7.3 + semver: 7.8.0 brace-expansion@1.1.12: dependencies: @@ -7471,8 +7597,23 @@ snapshots: dependencies: restore-cursor: 4.0.0 + cli-highlight@2.1.11: + dependencies: + chalk: 4.1.2 + highlight.js: 10.7.3 + mz: 2.7.0 + parse5: 5.1.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + yargs: 16.2.0 + cli-spinners@2.9.2: {} + cli-table3@0.6.5: + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + cli-truncate@4.0.0: dependencies: slice-ansi: 5.0.0 @@ -7526,6 +7667,8 @@ snapshots: dependencies: delayed-stream: 1.0.0 + commander@10.0.1: {} + commander@2.20.3: {} commander@5.1.0: {} @@ -7814,6 +7957,8 @@ snapshots: emoji-regex@9.2.2: {} + emojilib@2.4.0: {} + encoding@0.1.13: dependencies: iconv-lite: 0.6.3 @@ -8491,6 +8636,8 @@ snapshots: capital-case: 1.0.4 tslib: 2.8.1 + highlight.js@10.7.3: {} + homedir-polyfill@1.0.3: dependencies: parse-passwd: 1.0.0 @@ -8830,7 +8977,7 @@ snapshots: '@babel/parser': 7.28.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.7.3 + semver: 7.8.0 transitivePeerDependencies: - supports-color @@ -9165,7 +9312,7 @@ snapshots: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.7.3 + semver: 7.8.0 transitivePeerDependencies: - supports-color @@ -9293,7 +9440,7 @@ snapshots: lodash.isstring: 4.0.1 lodash.once: 4.1.1 ms: 2.1.3 - semver: 7.7.3 + semver: 7.8.0 jssm@5.104.2: dependencies: @@ -9433,7 +9580,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.7.3 + semver: 7.8.0 make-error@1.3.6: {} @@ -9443,6 +9590,19 @@ snapshots: markdown-table@3.0.3: {} + marked-terminal@7.3.0(marked@9.1.6): + dependencies: + ansi-escapes: 7.0.0 + ansi-regex: 6.1.0 + chalk: 5.6.2 + cli-highlight: 2.1.11 + cli-table3: 0.6.5 + marked: 9.1.6 + node-emoji: 2.2.0 + supports-hyperlinks: 3.2.0 + + marked@9.1.6: {} + math-intrinsics@1.1.0: {} mdast-util-find-and-replace@3.0.1: @@ -9862,6 +10022,12 @@ snapshots: mute-stream@3.0.0: {} + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + natural-compare@1.4.0: {} natural-orderby@3.0.2: {} @@ -9885,6 +10051,13 @@ snapshots: node-cleanup@2.1.2: {} + node-emoji@2.2.0: + dependencies: + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 + node-fetch@2.7.0(encoding@0.1.13): dependencies: whatwg-url: 5.0.0 @@ -9923,6 +10096,8 @@ snapshots: dependencies: path-key: 3.1.1 + object-assign@4.1.1: {} + object-hash@3.0.0: {} object-inspect@1.13.4: {} @@ -10068,7 +10243,7 @@ snapshots: ky: 1.8.1 registry-auth-token: 5.1.0 registry-url: 6.0.1 - semver: 7.7.3 + semver: 7.8.0 pako@1.0.11: {} @@ -10103,6 +10278,14 @@ snapshots: parse-passwd@1.0.0: {} + parse5-htmlparser2-tree-adapter@6.0.1: + dependencies: + parse5: 6.0.1 + + parse5@5.1.1: {} + + parse5@6.0.1: {} + pascal-case@3.1.2: dependencies: no-case: 3.0.4 @@ -10623,6 +10806,10 @@ snapshots: sisteransi@1.0.5: {} + skin-tone@2.0.0: + dependencies: + unicode-emoji-modifier-base: 1.0.0 + slash@3.0.0: {} slice-ansi@4.0.0: @@ -10838,6 +11025,11 @@ snapshots: has-flag: 2.0.0 supports-color: 5.5.0 + supports-hyperlinks@3.2.0: + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + supports-preserve-symlinks-flag@1.0.0: {} table@6.9.0: @@ -10898,6 +11090,14 @@ snapshots: dependencies: b4a: 1.6.6 + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + through2@2.0.5: dependencies: readable-stream: 2.3.8 @@ -10940,6 +11140,8 @@ snapshots: ts-deepmerge@7.0.3: {} + ts-expose-internals-conditionally@1.0.0-empty.0: {} + ts-jest@29.1.1(@babel/core@7.25.2)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.6.2(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)))(typescript@5.4.5): dependencies: bs-logger: 0.2.6 @@ -11065,6 +11267,8 @@ snapshots: transitivePeerDependencies: - supports-color + typescript@5.3.3: {} + typescript@5.4.5: {} typescript@5.9.3: {} @@ -11085,6 +11289,8 @@ snapshots: undici-types@6.21.0: {} + unicode-emoji-modifier-base@1.0.0: {} + unicorn-magic@0.1.0: {} unified@11.0.5: From b2a5131e2fe71b2ce3eaa70efad672244863c238 Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Thu, 14 May 2026 21:40:46 -0700 Subject: [PATCH 10/19] common-utils: chain check:are-the-types-wrong into lint Match the protocol-definitions pattern of running attw as part of lint: lint: fluid-build . --task lint --task check:are-the-types-wrong Verified `npm run lint` runs the new attw task alongside the existing 9 lint tasks. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- common/lib/common-utils/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/lib/common-utils/package.json b/common/lib/common-utils/package.json index 8c2ace56efc9..fd136a014a0d 100644 --- a/common/lib/common-utils/package.json +++ b/common/lib/common-utils/package.json @@ -61,7 +61,7 @@ "eslint": "eslint --format stylish src", "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout", "format": "npm run prettier:fix", - "lint": "fluid-build . --task lint", + "lint": "fluid-build . --task lint --task check:are-the-types-wrong", "lint:fix": "fluid-build . --task lint:fix", "prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore", "prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore", From e08940399238520423611d4544e2e49e10a36b74 Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Thu, 14 May 2026 21:46:59 -0700 Subject: [PATCH 11/19] common-utils: simplify build:docs / ci:build:docs scripts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Drop two pieces of legacy plumbing that no other modernized package in the repo carries: - --typescript-compiler-folder ./node_modules/typescript: forces api-extractor to use the package's own typescript install instead of its bundled one. api-extractor 7.58.1 ships with typescript 5.9.3 already, and the analyzer doesn't care which compiler emitted the .d.ts files it inspects. - copyfiles -u 1 "./_api-extractor-temp/doc-models/*" ../../../_api-extractor-temp/: mirrors the generated api.json into a repo-root temp directory. No tooling reads from there anymore; downstream docs aggregation walks each package's own ./_api-extractor-temp/doc-models/. After this change build:docs / ci:build:docs match the protocol-definitions form: build:docs -> api-extractor run --local ci:build:docs -> api-extractor run Verified `npm run build`, `npm run ci:build`, `npm run test:mocha`, `npm run test:jest`, `npm run lint` (with attw chain) all pass. The copyfiles devDependency is retained — the `tsc` script still uses it to drop the cjs package.json shim into ./dist. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- common/lib/common-utils/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/common/lib/common-utils/package.json b/common/lib/common-utils/package.json index fd136a014a0d..c68048227357 100644 --- a/common/lib/common-utils/package.json +++ b/common/lib/common-utils/package.json @@ -42,7 +42,7 @@ "build": "fluid-build . --task build", "build:commonjs": "fluid-build . --task commonjs", "build:compile": "fluid-build . --task compile", - "build:docs": "api-extractor run --local --typescript-compiler-folder ./node_modules/typescript && copyfiles -u 1 \"./_api-extractor-temp/doc-models/*\" ../../../_api-extractor-temp/", + "build:docs": "api-extractor run --local", "build:esnext": "tsc --project ./tsconfig.json", "build:test": "concurrently npm:build:test:mocha npm:build:test:jest npm:build:test:types", "build:test:jest": "fluid-tsc commonjs --project ./src/test/jest/tsconfig.cjs.json", @@ -54,7 +54,7 @@ "check:are-the-types-wrong": "attw --pack .", "check:release-tags": "api-extractor run --config ./api-extractor-lint.json", "ci:build": "fluid-build . --task ci:build", - "ci:build:docs": "api-extractor run --typescript-compiler-folder ./node_modules/typescript && copyfiles -u 1 \"./_api-extractor-temp/doc-models/*\" ../../../_api-extractor-temp/", + "ci:build:docs": "api-extractor run", "ci:test": "npm run test:report", "ci:test:coverage": "npm run test:coverage", "clean": "rimraf --glob _api-extractor-temp dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" nyc", From bd115aa78ec496b4e76f23f865f7794c611e74c7 Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Thu, 14 May 2026 22:01:26 -0700 Subject: [PATCH 12/19] common-utils: adopt mocha-test-setup; switch to lodash.clonedeep Wire mocha through @fluid-internal/mocha-test-setup so the modernized ESM test build under lib/test/mocha is actually executed (it was being compiled but never run). Add a minimal .mocharc.cjs that delegates to getFluidTestMochaConfig, mirroring the standalone-workspace pattern used by tools/api-markdown-documenter and tools/benchmark, and replace the bespoke :report script chain with the client-utils-style test:mocha (esm + cjs), test:coverage, and ci:test scripts. ESM execution exposed two latent bugs that worked under the old CJS-only mocha runner: * rangeTracker.ts pulled cloneDeep via a named import from lodash@4, which has no named ESM exports. Switch to the single-function lodash.clonedeep package (with @types/lodash.clonedeep) so the default import resolves cleanly under Node ESM. * indexNode.ts re-exported Buffer as a value, but Buffer is declared with 'declare class' in bufferNode.ts and has no runtime presence. Re-export it as 'type Buffer' to match the client-utils convention and stop Node's ESM loader from rejecting the missing named binding. While here, restore prettier formatting on the indexNode/indexBrowser re-export lists. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- common/lib/common-utils/.mocharc.cjs | 11 ++ common/lib/common-utils/package.json | 16 +-- common/lib/common-utils/pnpm-lock.yaml | 149 +++++++++++++++++++- common/lib/common-utils/src/indexBrowser.ts | 40 +++--- common/lib/common-utils/src/indexNode.ts | 39 +++-- common/lib/common-utils/src/rangeTracker.ts | 2 +- 6 files changed, 203 insertions(+), 54 deletions(-) create mode 100644 common/lib/common-utils/.mocharc.cjs diff --git a/common/lib/common-utils/.mocharc.cjs b/common/lib/common-utils/.mocharc.cjs new file mode 100644 index 000000000000..45580c775c72 --- /dev/null +++ b/common/lib/common-utils/.mocharc.cjs @@ -0,0 +1,11 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +"use strict"; + +const getFluidTestMochaConfig = require("@fluid-internal/mocha-test-setup/mocharc-common"); + +const config = getFluidTestMochaConfig(__dirname); +module.exports = config; diff --git a/common/lib/common-utils/package.json b/common/lib/common-utils/package.json index c68048227357..5685ea4c6968 100644 --- a/common/lib/common-utils/package.json +++ b/common/lib/common-utils/package.json @@ -55,7 +55,7 @@ "check:release-tags": "api-extractor run --config ./api-extractor-lint.json", "ci:build": "fluid-build . --task ci:build", "ci:build:docs": "api-extractor run", - "ci:test": "npm run test:report", + "ci:test": "npm test", "ci:test:coverage": "npm run test:coverage", "clean": "rimraf --glob _api-extractor-temp dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" nyc", "eslint": "eslint --format stylish src", @@ -66,13 +66,11 @@ "prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore", "prettier:fix": "prettier --write . --cache --ignore-path ../../../.prettierignore", "test": "npm run test:mocha && npm run test:jest", - "test:coverage": "c8 npm run test:report", + "test:coverage": "c8 npm test", "test:jest": "jest --ci", - "test:jest:report": "npm run test:jest -- --coverage", - "test:mocha": "mocha --unhandled-rejections=strict --recursive \"dist/test/mocha/**/*.spec.*js\"", - "test:mocha:multireport": "cross-env FLUID_TEST_MULTIREPORT=1 npm run test:mocha", - "test:mocha:report": "npm run test:mocha -- -- --reporter xunit --reporter-option output=nyc/mocha-junit-report.xml", - "test:report": "npm run test:mocha:report && npm run test:jest:report", + "test:mocha": "npm run test:mocha:esm && npm run test:mocha:cjs", + "test:mocha:cjs": "cross-env FLUID_TEST_MODULE_SYSTEM=CJS \"MOCHA_SPEC=dist/test/mocha/**/*.spec.*js\" mocha", + "test:mocha:esm": "cross-env \"MOCHA_SPEC=lib/test/mocha/**/*.spec.*js\" mocha", "tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && copyfiles -f ../../../common/build/build-common/src/cjs/package.json ./dist", "typetests:gen": "flub generate typetests --dir . -v" }, @@ -101,12 +99,13 @@ "base64-js": "^1.5.1", "buffer": "^6.0.3", "events": "^3.1.0", - "lodash": "^4.18.1", + "lodash.clonedeep": "^4.5.0", "sha.js": "^2.4.12" }, "devDependencies": { "@arethetypeswrong/cli": "^0.15.2", "@eslint/js": "^9.39.0", + "@fluid-internal/mocha-test-setup": "~2.83.0", "@fluid-tools/build-cli": "^0.65.0", "@fluidframework/build-common": "^2.0.3", "@fluidframework/build-tools": "^0.65.0", @@ -115,6 +114,7 @@ "@rushstack/eslint-plugin": "~0.22.1", "@types/jest": "29.5.3", "@types/jest-environment-puppeteer": "2.2.0", + "@types/lodash.clonedeep": "^4.5.7", "@types/mocha": "^10.0.10", "@types/node": "~22.19.17", "@types/sinon": "^17.0.3", diff --git a/common/lib/common-utils/pnpm-lock.yaml b/common/lib/common-utils/pnpm-lock.yaml index b7c9c77a1edb..df433574b354 100644 --- a/common/lib/common-utils/pnpm-lock.yaml +++ b/common/lib/common-utils/pnpm-lock.yaml @@ -49,9 +49,9 @@ importers: events: specifier: ^3.1.0 version: 3.3.0 - lodash: - specifier: ^4.18.1 - version: 4.18.1 + lodash.clonedeep: + specifier: ^4.5.0 + version: 4.5.0 sha.js: specifier: ^2.4.12 version: 2.4.12 @@ -62,6 +62,9 @@ importers: '@eslint/js': specifier: ^9.39.0 version: 9.39.2 + '@fluid-internal/mocha-test-setup': + specifier: ~2.83.0 + version: 2.83.0 '@fluid-tools/build-cli': specifier: ^0.65.0 version: 0.65.0(@types/node@22.19.17)(encoding@0.1.13) @@ -86,6 +89,9 @@ importers: '@types/jest-environment-puppeteer': specifier: 2.2.0 version: 2.2.0(typescript@5.4.5) + '@types/lodash.clonedeep': + specifier: ^4.5.7 + version: 4.5.9 '@types/mocha': specifier: ^10.0.10 version: 10.0.10 @@ -409,6 +415,12 @@ packages: resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@fluid-internal/mocha-test-setup@2.83.0': + resolution: {integrity: sha512-PBBpIwiFHlEqQC+bcFyo8/RVXjZo3KsW605hv3BrMqaEL2hiKXjwVkAKfZdSoz0x3TIkBPFNENW8xraKflwSZw==} + + '@fluid-internal/test-driver-definitions@2.83.0': + resolution: {integrity: sha512-e25u/eR5jifNKwxEjWiLYkK8WJXvoCFAbODvUjiuLZf0k5nII/hUNSRz6id48ycFwJ+FP2eYqnbh43sO50vH9g==} + '@fluid-tools/build-cli@0.65.0': resolution: {integrity: sha512-mkSliGz43IzqyaCvcrj3tdFwtdVEJRpgzlPHSjIxFL5Wz3EeAzjzFceGUbsiW+tT1aNcR9a+6fSXG0MFDVS41w==} engines: {node: '>=22.22.2'} @@ -441,6 +453,12 @@ packages: '@fluidframework/common-utils@1.0.0': resolution: {integrity: sha512-O3UoZ2dQR/ZWMXTSbDcTH93WMqHmEKoYhYMn6cybESswmMOA2E9UF3B2TkJ+aofBLOLllDKXXGtuhPmu/9rTqQ==} + '@fluidframework/core-interfaces@2.83.0': + resolution: {integrity: sha512-urkyfgSYUTKoGMuw5R1rIrFq7QH11tRw+GjGWBzGDd8Ovb0iXZtjV3dEtzC/KJnWEefgNt4NdbsS0f+5hMoJqA==} + + '@fluidframework/driver-definitions@2.83.0': + resolution: {integrity: sha512-UYcBd2fyIPDFDz4T0aEYoWN8KezdoWwcD1O/0SHX7MlCpZTHVgXookhbXlTSM3CVaCcjH1jMDgjehBu6p9F2LQ==} + '@gitbeaker/core@38.12.1': resolution: {integrity: sha512-8XMVcBIdVAAoxn7JtqmZ2Ee8f+AZLcCPmqEmPFOXY2jPS84y/DERISg/+sbhhb18iRy+ZsZhpWgQ/r3CkYNJOQ==} engines: {node: '>=18.0.0'} @@ -1281,6 +1299,12 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + '@types/lodash.clonedeep@4.5.9': + resolution: {integrity: sha512-19429mWC+FyaAhOLzsS8kZUsI+/GmBAQ0HFiCPsKGU+7pBXOQWhyrY6xNNDwUSX8SMZMJvuFVMF9O5dQOlQK9Q==} + + '@types/lodash@4.17.24': + resolution: {integrity: sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==} + '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -1556,6 +1580,10 @@ packages: ajv@8.18.0: resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + ansi-escapes@4.3.2: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} @@ -1776,6 +1804,10 @@ packages: resolution: {integrity: sha512-A6U5HdV+gygmNfZ+2UbztVI3aQCXkJzLYL27gJ/WhdNzg1blpE+faHC5y2Iu7Omu0FO2Ra0C0WLU7f5prGoRKg==} hasBin: true + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -1906,6 +1938,10 @@ packages: chardet@2.1.1: resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -2767,6 +2803,11 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + global-modules@0.2.3: resolution: {integrity: sha512-JeXuCbvYzYXcwE6acL9V2bAOeSIGl4dD+iwLY9iUx2VBJJ80R18HCn+JCwHM9Oegdfya3lEkGCdaRkSyc10hDA==} engines: {node: '>=0.10.0'} @@ -3015,6 +3056,10 @@ packages: resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} engines: {node: '>= 0.4'} + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + is-boolean-object@1.2.2: resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} @@ -3515,6 +3560,9 @@ packages: lodash.capitalize@4.2.1: resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} + lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + lodash.escaperegexp@4.1.2: resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} @@ -3834,6 +3882,11 @@ packages: peerDependencies: mocha: '>=3.1.2' + mocha@10.8.2: + resolution: {integrity: sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==} + engines: {node: '>= 14.0.0'} + hasBin: true + mocha@11.7.5: resolution: {integrity: sha512-mTT6RgopEYABzXWFx+GcJ+ZQ32kp4fMf0xvpZIIfSq9Z8lC/++MtcCnQ9t5FP2veYEP95FIYSvW+U9fV4xrlig==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4279,6 +4332,10 @@ packages: readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + readdirp@4.1.2: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} @@ -5142,6 +5199,9 @@ packages: wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + workerpool@6.5.1: + resolution: {integrity: sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==} + workerpool@9.3.4: resolution: {integrity: sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==} @@ -5558,6 +5618,18 @@ snapshots: '@eslint/core': 0.17.0 levn: 0.4.1 + '@fluid-internal/mocha-test-setup@2.83.0': + dependencies: + '@fluid-internal/test-driver-definitions': 2.83.0 + '@fluidframework/core-interfaces': 2.83.0 + mocha: 10.8.2 + source-map-support: 0.5.21 + + '@fluid-internal/test-driver-definitions@2.83.0': + dependencies: + '@fluidframework/core-interfaces': 2.83.0 + '@fluidframework/driver-definitions': 2.83.0 + '@fluid-tools/build-cli@0.65.0(@types/node@22.19.17)(encoding@0.1.13)': dependencies: '@andrewbranch/untar.js': 1.0.3 @@ -5739,6 +5811,12 @@ snapshots: lodash: 4.18.1 sha.js: 2.4.12 + '@fluidframework/core-interfaces@2.83.0': {} + + '@fluidframework/driver-definitions@2.83.0': + dependencies: + '@fluidframework/core-interfaces': 2.83.0 + '@gitbeaker/core@38.12.1': dependencies: '@gitbeaker/requester-utils': 38.12.1 @@ -6823,6 +6901,12 @@ snapshots: '@types/json5@0.0.29': {} + '@types/lodash.clonedeep@4.5.9': + dependencies: + '@types/lodash': 4.17.24 + + '@types/lodash@4.17.24': {} + '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 @@ -7167,6 +7251,8 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + ansi-colors@4.1.3: {} + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 @@ -7409,6 +7495,8 @@ snapshots: commander: 9.5.0 semver: 7.8.0 + binary-extensions@2.3.0: {} + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -7562,6 +7650,18 @@ snapshots: chardet@2.1.1: {} + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + chokidar@4.0.3: dependencies: readdirp: 4.1.2 @@ -8533,6 +8633,14 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 + glob@8.1.0: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.9 + once: 1.4.0 + global-modules@0.2.3: dependencies: global-prefix: 0.1.5 @@ -8815,6 +8923,10 @@ snapshots: dependencies: has-bigints: 1.1.0 + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + is-boolean-object@1.2.2: dependencies: call-bound: 1.0.4 @@ -9513,6 +9625,8 @@ snapshots: lodash.capitalize@4.2.1: {} + lodash.clonedeep@4.5.0: {} + lodash.escaperegexp@4.1.2: {} lodash.get@4.4.2: {} @@ -9975,6 +10089,29 @@ snapshots: transitivePeerDependencies: - supports-color + mocha@10.8.2: + dependencies: + ansi-colors: 4.1.3 + browser-stdout: 1.3.1 + chokidar: 3.6.0 + debug: 4.4.3(supports-color@8.1.1) + diff: 5.2.2 + escape-string-regexp: 4.0.0 + find-up: 5.0.0 + glob: 8.1.0 + he: 1.2.0 + js-yaml: 4.1.1 + log-symbols: 4.1.0 + minimatch: 5.1.9 + ms: 2.1.3 + serialize-javascript: 7.0.4 + strip-json-comments: 3.1.1 + supports-color: 8.1.1 + workerpool: 6.5.1 + yargs: 16.2.0 + yargs-parser: 20.2.9 + yargs-unparser: 2.0.0 + mocha@11.7.5: dependencies: browser-stdout: 1.3.1 @@ -10486,6 +10623,10 @@ snapshots: string_decoder: 1.1.1 util-deprecate: 1.0.2 + readdirp@3.6.0: + dependencies: + picomatch: 2.3.2 + readdirp@4.1.2: {} readline-sync@1.4.10: {} @@ -11502,6 +11643,8 @@ snapshots: wordwrap@1.0.0: {} + workerpool@6.5.1: {} + workerpool@9.3.4: {} wrap-ansi@6.2.0: diff --git a/common/lib/common-utils/src/indexBrowser.ts b/common/lib/common-utils/src/indexBrowser.ts index ef14a3ebd9c8..97b5b01cfe5c 100644 --- a/common/lib/common-utils/src/indexBrowser.ts +++ b/common/lib/common-utils/src/indexBrowser.ts @@ -12,11 +12,11 @@ export { assert } from "./assert.js"; export { fromBase64ToUtf8, fromUtf8ToBase64, toUtf8 } from "./base64Encoding.js"; export { -bufferToString, -isArrayBuffer, -IsoBuffer, -stringToBuffer, -Uint8ArrayToString, + bufferToString, + isArrayBuffer, + IsoBuffer, + stringToBuffer, + Uint8ArrayToString, } from "./bufferBrowser.js"; export { Uint8ArrayToArrayBuffer } from "./bufferShared.js"; export { delay } from "./delay.js"; @@ -31,23 +31,23 @@ export { type IRange, type IRangeTrackerSnapshot, RangeTracker } from "./rangeTr export { RateLimiter } from "./rateLimiter.js"; export { safelyParseJSON } from "./safeParser.js"; export { -type IPromiseTimer, -type IPromiseTimerResult, -type ITimer, -PromiseTimer, -setLongTimeout, -Timer, + type IPromiseTimer, + type IPromiseTimerResult, + type ITimer, + PromiseTimer, + setLongTimeout, + Timer, } from "./timer.js"; export { type ITraceEvent, Trace } from "./trace.js"; export { -type EventEmitterEventType, -type IEvent, -type IEventProvider, -type IEventThisPlaceHolder, -type IEventTransformer, -type ReplaceIEventThisPlaceHolder, -type TransformedEvent, -TypedEventEmitter, -type TypedEventTransform, + type EventEmitterEventType, + type IEvent, + type IEventProvider, + type IEventThisPlaceHolder, + type IEventTransformer, + type ReplaceIEventThisPlaceHolder, + type TransformedEvent, + TypedEventEmitter, + type TypedEventTransform, } from "./typedEventEmitter.js"; export { unreachableCase } from "./unreachable.js"; diff --git a/common/lib/common-utils/src/indexNode.ts b/common/lib/common-utils/src/indexNode.ts index 2c69fbd411a1..c2d30ad63567 100644 --- a/common/lib/common-utils/src/indexNode.ts +++ b/common/lib/common-utils/src/indexNode.ts @@ -11,13 +11,8 @@ export { assert } from "./assert.js"; export { fromBase64ToUtf8, fromUtf8ToBase64, toUtf8 } from "./base64Encoding.js"; -export { -Buffer, -bufferToString, -IsoBuffer, -stringToBuffer, -Uint8ArrayToString, -} from "./bufferNode.js"; +export { type Buffer } from "./bufferNode.js"; +export { bufferToString, IsoBuffer, stringToBuffer, Uint8ArrayToString } from "./bufferNode.js"; export { Uint8ArrayToArrayBuffer } from "./bufferShared.js"; export { delay } from "./delay.js"; export { doIfNotDisposed, type IDisposable } from "./disposal.js"; @@ -31,23 +26,23 @@ export { type IRange, type IRangeTrackerSnapshot, RangeTracker } from "./rangeTr export { RateLimiter } from "./rateLimiter.js"; export { safelyParseJSON } from "./safeParser.js"; export { -type IPromiseTimer, -type IPromiseTimerResult, -type ITimer, -PromiseTimer, -setLongTimeout, -Timer, + type IPromiseTimer, + type IPromiseTimerResult, + type ITimer, + PromiseTimer, + setLongTimeout, + Timer, } from "./timer.js"; export { type ITraceEvent, Trace } from "./trace.js"; export { -type EventEmitterEventType, -type IEvent, -type IEventProvider, -type IEventThisPlaceHolder, -type IEventTransformer, -type ReplaceIEventThisPlaceHolder, -type TransformedEvent, -TypedEventEmitter, -type TypedEventTransform, + type EventEmitterEventType, + type IEvent, + type IEventProvider, + type IEventThisPlaceHolder, + type IEventTransformer, + type ReplaceIEventThisPlaceHolder, + type TransformedEvent, + TypedEventEmitter, + type TypedEventTransform, } from "./typedEventEmitter.js"; export { unreachableCase } from "./unreachable.js"; diff --git a/common/lib/common-utils/src/rangeTracker.ts b/common/lib/common-utils/src/rangeTracker.ts index 003e90d5d539..8af998f55dbd 100644 --- a/common/lib/common-utils/src/rangeTracker.ts +++ b/common/lib/common-utils/src/rangeTracker.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. */ -import { cloneDeep } from "lodash"; +import cloneDeep from "lodash.clonedeep"; import { assert } from "./assert.js"; From ea33410acedc0e3574744ccab32458a7125bf65c Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Thu, 14 May 2026 22:13:18 -0700 Subject: [PATCH 13/19] common-utils: adopt @fluidframework/eslint-config-fluid recommended Replace the standalone hand-rolled flat config with the published @fluidframework/eslint-config-fluid v10 'recommended' config, mirroring the pattern client-utils uses internally (which consumes the same package via the workspace catalog). This resolves the AB#59243 TODO that motivated the standalone config in the first place. Side benefits: * drops five direct devDeps that the shared config now provides transitively: @eslint/js, @rushstack/eslint-plugin, eslint-plugin-import, eslint-plugin-unicorn, typescript-eslint * picks up the import-x / depend / eslint-comments / promise / jsdoc rule sets that the shared config layers on Common-utils is in maintenance for deprecation, so rather than fixing the new violations the shared config surfaces, disable the rules package-wide. The disabled set covers existing source patterns (deprecated re-exports, node 'events' import, raw any, lodash.clonedeep ban, charCodeAt vs codePointAt, 'utf-8' string, etc.) plus a couple of warnings tied to legacy inline disable comments (reportUnusedDisableDirectives, eslint-comments/require-description). The non-standard test directory layout still requires overriding projectService and providing an explicit project list, matching what client-utils does. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- common/lib/common-utils/eslint.config.mts | 104 +- common/lib/common-utils/package.json | 8 +- common/lib/common-utils/pnpm-lock.yaml | 1451 +++++++++++++++++++-- 3 files changed, 1377 insertions(+), 186 deletions(-) diff --git a/common/lib/common-utils/eslint.config.mts b/common/lib/common-utils/eslint.config.mts index d58ecc15195d..412f6174a00c 100644 --- a/common/lib/common-utils/eslint.config.mts +++ b/common/lib/common-utils/eslint.config.mts @@ -3,30 +3,16 @@ * Licensed under the MIT License. */ -// TODO: AB#59243 Replace this standalone config with @fluidframework/eslint-config-fluid once a -// version is published that supports ESLint 9 flat config. +import type { Linter } from "eslint"; +import { recommended } from "@fluidframework/eslint-config-fluid/flat.mts"; -import eslint from "@eslint/js"; -import eslintConfigPrettier from "eslint-config-prettier"; -import rushstackPlugin from "@rushstack/eslint-plugin"; -import importPlugin from "eslint-plugin-import"; -import unicornPlugin from "eslint-plugin-unicorn"; -import tseslint from "typescript-eslint"; - -export default tseslint.config( - { - ignores: ["dist/**", "lib/**", "node_modules/**", "**/*.d.ts"], - }, - eslint.configs.recommended, - ...tseslint.configs.recommendedTypeChecked, - ...tseslint.configs.stylisticTypeChecked, - eslintConfigPrettier, +const config: Linter.Config[] = [ + ...recommended, { - plugins: { - "@rushstack": rushstackPlugin, - "import": importPlugin, - "unicorn": unicornPlugin, - }, + // Override @typescript-eslint/parser to use explicit project list instead of projectService. + // This package has non-standard test directories (mocha/, jest/, types/) that + // typescript-eslint's projectService can't auto-discover. + files: ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"], languageOptions: { parserOptions: { projectService: false, @@ -36,64 +22,36 @@ export default tseslint.config( "./src/test/jest/tsconfig.cjs.json", "./src/test/types/tsconfig.json", ], - tsconfigRootDir: import.meta.dirname, }, }, + }, + { + // This package has been deprecated in favor of @fluidframework/core-utils and + // @fluid-internal/client-utils. Existing violations are not being fixed here. + linterOptions: { + reportUnusedDisableDirectives: "off", + }, rules: { - // Rules from the shared config that are referenced by inline eslint-disable comments. - "@rushstack/no-new-null": "error", - "@typescript-eslint/no-non-null-assertion": "error", - "default-case": "error", - "import/no-internal-modules": "error", - "no-bitwise": "error", - "no-new-func": "error", - "no-restricted-syntax": [ - "error", - { - selector: "ExportAllDeclaration", - message: - "Exporting * is not permitted. You should export only named items you intend to export.", - }, - ], - "unicorn/error-message": "error", - "unicorn/no-thenable": "error", - - // This package is being deprecated, so it's okay to use deprecated APIs. - "@typescript-eslint/no-deprecated": "off", - "import/no-deprecated": "off", - - // This package uses node's events APIs. - // This should probably be reconsidered, but until then we will leave an exception for it here. - "import/no-nodejs-modules": ["error", { allow: ["events"] }], - - // This package has been deprecated. The following rules have a significant number of - // violations that will not be fixed here. + "@eslint-community/eslint-comments/require-description": "off", + "@typescript-eslint/explicit-module-boundary-types": "off", "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-misused-promises": "off", "@typescript-eslint/no-unsafe-argument": "off", - "@typescript-eslint/no-unsafe-member-access": "off", - "@typescript-eslint/no-unsafe-call": "off", "@typescript-eslint/no-unsafe-assignment": "off", - "@typescript-eslint/no-unsafe-return": "off", - "@typescript-eslint/explicit-module-boundary-types": "off", - "@typescript-eslint/no-unused-vars": "off", - "@typescript-eslint/require-await": "off", - "@typescript-eslint/no-inferrable-types": "off", - "@typescript-eslint/no-empty-function": "off", - "@typescript-eslint/prefer-promise-reject-errors": "off", - "@typescript-eslint/no-duplicate-type-constituents": "off", - "@typescript-eslint/no-misused-promises": "off", - "@typescript-eslint/no-redundant-type-constituents": "off", + "@typescript-eslint/no-unsafe-call": "off", + "@typescript-eslint/no-unsafe-member-access": "off", "@typescript-eslint/prefer-nullish-coalescing": "off", - "unicorn/text-encoding-identifier-case": "off", - "unicorn/prefer-node-protocol": "off", + "@typescript-eslint/prefer-promise-reject-errors": "off", + "depend/ban-dependencies": "off", + "import-x/no-deprecated": "off", + "import-x/no-nodejs-modules": "off", + "unicorn/prefer-at": "off", "unicorn/prefer-code-point": "off", + "unicorn/prefer-node-protocol": "off", + "unicorn/prefer-string-replace-all": "off", + "unicorn/text-encoding-identifier-case": "off", }, }, - { - files: ["src/test/**"], - rules: { - // It's fine for tests to use node.js modules. - "import/no-nodejs-modules": "off", - }, - }, -); +]; + +export default config; diff --git a/common/lib/common-utils/package.json b/common/lib/common-utils/package.json index 5685ea4c6968..c2c785a0a8d7 100644 --- a/common/lib/common-utils/package.json +++ b/common/lib/common-utils/package.json @@ -104,14 +104,13 @@ }, "devDependencies": { "@arethetypeswrong/cli": "^0.15.2", - "@eslint/js": "^9.39.0", "@fluid-internal/mocha-test-setup": "~2.83.0", "@fluid-tools/build-cli": "^0.65.0", "@fluidframework/build-common": "^2.0.3", "@fluidframework/build-tools": "^0.65.0", "@fluidframework/common-utils-previous": "npm:@fluidframework/common-utils@1.0.0", + "@fluidframework/eslint-config-fluid": "^10.0.0", "@microsoft/api-extractor": "7.58.1", - "@rushstack/eslint-plugin": "~0.22.1", "@types/jest": "29.5.3", "@types/jest-environment-puppeteer": "2.2.0", "@types/lodash.clonedeep": "^4.5.7", @@ -124,8 +123,6 @@ "cross-env": "^10.1.0", "eslint": "~9.39.1", "eslint-config-prettier": "~10.1.8", - "eslint-plugin-import": "~2.32.0", - "eslint-plugin-unicorn": "~62.0.0", "jest": "^29.6.2", "jest-junit": "^16.0.0", "jest-puppeteer": "^10.1.3", @@ -139,8 +136,7 @@ "sinon": "^18.0.1", "ts-jest": "^29.1.1", "ts-node": "^10.9.2", - "typescript": "~5.4.5", - "typescript-eslint": "~8.55.0" + "typescript": "~5.4.5" }, "packageManager": "pnpm@10.33.0+sha512.10568bb4a6afb58c9eb3630da90cc9516417abebd3fabbe6739f0ae795728da1491e9db5a544c76ad8eb7570f5c4bb3d6c637b2cb41bfdcdb47fa823c8649319", "fluidBuild": { diff --git a/common/lib/common-utils/pnpm-lock.yaml b/common/lib/common-utils/pnpm-lock.yaml index df433574b354..1790c0ff6148 100644 --- a/common/lib/common-utils/pnpm-lock.yaml +++ b/common/lib/common-utils/pnpm-lock.yaml @@ -59,9 +59,6 @@ importers: '@arethetypeswrong/cli': specifier: ^0.15.2 version: 0.15.4 - '@eslint/js': - specifier: ^9.39.0 - version: 9.39.2 '@fluid-internal/mocha-test-setup': specifier: ~2.83.0 version: 2.83.0 @@ -77,12 +74,12 @@ importers: '@fluidframework/common-utils-previous': specifier: npm:@fluidframework/common-utils@1.0.0 version: '@fluidframework/common-utils@1.0.0' + '@fluidframework/eslint-config-fluid': + specifier: ^10.0.0 + version: 10.0.0(@typescript-eslint/utils@8.56.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) '@microsoft/api-extractor': specifier: 7.58.1 version: 7.58.1(patch_hash=949a26f6cec9ac4e37522f178b8e4982136ccfeb8c6d0835130ef2aa6788f4fa)(@types/node@22.19.17) - '@rushstack/eslint-plugin': - specifier: ~0.22.1 - version: 0.22.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) '@types/jest': specifier: 29.5.3 version: 29.5.3 @@ -119,12 +116,6 @@ importers: eslint-config-prettier: specifier: ~10.1.8 version: 10.1.8(eslint@9.39.2(jiti@2.6.1)) - eslint-plugin-import: - specifier: ~2.32.0 - version: 2.32.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1)) - eslint-plugin-unicorn: - specifier: ~62.0.0 - version: 62.0.0(eslint@9.39.2(jiti@2.6.1)) jest: specifier: ^29.6.2 version: 29.6.2(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)) @@ -167,9 +158,6 @@ importers: typescript: specifier: ~5.4.5 version: 5.4.5 - typescript-eslint: - specifier: ~8.55.0 - version: 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) packages: @@ -374,9 +362,32 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} + '@emnapi/core@1.10.0': + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + + '@emnapi/runtime@1.10.0': + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + + '@emnapi/wasi-threads@1.2.1': + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + '@epic-web/invariant@1.0.0': resolution: {integrity: sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==} + '@es-joy/jsdoccomment@0.76.0': + resolution: {integrity: sha512-g+RihtzFgGTx2WYCuTHbdOXJeAlGnROws0TeALx9ow/ZmOROOZkVg5wp/B44n0WJgI4SQFP1eWM2iRPlU2Y14w==} + engines: {node: '>=20.11.0'} + + '@es-joy/resolve.exports@1.2.0': + resolution: {integrity: sha512-Q9hjxWI5xBM+qW2enxfe8wDKdFWMfd0Z29k5ZJnuBqD/CasY5Zryj09aCA6owbGATWz+39p5uIdaHXpopOcG8g==} + engines: {node: '>=10'} + + '@eslint-community/eslint-plugin-eslint-comments@4.5.0': + resolution: {integrity: sha512-MAhuTKlr4y/CE3WYX26raZjy+I/kS2PLKSzvfmDCGrBLTFHOYwqROZdr4XwPgXwX3K9rjzMr4pSmUWGnzsUyMg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + '@eslint-community/eslint-utils@4.9.1': resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -387,6 +398,45 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint-react/ast@2.13.0': + resolution: {integrity: sha512-43+5gmqV3MpatTzKnu/V2i/jXjmepvwhrb9MaGQvnXHQgq9J7/C7VVCCcwp6Rvp2QHAFquAAdvQDSL8IueTpeA==} + engines: {node: '>=20.19.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@eslint-react/core@2.13.0': + resolution: {integrity: sha512-m62XDzkf1hpzW4sBc7uh7CT+8rBG2xz/itSADuEntlsg4YA7Jhb8hjU6VHf3wRFDwyfx5VnbV209sbJ7Azey0Q==} + engines: {node: '>=20.19.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@eslint-react/eff@2.13.0': + resolution: {integrity: sha512-rEH2R8FQnUAblUW+v3ZHDU1wEhatbL1+U2B1WVuBXwSKqzF7BGaLqCPIU7o9vofumz5MerVfaCtJgI8jYe2Btg==} + engines: {node: '>=20.19.0'} + + '@eslint-react/eslint-plugin@2.13.0': + resolution: {integrity: sha512-iaMXpqnJCTW7317hg8L4wx7u5aIiPzZ+d1p59X8wXFgMHzFX4hNu4IfV8oygyjmWKdLsjKE9sEpv/UYWczlb+A==} + engines: {node: '>=20.19.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@eslint-react/shared@2.13.0': + resolution: {integrity: sha512-IOloCqrZ7gGBT4lFf9+0/wn7TfzU7JBRjYwTSyb9SDngsbeRrtW95ZpgUpS8/jen1wUEm6F08duAooTZ2FtsWA==} + engines: {node: '>=20.19.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@eslint-react/var@2.13.0': + resolution: {integrity: sha512-dM+QaeiHR16qPQoJYg205MkdHYSWVa2B7ore5OFpOPlSwqDV3tLW7I+475WjbK7potq5QNPTxRa7VLp9FGeQqA==} + engines: {node: '>=20.19.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + '@eslint/config-array@0.21.1': resolution: {integrity: sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -415,6 +465,11 @@ packages: resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@fluid-internal/eslint-plugin-fluid@0.4.1': + resolution: {integrity: sha512-JTFmMtNDJ+pR0Z0jvreXgq2GymqcCSD0InclRQfimEJ4KzIwdHCPHCmODlll1FG/Qp852baMYgdKHHD4qqRP/w==} + peerDependencies: + eslint: ^8.57.0 || ^9.37.0 + '@fluid-internal/mocha-test-setup@2.83.0': resolution: {integrity: sha512-PBBpIwiFHlEqQC+bcFyo8/RVXjZo3KsW605hv3BrMqaEL2hiKXjwVkAKfZdSoz0x3TIkBPFNENW8xraKflwSZw==} @@ -459,6 +514,9 @@ packages: '@fluidframework/driver-definitions@2.83.0': resolution: {integrity: sha512-UYcBd2fyIPDFDz4T0aEYoWN8KezdoWwcD1O/0SHX7MlCpZTHVgXookhbXlTSM3CVaCcjH1jMDgjehBu6p9F2LQ==} + '@fluidframework/eslint-config-fluid@10.0.0': + resolution: {integrity: sha512-tO9zYqvWxUXPLSKSIF5YydYeDZeouDu/mhPxyqKDknk87nVzNoQExMjibJUyoyWavNVuCpAvUztLjTfE5gQtsw==} + '@gitbeaker/core@38.12.1': resolution: {integrity: sha512-8XMVcBIdVAAoxn7JtqmZ2Ee8f+AZLcCPmqEmPFOXY2jPS84y/DERISg/+sbhhb18iRy+ZsZhpWgQ/r3CkYNJOQ==} engines: {node: '>=18.0.0'} @@ -955,9 +1013,15 @@ packages: '@microsoft/tsdoc-config@0.18.1': resolution: {integrity: sha512-9brPoVdfN9k9g0dcWkFeA7IH9bbcttzDJlXvkf8b2OBzd5MueR1V2wkKBL0abn0otvmkHJC6aapBOTJDDeMCZg==} + '@microsoft/tsdoc@0.15.1': + resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==} + '@microsoft/tsdoc@0.16.0': resolution: {integrity: sha512-xgAyonlVVS+q7Vc7qLW0UrJU7rSFcETRWsqdXZtjzRU8dF+6CkozTK4V4y1LwOX7j8r/vHphjDeMeGI4tNGeGA==} + '@napi-rs/wasm-runtime@0.2.12': + resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1106,6 +1170,9 @@ packages: '@octokit/types@16.0.0': resolution: {integrity: sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==} + '@package-json/types@0.0.12': + resolution: {integrity: sha512-uu43FGU34B5VM9mCNjXCwLaGHYjXdNincqKLaraaCW+7S2+SmiBg1Nv8bPnmschrIfZmfKNY9f3fC376MRrObw==} + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -1184,6 +1251,10 @@ packages: '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@sindresorhus/base62@1.0.0': + resolution: {integrity: sha512-TeheYy0ILzBEI/CO55CP6zJCSdSWeRtGnHy8U8dWSUH4I68iqTsy7HkMktR4xakThc9jotkPQUXT4ITdbV7cHA==} + engines: {node: '>=18'} + '@sindresorhus/is@4.6.0': resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} engines: {node: '>=10'} @@ -1239,6 +1310,9 @@ packages: '@tsconfig/node16@1.0.3': resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + '@tybys/wasm-util@0.10.2': + resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} + '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} @@ -1366,16 +1440,23 @@ packages: '@types/yauzl@2.10.3': resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - '@typescript-eslint/eslint-plugin@8.55.0': - resolution: {integrity: sha512-1y/MVSz0NglV1ijHC8OT49mPJ4qhPYjiK08YUQVbIOyu+5k862LKUHFkpKHWu//zmr7hDR2rhwUm6gnCGNmGBQ==} + '@typescript-eslint/eslint-plugin@8.54.0': + resolution: {integrity: sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.54.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/parser@8.46.4': + resolution: {integrity: sha512-tK3GPFWbirvNgsNKto+UmB/cRtn6TZfyw0D6IKrW55n6Vbs7KJoZtI//kpTKzE/DUmmnAFD8/Ca46s7Obs92/w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.55.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.55.0': - resolution: {integrity: sha512-4z2nCSBfVIMnbuu8uinj+f0o4qOeggYJLbjpPHka3KH1om7e+H9yLKTYgksTaHcGco+NClhhY2vyO3HsMH1RGw==} + '@typescript-eslint/parser@8.54.0': + resolution: {integrity: sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1387,32 +1468,71 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/project-service@8.54.0': + resolution: {integrity: sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/project-service@8.55.0': resolution: {integrity: sha512-zRcVVPFUYWa3kNnjaZGXSu3xkKV1zXy8M4nO/pElzQhFweb7PPtluDLQtKArEOGmjXoRjnUZ29NjOiF0eCDkcQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/project-service@8.56.1': + resolution: {integrity: sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/scope-manager@8.46.4': resolution: {integrity: sha512-tMDbLGXb1wC+McN1M6QeDx7P7c0UWO5z9CXqp7J8E+xGcJuUuevWKxuG8j41FoweS3+L41SkyKKkia16jpX7CA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.54.0': + resolution: {integrity: sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.55.0': resolution: {integrity: sha512-fVu5Omrd3jeqeQLiB9f1YsuK/iHFOwb04bCtY4BSCLgjNbOD33ZdV6KyEqplHr+IlpgT0QTZ/iJ+wT7hvTx49Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.56.1': + resolution: {integrity: sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/tsconfig-utils@8.46.4': resolution: {integrity: sha512-+/XqaZPIAk6Cjg7NWgSGe27X4zMGqrFqZ8atJsX3CWxH/jACqWnrWI68h7nHQld0y+k9eTTjb9r+KU4twLoo9A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/tsconfig-utils@8.54.0': + resolution: {integrity: sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/tsconfig-utils@8.55.0': resolution: {integrity: sha512-1R9cXqY7RQd7WuqSN47PK9EDpgFUK3VqdmbYrvWJZYDd0cavROGn+74ktWBlmJ13NXUQKlZ/iAEQHI/V0kKe0Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/tsconfig-utils@8.56.1': + resolution: {integrity: sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + + '@typescript-eslint/type-utils@8.54.0': + resolution: {integrity: sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/type-utils@8.55.0': resolution: {integrity: sha512-x1iH2unH4qAt6I37I2CGlsNs+B9WGxurP2uyZLRz6UJoZWDBx9cJL1xVN/FiOmHEONEg6RIufdvyT0TEYIgC5g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1424,22 +1544,46 @@ packages: resolution: {integrity: sha512-USjyxm3gQEePdUwJBFjjGNG18xY9A2grDVGuk7/9AkjIF1L+ZrVnwR5VAU5JXtUnBL/Nwt3H31KlRDaksnM7/w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.54.0': + resolution: {integrity: sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.55.0': resolution: {integrity: sha512-ujT0Je8GI5BJWi+/mMoR0wxwVEQaxM+pi30xuMiJETlX80OPovb2p9E8ss87gnSVtYXtJoU9U1Cowcr6w2FE0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.56.1': + resolution: {integrity: sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/types@8.59.3': + resolution: {integrity: sha512-ePFoH0g4ludssdRFqqDxQePCxU4WQyRa9+XVwjm7yLn0FKhMeoetC+qBEEI1Eyb1pGSDveTIT09Bvw2WhlGayg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.46.4': resolution: {integrity: sha512-7oV2qEOr1d4NWNmpXLR35LvCfOkTNymY9oyW+lUHkmCno7aOmIf/hMaydnJBUTBMRCOGZh8YjkFOc8dadEoNGA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/typescript-estree@8.54.0': + resolution: {integrity: sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/typescript-estree@8.55.0': resolution: {integrity: sha512-EwrH67bSWdx/3aRQhCoxDaHM+CrZjotc2UCCpEDVqfCE+7OjKAGWNY2HsCSTEVvWH2clYQK8pdeLp42EVs+xQw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/typescript-estree@8.56.1': + resolution: {integrity: sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/utils@8.46.4': resolution: {integrity: sha512-AbSv11fklGXV6T28dp2Me04Uw90R2iJ30g2bgLz529Koehrmkbs1r7paFqr1vPCZi7hHwYxYtxfyQMRC8QaVSg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1447,6 +1591,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/utils@8.54.0': + resolution: {integrity: sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/utils@8.55.0': resolution: {integrity: sha512-BqZEsnPGdYpgyEIkDC1BadNY8oMwckftxBT+C8W0g1iKPdeqKZBtTfnvcq0nf60u7MkjFO8RBvpRGZBPw4L2ow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1454,18 +1605,136 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/utils@8.56.1': + resolution: {integrity: sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + '@typescript-eslint/visitor-keys@8.46.4': resolution: {integrity: sha512-/++5CYLQqsO9HFGLI7APrxBJYo+5OCMpViuhV8q5/Qa3o5mMrF//eQHks+PXcsAVaLdn817fMuS7zqoXNNZGaw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.54.0': + resolution: {integrity: sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.55.0': resolution: {integrity: sha512-AxNRwEie8Nn4eFS1FzDMJWIISMGoXMb037sgCBJ3UR6o0fQTzr2tqN9WT+DkWJPhIdQCfV7T6D387566VtnCJA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.56.1': + resolution: {integrity: sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} deprecated: Potential CWE-502 - Update to 1.3.1 or higher + '@unrs/resolver-binding-android-arm-eabi@1.11.1': + resolution: {integrity: sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==} + cpu: [arm] + os: [android] + + '@unrs/resolver-binding-android-arm64@1.11.1': + resolution: {integrity: sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==} + cpu: [arm64] + os: [android] + + '@unrs/resolver-binding-darwin-arm64@1.11.1': + resolution: {integrity: sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==} + cpu: [arm64] + os: [darwin] + + '@unrs/resolver-binding-darwin-x64@1.11.1': + resolution: {integrity: sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==} + cpu: [x64] + os: [darwin] + + '@unrs/resolver-binding-freebsd-x64@1.11.1': + resolution: {integrity: sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==} + cpu: [x64] + os: [freebsd] + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': + resolution: {integrity: sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': + resolution: {integrity: sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==} + cpu: [arm] + os: [linux] + + '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': + resolution: {integrity: sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-arm64-musl@1.11.1': + resolution: {integrity: sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': + resolution: {integrity: sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': + resolution: {integrity: sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': + resolution: {integrity: sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': + resolution: {integrity: sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-x64-gnu@1.11.1': + resolution: {integrity: sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@unrs/resolver-binding-linux-x64-musl@1.11.1': + resolution: {integrity: sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@unrs/resolver-binding-wasm32-wasi@1.11.1': + resolution: {integrity: sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': + resolution: {integrity: sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==} + cpu: [arm64] + os: [win32] + + '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': + resolution: {integrity: sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==} + cpu: [ia32] + os: [win32] + + '@unrs/resolver-binding-win32-x64-msvc@1.11.1': + resolution: {integrity: sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==} + cpu: [x64] + os: [win32] + '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -1627,6 +1896,10 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} + are-docs-informative@0.0.2: + resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} + engines: {node: '>=14'} + arg-parser@1.2.0: resolution: {integrity: sha512-qeFIPI9MQUPLugbbvBczsvqCIOuat8yHZ66mdlP5rbJhImRoCgFn2o9/kNlF5KHqaMZw6vVugIAWyJfgkbqG1w==} engines: {node: '>=0.8.0'} @@ -1808,6 +2081,9 @@ packages: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} + birecord@0.1.1: + resolution: {integrity: sha512-VUpsf/qykW0heRlC8LooCq28Kxn3mAqKohhDG/49rrsQ1dT1CXyj/pgXS+5BSRzFTR/3DyIBOqQOrGyZOh71Aw==} + brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} @@ -1852,9 +2128,9 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - builtin-modules@5.0.0: - resolution: {integrity: sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==} - engines: {node: '>=18.20'} + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} c8@10.1.3: resolution: {integrity: sha512-LvcyrOAaOnrrlMpW22n690PUvxiq4Uf9WMhQwNJ9vgagkL/ph1+D4uvjvDA5XCbykrc0sx+ay6pVi9YZ1GnhyA==} @@ -2067,6 +2343,17 @@ packages: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} + comment-parser@1.4.1: + resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} + engines: {node: '>= 12.0.0'} + + comment-parser@1.4.6: + resolution: {integrity: sha512-ObxuY6vnbWTN6Od72xfwN9DbzC7Y2vv8u1Soi9ahRKL37gb6y1qk6/dgjs+3JWuXJHWvsg3BXIwzd/rkmAwavg==} + engines: {node: '>= 12.0.0'} + + compare-versions@6.1.1: + resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -2340,6 +2627,10 @@ packages: emojilib@2.4.0: resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + empathic@2.0.1: + resolution: {integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==} + engines: {node: '>=14'} + encoding@0.1.13: resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} @@ -2417,15 +2708,40 @@ packages: engines: {node: '>=6.0'} hasBin: true + eslint-config-biome@2.1.3: + resolution: {integrity: sha512-IL720kAN79egw8KyaoZsC0UMLn+NlVdPeX2ZmL0CIEcQdLJCf6d1ELCQTKnJ9Lpe6dzfP5ZF8yZ0PTMOirtT+w==} + eslint-config-prettier@10.1.8: resolution: {integrity: sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==} hasBin: true peerDependencies: eslint: '>=7.0.0' + eslint-import-context@0.1.9: + resolution: {integrity: sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + peerDependencies: + unrs-resolver: ^1.0.0 + peerDependenciesMeta: + unrs-resolver: + optional: true + eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + eslint-import-resolver-typescript@4.4.4: + resolution: {integrity: sha512-1iM2zeBvrYmUNTj2vSC/90JTHDth+dfOfiNKkxApWRsTJYNrc8rOdxxIf5vazX+BiAXTeOT0UvWpGI/7qIWQOw==} + engines: {node: ^16.17.0 || >=18.6.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + eslint-plugin-import-x: '*' + peerDependenciesMeta: + eslint-plugin-import: + optional: true + eslint-plugin-import-x: + optional: true + eslint-module-utils@2.12.1: resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==} engines: {node: '>=4'} @@ -2447,6 +2763,22 @@ packages: eslint-import-resolver-webpack: optional: true + eslint-plugin-depend@1.4.0: + resolution: {integrity: sha512-MQs+m4nHSfgAO9bJDsBzqw0ofK/AOA0vfeY/6ahofqcUMLeM6/D1sTYs21fOhc17kNU/gn58YCtj20XaAssh2A==} + + eslint-plugin-import-x@4.16.2: + resolution: {integrity: sha512-rM9K8UBHcWKpzQzStn1YRN2T5NvdeIfSVoKu/lKF41znQXHAUcBbYXe5wd6GNjZjTrP7viQ49n1D83x/2gYgIw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/utils': ^8.56.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + eslint-import-resolver-node: '*' + peerDependenciesMeta: + '@typescript-eslint/utils': + optional: true + eslint-import-resolver-node: + optional: true + eslint-plugin-import@2.32.0: resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==} engines: {node: '>=4'} @@ -2457,11 +2789,87 @@ packages: '@typescript-eslint/parser': optional: true - eslint-plugin-unicorn@62.0.0: - resolution: {integrity: sha512-HIlIkGLkvf29YEiS/ImuDZQbP12gWyx5i3C6XrRxMvVdqMroCI9qoVYCoIl17ChN+U89pn9sVwLxhIWj5nEc7g==} - engines: {node: ^20.10.0 || >=21.0.0} + eslint-plugin-jsdoc@61.4.2: + resolution: {integrity: sha512-WzZNvefoUaG/JWikVFhNLYqE2BEd6LQD2ZyfJOe1Ld3Cir05csDMMf0AihGwrSbB/e7fHRSfQOZ4F/hik9fQww==} + engines: {node: '>=20.11.0'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-plugin-no-only-tests@3.3.0: + resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} + engines: {node: '>=5.0.0'} + + eslint-plugin-promise@7.2.1: + resolution: {integrity: sha512-SWKjd+EuvWkYaS+uN2csvj0KoP43YTu7+phKQ5v+xw6+A0gutVX2yqCeCkC3uLCJFiPfR2dD8Es5L7yUsmvEaA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-plugin-react-dom@2.13.0: + resolution: {integrity: sha512-+2IZzQ1WEFYOWatW+xvNUqmZn55YBCufzKA7hX3XQ/8eu85Mp4vnlOyNvdVHEOGhUnGuC6+9+zLK+IlEHKdKLQ==} + engines: {node: '>=20.19.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + + eslint-plugin-react-hooks-extra@2.13.0: + resolution: {integrity: sha512-qIbha1nzuyhXM9SbEfrcGVqmyvQu7GAOB2sy9Y4Qo5S8nCqw4fSBxq+8lSce5Tk5Y7XzIkgHOhNyXEvUHRWFMQ==} + engines: {node: '>=20.19.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + + eslint-plugin-react-hooks@7.0.1: + resolution: {integrity: sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 + + eslint-plugin-react-naming-convention@2.13.0: + resolution: {integrity: sha512-uSd25JzSg2R4p81s3Wqck0AdwRlO9Yc+cZqTEXv7vW8exGGAM3mWnF6hgrgdqVJqBEGJIbS/Vx1r5BdKcY/MHA==} + engines: {node: '>=20.19.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + + eslint-plugin-react-rsc@2.13.0: + resolution: {integrity: sha512-RaftgITDLQm1zIgYyvR51sBdy4FlVaXFts5VISBaKbSUB0oqXyzOPxMHasfr9BCSjPLKus9zYe+G/Hr6rjFLXQ==} + engines: {node: '>=20.19.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + + eslint-plugin-react-web-api@2.13.0: + resolution: {integrity: sha512-nmJbzIAte7PeAkp22CwcKEASkKi49MshSdiDGO1XuN3f4N4/8sBfDcWbQuLPde6JiuzDT/0+l7Gi8wwTHtR1kg==} + engines: {node: '>=20.19.0'} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + + eslint-plugin-react-x@2.13.0: + resolution: {integrity: sha512-cMNX0+ws/fWTgVxn52qAQbaFF2rqvaDAtjrPUzY6XOzPjY0rJQdR2tSlWJttz43r2yBfqu+LGvHlGpWL2wfpTQ==} + engines: {node: '>=20.19.0'} peerDependencies: - eslint: '>=9.38.0' + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.0.0' + + eslint-plugin-tsdoc@0.5.2: + resolution: {integrity: sha512-BlvqjWZdBJDIPO/YU3zcPCF23CvjYT3gyu63yo6b609NNV3D1b6zceAREy2xnweuBoDpZcLNuPyAUq9cvx6bbQ==} + + eslint-plugin-unicorn@54.0.0: + resolution: {integrity: sha512-XxYLRiYtAWiAjPv6z4JREby1TAE2byBC7wlh0V4vWDCpccOSU1KovWV//jqPXF6bq3WKxqX9rdjoRQ1EhdmNdQ==} + engines: {node: '>=18.18'} + peerDependencies: + eslint: '>=8.56.0' + + eslint-plugin-unused-imports@4.3.0: + resolution: {integrity: sha512-ZFBmXMGBYfHttdRtOG9nFFpmUvMtbHSjsKrS20vdWdbfiVYsO3yA2SGYy9i9XmZJDfMGBflZGBCm70SEnFQtOA==} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 + eslint: ^9.0.0 || ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} @@ -2479,6 +2887,10 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + eslint@9.39.2: resolution: {integrity: sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2633,10 +3045,6 @@ packages: resolution: {integrity: sha512-/U4CYp1214Xrp3u3Fqr9yNynUrr5Le4y0SsJh2lMDDSbpwYSz3M2SMWQC+wqcx79cN8PQtHQIL8KnuY9M66fdg==} hasBin: true - find-up-simple@1.0.1: - resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} - engines: {node: '>=18'} - find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -2766,6 +3174,9 @@ packages: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} + get-tsconfig@4.14.0: + resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} + get-uri@6.0.3: resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==} engines: {node: '>= 14'} @@ -2824,10 +3235,6 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@16.5.0: - resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} - engines: {node: '>=18'} - globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} @@ -2900,6 +3307,12 @@ packages: header-case@2.0.4: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} + hermes-estree@0.25.1: + resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} + + hermes-parser@0.25.1: + resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} + highlight.js@10.7.3: resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} @@ -2914,6 +3327,9 @@ packages: resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} engines: {node: ^16.14.0 || >=18.0.0} + html-entities@2.6.0: + resolution: {integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==} + html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -3064,9 +3480,12 @@ packages: resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} engines: {node: '>= 0.4'} - is-builtin-module@5.0.0: - resolution: {integrity: sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==} - engines: {node: '>=18.20'} + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + + is-bun-module@2.0.0: + resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==} is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} @@ -3125,6 +3544,12 @@ packages: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} + is-immutable-type@5.0.1: + resolution: {integrity: sha512-LkHEOGVZZXxGl8vDs+10k3DvP++SEoYEAJLRk6buTFi6kD7QekThV7xHS0j6gpnUCQ0zpud/gMDGiV4dQneLTg==} + peerDependencies: + eslint: '*' + typescript: '>=4.7.4' + is-in-ci@0.1.0: resolution: {integrity: sha512-d9PXLEY0v1iJ64xLiQMJ51J128EYHAaOR4yZqQi8aHGfw6KgifM3/Viw1oZZ1GCVmb3gBuyhLyHj0HgR2DhSXQ==} engines: {node: '>=18'} @@ -3437,6 +3862,14 @@ packages: jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + jsdoc-type-pratt-parser@6.10.0: + resolution: {integrity: sha512-+LexoTRyYui5iOhJGn13N9ZazL23nAHGkXsa1p/C8yeq79WRfLBag6ZZ0FQG2aRoc9yfo59JT9EYCQonOkHKkQ==} + engines: {node: '>=20.0.0'} + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + jsesc@2.5.2: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} @@ -3841,6 +4274,10 @@ packages: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + minimatch@10.2.4: resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} engines: {node: 18 || 20 || >=22} @@ -3892,6 +4329,9 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + module-replacements@2.11.0: + resolution: {integrity: sha512-j5sNQm3VCpQQ7nTqGeOZtoJtV3uKERgCBm9QRhmGRiXiqkf7iRFOkfxdJRZWLkqYY8PNf4cDQF/WfXUYLENrRA==} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -3918,6 +4358,11 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + napi-postinstall@0.3.4: + resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + hasBin: true + natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -3991,6 +4436,9 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + object-deep-merge@2.0.0: + resolution: {integrity: sha512-3DC3UMpeffLTHiuXSy/UG4NOIYTLlY9u3V82+djSCLYClWobZiS4ivYzpIUWrRY/nfsJ8cWsKyG3QfyLePmhvg==} + object-hash@3.0.0: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} @@ -4115,6 +4563,9 @@ packages: engines: {node: '>=0.10.0'} hasBin: true + parse-imports-exports@0.2.4: + resolution: {integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==} + parse-json@4.0.0: resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} engines: {node: '>=4'} @@ -4130,6 +4581,9 @@ packages: resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==} engines: {node: '>=0.10.0'} + parse-statements@1.0.11: + resolution: {integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==} + parse5-htmlparser2-tree-adapter@6.0.1: resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} @@ -4374,8 +4828,8 @@ packages: resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} engines: {node: '>=12'} - regjsparser@0.13.0: - resolution: {integrity: sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==} + regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true remark-gfm@4.0.1: @@ -4412,6 +4866,10 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} + reserved-identifiers@1.2.0: + resolution: {integrity: sha512-yE7KUfFvaBFzGPs5H3Ops1RevfUEsDc5Iz65rOwWg4lE8HJSYtle77uul3+573457oHvBKuHYDl/xqUkKpEEdw==} + engines: {node: '>=18'} + resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} @@ -4431,6 +4889,9 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve.exports@2.0.3: resolution: {integrity: sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==} engines: {node: '>=10'} @@ -4675,6 +5136,9 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + spdx-expression-parse@4.0.0: + resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} + spdx-license-ids@3.0.20: resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} @@ -4684,6 +5148,10 @@ packages: sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + stable-hash-x@0.2.0: + resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==} + engines: {node: '>=12.0.0'} + stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -4703,6 +5171,9 @@ packages: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} engines: {node: '>=10'} + string-ts@2.3.1: + resolution: {integrity: sha512-xSJq+BS52SaFFAVxuStmx6n5aYZU571uYUnUrPXkPFCfdHyZMMlbP2v2Wx5sNBnAVzq/2+0+mcBLBa3Xa5ubYw==} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -4761,9 +5232,9 @@ packages: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} - strip-indent@4.1.1: - resolution: {integrity: sha512-SlyRoSkdh1dYP0PzclLE7r0M9sgbFKKMFXpFRUMNuKhQSbC6VQIGzq3E0qsfvGJaUFJPGv6Ws1NZ/haTAjfbMA==} - engines: {node: '>=12'} + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} @@ -4874,6 +5345,10 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + to-valid-identifier@1.0.0: + resolution: {integrity: sha512-41wJyvKep3yT2tyPqX/4blcfybknGB4D+oETKLs7Q76UiPqRpUJK3hr1nxelyYO0PHKVzJwlu0aCeEAsGI6rpw==} + engines: {node: '>=20'} + to-vfile@8.0.0: resolution: {integrity: sha512-IcmH1xB5576MJc9qcfEC/m/nQCFt3fzMHz45sSlgJyTWjRbKW1HAkJpuf3DgE57YzIlZcwcBZA5ENQbBo4aLkg==} @@ -4893,6 +5368,11 @@ packages: peerDependencies: typescript: '>=4.8.4' + ts-declaration-location@1.0.7: + resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==} + peerDependencies: + typescript: '>=4.0.0' + ts-deepmerge@7.0.3: resolution: {integrity: sha512-Du/ZW2RfwV/D4cmA5rXafYjBQVuvu4qGiEEla4EmEHVHgRdx68Gftx7i66jn2bzHPwSVZY36Ae6OuDn9el4ZKA==} engines: {node: '>=14.13.1'} @@ -4938,6 +5418,9 @@ packages: '@swc/wasm': optional: true + ts-pattern@5.9.0: + resolution: {integrity: sha512-6s5V71mX8qBUmlgbrfL33xDUwO0fq48rxAu2LBE11WBeGdpCPOsXksQbZJHvHwhrd3QjUusd3mAOM5Gg0mFBLg==} + tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -5005,8 +5488,8 @@ packages: typed-rest-client@1.8.9: resolution: {integrity: sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==} - typescript-eslint@8.55.0: - resolution: {integrity: sha512-HE4wj+r5lmDVS9gdaN0/+iqNvPZwGfnJ5lZuz7s5vLlg9ODw0bIiiETaios9LvFI1U94/VBXGm3CB2Y5cNFMpw==} + typescript-eslint@8.54.0: + resolution: {integrity: sha512-CKsJ+g53QpsNPqbzUsfKVgd3Lny4yKZ1pP4qN3jdMOg/sisIDLGyDMezycquXLE5JsEU0wp3dGNdzig0/fmSVQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -5077,6 +5560,9 @@ packages: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} + unrs-resolver@1.11.1: + resolution: {integrity: sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==} + untildify@4.0.0: resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} engines: {node: '>=8'} @@ -5323,6 +5809,12 @@ packages: yoga-wasm-web@0.3.3: resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} + zod-validation-error@4.0.2: + resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.25.0 || ^4.0.0 + zod@3.23.8: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} @@ -5570,18 +6062,124 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@epic-web/invariant@1.0.0': {} - - '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1))': + '@emnapi/core@1.10.0': dependencies: - eslint: 9.39.2(jiti@2.6.1) - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.12.2': {} + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 + optional: true - '@eslint/config-array@0.21.1': + '@emnapi/runtime@1.10.0': dependencies: - '@eslint/object-schema': 2.1.7 + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.2.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@epic-web/invariant@1.0.0': {} + + '@es-joy/jsdoccomment@0.76.0': + dependencies: + '@types/estree': 1.0.8 + '@typescript-eslint/types': 8.55.0 + comment-parser: 1.4.1 + esquery: 1.6.0 + jsdoc-type-pratt-parser: 6.10.0 + + '@es-joy/resolve.exports@1.2.0': {} + + '@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.39.2(jiti@2.6.1))': + dependencies: + escape-string-regexp: 4.0.0 + eslint: 9.39.2(jiti@2.6.1) + ignore: 5.3.2 + + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1))': + dependencies: + eslint: 9.39.2(jiti@2.6.1) + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint-react/ast@2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': + dependencies: + '@eslint-react/eff': 2.13.0 + '@typescript-eslint/types': 8.55.0 + '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.4.5) + '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint: 9.39.2(jiti@2.6.1) + string-ts: 2.3.1 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@eslint-react/core@2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': + dependencies: + '@eslint-react/ast': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/eff': 2.13.0 + '@eslint-react/shared': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/var': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/scope-manager': 8.55.0 + '@typescript-eslint/types': 8.55.0 + '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint: 9.39.2(jiti@2.6.1) + ts-pattern: 5.9.0 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@eslint-react/eff@2.13.0': {} + + '@eslint-react/eslint-plugin@2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': + dependencies: + '@eslint-react/eff': 2.13.0 + '@eslint-react/shared': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/scope-manager': 8.55.0 + '@typescript-eslint/type-utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/types': 8.55.0 + '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint: 9.39.2(jiti@2.6.1) + eslint-plugin-react-dom: 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint-plugin-react-hooks-extra: 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint-plugin-react-naming-convention: 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint-plugin-react-rsc: 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint-plugin-react-web-api: 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint-plugin-react-x: 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + ts-api-utils: 2.4.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@eslint-react/shared@2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': + dependencies: + '@eslint-react/eff': 2.13.0 + '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint: 9.39.2(jiti@2.6.1) + ts-pattern: 5.9.0 + typescript: 5.4.5 + zod: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@eslint-react/var@2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': + dependencies: + '@eslint-react/ast': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/eff': 2.13.0 + '@eslint-react/shared': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/scope-manager': 8.55.0 + '@typescript-eslint/types': 8.55.0 + '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint: 9.39.2(jiti@2.6.1) + ts-pattern: 5.9.0 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@eslint/config-array@0.21.1': + dependencies: + '@eslint/object-schema': 2.1.7 debug: 4.4.3(supports-color@8.1.1) minimatch: 3.1.5 transitivePeerDependencies: @@ -5618,6 +6216,17 @@ snapshots: '@eslint/core': 0.17.0 levn: 0.4.1 + '@fluid-internal/eslint-plugin-fluid@0.4.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': + dependencies: + '@microsoft/tsdoc': 0.15.1 + '@typescript-eslint/parser': 8.46.4(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/utils': 8.46.4(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint: 9.39.2(jiti@2.6.1) + ts-morph: 22.0.0 + transitivePeerDependencies: + - supports-color + - typescript + '@fluid-internal/mocha-test-setup@2.83.0': dependencies: '@fluid-internal/test-driver-definitions': 2.83.0 @@ -5817,6 +6426,38 @@ snapshots: dependencies: '@fluidframework/core-interfaces': 2.83.0 + '@fluidframework/eslint-config-fluid@10.0.0(@typescript-eslint/utils@8.56.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': + dependencies: + '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.39.2(jiti@2.6.1)) + '@eslint-react/eslint-plugin': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint/eslintrc': 3.3.3 + '@eslint/js': 9.39.2 + '@fluid-internal/eslint-plugin-fluid': 0.4.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@rushstack/eslint-plugin': 0.22.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/parser': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint-config-biome: 2.1.3 + eslint-config-prettier: 10.1.8(eslint@9.39.2(jiti@2.6.1)) + eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.56.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-depend: 1.4.0 + eslint-plugin-import-x: 4.16.2(@typescript-eslint/utils@8.56.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-jsdoc: 61.4.2(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-no-only-tests: 3.3.0 + eslint-plugin-promise: 7.2.1(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-react-hooks: 7.0.1(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-tsdoc: 0.5.2(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint-plugin-unicorn: 54.0.0(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-unused-imports: 4.3.0(@typescript-eslint/eslint-plugin@8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1)) + globals: 14.0.0 + typescript-eslint: 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + transitivePeerDependencies: + - '@typescript-eslint/utils' + - eslint + - eslint-import-resolver-node + - eslint-plugin-import + - supports-color + - typescript + '@gitbeaker/core@38.12.1': dependencies: '@gitbeaker/requester-utils': 38.12.1 @@ -6430,8 +7071,17 @@ snapshots: jju: 1.4.0 resolve: 1.22.8 + '@microsoft/tsdoc@0.15.1': {} + '@microsoft/tsdoc@0.16.0': {} + '@napi-rs/wasm-runtime@0.2.12': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.2 + optional: true + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -6672,6 +7322,8 @@ snapshots: dependencies: '@octokit/openapi-types': 27.0.0 + '@package-json/types@0.0.12': {} + '@pkgjs/parseargs@0.11.0': optional: true @@ -6707,7 +7359,8 @@ snapshots: - bare-buffer - supports-color - '@rtsao/scc@1.1.0': {} + '@rtsao/scc@1.1.0': + optional: true '@rushstack/eslint-plugin@0.22.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': dependencies: @@ -6769,6 +7422,8 @@ snapshots: '@sinclair/typebox@0.27.8': {} + '@sindresorhus/base62@1.0.0': {} + '@sindresorhus/is@4.6.0': {} '@sindresorhus/is@5.3.0': {} @@ -6820,6 +7475,11 @@ snapshots: '@tsconfig/node16@1.0.3': {} + '@tybys/wasm-util@0.10.2': + dependencies: + tslib: 2.8.1 + optional: true + '@types/argparse@1.0.38': {} '@types/babel__core@7.20.5': @@ -6899,7 +7559,8 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/json5@0.0.29': {} + '@types/json5@0.0.29': + optional: true '@types/lodash.clonedeep@4.5.9': dependencies: @@ -6971,14 +7632,14 @@ snapshots: '@types/node': 22.19.17 optional: true - '@typescript-eslint/eslint-plugin@8.55.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) - '@typescript-eslint/scope-manager': 8.55.0 - '@typescript-eslint/type-utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) - '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 8.55.0 + '@typescript-eslint/parser': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/scope-manager': 8.54.0 + '@typescript-eslint/type-utils': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/utils': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 8.54.0 eslint: 9.39.2(jiti@2.6.1) ignore: 7.0.5 natural-compare: 1.4.0 @@ -6987,12 +7648,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': + '@typescript-eslint/parser@8.46.4(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': dependencies: - '@typescript-eslint/scope-manager': 8.55.0 - '@typescript-eslint/types': 8.55.0 - '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 8.55.0 + '@typescript-eslint/scope-manager': 8.46.4 + '@typescript-eslint/types': 8.46.4 + '@typescript-eslint/typescript-estree': 8.46.4(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 8.46.4 + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.39.2(jiti@2.6.1) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': + dependencies: + '@typescript-eslint/scope-manager': 8.54.0 + '@typescript-eslint/types': 8.54.0 + '@typescript-eslint/typescript-estree': 8.54.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 8.54.0 debug: 4.4.3(supports-color@8.1.1) eslint: 9.39.2(jiti@2.6.1) typescript: 5.4.5 @@ -7008,6 +7681,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/project-service@8.54.0(typescript@5.4.5)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.55.0(typescript@5.4.5) + '@typescript-eslint/types': 8.55.0 + debug: 4.4.3(supports-color@8.1.1) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/project-service@8.55.0(typescript@5.4.5)': dependencies: '@typescript-eslint/tsconfig-utils': 8.55.0(typescript@5.4.5) @@ -7017,24 +7699,63 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/project-service@8.56.1(typescript@5.4.5)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.4.5) + '@typescript-eslint/types': 8.56.1 + debug: 4.4.3(supports-color@8.1.1) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@8.46.4': dependencies: '@typescript-eslint/types': 8.46.4 '@typescript-eslint/visitor-keys': 8.46.4 + '@typescript-eslint/scope-manager@8.54.0': + dependencies: + '@typescript-eslint/types': 8.54.0 + '@typescript-eslint/visitor-keys': 8.54.0 + '@typescript-eslint/scope-manager@8.55.0': dependencies: '@typescript-eslint/types': 8.55.0 '@typescript-eslint/visitor-keys': 8.55.0 + '@typescript-eslint/scope-manager@8.56.1': + dependencies: + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1 + '@typescript-eslint/tsconfig-utils@8.46.4(typescript@5.4.5)': dependencies: typescript: 5.4.5 + '@typescript-eslint/tsconfig-utils@8.54.0(typescript@5.4.5)': + dependencies: + typescript: 5.4.5 + '@typescript-eslint/tsconfig-utils@8.55.0(typescript@5.4.5)': dependencies: typescript: 5.4.5 + '@typescript-eslint/tsconfig-utils@8.56.1(typescript@5.4.5)': + dependencies: + typescript: 5.4.5 + + '@typescript-eslint/type-utils@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': + dependencies: + '@typescript-eslint/types': 8.54.0 + '@typescript-eslint/typescript-estree': 8.54.0(typescript@5.4.5) + '@typescript-eslint/utils': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.39.2(jiti@2.6.1) + ts-api-utils: 2.4.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/type-utils@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 8.55.0 @@ -7049,8 +7770,14 @@ snapshots: '@typescript-eslint/types@8.46.4': {} + '@typescript-eslint/types@8.54.0': {} + '@typescript-eslint/types@8.55.0': {} + '@typescript-eslint/types@8.56.1': {} + + '@typescript-eslint/types@8.59.3': {} + '@typescript-eslint/typescript-estree@8.46.4(typescript@5.4.5)': dependencies: '@typescript-eslint/project-service': 8.46.4(typescript@5.4.5) @@ -7067,6 +7794,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.54.0(typescript@5.4.5)': + dependencies: + '@typescript-eslint/project-service': 8.54.0(typescript@5.4.5) + '@typescript-eslint/tsconfig-utils': 8.54.0(typescript@5.4.5) + '@typescript-eslint/types': 8.54.0 + '@typescript-eslint/visitor-keys': 8.54.0 + debug: 4.4.3(supports-color@8.1.1) + minimatch: 9.0.9 + semver: 7.8.0 + tinyglobby: 0.2.15 + ts-api-utils: 2.4.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/typescript-estree@8.55.0(typescript@5.4.5)': dependencies: '@typescript-eslint/project-service': 8.55.0(typescript@5.4.5) @@ -7082,6 +7824,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.56.1(typescript@5.4.5)': + dependencies: + '@typescript-eslint/project-service': 8.56.1(typescript@5.4.5) + '@typescript-eslint/tsconfig-utils': 8.56.1(typescript@5.4.5) + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/visitor-keys': 8.56.1 + debug: 4.4.3(supports-color@8.1.1) + minimatch: 10.2.4 + semver: 7.8.0 + tinyglobby: 0.2.15 + ts-api-utils: 2.4.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@8.46.4(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) @@ -7093,6 +7850,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.54.0 + '@typescript-eslint/types': 8.54.0 + '@typescript-eslint/typescript-estree': 8.54.0(typescript@5.4.5) + eslint: 9.39.2(jiti@2.6.1) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) @@ -7104,18 +7872,98 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.56.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) + '@typescript-eslint/scope-manager': 8.56.1 + '@typescript-eslint/types': 8.56.1 + '@typescript-eslint/typescript-estree': 8.56.1(typescript@5.4.5) + eslint: 9.39.2(jiti@2.6.1) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@8.46.4': dependencies: '@typescript-eslint/types': 8.46.4 eslint-visitor-keys: 4.2.1 + '@typescript-eslint/visitor-keys@8.54.0': + dependencies: + '@typescript-eslint/types': 8.54.0 + eslint-visitor-keys: 4.2.1 + '@typescript-eslint/visitor-keys@8.55.0': dependencies: '@typescript-eslint/types': 8.55.0 eslint-visitor-keys: 4.2.1 + '@typescript-eslint/visitor-keys@8.56.1': + dependencies: + '@typescript-eslint/types': 8.56.1 + eslint-visitor-keys: 5.0.1 + '@ungap/structured-clone@1.2.0': {} + '@unrs/resolver-binding-android-arm-eabi@1.11.1': + optional: true + + '@unrs/resolver-binding-android-arm64@1.11.1': + optional: true + + '@unrs/resolver-binding-darwin-arm64@1.11.1': + optional: true + + '@unrs/resolver-binding-darwin-x64@1.11.1': + optional: true + + '@unrs/resolver-binding-freebsd-x64@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm-gnueabihf@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm-musleabihf@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-arm64-musl@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-ppc64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-riscv64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-riscv64-musl@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-s390x-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-x64-gnu@1.11.1': + optional: true + + '@unrs/resolver-binding-linux-x64-musl@1.11.1': + optional: true + + '@unrs/resolver-binding-wasm32-wasi@1.11.1': + dependencies: + '@napi-rs/wasm-runtime': 0.2.12 + optional: true + + '@unrs/resolver-binding-win32-arm64-msvc@1.11.1': + optional: true + + '@unrs/resolver-binding-win32-ia32-msvc@1.11.1': + optional: true + + '@unrs/resolver-binding-win32-x64-msvc@1.11.1': + optional: true + '@webassemblyjs/ast@1.14.1': dependencies: '@webassemblyjs/helper-numbers': 1.13.2 @@ -7286,6 +8134,8 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.2 + are-docs-informative@0.0.2: {} + arg-parser@1.2.0: {} arg@4.1.3: {} @@ -7300,6 +8150,7 @@ snapshots: dependencies: call-bound: 1.0.4 is-array-buffer: 3.0.5 + optional: true array-differ@3.0.0: {} @@ -7313,6 +8164,7 @@ snapshots: get-intrinsic: 1.3.0 is-string: 1.1.1 math-intrinsics: 1.1.0 + optional: true array-union@2.1.0: {} @@ -7325,6 +8177,7 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.1.1 es-shim-unscopables: 1.1.0 + optional: true array.prototype.flat@1.3.3: dependencies: @@ -7332,6 +8185,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.24.1 es-shim-unscopables: 1.1.0 + optional: true array.prototype.flatmap@1.3.3: dependencies: @@ -7339,6 +8193,7 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.24.1 es-shim-unscopables: 1.1.0 + optional: true arraybuffer.prototype.slice@1.0.4: dependencies: @@ -7349,6 +8204,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 is-array-buffer: 3.0.5 + optional: true arrify@2.0.1: {} @@ -7358,7 +8214,8 @@ snapshots: astral-regex@2.0.0: {} - async-function@1.0.0: {} + async-function@1.0.0: + optional: true async-retry@1.2.3: dependencies: @@ -7497,6 +8354,8 @@ snapshots: binary-extensions@2.3.0: {} + birecord@0.1.1: {} + brace-expansion@1.1.12: dependencies: balanced-match: 1.0.2 @@ -7548,7 +8407,7 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - builtin-modules@5.0.0: {} + builtin-modules@3.3.0: {} c8@10.1.3: dependencies: @@ -7775,6 +8634,12 @@ snapshots: commander@9.5.0: {} + comment-parser@1.4.1: {} + + comment-parser@1.4.6: {} + + compare-versions@6.1.1: {} + concat-map@0.0.1: {} concurrently@9.2.1: @@ -7921,24 +8786,28 @@ snapshots: call-bound: 1.0.4 es-errors: 1.3.0 is-data-view: 1.0.2 + optional: true data-view-byte-length@1.0.2: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 is-data-view: 1.0.2 + optional: true data-view-byte-offset@1.0.1: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 is-data-view: 1.0.2 + optional: true date-fns@3.6.0: {} debug@3.2.7: dependencies: ms: 2.1.3 + optional: true debug@4.4.3(supports-color@8.1.1): dependencies: @@ -7977,6 +8846,7 @@ snapshots: define-data-property: 1.1.4 has-property-descriptors: 1.0.2 object-keys: 1.1.1 + optional: true degenerator@5.0.1: dependencies: @@ -8025,6 +8895,7 @@ snapshots: doctrine@2.1.0: dependencies: esutils: 2.0.3 + optional: true dot-case@3.0.4: dependencies: @@ -8059,6 +8930,8 @@ snapshots: emojilib@2.4.0: {} + empathic@2.0.1: {} + encoding@0.1.13: dependencies: iconv-lite: 0.6.3 @@ -8137,6 +9010,7 @@ snapshots: typed-array-length: 1.0.7 unbox-primitive: 1.1.0 which-typed-array: 1.1.19 + optional: true es-define-property@1.0.1: {} @@ -8158,12 +9032,14 @@ snapshots: es-shim-unscopables@1.1.0: dependencies: hasown: 2.0.2 + optional: true es-to-primitive@1.3.0: dependencies: is-callable: 1.2.7 is-date-object: 1.1.0 is-symbol: 1.1.1 + optional: true escalade@3.2.0: {} @@ -8183,10 +9059,19 @@ snapshots: optionalDependencies: source-map: 0.6.1 + eslint-config-biome@2.1.3: {} + eslint-config-prettier@10.1.8(eslint@9.39.2(jiti@2.6.1)): dependencies: eslint: 9.39.2(jiti@2.6.1) + eslint-import-context@0.1.9(unrs-resolver@1.11.1): + dependencies: + get-tsconfig: 4.14.0 + stable-hash-x: 0.2.0 + optionalDependencies: + unrs-resolver: 1.11.1 + eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 @@ -8194,18 +9079,61 @@ snapshots: resolve: 1.22.8 transitivePeerDependencies: - supports-color + optional: true + + eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.56.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)))(eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1)))(eslint@9.39.2(jiti@2.6.1)): + dependencies: + debug: 4.4.3(supports-color@8.1.1) + eslint: 9.39.2(jiti@2.6.1) + eslint-import-context: 0.1.9(unrs-resolver@1.11.1) + get-tsconfig: 4.14.0 + is-bun-module: 2.0.0 + stable-hash-x: 0.2.0 + tinyglobby: 0.2.15 + unrs-resolver: 1.11.1 + optionalDependencies: + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1)) + eslint-plugin-import-x: 4.16.2(@typescript-eslint/utils@8.56.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)) + transitivePeerDependencies: + - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/parser': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint: 9.39.2(jiti@2.6.1) + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + optional: true + + eslint-plugin-depend@1.4.0: + dependencies: + empathic: 2.0.1 + module-replacements: 2.11.0 + semver: 7.8.0 + + eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.56.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)): + dependencies: + '@package-json/types': 0.0.12 + '@typescript-eslint/types': 8.59.3 + comment-parser: 1.4.6 + debug: 4.4.3(supports-color@8.1.1) eslint: 9.39.2(jiti@2.6.1) + eslint-import-context: 0.1.9(unrs-resolver@1.11.1) + is-glob: 4.0.3 + minimatch: 9.0.9 + semver: 7.8.0 + stable-hash-x: 0.2.0 + unrs-resolver: 1.11.1 + optionalDependencies: + '@typescript-eslint/utils': 8.56.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -8216,7 +9144,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.39.2(jiti@2.6.1) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint@9.39.2(jiti@2.6.1)) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -8228,33 +9156,191 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/parser': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color + optional: true + + eslint-plugin-jsdoc@61.4.2(eslint@9.39.2(jiti@2.6.1)): + dependencies: + '@es-joy/jsdoccomment': 0.76.0 + '@es-joy/resolve.exports': 1.2.0 + are-docs-informative: 0.0.2 + comment-parser: 1.4.1 + debug: 4.4.3(supports-color@8.1.1) + escape-string-regexp: 4.0.0 + eslint: 9.39.2(jiti@2.6.1) + espree: 10.4.0 + esquery: 1.6.0 + html-entities: 2.6.0 + object-deep-merge: 2.0.0 + parse-imports-exports: 0.2.4 + semver: 7.8.0 + spdx-expression-parse: 4.0.0 + to-valid-identifier: 1.0.0 + transitivePeerDependencies: + - supports-color + + eslint-plugin-no-only-tests@3.3.0: {} + + eslint-plugin-promise@7.2.1(eslint@9.39.2(jiti@2.6.1)): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) + eslint: 9.39.2(jiti@2.6.1) + + eslint-plugin-react-dom@2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5): + dependencies: + '@eslint-react/ast': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/core': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/eff': 2.13.0 + '@eslint-react/shared': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/var': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/scope-manager': 8.55.0 + '@typescript-eslint/types': 8.55.0 + '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + compare-versions: 6.1.1 + eslint: 9.39.2(jiti@2.6.1) + ts-pattern: 5.9.0 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color - eslint-plugin-unicorn@62.0.0(eslint@9.39.2(jiti@2.6.1)): + eslint-plugin-react-hooks-extra@2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5): + dependencies: + '@eslint-react/ast': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/core': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/eff': 2.13.0 + '@eslint-react/shared': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/var': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/scope-manager': 8.55.0 + '@typescript-eslint/type-utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/types': 8.55.0 + '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint: 9.39.2(jiti@2.6.1) + ts-pattern: 5.9.0 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + eslint-plugin-react-hooks@7.0.1(eslint@9.39.2(jiti@2.6.1)): + dependencies: + '@babel/core': 7.25.2 + '@babel/parser': 7.28.4 + eslint: 9.39.2(jiti@2.6.1) + hermes-parser: 0.25.1 + zod: 4.4.3 + zod-validation-error: 4.0.2(zod@4.4.3) + transitivePeerDependencies: + - supports-color + + eslint-plugin-react-naming-convention@2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5): + dependencies: + '@eslint-react/ast': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/core': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/eff': 2.13.0 + '@eslint-react/shared': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/var': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/scope-manager': 8.55.0 + '@typescript-eslint/type-utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/types': 8.55.0 + '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + compare-versions: 6.1.1 + eslint: 9.39.2(jiti@2.6.1) + string-ts: 2.3.1 + ts-pattern: 5.9.0 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + eslint-plugin-react-rsc@2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5): + dependencies: + '@eslint-react/ast': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/shared': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/var': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/types': 8.55.0 + '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint: 9.39.2(jiti@2.6.1) + ts-pattern: 5.9.0 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + eslint-plugin-react-web-api@2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5): + dependencies: + '@eslint-react/ast': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/core': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/eff': 2.13.0 + '@eslint-react/shared': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/var': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/scope-manager': 8.55.0 + '@typescript-eslint/types': 8.55.0 + '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + birecord: 0.1.1 + eslint: 9.39.2(jiti@2.6.1) + ts-pattern: 5.9.0 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + eslint-plugin-react-x@2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5): + dependencies: + '@eslint-react/ast': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/core': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/eff': 2.13.0 + '@eslint-react/shared': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@eslint-react/var': 2.13.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/scope-manager': 8.55.0 + '@typescript-eslint/type-utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/types': 8.55.0 + '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + compare-versions: 6.1.1 + eslint: 9.39.2(jiti@2.6.1) + is-immutable-type: 5.0.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + ts-api-utils: 2.4.0(typescript@5.4.5) + ts-pattern: 5.9.0 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + eslint-plugin-tsdoc@0.5.2(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5): + dependencies: + '@microsoft/tsdoc': 0.16.0 + '@microsoft/tsdoc-config': 0.18.1 + '@typescript-eslint/utils': 8.56.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + transitivePeerDependencies: + - eslint + - supports-color + - typescript + + eslint-plugin-unicorn@54.0.0(eslint@9.39.2(jiti@2.6.1)): dependencies: '@babel/helper-validator-identifier': 7.28.5 '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) - '@eslint/plugin-kit': 0.4.1 - change-case: 5.4.4 + '@eslint/eslintrc': 3.3.3 ci-info: 4.4.0 clean-regexp: 1.0.0 core-js-compat: 3.48.0 eslint: 9.39.2(jiti@2.6.1) esquery: 1.6.0 - find-up-simple: 1.0.1 - globals: 16.5.0 - indent-string: 5.0.0 - is-builtin-module: 5.0.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 jsesc: 3.1.0 pluralize: 8.0.0 + read-pkg-up: 7.0.1 regexp-tree: 0.1.27 - regjsparser: 0.13.0 - semver: 7.7.3 - strip-indent: 4.1.1 + regjsparser: 0.10.0 + semver: 7.8.0 + strip-indent: 3.0.0 + transitivePeerDependencies: + - supports-color + + eslint-plugin-unused-imports@4.3.0(@typescript-eslint/eslint-plugin@8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1)): + dependencies: + eslint: 9.39.2(jiti@2.6.1) + optionalDependencies: + '@typescript-eslint/eslint-plugin': 8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) eslint-scope@5.1.1: dependencies: @@ -8270,6 +9356,8 @@ snapshots: eslint-visitor-keys@4.2.1: {} + eslint-visitor-keys@5.0.1: {} + eslint@9.39.2(jiti@2.6.1): dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1)) @@ -8456,8 +9544,6 @@ snapshots: transitivePeerDependencies: - supports-color - find-up-simple@1.0.1: {} - find-up@4.1.0: dependencies: locate-path: 5.0.0 @@ -8537,10 +9623,13 @@ snapshots: functions-have-names: 1.2.3 hasown: 2.0.2 is-callable: 1.2.7 + optional: true - functions-have-names@1.2.3: {} + functions-have-names@1.2.3: + optional: true - generator-function@2.0.1: {} + generator-function@2.0.1: + optional: true gensync@1.0.0-beta.2: {} @@ -8583,6 +9672,11 @@ snapshots: call-bound: 1.0.4 es-errors: 1.3.0 get-intrinsic: 1.3.0 + optional: true + + get-tsconfig@4.14.0: + dependencies: + resolve-pkg-maps: 1.0.0 get-uri@6.0.3: dependencies: @@ -8657,12 +9751,11 @@ snapshots: globals@14.0.0: {} - globals@16.5.0: {} - globalthis@1.0.4: dependencies: define-properties: 1.2.1 gopd: 1.2.0 + optional: true globby@10.0.0: dependencies: @@ -8711,7 +9804,8 @@ snapshots: section-matter: 1.0.0 strip-bom-string: 1.0.0 - has-bigints@1.1.0: {} + has-bigints@1.1.0: + optional: true has-flag@2.0.0: {} @@ -8726,6 +9820,7 @@ snapshots: has-proto@1.2.0: dependencies: dunder-proto: 1.0.1 + optional: true has-symbols@1.1.0: {} @@ -8744,6 +9839,12 @@ snapshots: capital-case: 1.0.4 tslib: 2.8.1 + hermes-estree@0.25.1: {} + + hermes-parser@0.25.1: + dependencies: + hermes-estree: 0.25.1 + highlight.js@10.7.3: {} homedir-polyfill@1.0.3: @@ -8756,6 +9857,8 @@ snapshots: dependencies: lru-cache: 10.4.3 + html-entities@2.6.0: {} + html-escaper@2.0.2: {} http-cache-semantics@4.1.1: {} @@ -8897,6 +10000,7 @@ snapshots: es-errors: 1.3.0 hasown: 2.0.2 side-channel: 1.1.0 + optional: true ip-address@9.0.5: dependencies: @@ -8908,6 +10012,7 @@ snapshots: call-bind: 1.0.8 call-bound: 1.0.4 get-intrinsic: 1.3.0 + optional: true is-arrayish@0.2.1: {} @@ -8918,10 +10023,12 @@ snapshots: get-proto: 1.0.1 has-tostringtag: 1.0.2 safe-regex-test: 1.1.0 + optional: true is-bigint@1.1.0: dependencies: has-bigints: 1.1.0 + optional: true is-binary-path@2.1.0: dependencies: @@ -8931,10 +10038,15 @@ snapshots: dependencies: call-bound: 1.0.4 has-tostringtag: 1.0.2 + optional: true + + is-builtin-module@3.2.1: + dependencies: + builtin-modules: 3.3.0 - is-builtin-module@5.0.0: + is-bun-module@2.0.0: dependencies: - builtin-modules: 5.0.0 + semver: 7.8.0 is-callable@1.2.7: {} @@ -8947,11 +10059,13 @@ snapshots: call-bound: 1.0.4 get-intrinsic: 1.3.0 is-typed-array: 1.1.15 + optional: true is-date-object@1.1.0: dependencies: call-bound: 1.0.4 has-tostringtag: 1.0.2 + optional: true is-docker@2.2.1: {} @@ -8962,6 +10076,7 @@ snapshots: is-finalizationregistry@1.1.1: dependencies: call-bound: 1.0.4 + optional: true is-fullwidth-code-point@3.0.0: {} @@ -8980,21 +10095,35 @@ snapshots: get-proto: 1.0.1 has-tostringtag: 1.0.2 safe-regex-test: 1.1.0 + optional: true is-glob@4.0.3: dependencies: is-extglob: 2.1.1 + is-immutable-type@5.0.1(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5): + dependencies: + '@typescript-eslint/type-utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + eslint: 9.39.2(jiti@2.6.1) + ts-api-utils: 2.4.0(typescript@5.4.5) + ts-declaration-location: 1.0.7(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + is-in-ci@0.1.0: {} - is-map@2.0.3: {} + is-map@2.0.3: + optional: true - is-negative-zero@2.0.3: {} + is-negative-zero@2.0.3: + optional: true is-number-object@1.1.1: dependencies: call-bound: 1.0.4 has-tostringtag: 1.0.2 + optional: true is-number@7.0.0: {} @@ -9010,14 +10139,17 @@ snapshots: gopd: 1.2.0 has-tostringtag: 1.0.2 hasown: 2.0.2 + optional: true is-retry-allowed@1.2.0: {} - is-set@2.0.3: {} + is-set@2.0.3: + optional: true is-shared-array-buffer@1.0.4: dependencies: call-bound: 1.0.4 + optional: true is-stream@2.0.1: {} @@ -9025,12 +10157,14 @@ snapshots: dependencies: call-bound: 1.0.4 has-tostringtag: 1.0.2 + optional: true is-symbol@1.1.1: dependencies: call-bound: 1.0.4 has-symbols: 1.1.0 safe-regex-test: 1.1.0 + optional: true is-typed-array@1.1.15: dependencies: @@ -9038,16 +10172,19 @@ snapshots: is-unicode-supported@0.1.0: {} - is-weakmap@2.0.2: {} + is-weakmap@2.0.2: + optional: true is-weakref@1.1.1: dependencies: call-bound: 1.0.4 + optional: true is-weakset@2.0.4: dependencies: call-bound: 1.0.4 get-intrinsic: 1.3.0 + optional: true is-windows@0.2.0: {} @@ -9507,6 +10644,10 @@ snapshots: jsbn@1.1.0: {} + jsdoc-type-pratt-parser@6.10.0: {} + + jsesc@0.5.0: {} + jsesc@2.5.2: {} jsesc@3.1.0: {} @@ -9526,6 +10667,7 @@ snapshots: json5@1.0.2: dependencies: minimist: 1.2.8 + optional: true json5@2.2.3: {} @@ -10055,6 +11197,8 @@ snapshots: mimic-response@4.0.0: {} + min-indent@1.0.1: {} + minimatch@10.2.4: dependencies: brace-expansion: 5.0.2 @@ -10136,6 +11280,8 @@ snapshots: yargs-parser: 21.1.1 yargs-unparser: 2.0.0 + module-replacements@2.11.0: {} + ms@2.1.3: {} msgpack-lite@0.1.26: @@ -10165,6 +11311,8 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 + napi-postinstall@0.3.4: {} + natural-compare@1.4.0: {} natural-orderby@3.0.2: {} @@ -10235,11 +11383,14 @@ snapshots: object-assign@4.1.1: {} + object-deep-merge@2.0.0: {} + object-hash@3.0.0: {} object-inspect@1.13.4: {} - object-keys@1.1.1: {} + object-keys@1.1.1: + optional: true object-treeify@4.0.1: {} @@ -10251,6 +11402,7 @@ snapshots: es-object-atoms: 1.1.1 has-symbols: 1.1.0 object-keys: 1.1.1 + optional: true object.fromentries@2.0.8: dependencies: @@ -10258,12 +11410,14 @@ snapshots: define-properties: 1.2.1 es-abstract: 1.24.1 es-object-atoms: 1.1.1 + optional: true object.groupby@1.0.3: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 es-abstract: 1.24.1 + optional: true object.values@1.2.1: dependencies: @@ -10271,6 +11425,7 @@ snapshots: call-bound: 1.0.4 define-properties: 1.2.1 es-object-atoms: 1.1.1 + optional: true oclif@4.23.0(@types/node@22.19.17): dependencies: @@ -10326,6 +11481,7 @@ snapshots: get-intrinsic: 1.3.0 object-keys: 1.1.1 safe-push-apply: 1.0.0 + optional: true p-cancelable@3.0.0: {} @@ -10397,6 +11553,10 @@ snapshots: parse-github-url@1.0.2: {} + parse-imports-exports@0.2.4: + dependencies: + parse-statements: 1.0.11 + parse-json@4.0.0: dependencies: error-ex: 1.3.2 @@ -10415,6 +11575,8 @@ snapshots: parse-passwd@1.0.0: {} + parse-statements@1.0.11: {} + parse5-htmlparser2-tree-adapter@6.0.1: dependencies: parse5: 6.0.1 @@ -10643,6 +11805,7 @@ snapshots: get-intrinsic: 1.3.0 get-proto: 1.0.1 which-builtin-type: 1.2.1 + optional: true regenerator-runtime@0.13.11: {} @@ -10656,6 +11819,7 @@ snapshots: get-proto: 1.0.1 gopd: 1.2.0 set-function-name: 2.0.2 + optional: true registry-auth-token@5.1.0: dependencies: @@ -10669,9 +11833,9 @@ snapshots: dependencies: rc: 1.2.8 - regjsparser@0.13.0: + regjsparser@0.10.0: dependencies: - jsesc: 3.1.0 + jsesc: 0.5.0 remark-gfm@4.0.1: dependencies: @@ -10736,6 +11900,8 @@ snapshots: require-from-string@2.0.2: {} + reserved-identifiers@1.2.0: {} + resolve-alpn@1.2.1: {} resolve-cwd@3.0.0: @@ -10751,6 +11917,8 @@ snapshots: resolve-from@5.0.0: {} + resolve-pkg-maps@1.0.0: {} + resolve.exports@2.0.3: {} resolve@1.22.8: @@ -10802,6 +11970,7 @@ snapshots: get-intrinsic: 1.3.0 has-symbols: 1.1.0 isarray: 2.0.5 + optional: true safe-buffer@5.1.2: {} @@ -10811,12 +11980,14 @@ snapshots: dependencies: es-errors: 1.3.0 isarray: 2.0.5 + optional: true safe-regex-test@1.1.0: dependencies: call-bound: 1.0.4 es-errors: 1.3.0 is-regex: 1.2.1 + optional: true safer-buffer@2.1.2: {} @@ -10873,12 +12044,14 @@ snapshots: es-errors: 1.3.0 functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 + optional: true set-proto@1.0.0: dependencies: dunder-proto: 1.0.1 es-errors: 1.3.0 es-object-atoms: 1.1.1 + optional: true setimmediate@1.0.5: {} @@ -11046,12 +12219,19 @@ snapshots: spdx-exceptions: 2.5.0 spdx-license-ids: 3.0.20 + spdx-expression-parse@4.0.0: + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.20 + spdx-license-ids@3.0.20: {} sprintf-js@1.0.3: {} sprintf-js@1.1.3: {} + stable-hash-x@0.2.0: {} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -11060,6 +12240,7 @@ snapshots: dependencies: es-errors: 1.3.0 internal-slot: 1.1.0 + optional: true streamx@2.22.0: dependencies: @@ -11075,6 +12256,8 @@ snapshots: char-regex: 1.0.2 strip-ansi: 6.0.1 + string-ts@2.3.1: {} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -11107,6 +12290,7 @@ snapshots: es-abstract: 1.24.1 es-object-atoms: 1.1.1 has-property-descriptors: 1.0.2 + optional: true string.prototype.trimend@1.0.9: dependencies: @@ -11114,12 +12298,14 @@ snapshots: call-bound: 1.0.4 define-properties: 1.2.1 es-object-atoms: 1.1.1 + optional: true string.prototype.trimstart@1.0.8: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 es-object-atoms: 1.1.1 + optional: true string_decoder@0.10.31: {} @@ -11137,13 +12323,16 @@ snapshots: strip-bom-string@1.0.0: {} - strip-bom@3.0.0: {} + strip-bom@3.0.0: + optional: true strip-bom@4.0.0: {} strip-final-newline@2.0.0: {} - strip-indent@4.1.1: {} + strip-indent@3.0.0: + dependencies: + min-indent: 1.0.1 strip-json-comments@2.0.1: {} @@ -11265,6 +12454,11 @@ snapshots: dependencies: is-number: 7.0.0 + to-valid-identifier@1.0.0: + dependencies: + '@sindresorhus/base62': 1.0.0 + reserved-identifiers: 1.2.0 + to-vfile@8.0.0: dependencies: vfile: 6.0.3 @@ -11279,6 +12473,11 @@ snapshots: dependencies: typescript: 5.4.5 + ts-declaration-location@1.0.7(typescript@5.4.5): + dependencies: + picomatch: 4.0.4 + typescript: 5.4.5 + ts-deepmerge@7.0.3: {} ts-expose-internals-conditionally@1.0.0-empty.0: {} @@ -11323,12 +12522,15 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + ts-pattern@5.9.0: {} + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 json5: 1.0.2 minimist: 1.2.8 strip-bom: 3.0.0 + optional: true tslib@2.8.1: {} @@ -11369,6 +12571,7 @@ snapshots: gopd: 1.2.0 has-proto: 1.2.0 is-typed-array: 1.1.15 + optional: true typed-array-byte-offset@1.0.4: dependencies: @@ -11379,6 +12582,7 @@ snapshots: has-proto: 1.2.0 is-typed-array: 1.1.15 reflect.getprototypeof: 1.0.10 + optional: true typed-array-length@1.0.7: dependencies: @@ -11388,6 +12592,7 @@ snapshots: is-typed-array: 1.1.15 possible-typed-array-names: 1.0.0 reflect.getprototypeof: 1.0.10 + optional: true typed-query-selector@2.12.0: {} @@ -11397,12 +12602,12 @@ snapshots: tunnel: 0.0.6 underscore: 1.13.6 - typescript-eslint@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5): + typescript-eslint@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5): dependencies: - '@typescript-eslint/eslint-plugin': 8.55.0(@typescript-eslint/parser@8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) - '@typescript-eslint/parser': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) - '@typescript-eslint/typescript-estree': 8.55.0(typescript@5.4.5) - '@typescript-eslint/utils': 8.55.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5))(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/parser': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 8.54.0(typescript@5.4.5) + '@typescript-eslint/utils': 8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.4.5) eslint: 9.39.2(jiti@2.6.1) typescript: 5.4.5 transitivePeerDependencies: @@ -11420,6 +12625,7 @@ snapshots: has-bigints: 1.1.0 has-symbols: 1.1.0 which-boxed-primitive: 1.1.1 + optional: true unbzip2-stream@1.4.3: dependencies: @@ -11471,6 +12677,30 @@ snapshots: universalify@2.0.0: {} + unrs-resolver@1.11.1: + dependencies: + napi-postinstall: 0.3.4 + optionalDependencies: + '@unrs/resolver-binding-android-arm-eabi': 1.11.1 + '@unrs/resolver-binding-android-arm64': 1.11.1 + '@unrs/resolver-binding-darwin-arm64': 1.11.1 + '@unrs/resolver-binding-darwin-x64': 1.11.1 + '@unrs/resolver-binding-freebsd-x64': 1.11.1 + '@unrs/resolver-binding-linux-arm-gnueabihf': 1.11.1 + '@unrs/resolver-binding-linux-arm-musleabihf': 1.11.1 + '@unrs/resolver-binding-linux-arm64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-arm64-musl': 1.11.1 + '@unrs/resolver-binding-linux-ppc64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-riscv64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-riscv64-musl': 1.11.1 + '@unrs/resolver-binding-linux-s390x-gnu': 1.11.1 + '@unrs/resolver-binding-linux-x64-gnu': 1.11.1 + '@unrs/resolver-binding-linux-x64-musl': 1.11.1 + '@unrs/resolver-binding-wasm32-wasi': 1.11.1 + '@unrs/resolver-binding-win32-arm64-msvc': 1.11.1 + '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 + '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 + untildify@4.0.0: {} update-browserslist-db@1.2.2(browserslist@4.28.1): @@ -11591,6 +12821,7 @@ snapshots: is-number-object: 1.1.1 is-string: 1.1.1 is-symbol: 1.1.1 + optional: true which-builtin-type@1.2.1: dependencies: @@ -11607,6 +12838,7 @@ snapshots: which-boxed-primitive: 1.1.1 which-collection: 1.0.2 which-typed-array: 1.1.19 + optional: true which-collection@1.0.2: dependencies: @@ -11614,6 +12846,7 @@ snapshots: is-set: 2.0.3 is-weakmap: 2.0.2 is-weakset: 2.0.4 + optional: true which-typed-array@1.1.19: dependencies: @@ -11758,6 +12991,10 @@ snapshots: yoga-wasm-web@0.3.3: {} + zod-validation-error@4.0.2(zod@4.4.3): + dependencies: + zod: 4.4.3 + zod@3.23.8: {} zod@4.4.3: {} From 029ab9514fcfa96ca8aec2fda1718d8add47714f Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Thu, 14 May 2026 22:14:25 -0700 Subject: [PATCH 14/19] common-utils: bump @arethetypeswrong/cli to ^0.18.2 Aligns with the version client-utils pins. attw still reports a clean result across all four resolution modes (node10, node16 CJS, node16 ESM, bundler). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- common/lib/common-utils/package.json | 2 +- common/lib/common-utils/pnpm-lock.yaml | 57 +++++++++++++++----------- 2 files changed, 34 insertions(+), 25 deletions(-) diff --git a/common/lib/common-utils/package.json b/common/lib/common-utils/package.json index c2c785a0a8d7..c7e35580db92 100644 --- a/common/lib/common-utils/package.json +++ b/common/lib/common-utils/package.json @@ -103,7 +103,7 @@ "sha.js": "^2.4.12" }, "devDependencies": { - "@arethetypeswrong/cli": "^0.15.2", + "@arethetypeswrong/cli": "^0.18.2", "@fluid-internal/mocha-test-setup": "~2.83.0", "@fluid-tools/build-cli": "^0.65.0", "@fluidframework/build-common": "^2.0.3", diff --git a/common/lib/common-utils/pnpm-lock.yaml b/common/lib/common-utils/pnpm-lock.yaml index 1790c0ff6148..b4491a877a9d 100644 --- a/common/lib/common-utils/pnpm-lock.yaml +++ b/common/lib/common-utils/pnpm-lock.yaml @@ -57,8 +57,8 @@ importers: version: 2.4.12 devDependencies: '@arethetypeswrong/cli': - specifier: ^0.15.2 - version: 0.15.4 + specifier: ^0.18.2 + version: 0.18.2 '@fluid-internal/mocha-test-setup': specifier: ~2.83.0 version: 2.83.0 @@ -176,14 +176,14 @@ packages: '@andrewbranch/untar.js@1.0.3': resolution: {integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==} - '@arethetypeswrong/cli@0.15.4': - resolution: {integrity: sha512-YDbImAi1MGkouT7f2yAECpUMFhhA1J0EaXzIqoC5GGtK0xDgauLtcsZezm8tNq7d3wOFXH7OnY+IORYcG212rw==} - engines: {node: '>=18'} + '@arethetypeswrong/cli@0.18.2': + resolution: {integrity: sha512-PcFM20JNlevEDKBg4Re29Rtv2xvjvQZzg7ENnrWFSS0PHgdP2njibVFw+dRUhNkPgNfac9iUqO0ohAXqQL4hbw==} + engines: {node: '>=20'} hasBin: true - '@arethetypeswrong/core@0.15.1': - resolution: {integrity: sha512-FYp6GBAgsNz81BkfItRz8RLZO03w5+BaeiPma1uCfmxTnxbtuMrI/dbzGiOk8VghO108uFI0oJo0OkewdSHw7g==} - engines: {node: '>=18'} + '@arethetypeswrong/core@0.18.2': + resolution: {integrity: sha512-GiwTmBFOU1/+UVNqqCGzFJYfBXEytUkiI+iRZ6Qx7KmUVtLm00sYySkfe203C9QtPG11yOz1ZaMek8dT/xnlgg==} + engines: {node: '>=20'} '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} @@ -354,6 +354,9 @@ packages: resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} + '@braidai/lang@1.1.2': + resolution: {integrity: sha512-qBcknbBufNHlui137Hft8xauQMTZDKdophmLFv05r2eNmdIv/MlPuP4TdUknHG68UdWLgVZwgxVe735HzJNIwA==} + '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} @@ -991,6 +994,9 @@ packages: '@kwsites/promise-deferred@1.1.1': resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} + '@loaderkit/resolve@1.0.5': + resolution: {integrity: sha512-fhkdGM57xhJ7CO91MUgbQlb0ClP0AJ9vB3yoVnBTslYJqrJOCVEbOprZcxZlexdMbmTBPQqVcQYr+j4oRRtIZA==} + '@manypkg/find-root@2.2.3': resolution: {integrity: sha512-jtEZKczWTueJYHjGpxU3KJQ08Gsrf4r6Q2GjmPp/RGk5leeYAA1eyDADSAF+KVCsQ6EwZd/FMcOFCoMhtqdCtQ==} engines: {node: '>=14.18.0'} @@ -5377,9 +5383,6 @@ packages: resolution: {integrity: sha512-Du/ZW2RfwV/D4cmA5rXafYjBQVuvu4qGiEEla4EmEHVHgRdx68Gftx7i66jn2bzHPwSVZY36Ae6OuDn9el4ZKA==} engines: {node: '>=14.13.1'} - ts-expose-internals-conditionally@1.0.0-empty.0: - resolution: {integrity: sha512-F8m9NOF6ZhdOClDVdlM8gj3fDCav4ZIFSs/EI3ksQbAAXVSCN/Jh5OCJDDZWBuBy9psFc6jULGDlPwjMYMhJDw==} - ts-jest@29.1.1: resolution: {integrity: sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -5495,13 +5498,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true - typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + typescript@5.6.1-rc: + resolution: {integrity: sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==} engines: {node: '>=14.17'} hasBin: true @@ -5840,9 +5843,9 @@ snapshots: '@andrewbranch/untar.js@1.0.3': {} - '@arethetypeswrong/cli@0.15.4': + '@arethetypeswrong/cli@0.18.2': dependencies: - '@arethetypeswrong/core': 0.15.1 + '@arethetypeswrong/core': 0.18.2 chalk: 4.1.2 cli-table3: 0.6.5 commander: 10.0.1 @@ -5850,13 +5853,15 @@ snapshots: marked-terminal: 7.3.0(marked@9.1.6) semver: 7.8.0 - '@arethetypeswrong/core@0.15.1': + '@arethetypeswrong/core@0.18.2': dependencies: '@andrewbranch/untar.js': 1.0.3 + '@loaderkit/resolve': 1.0.5 + cjs-module-lexer: 1.4.1 fflate: 0.8.2 + lru-cache: 11.2.4 semver: 7.8.0 - ts-expose-internals-conditionally: 1.0.0-empty.0 - typescript: 5.3.3 + typescript: 5.6.1-rc validate-npm-package-name: 5.0.1 '@babel/code-frame@7.27.1': @@ -6055,6 +6060,8 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} + '@braidai/lang@1.1.2': {} + '@colors/colors@1.5.0': optional: true @@ -7022,6 +7029,10 @@ snapshots: '@kwsites/promise-deferred@1.1.1': {} + '@loaderkit/resolve@1.0.5': + dependencies: + '@braidai/lang': 1.1.2 + '@manypkg/find-root@2.2.3': dependencies: '@manypkg/tools': 1.1.2 @@ -12480,8 +12491,6 @@ snapshots: ts-deepmerge@7.0.3: {} - ts-expose-internals-conditionally@1.0.0-empty.0: {} - ts-jest@29.1.1(@babel/core@7.25.2)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.25.2))(jest@29.6.2(@types/node@22.19.17)(ts-node@10.9.2(@types/node@22.19.17)(typescript@5.4.5)))(typescript@5.4.5): dependencies: bs-logger: 0.2.6 @@ -12613,10 +12622,10 @@ snapshots: transitivePeerDependencies: - supports-color - typescript@5.3.3: {} - typescript@5.4.5: {} + typescript@5.6.1-rc: {} + typescript@5.9.3: {} unbox-primitive@1.1.0: From e550b03ec943b5f74fb6d99f484e0328ccaa8a03 Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Thu, 14 May 2026 22:19:12 -0700 Subject: [PATCH 15/19] common-utils: remove vestigial bump-version script The bump-version script (npm version minor with no-push/no-git-tag-version) predates the modern release-group machinery and has no remaining callers in the repo (no pipeline yaml, no build-tools script, no other package script). Reference packages such as client-utils and protocol-definitions do not carry it. Versioning for this package now flows through the same flub bump / flub release tooling as the rest of the client release group. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- common/lib/common-utils/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/common/lib/common-utils/package.json b/common/lib/common-utils/package.json index c7e35580db92..c5772428cc30 100644 --- a/common/lib/common-utils/package.json +++ b/common/lib/common-utils/package.json @@ -50,7 +50,6 @@ "build:test:mocha:cjs": "fluid-tsc commonjs --project ./src/test/mocha/tsconfig.cjs.json", "build:test:mocha:esm": "tsc --project ./src/test/mocha/tsconfig.json", "build:test:types": "tsc --project ./src/test/types/tsconfig.json", - "bump-version": "npm version minor --no-push --no-git-tag-version", "check:are-the-types-wrong": "attw --pack .", "check:release-tags": "api-extractor run --config ./api-extractor-lint.json", "ci:build": "fluid-build . --task ci:build", From b1816858d87bf065e011ab6580e19fb9d2508dd6 Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Fri, 15 May 2026 09:33:46 -0700 Subject: [PATCH 16/19] common-utils: switch RangeTracker cloneDeep to structuredClone PR feedback flagged that lodash.clonedeep@4.5.0 is unmaintained (last published in 2017) and never received the security patches that lodash proper got. RangeTracker.ranges is loaded from snapshot data, so a crafted document could plausibly carry a __proto__ payload through cloneDeep into Object.prototype. structuredClone (Node >=17, modern browsers) is built in, dependency- free, and safe for the plain {primary, secondary, length} objects that IRange[] contains. Removing lodash.clonedeep also gets rid of one more unmaintained third-party dep that would otherwise turn into a recurring CG alert magnet on this deprecated package -- which is exactly the maintenance cost this PR is trying to drive down. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- common/lib/common-utils/package.json | 2 -- common/lib/common-utils/pnpm-lock.yaml | 23 --------------------- common/lib/common-utils/src/rangeTracker.ts | 6 ++---- 3 files changed, 2 insertions(+), 29 deletions(-) diff --git a/common/lib/common-utils/package.json b/common/lib/common-utils/package.json index c5772428cc30..02258c8efde5 100644 --- a/common/lib/common-utils/package.json +++ b/common/lib/common-utils/package.json @@ -98,7 +98,6 @@ "base64-js": "^1.5.1", "buffer": "^6.0.3", "events": "^3.1.0", - "lodash.clonedeep": "^4.5.0", "sha.js": "^2.4.12" }, "devDependencies": { @@ -112,7 +111,6 @@ "@microsoft/api-extractor": "7.58.1", "@types/jest": "29.5.3", "@types/jest-environment-puppeteer": "2.2.0", - "@types/lodash.clonedeep": "^4.5.7", "@types/mocha": "^10.0.10", "@types/node": "~22.19.17", "@types/sinon": "^17.0.3", diff --git a/common/lib/common-utils/pnpm-lock.yaml b/common/lib/common-utils/pnpm-lock.yaml index b4491a877a9d..ebd67529831a 100644 --- a/common/lib/common-utils/pnpm-lock.yaml +++ b/common/lib/common-utils/pnpm-lock.yaml @@ -49,9 +49,6 @@ importers: events: specifier: ^3.1.0 version: 3.3.0 - lodash.clonedeep: - specifier: ^4.5.0 - version: 4.5.0 sha.js: specifier: ^2.4.12 version: 2.4.12 @@ -86,9 +83,6 @@ importers: '@types/jest-environment-puppeteer': specifier: 2.2.0 version: 2.2.0(typescript@5.4.5) - '@types/lodash.clonedeep': - specifier: ^4.5.7 - version: 4.5.9 '@types/mocha': specifier: ^10.0.10 version: 10.0.10 @@ -1379,12 +1373,6 @@ packages: '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - '@types/lodash.clonedeep@4.5.9': - resolution: {integrity: sha512-19429mWC+FyaAhOLzsS8kZUsI+/GmBAQ0HFiCPsKGU+7pBXOQWhyrY6xNNDwUSX8SMZMJvuFVMF9O5dQOlQK9Q==} - - '@types/lodash@4.17.24': - resolution: {integrity: sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==} - '@types/mdast@4.0.4': resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} @@ -3999,9 +3987,6 @@ packages: lodash.capitalize@4.2.1: resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} - lodash.clonedeep@4.5.0: - resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} - lodash.escaperegexp@4.1.2: resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} @@ -7573,12 +7558,6 @@ snapshots: '@types/json5@0.0.29': optional: true - '@types/lodash.clonedeep@4.5.9': - dependencies: - '@types/lodash': 4.17.24 - - '@types/lodash@4.17.24': {} - '@types/mdast@4.0.4': dependencies: '@types/unist': 3.0.3 @@ -10778,8 +10757,6 @@ snapshots: lodash.capitalize@4.2.1: {} - lodash.clonedeep@4.5.0: {} - lodash.escaperegexp@4.1.2: {} lodash.get@4.4.2: {} diff --git a/common/lib/common-utils/src/rangeTracker.ts b/common/lib/common-utils/src/rangeTracker.ts index 8af998f55dbd..59f690c150c8 100644 --- a/common/lib/common-utils/src/rangeTracker.ts +++ b/common/lib/common-utils/src/rangeTracker.ts @@ -3,8 +3,6 @@ * Licensed under the MIT License. */ -import cloneDeep from "lodash.clonedeep"; - import { assert } from "./assert.js"; /** @@ -76,7 +74,7 @@ export class RangeTracker { this.lastPrimary = primary; this.lastSecondary = secondary; } else { - this.ranges = cloneDeep(primary.ranges); + this.ranges = structuredClone(primary.ranges); this.lastPrimary = primary.lastPrimary; this.lastSecondary = primary.lastSecondary; } @@ -89,7 +87,7 @@ export class RangeTracker { return { lastPrimary: this.lastPrimary, lastSecondary: this.lastSecondary, - ranges: cloneDeep(this.ranges), + ranges: structuredClone(this.ranges), }; } From d5e2cc49d787d135beb5df08a0d435e54fbb2214 Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Fri, 15 May 2026 09:40:20 -0700 Subject: [PATCH 17/19] common-utils: lint exports per entrypoint Satisfies the npm-package-exports-apis-linted policy by adding per-entrypoint api-extractor lint configs and check:exports scripts that match client-utils' pattern. The previous check:release-tags script pointed at ./lib/index.d.ts, which isn't in the exports map, so it provided no real coverage; replaced by the new per-entrypoint flow. Tagged the seven Browser-side exports (Uint8ArrayToString, stringToBuffer, bufferToString, isArrayBuffer, IsoBuffer, hashFile, gitHashFile) as @internal to mirror their Node counterparts and clear ae-missing-release-tag. No api-report diff: the package's api-extractor.json extends no-legacy, so @internal symbols are already excluded from the generated reports. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- common/lib/common-utils/api-extractor-lint.json | 5 ----- .../api-extractor/api-extractor-lint-bundle.json | 5 +++++ .../api-extractor/api-extractor-lint-indexBrowser.cjs.json | 5 +++++ .../api-extractor/api-extractor-lint-indexBrowser.esm.json | 5 +++++ .../api-extractor/api-extractor-lint-indexNode.cjs.json | 5 +++++ .../api-extractor/api-extractor-lint-indexNode.esm.json | 5 +++++ common/lib/common-utils/package.json | 7 ++++++- common/lib/common-utils/src/bufferBrowser.ts | 5 +++++ common/lib/common-utils/src/hashFileBrowser.ts | 2 ++ 9 files changed, 38 insertions(+), 6 deletions(-) delete mode 100644 common/lib/common-utils/api-extractor-lint.json create mode 100644 common/lib/common-utils/api-extractor/api-extractor-lint-bundle.json create mode 100644 common/lib/common-utils/api-extractor/api-extractor-lint-indexBrowser.cjs.json create mode 100644 common/lib/common-utils/api-extractor/api-extractor-lint-indexBrowser.esm.json create mode 100644 common/lib/common-utils/api-extractor/api-extractor-lint-indexNode.cjs.json create mode 100644 common/lib/common-utils/api-extractor/api-extractor-lint-indexNode.esm.json diff --git a/common/lib/common-utils/api-extractor-lint.json b/common/lib/common-utils/api-extractor-lint.json deleted file mode 100644 index 5f885a2c860f..000000000000 --- a/common/lib/common-utils/api-extractor-lint.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", - "extends": "../../build/build-common/api-extractor-lint.json", - "mainEntryPointFilePath": "/lib/index.d.ts" -} diff --git a/common/lib/common-utils/api-extractor/api-extractor-lint-bundle.json b/common/lib/common-utils/api-extractor/api-extractor-lint-bundle.json new file mode 100644 index 000000000000..9adb41471a79 --- /dev/null +++ b/common/lib/common-utils/api-extractor/api-extractor-lint-bundle.json @@ -0,0 +1,5 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "/../../../common/build/build-common/api-extractor-lint.json", + "mainEntryPointFilePath": "/lib/indexBrowser.d.ts" +} diff --git a/common/lib/common-utils/api-extractor/api-extractor-lint-indexBrowser.cjs.json b/common/lib/common-utils/api-extractor/api-extractor-lint-indexBrowser.cjs.json new file mode 100644 index 000000000000..85489505e087 --- /dev/null +++ b/common/lib/common-utils/api-extractor/api-extractor-lint-indexBrowser.cjs.json @@ -0,0 +1,5 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "/../../../common/build/build-common/api-extractor-lint.entrypoint.json", + "mainEntryPointFilePath": "/dist/indexBrowser.d.ts" +} diff --git a/common/lib/common-utils/api-extractor/api-extractor-lint-indexBrowser.esm.json b/common/lib/common-utils/api-extractor/api-extractor-lint-indexBrowser.esm.json new file mode 100644 index 000000000000..84d313ed6d13 --- /dev/null +++ b/common/lib/common-utils/api-extractor/api-extractor-lint-indexBrowser.esm.json @@ -0,0 +1,5 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "/../../../common/build/build-common/api-extractor-lint.entrypoint.json", + "mainEntryPointFilePath": "/lib/indexBrowser.d.ts" +} diff --git a/common/lib/common-utils/api-extractor/api-extractor-lint-indexNode.cjs.json b/common/lib/common-utils/api-extractor/api-extractor-lint-indexNode.cjs.json new file mode 100644 index 000000000000..3acbc872510c --- /dev/null +++ b/common/lib/common-utils/api-extractor/api-extractor-lint-indexNode.cjs.json @@ -0,0 +1,5 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "/../../../common/build/build-common/api-extractor-lint.entrypoint.json", + "mainEntryPointFilePath": "/dist/indexNode.d.ts" +} diff --git a/common/lib/common-utils/api-extractor/api-extractor-lint-indexNode.esm.json b/common/lib/common-utils/api-extractor/api-extractor-lint-indexNode.esm.json new file mode 100644 index 000000000000..1e9afa66e2cf --- /dev/null +++ b/common/lib/common-utils/api-extractor/api-extractor-lint-indexNode.esm.json @@ -0,0 +1,5 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "/../../../common/build/build-common/api-extractor-lint.entrypoint.json", + "mainEntryPointFilePath": "/lib/indexNode.d.ts" +} diff --git a/common/lib/common-utils/package.json b/common/lib/common-utils/package.json index 02258c8efde5..bd2dbbd109cc 100644 --- a/common/lib/common-utils/package.json +++ b/common/lib/common-utils/package.json @@ -51,7 +51,12 @@ "build:test:mocha:esm": "tsc --project ./src/test/mocha/tsconfig.json", "build:test:types": "tsc --project ./src/test/types/tsconfig.json", "check:are-the-types-wrong": "attw --pack .", - "check:release-tags": "api-extractor run --config ./api-extractor-lint.json", + "check:exports": "concurrently \"npm:check:exports:*\"", + "check:exports:bundle-release-tags": "api-extractor run --config api-extractor/api-extractor-lint-bundle.json", + "check:exports:cjs:indexBrowser": "api-extractor run --config api-extractor/api-extractor-lint-indexBrowser.cjs.json", + "check:exports:cjs:indexNode": "api-extractor run --config api-extractor/api-extractor-lint-indexNode.cjs.json", + "check:exports:esm:indexBrowser": "api-extractor run --config api-extractor/api-extractor-lint-indexBrowser.esm.json", + "check:exports:esm:indexNode": "api-extractor run --config api-extractor/api-extractor-lint-indexNode.esm.json", "ci:build": "fluid-build . --task ci:build", "ci:build:docs": "api-extractor run", "ci:test": "npm test", diff --git a/common/lib/common-utils/src/bufferBrowser.ts b/common/lib/common-utils/src/bufferBrowser.ts index 83b8fc032638..0cf72f087294 100644 --- a/common/lib/common-utils/src/bufferBrowser.ts +++ b/common/lib/common-utils/src/bufferBrowser.ts @@ -15,6 +15,7 @@ import * as base64js from "base64-js"; * @returns The converted string. * * @deprecated Moved to the `@fluidframework-internal/client-utils` package. + * @internal */ export function Uint8ArrayToString(arr: Uint8Array, encoding?: string): string { switch (encoding) { @@ -39,6 +40,7 @@ export function Uint8ArrayToString(arr: Uint8Array, encoding?: string): string { * @param encoding - The input string's encoding. * * @deprecated Moved to the `@fluidframework-internal/client-utils` package. + * @internal */ export const stringToBuffer = (input: string, encoding: string): ArrayBufferLike => IsoBuffer.from(input, encoding).buffer; @@ -51,6 +53,7 @@ export const stringToBuffer = (input: string, encoding: string): ArrayBufferLike * @returns the blob in string format * * @deprecated Moved to the `@fluidframework-internal/client-utils` package. + * @internal */ export const bufferToString = (blob: ArrayBufferLike, encoding: string): string => IsoBuffer.from(blob).toString(encoding); @@ -68,6 +71,7 @@ export const bufferToString = (blob: ArrayBufferLike, encoding: string): string * @param obj - The object to determine if it is an ArrayBuffer. * * @deprecated Moved to the `@fluidframework-internal/client-utils` package. + * @internal */ export function isArrayBuffer(obj: any): obj is ArrayBuffer { const maybe = obj as (Partial & Partial) | undefined; @@ -86,6 +90,7 @@ export function isArrayBuffer(obj: any): obj is ArrayBuffer { * Minimal implementation of Buffer for our usages in the browser environment. * * @deprecated Moved to the `@fluidframework-internal/client-utils` package. + * @internal */ export class IsoBuffer extends Uint8Array { /** diff --git a/common/lib/common-utils/src/hashFileBrowser.ts b/common/lib/common-utils/src/hashFileBrowser.ts index f1b96d2a0294..34c1990c1ca9 100644 --- a/common/lib/common-utils/src/hashFileBrowser.ts +++ b/common/lib/common-utils/src/hashFileBrowser.ts @@ -41,6 +41,7 @@ function encodeDigest(hashArray: Uint8Array, encoding: "hex" | "base64"): string * @returns The hash of the content of the buffer. * * @deprecated Moved to the `@fluidframework-internal/client-utils` package. + * @internal */ export async function hashFile( file: IsoBuffer, @@ -72,6 +73,7 @@ export async function hashFile( * @returns The sha1 hash of the content of the buffer with the `blob` prefix and size * * @deprecated Moved to the `@fluidframework-internal/client-utils` package. + * @internal */ export async function gitHashFile(file: IsoBuffer): Promise { const size = file.byteLength; From 490458eb9ed1ed06ba90ecf9d57a5f4bd2899878 Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Fri, 15 May 2026 10:23:30 -0700 Subject: [PATCH 18/19] common-utils: stop pulling Node graph into browser builds base64Encoding.ts and trace.ts both imported through ./indexNode.js, which worked under the legacy 'browser' field that remapped indexNode to indexBrowser at bundle time. With this PR's switch to conditional exports, that browser field is gone and those relative imports always resolve to the Node entrypoint at runtime, dragging Node-only modules (sha.js, the Node Buffer surface, etc.) into browser bundles. * Split base64Encoding.ts into base64EncodingBrowser.ts and base64EncodingNode.ts, each importing IsoBuffer from the platform-correct buffer module. Mirrors the client-utils pattern. indexBrowser/indexNode re-export from the matching half. * trace.ts now imports performance directly from ./performanceIsomorphic.js, which is already platform-isomorphic and avoids the entrypoint round-trip entirely. No public API change (no api-report diff). All tests pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../common-utils/src/base64EncodingBrowser.ts | 50 +++++++++++++++++++ ...ase64Encoding.ts => base64EncodingNode.ts} | 5 +- common/lib/common-utils/src/indexBrowser.ts | 2 +- common/lib/common-utils/src/indexNode.ts | 2 +- common/lib/common-utils/src/trace.ts | 2 +- 5 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 common/lib/common-utils/src/base64EncodingBrowser.ts rename common/lib/common-utils/src/{base64Encoding.ts => base64EncodingNode.ts} (87%) diff --git a/common/lib/common-utils/src/base64EncodingBrowser.ts b/common/lib/common-utils/src/base64EncodingBrowser.ts new file mode 100644 index 000000000000..006a4db31544 --- /dev/null +++ b/common/lib/common-utils/src/base64EncodingBrowser.ts @@ -0,0 +1,50 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +// Browser implementation of the base64 encoding helpers. Aside from the +// import statement below, this file should be identical to base64EncodingNode.ts. + +import { IsoBuffer } from "./bufferBrowser.js"; + +/** + * Converts the provided {@link https://en.wikipedia.org/wiki/Base64 | base64}-encoded string + * to {@link https://en.wikipedia.org/wiki/UTF-8 | utf-8}. + * + * @deprecated Moved to the `@fluidframework-internal/client-utils` package. + * @internal + */ +export const fromBase64ToUtf8 = (input: string): string => + IsoBuffer.from(input, "base64").toString("utf-8"); + +/** + * Converts the provided {@link https://en.wikipedia.org/wiki/UTF-8 | utf-8}-encoded string + * to {@link https://en.wikipedia.org/wiki/Base64 | base64}. + * + * @deprecated Moved to the `@fluidframework-internal/client-utils` package. + * @internal + */ +export const fromUtf8ToBase64 = (input: string): string => + IsoBuffer.from(input, "utf8").toString("base64"); + +/** + * Convenience function to convert unknown encoding to utf8 that avoids + * buffer copies/encode ops when no conversion is needed. + * @param input - The source string to convert. + * @param encoding - The source string's encoding. + * + * @deprecated Moved to the `@fluidframework-internal/client-utils` package. + * @internal + */ +export const toUtf8 = (input: string, encoding: string): string => { + switch (encoding) { + case "utf8": + case "utf-8": { + return input; + } + default: { + return IsoBuffer.from(input, encoding).toString(); + } + } +}; diff --git a/common/lib/common-utils/src/base64Encoding.ts b/common/lib/common-utils/src/base64EncodingNode.ts similarity index 87% rename from common/lib/common-utils/src/base64Encoding.ts rename to common/lib/common-utils/src/base64EncodingNode.ts index fe7d5e273ba9..e45b53e7f868 100644 --- a/common/lib/common-utils/src/base64Encoding.ts +++ b/common/lib/common-utils/src/base64EncodingNode.ts @@ -3,7 +3,10 @@ * Licensed under the MIT License. */ -import { IsoBuffer } from "./indexNode.js"; +// Node implementation of the base64 encoding helpers. Aside from the +// import statement below, this file should be identical to base64EncodingBrowser.ts. + +import { IsoBuffer } from "./bufferNode.js"; /** * Converts the provided {@link https://en.wikipedia.org/wiki/Base64 | base64}-encoded string diff --git a/common/lib/common-utils/src/indexBrowser.ts b/common/lib/common-utils/src/indexBrowser.ts index 97b5b01cfe5c..d1661aceaf41 100644 --- a/common/lib/common-utils/src/indexBrowser.ts +++ b/common/lib/common-utils/src/indexBrowser.ts @@ -10,7 +10,7 @@ */ export { assert } from "./assert.js"; -export { fromBase64ToUtf8, fromUtf8ToBase64, toUtf8 } from "./base64Encoding.js"; +export { fromBase64ToUtf8, fromUtf8ToBase64, toUtf8 } from "./base64EncodingBrowser.js"; export { bufferToString, isArrayBuffer, diff --git a/common/lib/common-utils/src/indexNode.ts b/common/lib/common-utils/src/indexNode.ts index c2d30ad63567..81eb4045a533 100644 --- a/common/lib/common-utils/src/indexNode.ts +++ b/common/lib/common-utils/src/indexNode.ts @@ -10,7 +10,7 @@ */ export { assert } from "./assert.js"; -export { fromBase64ToUtf8, fromUtf8ToBase64, toUtf8 } from "./base64Encoding.js"; +export { fromBase64ToUtf8, fromUtf8ToBase64, toUtf8 } from "./base64EncodingNode.js"; export { type Buffer } from "./bufferNode.js"; export { bufferToString, IsoBuffer, stringToBuffer, Uint8ArrayToString } from "./bufferNode.js"; export { Uint8ArrayToArrayBuffer } from "./bufferShared.js"; diff --git a/common/lib/common-utils/src/trace.ts b/common/lib/common-utils/src/trace.ts index 35033cd3b1c0..98cbc3a70821 100644 --- a/common/lib/common-utils/src/trace.ts +++ b/common/lib/common-utils/src/trace.ts @@ -3,7 +3,7 @@ * Licensed under the MIT License. */ -import { performance } from "./indexNode.js"; +import { performance } from "./performanceIsomorphic.js"; /** * Helper class for tracing performance of events From 9e721686be0b071d7dab3fd6dd2802299828a54d Mon Sep 17 00:00:00 2001 From: Matt Rakow Date: Fri, 15 May 2026 10:25:29 -0700 Subject: [PATCH 19/19] common-utils: add @packageDocumentation with deprecation note Adds a @packageDocumentation comment to the three index files (index.ts, indexBrowser.ts, indexNode.ts) and notes that the package is deprecated in favor of @fluid-internal/client-utils. Clears the '(No @packageDocumentation comment for this package)' line from the generated api-reports. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../common-utils/api-report/common-utils.alpha.api.md | 2 -- .../lib/common-utils/api-report/common-utils.beta.api.md | 2 -- .../common-utils/api-report/common-utils.public.api.md | 2 -- common/lib/common-utils/src/index.ts | 9 +++++++++ common/lib/common-utils/src/indexBrowser.ts | 3 +++ common/lib/common-utils/src/indexNode.ts | 3 +++ 6 files changed, 15 insertions(+), 6 deletions(-) diff --git a/common/lib/common-utils/api-report/common-utils.alpha.api.md b/common/lib/common-utils/api-report/common-utils.alpha.api.md index 3199e2f4e471..ff2a373d6748 100644 --- a/common/lib/common-utils/api-report/common-utils.alpha.api.md +++ b/common/lib/common-utils/api-report/common-utils.alpha.api.md @@ -4,6 +4,4 @@ ```ts -// (No @packageDocumentation comment for this package) - ``` diff --git a/common/lib/common-utils/api-report/common-utils.beta.api.md b/common/lib/common-utils/api-report/common-utils.beta.api.md index 2dca11462cb6..2e5a1b5903a6 100644 --- a/common/lib/common-utils/api-report/common-utils.beta.api.md +++ b/common/lib/common-utils/api-report/common-utils.beta.api.md @@ -4,6 +4,4 @@ ```ts -// (No @packageDocumentation comment for this package) - ``` diff --git a/common/lib/common-utils/api-report/common-utils.public.api.md b/common/lib/common-utils/api-report/common-utils.public.api.md index 26e52b57ad61..ac63dff83832 100644 --- a/common/lib/common-utils/api-report/common-utils.public.api.md +++ b/common/lib/common-utils/api-report/common-utils.public.api.md @@ -4,6 +4,4 @@ ```ts -// (No @packageDocumentation comment for this package) - ``` diff --git a/common/lib/common-utils/src/index.ts b/common/lib/common-utils/src/index.ts index 40fffce0841c..ddbfee067681 100644 --- a/common/lib/common-utils/src/index.ts +++ b/common/lib/common-utils/src/index.ts @@ -3,6 +3,15 @@ * Licensed under the MIT License. */ +/** + * This library contains common utility functions and classes used by the Fluid Framework. + * + * @deprecated This package is deprecated. Its functionality has moved to the + * `@fluid-internal/client-utils` package; consumers should migrate there. + * + * @packageDocumentation + */ + // THIS FILE IS NOT ACTUALLY USED (see indexBrowser.ts and indexNode.ts for that). // It's only here so type-test-generator doesn't fail, until we update it to support packages that don't have an // index.ts file. diff --git a/common/lib/common-utils/src/indexBrowser.ts b/common/lib/common-utils/src/indexBrowser.ts index d1661aceaf41..6f84ad101367 100644 --- a/common/lib/common-utils/src/indexBrowser.ts +++ b/common/lib/common-utils/src/indexBrowser.ts @@ -6,6 +6,9 @@ /** * This library contains common utility functions and classes used by the Fluid Framework. * + * @deprecated This package is deprecated. Its functionality has moved to the + * `@fluid-internal/client-utils` package; consumers should migrate there. + * * @packageDocumentation */ diff --git a/common/lib/common-utils/src/indexNode.ts b/common/lib/common-utils/src/indexNode.ts index 81eb4045a533..26a432fa3590 100644 --- a/common/lib/common-utils/src/indexNode.ts +++ b/common/lib/common-utils/src/indexNode.ts @@ -6,6 +6,9 @@ /** * This library contains common utility functions and classes used by the Fluid Framework. * + * @deprecated This package is deprecated. Its functionality has moved to the + * `@fluid-internal/client-utils` package; consumers should migrate there. + * * @packageDocumentation */