From 0241ab530ac8974938c435a98e4cfcb9f7885cae Mon Sep 17 00:00:00 2001 From: linbudu599 Date: Sat, 28 Mar 2026 22:34:09 +0800 Subject: [PATCH 01/10] chore: migrate TS execution to tsx and harden mustard-cli tests Unify runtime/test tooling by removing experimental Node flags and replacing ts-node-esm with tsx across workspace templates, then strengthen mustard-cli behavior with decorator compatibility fixes and robust integration/unit coverage improvements. Made-with: Cursor --- experimentals/MudtardContainer/package.json | 3 +- experimentals/PackageStarter/package.json | 3 +- package.json | 5 +- packages/create-mustard-app/index.js | 2 +- packages/create-mustard-app/package.json | 8 +- .../template-advanced/index.js | 2 +- .../template-advanced/package.json | 9 +- .../template-simple/index.js | 2 +- .../template-simple/package.json | 9 +- packages/docs/content/0.intro/0.index.md | 9 +- packages/mustard-cli/package.json | 11 +- .../source/Decorators/Controller.ts | 19 +- .../source/__tests__/BuiltInCommands.spec.ts | 26 + .../source/__tests__/CommandLine.spec.ts | 64 + .../source/__tests__/Decorators.spec.ts | 125 + .../source/__tests__/Errors.spec.ts | 11 +- .../source/__tests__/FieldsNormalizer.spec.ts | 105 + .../source/__tests__/Fixtures/TestHelper.ts | 2 +- .../UsageGeneratorIntegration.spec.ts | 25 +- .../source/__tests__/UsageGenerator.spec.ts | 137 + .../source/__tests__/Utils.spec.ts | 57 + .../source/__tests__/UtilsProvider.spec.ts | 72 + .../source/__tests__/Validator.spec.ts | 12 + packages/sample/package.json | 7 +- pnpm-lock.yaml | 17724 ++++++++++------ pnpm-workspace.yaml | 15 +- 26 files changed, 11540 insertions(+), 6924 deletions(-) diff --git a/experimentals/MudtardContainer/package.json b/experimentals/MudtardContainer/package.json index 5bb4949..110dfac 100644 --- a/experimentals/MudtardContainer/package.json +++ b/experimentals/MudtardContainer/package.json @@ -17,7 +17,7 @@ "NODE_ENV": "development" }, "execMap": { - "ts": "ts-node-esm" + "ts": "tsx" }, "ext": "ts,json", "ignore": [ @@ -36,6 +36,7 @@ "nodemon": "^2.0.20", "ts-node": "^10.9.1", "tsconfig-paths": "^4.1.0", + "tsx": "^4.20.6", "typescript": "5.3.3" } } diff --git a/experimentals/PackageStarter/package.json b/experimentals/PackageStarter/package.json index 5bb4949..110dfac 100644 --- a/experimentals/PackageStarter/package.json +++ b/experimentals/PackageStarter/package.json @@ -17,7 +17,7 @@ "NODE_ENV": "development" }, "execMap": { - "ts": "ts-node-esm" + "ts": "tsx" }, "ext": "ts,json", "ignore": [ @@ -36,6 +36,7 @@ "nodemon": "^2.0.20", "ts-node": "^10.9.1", "tsconfig-paths": "^4.1.0", + "tsx": "^4.20.6", "typescript": "5.3.3" } } diff --git a/package.json b/package.json index d643fcc..b0b5437 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "NODE_ENV": "development" }, "execMap": { - "ts": "ts-node-esm" + "ts": "tsx" }, "ext": "ts,json", "ignore": [ @@ -37,6 +37,7 @@ "nodemon": "^2.0.20", "ts-node": "^10.9.1", "tsconfig-paths": "^4.1.0", + "tsx": "^4.20.6", "typescript": "^5.3.3" } -} \ No newline at end of file +} diff --git a/packages/create-mustard-app/index.js b/packages/create-mustard-app/index.js index de006d5..f7fcb19 100755 --- a/packages/create-mustard-app/index.js +++ b/packages/create-mustard-app/index.js @@ -1,3 +1,3 @@ -#!/usr/bin/env node --experimental-specifier-resolution=node +#!/usr/bin/env node import "./dist/index.mjs"; diff --git a/packages/create-mustard-app/package.json b/packages/create-mustard-app/package.json index 3021457..6c6b026 100644 --- a/packages/create-mustard-app/package.json +++ b/packages/create-mustard-app/package.json @@ -34,8 +34,9 @@ "NODE_ENV": "development" }, "execMap": { - "js": "node --experimental-specifier-resolution=node", - "ts": "ts-node-esm" + "js": "node", + "ts": "tsx", + "mts": "tsx" }, "ext": "ts,mts,js,mjs,json", "ignore": [ @@ -62,6 +63,7 @@ "@types/node": "^18.11.18", "npm-run-all": "^4.1.5", "ts-node": "^10.9.1", + "tsx": "^4.20.6", "typescript": "^5.3.3" }, "engines": { @@ -71,4 +73,4 @@ "access": "public", "registry": "https://registry.npmjs.org/" } -} \ No newline at end of file +} diff --git a/packages/create-mustard-app/template-advanced/index.js b/packages/create-mustard-app/template-advanced/index.js index de006d5..f7fcb19 100644 --- a/packages/create-mustard-app/template-advanced/index.js +++ b/packages/create-mustard-app/template-advanced/index.js @@ -1,3 +1,3 @@ -#!/usr/bin/env node --experimental-specifier-resolution=node +#!/usr/bin/env node import "./dist/index.mjs"; diff --git a/packages/create-mustard-app/template-advanced/package.json b/packages/create-mustard-app/template-advanced/package.json index a82d062..ec01f3b 100644 --- a/packages/create-mustard-app/template-advanced/package.json +++ b/packages/create-mustard-app/template-advanced/package.json @@ -30,9 +30,9 @@ "NODE_ENV": "development" }, "execMap": { - "js": "node --experimental-specifier-resolution=node", - "ts": "NODE_OPTIONS='--experimental-specifier-resolution=node' ts-node-esm", - "mts": "NODE_OPTIONS='--experimental-specifier-resolution=node' ts-node-esm" + "js": "node", + "ts": "tsx", + "mts": "tsx" }, "ext": "ts,mts,js,mjs,json", "ignore": [ @@ -55,6 +55,7 @@ "devDependencies": { "@types/node": "latest", "ts-node": "^10.9.1", + "tsx": "^4.20.6", "typescript": "^5.0.0" } -} \ No newline at end of file +} diff --git a/packages/create-mustard-app/template-simple/index.js b/packages/create-mustard-app/template-simple/index.js index de006d5..f7fcb19 100644 --- a/packages/create-mustard-app/template-simple/index.js +++ b/packages/create-mustard-app/template-simple/index.js @@ -1,3 +1,3 @@ -#!/usr/bin/env node --experimental-specifier-resolution=node +#!/usr/bin/env node import "./dist/index.mjs"; diff --git a/packages/create-mustard-app/template-simple/package.json b/packages/create-mustard-app/template-simple/package.json index a82d062..ec01f3b 100644 --- a/packages/create-mustard-app/template-simple/package.json +++ b/packages/create-mustard-app/template-simple/package.json @@ -30,9 +30,9 @@ "NODE_ENV": "development" }, "execMap": { - "js": "node --experimental-specifier-resolution=node", - "ts": "NODE_OPTIONS='--experimental-specifier-resolution=node' ts-node-esm", - "mts": "NODE_OPTIONS='--experimental-specifier-resolution=node' ts-node-esm" + "js": "node", + "ts": "tsx", + "mts": "tsx" }, "ext": "ts,mts,js,mjs,json", "ignore": [ @@ -55,6 +55,7 @@ "devDependencies": { "@types/node": "latest", "ts-node": "^10.9.1", + "tsx": "^4.20.6", "typescript": "^5.0.0" } -} \ No newline at end of file +} diff --git a/packages/docs/content/0.intro/0.index.md b/packages/docs/content/0.intro/0.index.md index 302dee0..0ff9b03 100644 --- a/packages/docs/content/0.intro/0.index.md +++ b/packages/docs/content/0.intro/0.index.md @@ -94,9 +94,9 @@ Add essential parts to `package.json`: "nodemonConfig": { "delay": 500, "execMap": { - "js": "node --experimental-specifier-resolution=node", - "ts": "NODE_OPTIONS='--experimental-specifier-resolution=node' ts-node-esm", - "mts": "NODE_OPTIONS='--experimental-specifier-resolution=node' ts-node-esm" + "js": "node", + "ts": "tsx", + "mts": "tsx" }, "ext": "ts,mts,js,mjs,json", "ignore": [ @@ -119,13 +119,14 @@ Add essential parts to `package.json`: "@types/node": "^18.11.7", "nodemon": "^2.0.20", "ts-node": "^10.9.1", + "tsx": "^4.20.6", "typescript": "^5.0.0" } } ``` ::list{type="info"} -**By default Mustard only provides ESM-based modern development workflow, so we need `--experimental-specifier-resolution=node`.** +**By default Mustard provides ESM-based modern development workflow, and `tsx` can run TypeScript entry files directly without extra experimental Node flags.** :: Create your first root command in `index.mts`: diff --git a/packages/mustard-cli/package.json b/packages/mustard-cli/package.json index 8fa8c42..616a5e5 100644 --- a/packages/mustard-cli/package.json +++ b/packages/mustard-cli/package.json @@ -51,9 +51,9 @@ "local": "nodemon index.ts run sync --dry", "prepublishOnly": "pnpm run pub:check && pnpm run build", "pub:check": "pnpx publint", - "test": "NODE_OPTIONS='--experimental-specifier-resolution=node' vitest", - "test:ig": "cross-env TEST_TYPE=INTEGRATION NODE_OPTIONS='--experimental-specifier-resolution=node' vitest", - "test:igu": "cross-env TEST_TYPE=INTEGRATION NODE_OPTIONS='--experimental-specifier-resolution=node' vitest -u", + "test": "vitest", + "test:ig": "cross-env TEST_TYPE=INTEGRATION vitest", + "test:igu": "cross-env TEST_TYPE=INTEGRATION vitest -u", "test:unit": "cross-env TEST_TYPE=UNIT vitest" }, "nodemonConfig": { @@ -62,7 +62,7 @@ "NODE_ENV": "development" }, "execMap": { - "ts": "ts-node-esm" + "ts": "tsx" }, "ext": "ts,json", "ignore": [ @@ -102,6 +102,7 @@ "tmp": "^0.2.1", "ts-node": "^10.9.1", "tsconfig-paths": "^4.1.1", + "tsx": "^4.20.6", "typescript": "^5.3.3", "vitest": "^0.29.3" }, @@ -112,4 +113,4 @@ "access": "public", "registry": "https://registry.npmjs.org/" } -} \ No newline at end of file +} diff --git a/packages/mustard-cli/source/Decorators/Controller.ts b/packages/mustard-cli/source/Decorators/Controller.ts index f485e84..524abfa 100644 --- a/packages/mustard-cli/source/Decorators/Controller.ts +++ b/packages/mustard-cli/source/Decorators/Controller.ts @@ -28,17 +28,20 @@ export class ControllerDecorators { public static Restrict( restrictValues: RestrictValueSet ): AnyClassFieldDecoratorReturnType { - return (_, _context) => { - return (initialValue) => { - if (MustardUtils.isOptionInitializer(initialValue)) { - return { - ...initialValue, + return (_, context) => { + context.addInitializer(function () { + const instanceField = String(context.name); + const currentValue = Reflect.get(this, instanceField); + + if (MustardUtils.isOptionInitializer(currentValue)) { + Reflect.set(this, instanceField, { + ...currentValue, restrictValues, - }; + }); } + }); - return initialValue; - }; + return (initialValue) => initialValue; }; } } diff --git a/packages/mustard-cli/source/__tests__/BuiltInCommands.spec.ts b/packages/mustard-cli/source/__tests__/BuiltInCommands.spec.ts index e712682..d6a78d0 100644 --- a/packages/mustard-cli/source/__tests__/BuiltInCommands.spec.ts +++ b/packages/mustard-cli/source/__tests__/BuiltInCommands.spec.ts @@ -162,6 +162,22 @@ describe("BuiltInCommands", () => { }); expect(console.log).toBeCalledWith("FromController"); + + BuiltInCommands.useHelpCommand( + "mm", + undefined as unknown as any, + registration, + false, + false + ); + expect(UsageInfoGenerator.printHelp).toBeCalledTimes(5); + + const exitSpy = vi + .spyOn(process, "exit") + .mockImplementation(((code?: number) => code as never) as any); + BuiltInCommands.useHelpCommand("mm", true, registration, true, true); + expect(exitSpy).toBeCalledWith(0); + exitSpy.mockRestore(); }); it("should handle version command", () => { @@ -189,5 +205,15 @@ describe("BuiltInCommands", () => { BuiltInCommands.useVersionCommand(true, "1.2.0", false); expect(controller).toBeCalledTimes(2); expect(console.log).toBeCalledTimes(3); + + BuiltInCommands.useVersionCommand(true, undefined, false); + expect(console.log).toBeCalledTimes(3); + + const exitSpy = vi + .spyOn(process, "exit") + .mockImplementation(((code?: number) => code as never) as any); + BuiltInCommands.useVersionCommand(true, "1.2.0", true); + expect(exitSpy).toBeCalledWith(0); + exitSpy.mockRestore(); }); }); diff --git a/packages/mustard-cli/source/__tests__/CommandLine.spec.ts b/packages/mustard-cli/source/__tests__/CommandLine.spec.ts index a0615a1..1de7a54 100644 --- a/packages/mustard-cli/source/__tests__/CommandLine.spec.ts +++ b/packages/mustard-cli/source/__tests__/CommandLine.spec.ts @@ -186,6 +186,45 @@ describe("CommandLine", () => { "r", MustardRegistry.provideInit("RunCommand") ); + + class ChildCommand { + run() {} + } + class ParentCommand { + run() {} + } + + vi.spyOn(MustardRegistry, "provideInit").mockImplementation( + (requestName) => { + if (requestName === ParentCommand.name) { + return { + commandInvokeName: "parent", + Class: ParentCommand, + commandAlias: "p", + root: false, + childCommandList: [ChildCommand], + instance: new ParentCommand(), + decoratedInstanceFields: [], + }; + } + + return { + commandInvokeName: "child", + Class: ChildCommand, + commandAlias: "c", + root: false, + childCommandList: [], + instance: new ChildCommand(), + decoratedInstanceFields: [], + }; + } + ); + + cli.registerCommand([ParentCommand]); + expect(MustardRegistry.register).toBeCalledWith( + "child", + MustardRegistry.provideInit("ChildCommand") + ); }); it("should instantiate and parse args", () => { @@ -446,4 +485,29 @@ describe("CommandLine", () => { DecoratedClassFieldsNormalizer.throwOnUnknownOptions ).toBeCalledTimes(1); }); + + it("should handle command execution lifecycle", async () => { + const onComplete = vi.fn(); + const onError = vi.fn(); + const cli: any = new CLI("mm", [], { + lifeCycles: { + onComplete, + onError, + }, + }); + + const executeSpy = vi + .spyOn(cli, "executeCommandFromRegistration") + .mockResolvedValueOnce(undefined) + .mockRejectedValueOnce(new Error("boom")); + + cli["handleCommandExecution"]({} as any, []); + await new Promise((resolve) => setTimeout(resolve, 0)); + expect(executeSpy).toBeCalledTimes(1); + expect(onComplete).toBeCalledTimes(1); + + cli["handleCommandExecution"]({} as any, []); + await new Promise((resolve) => setTimeout(resolve, 0)); + expect(onError).toBeCalledTimes(1); + }); }); diff --git a/packages/mustard-cli/source/__tests__/Decorators.spec.ts b/packages/mustard-cli/source/__tests__/Decorators.spec.ts index ea83f0a..bc1bde1 100644 --- a/packages/mustard-cli/source/__tests__/Decorators.spec.ts +++ b/packages/mustard-cli/source/__tests__/Decorators.spec.ts @@ -359,3 +359,128 @@ describe("Decorators.DIService", () => { expect(ExternalProviderRegistry.set).toBeCalledWith("spec", {}); }); }); + +describe("Decorators runtime branches", () => { + beforeEach(() => { + vi.restoreAllMocks(); + MustardRegistry.OptionAliasMap = {}; + MustardRegistry.VariadicOptions.clear(); + (CommandDecorators as any).RootCommandTargetClass = null; + }); + + it("should execute command decorator registration branches", () => { + const registerInitSpy = vi.spyOn(MustardRegistry, "registerInit"); + + class ChildCmd implements CommandStruct { + run() {} + } + + class RunCmd implements CommandStruct { + run() {} + } + + CommandDecorators.Command("run", "r", "run cmd", [ChildCmd])(RunCmd, { + name: "RunCmd", + } as any); + expect(registerInitSpy).toHaveBeenLastCalledWith("RunCmd", { + commandInvokeName: "run", + commandAlias: "r", + description: "run cmd", + Class: RunCmd, + root: false, + childCommandList: [ChildCmd], + }); + + CommandDecorators.Command( + "task", + "t", + "desc", + undefined as any + )(RunCmd, { + name: "RunCmd2", + } as any); + expect(registerInitSpy).toHaveBeenLastCalledWith("RunCmd2", { + commandInvokeName: "task", + commandAlias: "t", + description: "desc", + Class: RunCmd, + root: false, + childCommandList: [], + }); + + CommandDecorators.Command( + "work", + "w", + "work", + "oops" as any + )(RunCmd, { + name: "RunCmd3", + } as any); + expect(registerInitSpy).toHaveBeenLastCalledWith("RunCmd3", { + commandInvokeName: "work", + commandAlias: null, + description: null, + Class: RunCmd, + root: false, + childCommandList: "oops", + }); + }); + + it("should throw for multiple root commands", () => { + class Root1 implements CommandStruct { + run() {} + } + class Root2 implements CommandStruct { + run() {} + } + + const rootDecorator = CommandDecorators.RootCommand(); + rootDecorator(Root1, { name: "Root1" } as any); + expect(() => rootDecorator(Root2, { name: "Root2" } as any)).toThrow(); + }); + + it("should execute option and variadic option implementations", () => { + const optionDecorator = OptionDecorators.Option("dry", "d", "dry mode"); + const optionInitializerFactory = optionDecorator(undefined, { + name: "dry", + } as any); + const optionValue = optionInitializerFactory(false); + expect(optionValue).toEqual({ + type: "Option", + optionName: "dry", + optionAlias: "d", + initValue: false, + schema: undefined, + description: "dry mode", + }); + expect(MustardRegistry.OptionAliasMap["dry"]).toBe("d"); + + const validatorOptionDecorator = OptionDecorators.Option( + Validator.Boolean() + ); + const validatorInitializerFactory = validatorOptionDecorator(undefined, { + name: "requiredField", + } as any); + const validatorValue = validatorInitializerFactory(true); + expect(validatorValue.schema).toBeDefined(); + + const variadicDecorator = OptionDecorators.VariadicOption( + "pkgs", + "p", + "packages" + ); + const variadicInitializerFactory = variadicDecorator(undefined, { + name: "pkgs", + } as any); + const variadicValue = variadicInitializerFactory(["a"]); + expect(variadicValue).toEqual({ + type: "VariadicOption", + optionName: "pkgs", + optionAlias: "p", + description: "packages", + initValue: ["a"], + }); + expect(MustardRegistry.VariadicOptions.has("pkgs")).toBe(true); + expect(MustardRegistry.VariadicOptions.has("p")).toBe(true); + }); +}); diff --git a/packages/mustard-cli/source/__tests__/Errors.spec.ts b/packages/mustard-cli/source/__tests__/Errors.spec.ts index b7c3a73..3dd5576 100644 --- a/packages/mustard-cli/source/__tests__/Errors.spec.ts +++ b/packages/mustard-cli/source/__tests__/Errors.spec.ts @@ -4,7 +4,10 @@ import { CommandNotFoundError } from "../Errors/CommandNotFoundError"; import { MultiRootCommandError } from "../Errors/MultiRootCommandError"; import { NoRootHandlerError } from "../Errors/NoRootHandlerError"; import { NullishFactoryOptionError } from "../Errors/NullishFactoryOptionError"; -import { UnknownOptionsError } from "../Errors/UnknownOptionsError"; +import { + DidYouMeanError, + UnknownOptionsError, +} from "../Errors/UnknownOptionsError"; import { ValidationError } from "../Errors/ValidationError"; describe("Mustard Errors", () => { @@ -52,4 +55,10 @@ describe("Mustard Errors", () => { '"Unknown options: foo, bar. See --help for usage."' ); }); + + it("should produce DidYouMeanError", () => { + const error = new DidYouMeanError("helo", "help"); + expect(error.name).toBe("DidYouMeanError"); + expect(error.message).toBe("Unknown option --helo, did you mean --help?"); + }); }); diff --git a/packages/mustard-cli/source/__tests__/FieldsNormalizer.spec.ts b/packages/mustard-cli/source/__tests__/FieldsNormalizer.spec.ts index 784ed8e..6bbead1 100644 --- a/packages/mustard-cli/source/__tests__/FieldsNormalizer.spec.ts +++ b/packages/mustard-cli/source/__tests__/FieldsNormalizer.spec.ts @@ -11,6 +11,8 @@ import { } from "../Typings/Command.struct"; import { MustardUtils } from "../Components/Utils"; import { MustardRegistry } from "../Components/Registry"; +import { Validator } from "../Validators"; +import { ValidationError } from "../Errors/ValidationError"; class Foo implements CommandStruct { field1: string; @@ -537,4 +539,107 @@ describe("FieldsNormalizer", () => { baz: ["baz-value"], }); }); + + it("should handle validation failure and required option branches", () => { + (DecoratedClassFieldsNormalizer as any).appOptions = { + ignoreValidationErrors: true, + }; + + DecoratedClassFieldsNormalizer.normalizeOption( + foo, + "field1", + { + foo: 123, + }, + { + type: "Option", + optionName: "foo", + initValue: "foo-init-value", + schema: Validator.String().schema, + } + ); + + expect(foo.field1).toBe(123); + + (DecoratedClassFieldsNormalizer as any).appOptions = { + ignoreValidationErrors: false, + }; + + expect(() => + DecoratedClassFieldsNormalizer.normalizeOption( + foo, + "field1", + { + foo: 123, + }, + { + type: "Option", + optionName: "foo", + initValue: "foo-init-value", + schema: Validator.String().schema, + } + ) + ).toThrow(ValidationError); + + (DecoratedClassFieldsNormalizer as any).appOptions = { + ignoreValidationErrors: true, + }; + DecoratedClassFieldsNormalizer.normalizeOption( + foo, + "field1", + {}, + { + type: "Option", + optionName: "requiredField", + initValue: undefined, + schema: Validator.Required().String().schema, + } + ); + + (DecoratedClassFieldsNormalizer as any).appOptions = { + ignoreValidationErrors: false, + }; + expect(() => + DecoratedClassFieldsNormalizer.normalizeOption( + foo, + "field1", + {}, + { + type: "Option", + optionName: "requiredField", + initValue: undefined, + schema: Validator.Required().String().schema, + } + ) + ).toThrow(ValidationError); + }); + + it("should skip options with undefined init values", () => { + DecoratedClassFieldsNormalizer.normalizeOptions( + foo, + "field1", + { foo: "foo-value", _: ["x"] }, + [ + { + key: "bar", + type: "Option", + value: { + type: "Option", + optionName: "bar", + initValue: undefined, + }, + }, + { + key: "noop", + type: "Input", + value: { + type: "Input", + optionName: "noop", + }, + }, + ] as any + ); + + expect(foo.field1).toEqual({}); + }); }); diff --git a/packages/mustard-cli/source/__tests__/Fixtures/TestHelper.ts b/packages/mustard-cli/source/__tests__/Fixtures/TestHelper.ts index 7340c6b..4ea6aac 100644 --- a/packages/mustard-cli/source/__tests__/Fixtures/TestHelper.ts +++ b/packages/mustard-cli/source/__tests__/Fixtures/TestHelper.ts @@ -1,3 +1,3 @@ export class TestHelper { - public static IntegrationExecutor = "ts-node-esm --transpile-only"; + public static IntegrationExecutor = "tsx"; } diff --git a/packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/UsageGeneratorIntegration.spec.ts b/packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/UsageGeneratorIntegration.spec.ts index 5b3863f..7b948ca 100644 --- a/packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/UsageGeneratorIntegration.spec.ts +++ b/packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/UsageGeneratorIntegration.spec.ts @@ -9,19 +9,22 @@ test("IntegrationTesting:UsageGenerator:NoRootAndCommonCommandsProvidedAndDisabl "./NoRootAndCommonCommandsProvidedAndDisableUsageInfo.usage.ts" ); + expect.hasAssertions(); try { await execaCommand(`${TestHelper.IntegrationExecutor} ${UsagePath}`); - } catch (error) { - expect(error.stderr).toMatchInlineSnapshot(` - "file:///Users/linbudu/Desktop/OpenSource/Mustard/packages/mustard-cli/source/Commands/CommandLine.ts:229 - throw new NoRootHandlerError(); - ^ - NoRootHandlerError: No root handler found, please provide command decorated with '@RootCommand' or enable option enableUsage for usage info generation. - at CLI.dispatchRootHandler (file:///Users/linbudu/Desktop/OpenSource/Mustard/packages/mustard-cli/source/Commands/CommandLine.ts:229:13) - at CLI.start (file:///Users/linbudu/Desktop/OpenSource/Mustard/packages/mustard-cli/source/Commands/CommandLine.ts:142:26) - at file:///Users/linbudu/Desktop/OpenSource/Mustard/packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/NoRootAndCommonCommandsProvidedAndDisableUsageInfo.usage.ts:13:30 - at ModuleJob.run (node:internal/modules/esm/module_job:194:25)" - `); + } catch (error: unknown) { + expect(error).toBeInstanceOf(Error); + + const execaError = error as Error & { + failed?: boolean; + exitCode?: number; + stderr?: string; + }; + + expect(execaError.failed).toBe(true); + expect(execaError.exitCode).toBe(1); + expect(execaError.stderr).toContain("NoRootHandlerError"); + expect(execaError.stderr).toContain("No root handler found"); } }); test("IntegrationTesting:UsageGenerator:NoRootAndCommonCommandsProvided", async () => { diff --git a/packages/mustard-cli/source/__tests__/UsageGenerator.spec.ts b/packages/mustard-cli/source/__tests__/UsageGenerator.spec.ts index 2e0bfd2..bdb9aa5 100644 --- a/packages/mustard-cli/source/__tests__/UsageGenerator.spec.ts +++ b/packages/mustard-cli/source/__tests__/UsageGenerator.spec.ts @@ -1,5 +1,6 @@ import { describe, it, expect, vi, beforeAll } from "vitest"; import { MustardRegistry } from "../Components/Registry"; +import { MustardUtils } from "../Components/Utils"; import { ParsedCommandUsage, UsageInfoGenerator, @@ -340,4 +341,140 @@ describe("UsageGenerator", () => { expect(UsageInfoGenerator.formatCommandUsage).toBeCalledTimes(1); expect(UsageInfoGenerator.collectSpecificCommandUsage).toBeCalledTimes(2); }); + + it("should collect child command and decorated option details", () => { + class Child implements CommandStruct { + run() {} + } + + const withChild = { + ..._RunCommandRegistration, + childCommandList: [Child], + } satisfies CommandRegistryPayload; + + vi.spyOn(MustardUtils, "matchFromCommandClass").mockReturnValueOnce([ + { + ..._RunCommandRegistration, + commandInvokeName: "child", + commandAlias: "c", + description: "child command", + }, + ]); + + vi.spyOn(MustardUtils, "filterDecoratedInstanceFields").mockReturnValueOnce( + [ + { + key: "flag", + type: "Option", + value: { + type: "Option", + optionName: "flag", + optionAlias: "f", + description: "flag option", + initValue: false, + }, + }, + { + key: "list", + type: "VariadicOption", + value: { + type: "VariadicOption", + optionName: "list", + optionAlias: "l", + description: "list option", + initValue: [], + }, + }, + { + key: "input", + type: "Input", + value: { + type: "Input", + optionName: "input", + description: "input desc", + initValue: "", + }, + }, + ] as any + ); + + const result = UsageInfoGenerator.collectSpecificCommandUsage(withChild); + + expect(result.childCommandNames).toEqual([ + { + name: "child", + alias: "c", + description: "child command", + }, + ]); + expect(result.options[0]?.name).toBe("flag"); + expect(result.variadicOptions[0]?.name).toBe("list"); + expect(result.input?.name).toBe("input"); + }); + + it("should format usages for commands without option defaults", () => { + UsageInfoGenerator.initGenerator({ + bin: "mm", + parsedInputs: [], + }); + + const usage = UsageInfoGenerator.formatCommandUsage({ + name: "empty", + alias: null, + description: null, + options: [], + variadicOptions: [], + childCommandNames: [], + input: undefined, + }); + + expect(usage).not.toContain("[options]"); + + const rootUsage = UsageInfoGenerator.formatRootCommandUsage({ + name: "root", + alias: null, + description: null, + options: [ + { + name: "disabled", + alias: "d", + description: null, + defaultValue: false, + }, + ], + variadicOptions: [], + childCommandNames: [], + input: { + name: "arg", + alias: null, + description: null, + defaultValue: "", + }, + }); + + expect(rootUsage).toContain("--disabled -d"); + expect(rootUsage).not.toContain("default:"); + expect(rootUsage).not.toContain("[arg,"); + + const commandWithChild = UsageInfoGenerator.formatCommandUsage({ + name: "parent", + alias: "p", + description: "desc", + options: [], + variadicOptions: [], + childCommandNames: [ + { + name: "child", + alias: null, + description: null, + }, + ], + input: undefined, + }); + + expect(commandWithChild).toContain("Child Command(s):"); + expect(commandWithChild).toContain( + "Run 'mm parent [child command] --help' for more information on child command." + ); + }); }); diff --git a/packages/mustard-cli/source/__tests__/Utils.spec.ts b/packages/mustard-cli/source/__tests__/Utils.spec.ts index 907e6a9..06fe5ea 100644 --- a/packages/mustard-cli/source/__tests__/Utils.spec.ts +++ b/packages/mustard-cli/source/__tests__/Utils.spec.ts @@ -70,6 +70,63 @@ describe("Utils", () => { expect(MustardUtils.levenshtein("fo", ["foo", "fap", "baz"])).toBe("foo"); expect(MustardUtils.levenshtein("fo", ["fap", "baz"])).toBe("fap"); }); + + it("should handle option initializer and restrictions", () => { + expect(MustardUtils.isOptionInitializer({ type: "Option" })).toBe(true); + expect(MustardUtils.isOptionInitializer("foo")).toBe(false); + + expect(MustardUtils.applyRestrictions("foo", "bar")).toBe("foo"); + expect(MustardUtils.applyRestrictions("foo", "bar", ["foo"])).toBe("foo"); + expect(MustardUtils.applyRestrictions("baz", "bar", ["foo"])).toBe("bar"); + expect( + MustardUtils.applyRestrictions("foo", "bar", { foo: "foo", baz: "baz" }) + ).toBe("foo"); + expect( + MustardUtils.applyRestrictions("xxx", "bar", { foo: "foo", baz: "baz" }) + ).toBe("bar"); + }); + + it("should match command registrations by class names", () => { + class C1 implements CommandStruct { + run() {} + } + class C2 implements CommandStruct { + run() {} + } + class C3 implements CommandStruct { + run() {} + } + + vi.spyOn(MustardRegistry, "provide").mockReturnValueOnce( + new Map([ + [ + "c1", + { + Class: C1, + commandInvokeName: "c1", + }, + ], + [ + "c2", + { + Class: C2, + commandInvokeName: "c2", + }, + ], + ["bad", undefined], + [ + "dup", + { + Class: C1, + commandInvokeName: "c1-dup", + }, + ], + ]) + ); + + const matched = MustardUtils.matchFromCommandClass([C1, C3]); + expect(matched.map((item) => item.Class.name)).toEqual(["C1"]); + }); }); describe("Utils.parseFromProcessArgs", () => { diff --git a/packages/mustard-cli/source/__tests__/UtilsProvider.spec.ts b/packages/mustard-cli/source/__tests__/UtilsProvider.spec.ts index 71cf6c4..d19155c 100644 --- a/packages/mustard-cli/source/__tests__/UtilsProvider.spec.ts +++ b/packages/mustard-cli/source/__tests__/UtilsProvider.spec.ts @@ -1,7 +1,9 @@ import { describe, it, expect, vi, beforeEach } from "vitest"; import tmp from "tmp"; +import fs from "fs"; import { + ColorsHelper, JSONHelper, MustardUtilsProvider, } from "../Components/MustardUtilsProvider"; @@ -41,4 +43,74 @@ describe("JSONHelper", () => { tmpFile1.removeCallback(); tmpFile2.removeCallback(); }); + + it("should handle invalid json with throw switch", async () => { + const tmpFile = tmp.fileSync(); + const filePath = tmpFile.name; + + await JSONHelper.writeJson(filePath, { foo: "bar" }); + fs.writeFileSync(filePath, "{invalid", "utf-8"); + + await expect(JSONHelper.readJson(filePath)).resolves.toEqual({}); + + await expect( + JSONHelper.readJson(filePath, { throw: true }) + ).rejects.toThrow(filePath); + + expect(JSONHelper.readJsonSync(filePath)).toEqual({}); + expect(() => JSONHelper.readJsonSync(filePath, { throw: true })).toThrow( + filePath + ); + + tmpFile.removeCallback(); + }); +}); + +describe("ColorsHelper", () => { + it("should evaluate color support and formatter helpers", async () => { + const originalArgv = process.argv; + + process.argv = [...originalArgv, "--color"]; + expect(typeof ColorsHelper.isColorSupported).toBe("boolean"); + + const replaceClose = (ColorsHelper as any).replaceClose as ( + value: string, + close: string, + replace: string, + index: number + ) => string; + const formatter = (ColorsHelper as any).formatter as ( + open: string, + close: string, + replace?: string + ) => (value: string) => string; + const factory = (ColorsHelper as any).factory as ( + open: string + ) => (value: string) => string; + const bgFactory = (ColorsHelper as any).bgFactory as ( + open: string + ) => (value: string) => string; + + expect(replaceClose("a\x1b[39mb\x1b[39m", "\x1b[39m", "#", 1)).toContain( + "#" + ); + expect(formatter("<", ">", "<>")("ab>cd")).toContain("<>cd"); + vi.spyOn(ColorsHelper, "isColorSupported", "get").mockReturnValueOnce(true); + expect(factory("\x1b[31m")("x")).toContain("\x1b[31m"); + vi.spyOn(ColorsHelper, "isColorSupported", "get").mockReturnValueOnce(true); + expect(bgFactory("\x1b[41m")("x")).toContain("\x1b[41m"); + + process.argv = originalArgv; + + const coloredModule = await import( + "../Components/MustardUtilsProvider.ts?force-color" + ); + expect(typeof coloredModule.ColorsHelper.bold("x")).toBe("string"); + expect(typeof coloredModule.ColorsHelper.dim("x")).toBe("string"); + expect(typeof coloredModule.ColorsHelper.italic("x")).toBe("string"); + expect(typeof coloredModule.ColorsHelper.underline("x")).toBe("string"); + expect(typeof coloredModule.ColorsHelper.inverse("x")).toBe("string"); + expect(typeof coloredModule.ColorsHelper.hidden("x")).toBe("string"); + expect(typeof coloredModule.ColorsHelper.strikethrough("x")).toBe("string"); + }); }); diff --git a/packages/mustard-cli/source/__tests__/Validator.spec.ts b/packages/mustard-cli/source/__tests__/Validator.spec.ts index 861bc22..6aed876 100644 --- a/packages/mustard-cli/source/__tests__/Validator.spec.ts +++ b/packages/mustard-cli/source/__tests__/Validator.spec.ts @@ -180,6 +180,18 @@ describe("Validators.Number", () => { }); }); +describe("Validators.Boolean", () => { + it("should produce schema and support addValidation calls", () => { + expect(Validator.Boolean().schema.isOptional()).toBeTruthy(); + expect(Validator.Required().Boolean().schema.isOptional()).toBeFalsy(); + + const boolValidator = Validator.Boolean(); + boolValidator.addValidation("refine" as any, [(v: unknown) => !!v]); + + expect(boolValidator.validate(true)).toBe(true); + }); +}); + describe("Validators.Enum", () => { it("should produce schema", () => { expect(Validator.Enum(VE).schema.isOptional()).toBeTruthy(); diff --git a/packages/sample/package.json b/packages/sample/package.json index b859c75..8ecb478 100644 --- a/packages/sample/package.json +++ b/packages/sample/package.json @@ -8,9 +8,9 @@ "nodemonConfig": { "delay": 500, "execMap": { - "js": "node --experimental-specifier-resolution=node", - "ts": "NODE_OPTIONS='--experimental-specifier-resolution=node' ts-node-esm", - "mts": "NODE_OPTIONS='--experimental-specifier-resolution=node' ts-node-esm" + "js": "node", + "ts": "tsx", + "mts": "tsx" }, "ext": "ts,mts,js,mjs,json", "ignore": [ @@ -32,6 +32,7 @@ "nodemon": "^2.0.22", "ts-node": "^10.9.1", "tsconfig-paths": "^4.2.0", + "tsx": "^4.20.6", "typescript": "^5.3.3" }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 12c91b3..87ed7b5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: false @@ -10,20 +10,23 @@ importers: dependencies: '@changesets/cli': specifier: ^2.26.0 - version: 2.26.0 + version: 2.30.0(@types/node@18.19.130) devDependencies: '@types/node': specifier: ^18.11.7 - version: 18.11.9 + version: 18.19.130 nodemon: specifier: ^2.0.20 - version: 2.0.20 + version: 2.0.22 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.11.9)(typescript@5.3.3) + version: 10.9.2(@types/node@18.19.130)(typescript@5.3.3) tsconfig-paths: specifier: ^4.1.0 - version: 4.1.0 + version: 4.2.0 + tsx: + specifier: ^4.20.6 + version: 4.21.0 typescript: specifier: ^5.3.3 version: 5.3.3 @@ -32,16 +35,19 @@ importers: devDependencies: '@types/node': specifier: ^18.11.7 - version: 18.11.9 + version: 18.19.130 nodemon: specifier: ^2.0.20 - version: 2.0.20 + version: 2.0.22 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.11.9)(typescript@5.3.3) + version: 10.9.2(@types/node@18.19.130)(typescript@5.3.3) tsconfig-paths: specifier: ^4.1.0 - version: 4.1.0 + version: 4.2.0 + tsx: + specifier: ^4.20.6 + version: 4.21.0 typescript: specifier: 5.3.3 version: 5.3.3 @@ -50,16 +56,19 @@ importers: devDependencies: '@types/node': specifier: ^18.11.7 - version: 18.11.9 + version: 18.19.130 nodemon: specifier: ^2.0.20 - version: 2.0.20 + version: 2.0.22 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.11.9)(typescript@5.3.3) + version: 10.9.2(@types/node@18.19.130)(typescript@5.3.3) tsconfig-paths: specifier: ^4.1.0 - version: 4.1.0 + version: 4.2.0 + tsx: + specifier: ^4.20.6 + version: 4.21.0 typescript: specifier: 5.3.3 version: 5.3.3 @@ -68,7 +77,7 @@ importers: dependencies: fs-extra: specifier: ^11.1.0 - version: 11.1.0 + version: 11.3.4 log-symbols: specifier: ^5.1.0 version: 5.1.0 @@ -78,16 +87,19 @@ importers: devDependencies: '@types/fs-extra': specifier: ^11.0.1 - version: 11.0.1 + version: 11.0.4 '@types/node': specifier: ^18.11.18 - version: 18.15.0 + version: 18.19.130 npm-run-all: specifier: ^4.1.5 version: 4.1.5 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.15.0)(typescript@5.3.3) + version: 10.9.2(@types/node@18.19.130)(typescript@5.3.3) + tsx: + specifier: ^4.20.6 + version: 4.21.0 typescript: specifier: ^5.3.3 version: 5.3.3 @@ -96,10 +108,10 @@ importers: devDependencies: '@nuxt-themes/docus': specifier: ^1.4.7 - version: 1.4.7(nuxt@3.0.0) + version: 1.15.1(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(nuxt@3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3))(postcss@8.5.8)(vue@3.5.31(typescript@5.3.3)) nuxt: specifier: ^3.0.0 - version: 3.0.0(@types/node@18.11.9)(typescript@5.3.3) + version: 3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3) typescript: specifier: ^5.3.3 version: 5.3.3 @@ -108,10 +120,10 @@ importers: dependencies: chalk: specifier: ^5.0.0 - version: 5.2.0 + version: 5.6.2 debug: specifier: ^4.3.4 - version: 4.3.4 + version: 4.4.3 fastest-levenshtein: specifier: ^1.0.16 version: 1.0.16 @@ -132,29 +144,29 @@ importers: version: 21.1.1 zod: specifier: ^3.20.2 - version: 3.20.2 + version: 3.25.76 devDependencies: '@types/debug': specifier: ^4.1.7 - version: 4.1.7 + version: 4.1.13 '@types/lodash.groupby': specifier: ^4.6.7 - version: 4.6.7 + version: 4.6.9 '@types/lodash.uniqby': specifier: ^4.7.7 - version: 4.7.7 + version: 4.7.9 '@types/node': specifier: ^18.11.17 - version: 18.11.17 + version: 18.19.130 '@types/tmp': specifier: ^0.2.3 - version: 0.2.3 + version: 0.2.6 '@types/yargs-parser': specifier: ^21.0.0 - version: 21.0.0 + version: 21.0.3 '@vitest/coverage-c8': specifier: ^0.29.3 - version: 0.29.3(vitest@0.29.3) + version: 0.29.8(vitest@0.29.8(terser@5.46.1)) cross-env: specifier: ^7.0.3 version: 7.0.3 @@ -163,25 +175,28 @@ importers: version: 6.1.0 lodash: specifier: ^4.17.21 - version: 4.17.21 + version: 4.17.23 nodemon: specifier: ^2.0.20 - version: 2.0.20 + version: 2.0.22 tmp: specifier: ^0.2.1 - version: 0.2.1 + version: 0.2.5 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.11.17)(typescript@5.3.3) + version: 10.9.2(@types/node@18.19.130)(typescript@5.3.3) tsconfig-paths: specifier: ^4.1.1 - version: 4.1.1 + version: 4.2.0 + tsx: + specifier: ^4.20.6 + version: 4.21.0 typescript: specifier: ^5.3.3 version: 5.3.3 vitest: specifier: ^0.29.3 - version: 0.29.3 + version: 0.29.8(terser@5.46.1) packages/sample: dependencies: @@ -191,2467 +206,8483 @@ importers: devDependencies: '@types/node': specifier: ^18.16.2 - version: 18.16.2 + version: 18.19.130 chalk: specifier: ^5.2.0 - version: 5.2.0 + version: 5.6.2 nodemon: specifier: ^2.0.22 version: 2.0.22 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.16.2)(typescript@5.3.3) + version: 10.9.2(@types/node@18.19.130)(typescript@5.3.3) tsconfig-paths: specifier: ^4.2.0 version: 4.2.0 + tsx: + specifier: ^4.20.6 + version: 4.21.0 typescript: specifier: ^5.3.3 version: 5.3.3 packages: - /@ampproject/remapping@2.2.0: - resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.17 - dev: true - - /@babel/code-frame@7.18.6: - resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.18.6 - - /@babel/compat-data@7.20.10: - resolution: {integrity: sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/core@7.20.12: - resolution: {integrity: sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==} + '@babel/code-frame@7.29.0': + resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==} engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.7 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.12) - '@babel/helper-module-transforms': 7.20.11 - '@babel/helpers': 7.20.7 - '@babel/parser': 7.20.7 - '@babel/template': 7.20.7 - '@babel/traverse': 7.20.13 - '@babel/types': 7.20.7 - convert-source-map: 1.9.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/core@7.20.7: - resolution: {integrity: sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==} + '@babel/compat-data@7.29.0': + resolution: {integrity: sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==} engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.7 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.20.7) - '@babel/helper-module-transforms': 7.20.11 - '@babel/helpers': 7.20.7 - '@babel/parser': 7.20.7 - '@babel/template': 7.20.7 - '@babel/traverse': 7.20.10 - '@babel/types': 7.20.7 - convert-source-map: 1.9.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.1 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/generator@7.20.7: - resolution: {integrity: sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==} + '@babel/core@7.29.0': + resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - '@jridgewell/gen-mapping': 0.3.2 - jsesc: 2.5.2 - dev: true - /@babel/helper-annotate-as-pure@7.18.6: - resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} + '@babel/generator@7.29.1': + resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - dev: true - /@babel/helper-compilation-targets@7.20.7(@babel/core@7.20.12): - resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} + '@babel/helper-annotate-as-pure@7.27.3': + resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.20.10 - '@babel/core': 7.20.12 - '@babel/helper-validator-option': 7.18.6 - browserslist: 4.21.4 - lru-cache: 5.1.1 - semver: 6.3.0 - dev: true - /@babel/helper-compilation-targets@7.20.7(@babel/core@7.20.7): - resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} + '@babel/helper-compilation-targets@7.28.6': + resolution: {integrity: sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/compat-data': 7.20.10 - '@babel/core': 7.20.7 - '@babel/helper-validator-option': 7.18.6 - browserslist: 4.21.4 - lru-cache: 5.1.1 - semver: 6.3.0 - dev: true - /@babel/helper-create-class-features-plugin@7.20.7(@babel/core@7.20.7): - resolution: {integrity: sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w==} + '@babel/helper-create-class-features-plugin@7.28.6': + resolution: {integrity: sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.20.7 - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-member-expression-to-functions': 7.20.7 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.20.7 - '@babel/helper-split-export-declaration': 7.18.6 - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/helper-environment-visitor@7.18.9: - resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-function-name@7.19.0: - resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.20.7 - dev: true - - /@babel/helper-hoist-variables@7.18.6: - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - dev: true - - /@babel/helper-member-expression-to-functions@7.20.7: - resolution: {integrity: sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - dev: true - /@babel/helper-module-imports@7.18.6: - resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - dev: true - /@babel/helper-module-transforms@7.20.11: - resolution: {integrity: sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==} + '@babel/helper-member-expression-to-functions@7.28.5': + resolution: {integrity: sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-simple-access': 7.20.2 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.20.7 - '@babel/traverse': 7.20.10 - '@babel/types': 7.20.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-optimise-call-expression@7.18.6: - resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + '@babel/helper-module-imports@7.28.6': + resolution: {integrity: sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - dev: true - /@babel/helper-plugin-utils@7.20.2: - resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} + '@babel/helper-module-transforms@7.28.6': + resolution: {integrity: sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==} engines: {node: '>=6.9.0'} - dev: true + peerDependencies: + '@babel/core': ^7.0.0 - /@babel/helper-replace-supers@7.20.7: - resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} + '@babel/helper-optimise-call-expression@7.27.1': + resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-member-expression-to-functions': 7.20.7 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/template': 7.20.7 - '@babel/traverse': 7.20.10 - '@babel/types': 7.20.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-simple-access@7.20.2: - resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} + '@babel/helper-plugin-utils@7.28.6': + resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - dev: true - /@babel/helper-split-export-declaration@7.18.6: - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + '@babel/helper-replace-supers@7.28.6': + resolution: {integrity: sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.20.7 - dev: true + peerDependencies: + '@babel/core': ^7.0.0 - /@babel/helper-string-parser@7.19.4: - resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier@7.19.1: - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.18.6: - resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helpers@7.20.7: - resolution: {integrity: sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==} + '@babel/helper-validator-option@7.27.1': + resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.20.7 - '@babel/traverse': 7.20.10 - '@babel/types': 7.20.7 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/highlight@7.18.6: - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + '@babel/helpers@7.29.2': + resolution: {integrity: sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.19.1 - chalk: 2.4.2 - js-tokens: 4.0.0 - - /@babel/parser@7.20.13: - resolution: {integrity: sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.20.7 - dev: true - /@babel/parser@7.20.7: - resolution: {integrity: sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==} + '@babel/parser@7.29.2': + resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==} engines: {node: '>=6.0.0'} hasBin: true - dependencies: - '@babel/types': 7.20.7 - dev: true - /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.20.7): - resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} + '@babel/plugin-syntax-jsx@7.28.6': + resolution: {integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.7 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.20.7): - resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} + '@babel/plugin-syntax-typescript@7.28.6': + resolution: {integrity: sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.7 - '@babel/helper-plugin-utils': 7.20.2 - dev: true - /@babel/plugin-transform-typescript@7.20.7(@babel/core@7.20.7): - resolution: {integrity: sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==} + '@babel/plugin-transform-typescript@7.28.6': + resolution: {integrity: sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.20.7 - '@babel/helper-create-class-features-plugin': 7.20.7(@babel/core@7.20.7) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.20.7) - transitivePeerDependencies: - - supports-color - dev: true - - /@babel/runtime@7.20.13: - resolution: {integrity: sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==} - engines: {node: '>=6.9.0'} - dependencies: - regenerator-runtime: 0.13.11 - dev: false - - /@babel/standalone@7.20.11: - resolution: {integrity: sha512-WUPlwwXFk3iViGE7QFVVp423eVtT+eoXu1940Xu4QJgqgHBF6WWtlwO1Ip5rIWQnp7OHrGdwrwKLtLhUVfOZbA==} - engines: {node: '>=6.9.0'} - dev: true - /@babel/standalone@7.20.13: - resolution: {integrity: sha512-L13qadxX3yB4mU92iSiWKePm3hYfGaAXPMqGEPUDNzzsmNh0+1M7agMBF62UHM29kFWOWowGfRRDvfAU8uLovg==} + '@babel/runtime@7.29.2': + resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==} engines: {node: '>=6.9.0'} - dev: true - /@babel/template@7.20.7: - resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} + '@babel/standalone@7.29.2': + resolution: {integrity: sha512-VSuvywmVRS8efooKrvJzs6BlVSxRvAdLeGrAKUrWoBx1fFBSeE/oBpUZCQ5BcprLyXy04W8skzz7JT8GqlNRJg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.18.6 - '@babel/parser': 7.20.7 - '@babel/types': 7.20.7 - dev: true - /@babel/traverse@7.20.10: - resolution: {integrity: sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg==} + '@babel/template@7.28.6': + resolution: {integrity: sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.7 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.20.7 - '@babel/types': 7.20.7 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/traverse@7.20.13: - resolution: {integrity: sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==} + '@babel/traverse@7.29.0': + resolution: {integrity: sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.18.6 - '@babel/generator': 7.20.7 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.19.0 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.20.13 - '@babel/types': 7.20.7 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/types@7.20.7: - resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==} + '@babel/types@7.29.0': + resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.19.4 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 - dev: true - /@bcoe/v8-coverage@0.2.3: + '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - /@changesets/apply-release-plan@6.1.3: - resolution: {integrity: sha512-ECDNeoc3nfeAe1jqJb5aFQX7CqzQhD2klXRez2JDb/aVpGUbX673HgKrnrgJRuQR/9f2TtLoYIzrGB9qwD77mg==} - dependencies: - '@babel/runtime': 7.20.13 - '@changesets/config': 2.3.0 - '@changesets/get-version-range-type': 0.3.2 - '@changesets/git': 2.0.0 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - detect-indent: 6.1.0 - fs-extra: 7.0.1 - lodash.startcase: 4.4.0 - outdent: 0.5.0 - prettier: 2.8.3 - resolve-from: 5.0.0 - semver: 5.7.1 - dev: false + '@bomb.sh/tab@0.0.14': + resolution: {integrity: sha512-cHMk2LI430MVoX1unTt9oK1iZzQS4CYDz97MSxKLNErW69T43Z2QLFTpdS/3jVOIKrIADWfuxQ+nQNJkNV7E4w==} + hasBin: true + peerDependencies: + cac: ^6.7.14 + citty: ^0.1.6 || ^0.2.0 + commander: ^13.1.0 + peerDependenciesMeta: + cac: + optional: true + citty: + optional: true + commander: + optional: true - /@changesets/assemble-release-plan@5.2.3: - resolution: {integrity: sha512-g7EVZCmnWz3zMBAdrcKhid4hkHT+Ft1n0mLussFMcB1dE2zCuwcvGoy9ec3yOgPGF4hoMtgHaMIk3T3TBdvU9g==} - dependencies: - '@babel/runtime': 7.20.13 - '@changesets/errors': 0.1.4 - '@changesets/get-dependents-graph': 1.3.5 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - semver: 5.7.1 - dev: false + '@changesets/apply-release-plan@7.1.0': + resolution: {integrity: sha512-yq8ML3YS7koKQ/9bk1PqO0HMzApIFNwjlwCnwFEXMzNe8NpzeeYYKCmnhWJGkN8g7E51MnWaSbqRcTcdIxUgnQ==} - /@changesets/changelog-git@0.1.14: - resolution: {integrity: sha512-+vRfnKtXVWsDDxGctOfzJsPhaCdXRYoe+KyWYoq5X/GqoISREiat0l3L8B0a453B2B4dfHGcZaGyowHbp9BSaA==} - dependencies: - '@changesets/types': 5.2.1 - dev: false + '@changesets/assemble-release-plan@6.0.9': + resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==} - /@changesets/cli@2.26.0: - resolution: {integrity: sha512-0cbTiDms+ICTVtEwAFLNW0jBNex9f5+fFv3I771nBvdnV/mOjd1QJ4+f8KtVSOrwD9SJkk9xbDkWFb0oXd8d1Q==} + '@changesets/changelog-git@0.2.1': + resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==} + + '@changesets/cli@2.30.0': + resolution: {integrity: sha512-5D3Nk2JPqMI1wK25pEymeWRSlSMdo5QOGlyfrKg0AOufrUcjEE3RQgaCpHoBiM31CSNrtSgdJ0U6zL1rLDDfBA==} hasBin: true - dependencies: - '@babel/runtime': 7.20.13 - '@changesets/apply-release-plan': 6.1.3 - '@changesets/assemble-release-plan': 5.2.3 - '@changesets/changelog-git': 0.1.14 - '@changesets/config': 2.3.0 - '@changesets/errors': 0.1.4 - '@changesets/get-dependents-graph': 1.3.5 - '@changesets/get-release-plan': 3.0.16 - '@changesets/git': 2.0.0 - '@changesets/logger': 0.0.5 - '@changesets/pre': 1.0.14 - '@changesets/read': 0.5.9 - '@changesets/types': 5.2.1 - '@changesets/write': 0.2.3 - '@manypkg/get-packages': 1.1.3 - '@types/is-ci': 3.0.0 - '@types/semver': 6.2.3 - ansi-colors: 4.1.3 - chalk: 2.4.2 - enquirer: 2.3.6 - external-editor: 3.1.0 - fs-extra: 7.0.1 - human-id: 1.0.2 - is-ci: 3.0.1 - meow: 6.1.1 - outdent: 0.5.0 - p-limit: 2.3.0 - preferred-pm: 3.0.3 - resolve-from: 5.0.0 - semver: 5.7.1 - spawndamnit: 2.0.0 - term-size: 2.2.1 - tty-table: 4.1.6 - dev: false - /@changesets/config@2.3.0: - resolution: {integrity: sha512-EgP/px6mhCx8QeaMAvWtRrgyxW08k/Bx2tpGT+M84jEdX37v3VKfh4Cz1BkwrYKuMV2HZKeHOh8sHvja/HcXfQ==} - dependencies: - '@changesets/errors': 0.1.4 - '@changesets/get-dependents-graph': 1.3.5 - '@changesets/logger': 0.0.5 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - fs-extra: 7.0.1 - micromatch: 4.0.5 - dev: false + '@changesets/config@3.1.3': + resolution: {integrity: sha512-vnXjcey8YgBn2L1OPWd3ORs0bGC4LoYcK/ubpgvzNVr53JXV5GiTVj7fWdMRsoKUH7hhhMAQnsJUqLr21EncNw==} - /@changesets/errors@0.1.4: - resolution: {integrity: sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==} - dependencies: - extendable-error: 0.1.7 - dev: false + '@changesets/errors@0.2.0': + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} - /@changesets/get-dependents-graph@1.3.5: - resolution: {integrity: sha512-w1eEvnWlbVDIY8mWXqWuYE9oKhvIaBhzqzo4ITSJY9hgoqQ3RoBqwlcAzg11qHxv/b8ReDWnMrpjpKrW6m1ZTA==} - dependencies: - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - chalk: 2.4.2 - fs-extra: 7.0.1 - semver: 5.7.1 - dev: false - - /@changesets/get-release-plan@3.0.16: - resolution: {integrity: sha512-OpP9QILpBp1bY2YNIKFzwigKh7Qe9KizRsZomzLe6pK8IUo8onkAAVUD8+JRKSr8R7d4+JRuQrfSSNlEwKyPYg==} - dependencies: - '@babel/runtime': 7.20.13 - '@changesets/assemble-release-plan': 5.2.3 - '@changesets/config': 2.3.0 - '@changesets/pre': 1.0.14 - '@changesets/read': 0.5.9 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - dev: false + '@changesets/get-dependents-graph@2.1.3': + resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==} - /@changesets/get-version-range-type@0.3.2: - resolution: {integrity: sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==} - dev: false + '@changesets/get-release-plan@4.0.15': + resolution: {integrity: sha512-Q04ZaRPuEVZtA+auOYgFaVQQSA98dXiVe/yFaZfY7hoSmQICHGvP0TF4u3EDNHWmmCS4ekA/XSpKlSM2PyTS2g==} - /@changesets/git@2.0.0: - resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==} - dependencies: - '@babel/runtime': 7.20.13 - '@changesets/errors': 0.1.4 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - is-subdir: 1.2.0 - micromatch: 4.0.5 - spawndamnit: 2.0.0 - dev: false + '@changesets/get-version-range-type@0.4.0': + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - /@changesets/logger@0.0.5: - resolution: {integrity: sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==} - dependencies: - chalk: 2.4.2 - dev: false + '@changesets/git@3.0.4': + resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==} - /@changesets/parse@0.3.16: - resolution: {integrity: sha512-127JKNd167ayAuBjUggZBkmDS5fIKsthnr9jr6bdnuUljroiERW7FBTDNnNVyJ4l69PzR57pk6mXQdtJyBCJKg==} - dependencies: - '@changesets/types': 5.2.1 - js-yaml: 3.14.1 - dev: false + '@changesets/logger@0.1.1': + resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==} - /@changesets/pre@1.0.14: - resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==} - dependencies: - '@babel/runtime': 7.20.13 - '@changesets/errors': 0.1.4 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - fs-extra: 7.0.1 - dev: false + '@changesets/parse@0.4.3': + resolution: {integrity: sha512-ZDmNc53+dXdWEv7fqIUSgRQOLYoUom5Z40gmLgmATmYR9NbL6FJJHwakcCpzaeCy+1D0m0n7mT4jj2B/MQPl7A==} - /@changesets/read@0.5.9: - resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==} - dependencies: - '@babel/runtime': 7.20.13 - '@changesets/git': 2.0.0 - '@changesets/logger': 0.0.5 - '@changesets/parse': 0.3.16 - '@changesets/types': 5.2.1 - chalk: 2.4.2 - fs-extra: 7.0.1 - p-filter: 2.1.0 - dev: false + '@changesets/pre@2.0.2': + resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==} + + '@changesets/read@0.6.7': + resolution: {integrity: sha512-D1G4AUYGrBEk8vj8MGwf75k9GpN6XL3wg8i42P2jZZwFLXnlr2Pn7r9yuQNbaMCarP7ZQWNJbV6XLeysAIMhTA==} - /@changesets/types@4.1.0: + '@changesets/should-skip-package@0.1.2': + resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==} + + '@changesets/types@4.1.0': resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} - dev: false - /@changesets/types@5.2.1: - resolution: {integrity: sha512-myLfHbVOqaq9UtUKqR/nZA/OY7xFjQMdfgfqeZIBK4d0hA6pgxArvdv8M+6NUzzBsjWLOtvApv8YHr4qM+Kpfg==} - dev: false + '@changesets/types@6.1.0': + resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==} - /@changesets/write@0.2.3: - resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==} - dependencies: - '@babel/runtime': 7.20.13 - '@changesets/types': 5.2.1 - fs-extra: 7.0.1 - human-id: 1.0.2 - prettier: 2.8.3 - dev: false + '@changesets/write@0.4.0': + resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==} - /@cloudflare/kv-asset-handler@0.2.0: - resolution: {integrity: sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==} - dependencies: - mime: 3.0.0 - dev: true + '@clack/core@1.1.0': + resolution: {integrity: sha512-SVcm4Dqm2ukn64/8Gub2wnlA5nS2iWJyCkdNHcvNHPIeBTGojpdJ+9cZKwLfmqy7irD4N5qLteSilJlE0WLAtA==} + + '@clack/prompts@1.1.0': + resolution: {integrity: sha512-pkqbPGtohJAvm4Dphs2M8xE29ggupihHdy1x84HNojZuMtFsHiUlRvqD24tM2+XmI+61LlfNceM3Wr7U5QES5g==} + + '@cloudflare/kv-asset-handler@0.4.2': + resolution: {integrity: sha512-SIOD2DxrRRwQ+jgzlXCqoEFiKOFqaPjhnNTGKXSRLvp1HiOvapLaFG2kEr9dYQTYe8rKrd9uvDUzmAITeNyaHQ==} + engines: {node: '>=18.0.0'} - /@cspotcode/source-map-support@0.8.1: + '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - dev: true - /@esbuild/android-arm64@0.16.17: - resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} + '@csstools/cascade-layer-name-parser@1.0.13': + resolution: {integrity: sha512-MX0yLTwtZzr82sQ0zOjqimpZbzjMaK/h2pmlrLK7DCzlmiZLYFpoO94WmN1akRVo6ll/TdpHb53vihHLUMyvng==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-parser-algorithms': ^2.7.1 + '@csstools/css-tokenizer': ^2.4.1 + + '@csstools/css-parser-algorithms@2.7.1': + resolution: {integrity: sha512-2SJS42gxmACHgikc1WGesXLIT8d/q2l0UFM7TaEeIzdFCE/FPMtTiizcPGGJtlPo2xuQzY09OhrLTzRxqJqwGw==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + '@csstools/css-tokenizer': ^2.4.1 + + '@csstools/css-tokenizer@2.4.1': + resolution: {integrity: sha512-eQ9DIktFJBhGjioABJRtUucoWR2mwllurfnM8LuNGAqX3ViZXaUchqk+1s7jjtkFiT9ySdACsFEA3etErkALUg==} + engines: {node: ^14 || ^16 || >=18} + + '@dxup/nuxt@0.4.0': + resolution: {integrity: sha512-28LDotpr9G2knUse3cQYsOo6NJq5yhABv4ByRVRYJUmzf9Q31DI7rpRek4POlKy1aAcYyKgu5J2616pyqLohYg==} + peerDependencies: + typescript: '*' + + '@dxup/unimport@0.1.2': + resolution: {integrity: sha512-/B8YJGPzaYq1NbsQmwgP8EZqg40NpTw4ZB3suuI0TplbxKHeK94jeaawLmVhCv+YwUnOpiWEz9U6SeThku/8JQ==} + + '@emnapi/core@1.9.1': + resolution: {integrity: sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==} + + '@emnapi/runtime@1.9.1': + resolution: {integrity: sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==} + + '@emnapi/wasi-threads@1.2.0': + resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==} + + '@esbuild/aix-ppc64@0.24.2': + resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.27.4': + resolution: {integrity: sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.17.19': + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.15.18: - resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} + '@esbuild/android-arm64@0.18.20': + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.24.2': + resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.27.4': + resolution: {integrity: sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.17.19': + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.16.17: - resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} + '@esbuild/android-arm@0.18.20': + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.16.17: - resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} + '@esbuild/android-arm@0.24.2': + resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.27.4': + resolution: {integrity: sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.17.19': + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.16.17: - resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} + '@esbuild/android-x64@0.18.20': + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.24.2': + resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.27.4': + resolution: {integrity: sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.17.19': + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.16.17: - resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} + '@esbuild/darwin-arm64@0.18.20': + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.24.2': + resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.27.4': + resolution: {integrity: sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.17.19': + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.16.17: - resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} + '@esbuild/darwin-x64@0.18.20': + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.24.2': + resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.27.4': + resolution: {integrity: sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.17.19': + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.16.17: - resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} + '@esbuild/freebsd-arm64@0.18.20': + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.24.2': + resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.27.4': + resolution: {integrity: sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.17.19': + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.16.17: - resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} + '@esbuild/freebsd-x64@0.18.20': + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.24.2': + resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.27.4': + resolution: {integrity: sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.17.19': + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.16.17: - resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} + '@esbuild/linux-arm64@0.18.20': + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} - cpu: [arm] + cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.16.17: - resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} - engines: {node: '>=12'} - cpu: [ia32] + '@esbuild/linux-arm64@0.24.2': + resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + engines: {node: '>=18'} + cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.15.18: - resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} - engines: {node: '>=12'} - cpu: [loong64] + '@esbuild/linux-arm64@0.27.4': + resolution: {integrity: sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==} + engines: {node: '>=18'} + cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.16.17: - resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} + '@esbuild/linux-arm@0.17.19': + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} engines: {node: '>=12'} - cpu: [loong64] + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.18.20': + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.24.2': + resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.27.4': + resolution: {integrity: sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.17.19': + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.18.20': + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.24.2': + resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.27.4': + resolution: {integrity: sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.17.19': + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.18.20': + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.24.2': + resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.27.4': + resolution: {integrity: sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==} + engines: {node: '>=18'} + cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.16.17: - resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} + '@esbuild/linux-mips64el@0.17.19': + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.16.17: - resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} + '@esbuild/linux-mips64el@0.18.20': + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.24.2': + resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.27.4': + resolution: {integrity: sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.17.19': + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.18.20': + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.16.17: - resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} + '@esbuild/linux-ppc64@0.24.2': + resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.27.4': + resolution: {integrity: sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.17.19': + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.16.17: - resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} + '@esbuild/linux-riscv64@0.18.20': + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.24.2': + resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.27.4': + resolution: {integrity: sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.17.19': + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.16.17: - resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} + '@esbuild/linux-s390x@0.18.20': + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.24.2': + resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.27.4': + resolution: {integrity: sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.17.19': + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.16.17: - resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} + '@esbuild/linux-x64@0.18.20': + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.24.2': + resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.27.4': + resolution: {integrity: sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-arm64@0.24.2': + resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-arm64@0.27.4': + resolution: {integrity: sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==} + engines: {node: '>=18'} + cpu: [arm64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.17.19': + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.18.20': + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true + + '@esbuild/netbsd-x64@0.24.2': + resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.27.4': + resolution: {integrity: sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-arm64@0.24.2': + resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-arm64@0.27.4': + resolution: {integrity: sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.17.19': + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.18.20': + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.24.2': + resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.27.4': + resolution: {integrity: sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openharmony-arm64@0.27.4': + resolution: {integrity: sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.17.19': + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.18.20': + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.24.2': + resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.27.4': + resolution: {integrity: sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.17.19': + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.18.20': + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.24.2': + resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.27.4': + resolution: {integrity: sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.17.19': + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.18.20': + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.24.2': + resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.27.4': + resolution: {integrity: sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.17.19': + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.18.20': + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.24.2': + resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.27.4': + resolution: {integrity: sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/vue@4.3.0': + resolution: {integrity: sha512-Xq0h6zMrHBbrW8jXJ9fISi+x8oDQllg5hTDkDuxnWiskJ63rpJu9CvJshj8VniHVTbsxCg9fVoPAaNp3RQI5OQ==} + peerDependencies: + vue: '>=3' + + '@inquirer/external-editor@1.0.3': + resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} + engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true + + '@ioredis/commands@1.5.1': + resolution: {integrity: sha512-JH8ZL/ywcJyR9MmJ5BNqZllXNZQqQbnVZOqpPQqE1vHiFgAw4NHbvE0FOduNU8IX9babitBT46571OnPTT0Zcw==} + + '@isaacs/cliui@8.0.2': + 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/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@kwsites/file-exists@1.1.1': + resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} + + '@kwsites/promise-deferred@1.1.1': + resolution: {integrity: sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==} + + '@manypkg/find-root@1.1.0': + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + + '@manypkg/get-packages@1.1.3': + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + + '@mapbox/node-pre-gyp@2.0.3': + resolution: {integrity: sha512-uwPAhccfFJlsfCxMYTwOdVfOz3xqyj8xYL3zJj8f0pb30tLohnnFPhLuqp4/qoEz8sNxe4SESZedcBojRefIzg==} + engines: {node: '>=18'} + hasBin: true + + '@napi-rs/wasm-runtime@1.1.1': + resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@nuxt-themes/docus@1.15.1': + resolution: {integrity: sha512-wIhJor+8ysbYALDUBMc+X0GxZuHFPzYf5Af22V40eV++eOhK3KFQYuoGluVaNxhgYFwhWQMs3ifG2hwNWNJU7g==} + + '@nuxt-themes/elements@0.9.5': + resolution: {integrity: sha512-uAA5AiIaT1SxCBjNIURJyCDPNR27+8J+t3AWuzWyhbNPr3L1inEcETZ3RVNzFdQE6mx7MGAMwFBqxPkOUhZQuA==} + + '@nuxt-themes/tokens@1.9.1': + resolution: {integrity: sha512-5C28kfRvKnTX8Tux+xwyaf+2pxKgQ53dC9l6C33sZwRRyfUJulGDZCFjKbuNq4iqVwdGvkFSQBYBYjFAv6t75g==} + + '@nuxt-themes/typography@0.11.0': + resolution: {integrity: sha512-TqyvD7sDWnqGmL00VtuI7JdmNTPL5/g957HCAWNzcNp+S20uJjW/FXSdkM76d4JSVDHvBqw7Wer3RsqVhqvA4w==} + + '@nuxt/cli@3.34.0': + resolution: {integrity: sha512-KVI4xSo96UtUUbmxr9ouWTytbj1LzTw5alsM4vC/gSY/l8kPMRAlq0XpNSAVTDJyALzLY70WhaIMX24LJLpdFw==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + peerDependencies: + '@nuxt/schema': ^4.3.1 + peerDependenciesMeta: + '@nuxt/schema': + optional: true + + '@nuxt/content@2.13.4': + resolution: {integrity: sha512-NBaHL/SNYUK7+RLgOngSFmKqEPYc0dYdnwVFsxIdrOZUoUbD8ERJJDaoRwwtyYCMOgUeFA/zxAkuADytp+DKiQ==} + + '@nuxt/devalue@2.0.2': + resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} + + '@nuxt/devtools-kit@3.2.4': + resolution: {integrity: sha512-Yxy2Xgmq5hf3dQy983V0xh0OJV2mYwRZz9eVIGc3EaribdFGPDNGMMbYqX9qCty3Pbxn/bCF3J0UyPaNlHVayQ==} + peerDependencies: + vite: '>=6.0' + + '@nuxt/devtools-wizard@3.2.4': + resolution: {integrity: sha512-5tu2+Quu9XTxwtpzM8CUN0UKn/bzZIfJcoGd+at5Yy1RiUQJ4E52tRK0idW1rMSUDkbkvX3dSnu8Tpj7SAtWdQ==} + hasBin: true + + '@nuxt/devtools@3.2.4': + resolution: {integrity: sha512-VPbFy7hlPzWpEZk4BsuVpNuHq1ZYGV9xezjb7/NGuePuNLqeNn74YZugU+PCtva7OwKhEeTXmMK0Mqo/6+nwNA==} + hasBin: true + peerDependencies: + '@vitejs/devtools': '*' + vite: '>=6.0' + peerDependenciesMeta: + '@vitejs/devtools': + optional: true + + '@nuxt/kit@3.21.2': + resolution: {integrity: sha512-Bd6m6mrDrqpBEbX+g0rc66/ALd1sxlgdx5nfK9MAYO0yKLTOSK7McSYz1KcOYn3LQFCXOWfvXwaqih/b+REI1g==} + engines: {node: '>=18.12.0'} + + '@nuxt/kit@4.4.2': + resolution: {integrity: sha512-5+IPRNX2CjkBhuWUwz0hBuLqiaJPRoKzQ+SvcdrQDbAyE+VDeFt74VpSFr5/R0ujrK4b+XnSHUJWdS72w6hsog==} + engines: {node: '>=18.12.0'} + + '@nuxt/nitro-server@3.21.2': + resolution: {integrity: sha512-tJiyrG+chze1JP1JNDFR2Ib+EhnMzmZXW7AmW7Wbxz2LLTSapLzJCLgHcy4OBcBK22bs06bI/ivn95JNvvxWbQ==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + nuxt: ^3.21.2 + + '@nuxt/schema@3.21.2': + resolution: {integrity: sha512-yZaJrZizRP4OQVCM7qRG3xIJ1xZ59npgg9jd3ng+BDs5ZvLqYP9rXnFikShc8EPUtR6+zhSPgKgy6L8wWcBKzQ==} + engines: {node: ^14.18.0 || >=16.10.0} + + '@nuxt/telemetry@2.7.0': + resolution: {integrity: sha512-mrKC3NjAlBOooLLVTYcIUie1meipoYq5vkoESoVTEWTB34T3a0QJzOfOPch+HYlUR+5Lqy1zLMv6epHFgYAKLA==} + engines: {node: '>=18.12.0'} + hasBin: true + peerDependencies: + '@nuxt/kit': '>=3.0.0' + + '@nuxt/vite-builder@3.21.2': + resolution: {integrity: sha512-AwfvmogMzBmX8oS8QPjh9uZiUtnWmOV8w4Ei4DMukVELemkRugDOqWzCzuFneOFQ8khhOOMZ/lRcoTiPryZS5A==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + nuxt: 3.21.2 + rolldown: ^1.0.0-beta.38 + rollup-plugin-visualizer: ^6.0.0 || ^7.0.1 + vue: ^3.3.4 + peerDependenciesMeta: + rolldown: + optional: true + rollup-plugin-visualizer: + optional: true + + '@nuxthq/studio@2.2.1': + resolution: {integrity: sha512-FiKaC2NBnoKbV5opW8+bXt75R9b7XQ/xtr2bCSLRUca2H7lYypfUAdpYltJasKMgJsUWMNHME92iW5Fi9gb+IA==} + + '@nuxtjs/color-mode@3.5.2': + resolution: {integrity: sha512-cC6RfgZh3guHBMLLjrBB2Uti5eUoGM9KyauOaYS9ETmxNWBMTvpgjvSiSJp1OFljIXPIqVTJ3xtJpSNZiO3ZaA==} + + '@nuxtjs/mdc@0.9.5': + resolution: {integrity: sha512-bTnlY+oiW8QsmrLoiYN+rkSYxl7asELlwYeU9QPSkun5BVx7Yd8RajH8I+0QJZiMZzIHaO3LEgf3lzp5Lg6E0A==} + + '@oxc-minify/binding-android-arm-eabi@0.117.0': + resolution: {integrity: sha512-5Hf2KsGRjxp3HnPU/mse7cQJa5tWfMFUPZQcgSMVsv2JZnGFFOIDzA0Oja2KDD+VPJqMpEJKc2dCHAGZgJxsGg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxc-minify/binding-android-arm64@0.117.0': + resolution: {integrity: sha512-uuxGwxA5J4Sap+gz4nxyM/rer6q2A4X1Oe8HpE0CZQyb5cSBULQ15btZiVG3xOBctI5O+c2dwR1aZAP4oGKcLw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxc-minify/binding-darwin-arm64@0.117.0': + resolution: {integrity: sha512-lLBf75cxUSLydumToKtGTwbLqO/1urScblJ33Vx0uF38M2ZbL2x51AybBV5vlfLjYNrxvQ8ov0Bj/OhsVO/biA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxc-minify/binding-darwin-x64@0.117.0': + resolution: {integrity: sha512-wBWwP1voLZMuN4hpe1HRtkPBd4/o/1qan5XssmmI/hewBvGHEHkyvVLS0zu+cKqXDxYzYvb/p+EqU+xSXhEl4A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxc-minify/binding-freebsd-x64@0.117.0': + resolution: {integrity: sha512-pYSacHw698oH2vb70iP1cHk6x0zhvAuOvdskvNtEqvfziu8MSjKXa699vA9Cx72+DH5rwVuj1I3f+7no2fWglA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxc-minify/binding-linux-arm-gnueabihf@0.117.0': + resolution: {integrity: sha512-Ugm4Qj7F2+bccjhHCjjnSNHBDPyvjPXWrntID4WJpSrPqt+Az/o0EGdty9sWOjQXRZiTVpa80uqCWZQUn94yTA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-minify/binding-linux-arm-musleabihf@0.117.0': + resolution: {integrity: sha512-qrY6ZviO9wVRI/jl4nRZO4B9os8jaJQemMeWIyFInZNk3lhqihId8iBqMKibJnRaf+JRxLM9j68atXkFRhOHrg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-minify/binding-linux-arm64-gnu@0.117.0': + resolution: {integrity: sha512-2VLJHKEFBRhCihT/8uesuDPhXpbWu1OlHCxqQ7pdFVqKik1Maj5E9oSDcYzxqfaCRStvTHkmLVWJBK5CVcIadg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-minify/binding-linux-arm64-musl@0.117.0': + resolution: {integrity: sha512-C3zapJconWpl2Y7LR3GkRkH6jxpuV2iVUfkFcHT5Ffn4Zu7l88mZa2dhcfdULZDybN1Phka/P34YUzuskUUrXw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-minify/binding-linux-ppc64-gnu@0.117.0': + resolution: {integrity: sha512-2T/Bm+3/qTfuNS4gKSzL8qbiYk+ErHW2122CtDx+ilZAzvWcJ8IbqdZIbEWOlwwe03lESTxPwTBLFqVgQU2OeQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + + '@oxc-minify/binding-linux-riscv64-gnu@0.117.0': + resolution: {integrity: sha512-MKLjpldYkeoB4T+yAi4aIAb0waifxUjLcKkCUDmYAY3RqBJTvWK34KtfaKZL0IBMIXfD92CbKkcxQirDUS9Xcg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxc-minify/binding-linux-riscv64-musl@0.117.0': + resolution: {integrity: sha512-UFVcbPvKUStry6JffriobBp8BHtjmLLPl4bCY+JMxIn/Q3pykCpZzRwFTcDurG/kY8tm+uSNfKKdRNa5Nh9A7g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxc-minify/binding-linux-s390x-gnu@0.117.0': + resolution: {integrity: sha512-B9GyPQ1NKbvpETVAMyJMfRlD3c6UJ7kiuFUAlx9LTYiQL+YIyT6vpuRlq1zgsXxavZluVrfeJv6x0owV4KDx4Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + + '@oxc-minify/binding-linux-x64-gnu@0.117.0': + resolution: {integrity: sha512-fXfhtr+WWBGNy4M5GjAF5vu/lpulR4Me34FjTyaK9nDrTZs7LM595UDsP1wliksqp4hD/KdoqHGmbCrC+6d4vA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-minify/binding-linux-x64-musl@0.117.0': + resolution: {integrity: sha512-jFBgGbx1oLadb83ntJmy1dWlAHSQanXTS21G4PgkxyONmxZdZ/UMKr7KsADzMuoPsd2YhJHxzRpwJd9U+4BFBw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-minify/binding-openharmony-arm64@0.117.0': + resolution: {integrity: sha512-nxPd9vx1vYz8IlIMdl9HFdOK/ood1H5hzbSFsyO8JU55tkcJoBL8TLCbuFf9pHpOy27l2gcPyV6z3p4eAcTH5Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxc-minify/binding-wasm32-wasi@0.117.0': + resolution: {integrity: sha512-pSvjJ6cCCfEXSteWSiVfZhdRzvpmS3tLhlXrXTYiuTDFrkRCobRP39SRwAzK23rE9i/m2JAaES2xPEW6+xu85g==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-minify/binding-win32-arm64-msvc@0.117.0': + resolution: {integrity: sha512-9NoT9baFrWPdJRIZVQ1jzPZW9TjPT2sbzQyDdoK7uD1V8JXCe1L2y7sp9k2ldZZheaIcmtNwHc7jyD7kYz/0XQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxc-minify/binding-win32-ia32-msvc@0.117.0': + resolution: {integrity: sha512-E51LTjkRei5u2dpFiYSObuh+e43xg45qlmilSTd0XDGFdYJCOv62Q0MEn61TR+efQYPNleYwWdTS9t+tp9p/4w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxc-minify/binding-win32-x64-msvc@0.117.0': + resolution: {integrity: sha512-I8vniPOxWQdxfIbXNvQLaJ1n8SrnqES6wuiAX10CU72sKsizkds9kDaJ1KzWvDy39RKhTBmD1cJsU2uxPFgizQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@oxc-parser/binding-android-arm-eabi@0.117.0': + resolution: {integrity: sha512-XarGPJpaobgKjfm7xRfCGWWszuPbm/OeP91NdMhxtcLZ/qLTmWF0P0z0gqmr0Uysi1F1v1BNtcST11THMrcEOw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxc-parser/binding-android-arm64@0.117.0': + resolution: {integrity: sha512-EPTs2EBijGmyhPso4rXAL0NSpECXER9IaVKFZEv83YcA6h4uhKW47kmYt+OZcSp130zhHx+lTWILDQ/LDkCRNA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxc-parser/binding-darwin-arm64@0.117.0': + resolution: {integrity: sha512-3bAEpyih6r/Kb+Xzn1em1qBMClOS7NsVWgF86k95jpysR5ix/HlKFKSy7cax6PcS96HeHR4kjlME20n/XK1zNg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxc-parser/binding-darwin-x64@0.117.0': + resolution: {integrity: sha512-W7S99zFwVZhSbCxvjfZkioStFU249DBc4TJw/kK6kfKwx2Zew+jvizX5Y3ZPkAh7fBVUSNOdSeOqLBHLiP50tw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxc-parser/binding-freebsd-x64@0.117.0': + resolution: {integrity: sha512-xH76lqSdjCSY0KUMPwLXlvQ3YEm3FFVEQmgiOCGNf+stZ6E4Mo3nC102Bo8yKd7aW0foIPAFLYsHgj7vVI/axw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxc-parser/binding-linux-arm-gnueabihf@0.117.0': + resolution: {integrity: sha512-9Hdm1imzrn4RdMYnQKKcy+7p7QsSPIrgVIZmpGSJT02nYDuBWLdG1pdYMPFoEo46yiXry3tS3RoHIpNbT1IiyQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-parser/binding-linux-arm-musleabihf@0.117.0': + resolution: {integrity: sha512-Itszer/VCeYhYVJLcuKnHktlY8QyGnVxapltP68S1XRGlV6IsM9HQAElJRMwQhT6/GkMjOhANmkv2Qu/9v44lw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-parser/binding-linux-arm64-gnu@0.117.0': + resolution: {integrity: sha512-jBxD7DtlHQ36ivjjZdH0noQJgWNouenzpLmXNKnYaCsBfo3jY95m5iyjYQEiWkvkhJ3TJUAs7tQ1/kEpY7x/Kg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-parser/binding-linux-arm64-musl@0.117.0': + resolution: {integrity: sha512-QagKTDF4lrz8bCXbUi39Uq5xs7C7itAseKm51f33U+Dyar9eJY/zGKqfME9mKLOiahX7Fc1J3xMWVS0AdDXLPg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-parser/binding-linux-ppc64-gnu@0.117.0': + resolution: {integrity: sha512-RPddpcE/0xxWaommWy0c5i/JdrXcXAkxBS2GOrAUh5LKmyCh03hpJedOAWszG4ADsKQwoUQQ1/tZVGRhZIWtKA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + + '@oxc-parser/binding-linux-riscv64-gnu@0.117.0': + resolution: {integrity: sha512-ur/WVZF9FSOiZGxyP+nfxZzuv6r5OJDYoVxJnUR7fM/hhXLh4V/be6rjbzm9KLCDBRwYCEKJtt+XXNccwd06IA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxc-parser/binding-linux-riscv64-musl@0.117.0': + resolution: {integrity: sha512-ujGcAx8xAMvhy7X5sBFi3GXML1EtyORuJZ5z2T6UV3U416WgDX/4OCi3GnoteeenvxIf6JgP45B+YTHpt71vpA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxc-parser/binding-linux-s390x-gnu@0.117.0': + resolution: {integrity: sha512-hbsfKjUwRjcMZZvvmpZSc+qS0bHcHRu8aV/I3Ikn9BzOA0ZAgUE7ctPtce5zCU7bM8dnTLi4sJ1Pi9YHdx6Urw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + + '@oxc-parser/binding-linux-x64-gnu@0.117.0': + resolution: {integrity: sha512-1QrTrf8rige7UPJrYuDKJLQOuJlgkt+nRSJLBMHWNm9TdivzP48HaK3f4q18EjNlglKtn03lgjMu4fryDm8X4A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-parser/binding-linux-x64-musl@0.117.0': + resolution: {integrity: sha512-gRvK6HPzF5ITRL68fqb2WYYs/hGviPIbkV84HWCgiJX+LkaOpp+HIHQl3zVZdyKHwopXToTbXbtx/oFjDjl8pg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-parser/binding-openharmony-arm64@0.117.0': + resolution: {integrity: sha512-QPJvFbnnDZZY7xc+xpbIBWLThcGBakwaYA9vKV8b3+oS5MGfAZUoTFJcix5+Zg2Ri46sOfrUim6Y6jsKNcssAQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxc-parser/binding-wasm32-wasi@0.117.0': + resolution: {integrity: sha512-+XRSNA0xt3pk/6CUHM7pykVe7M8SdifJk8LX1+fIp/zefvR3HBieZCbwG5un8gogNgh7srLycoh/cQA9uozv5g==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-parser/binding-win32-arm64-msvc@0.117.0': + resolution: {integrity: sha512-GpxeGS+Vo030DsrXeRPc7OSJOQIyAHkM3mzwBcnQjg/79XnOIDDMXJ5X6/aNdkVt/+Pv35pqKzGA4TQau97x8w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxc-parser/binding-win32-ia32-msvc@0.117.0': + resolution: {integrity: sha512-tchWEYiso1+objTZirmlR+w3fcIel6PVBOJ8NuC2Jr30dxBOiKUfFLovJLANwHg1+TzeD6pVSLIIIEf2T5o5lQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxc-parser/binding-win32-x64-msvc@0.117.0': + resolution: {integrity: sha512-ysRJAjIbB4e5y+t9PZs7TwbgOV/GVT//s30AORLCT/pedYwpYzHq6ApXK7is9fvyfZtgT3anNir8+esurmyaDw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@oxc-project/types@0.117.0': + resolution: {integrity: sha512-C/kPXBphID44fXdsa2xSOCuzX8fKZiFxPsvucJ6Yfkr6CJlMA+kNLPNKyLoI+l9XlDsNxBrz6h7IIjKU8pB69w==} + + '@oxc-transform/binding-android-arm-eabi@0.117.0': + resolution: {integrity: sha512-17giX7h5VR9Eodru4OoSCFdgwLFIaUxeEn8JWe0vMZrAuRbT9NiDTy5dXdbGQBoO8aXPkbGS38FGlvbi31aujw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxc-transform/binding-android-arm64@0.117.0': + resolution: {integrity: sha512-1LrDd1CPochtLx04pAafdah6QtOQQj0/Evttevi+0u8rCI5FKucIG7pqBHkIQi/y7pycFYIj+GebhET80maeUg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxc-transform/binding-darwin-arm64@0.117.0': + resolution: {integrity: sha512-K1Xo52xJOvFfHSkz2ax9X5Qsku23RCfTIPbHZWdUCAQ1TQooI+sFcewSubhVUJ4DVK12/tYT//XXboumin+FHA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxc-transform/binding-darwin-x64@0.117.0': + resolution: {integrity: sha512-ftFT/8Laolfq49mRRWLkIhd1AbJ0MI5bW3LwddvdoAg9zXwkx4qhzTYyBPRZhvXWftts+NjlHfHsXCOqI4tPtw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxc-transform/binding-freebsd-x64@0.117.0': + resolution: {integrity: sha512-QDRyw0atg9BMnwOwnJeW6REzWPLEjiWtsCc2Sj612F1hCdvP+n0L3o8sHinEWM+BiOkOYtUxHA69WjUslc3G+g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxc-transform/binding-linux-arm-gnueabihf@0.117.0': + resolution: {integrity: sha512-UvpvOjyQVgiIJahIpMT0qAsLJT8O1ibHTBgXGOsZkQgw1xmjARPQ07dpRcucPPn6cqCF3wrxfbqtr2vFHaMkdA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-transform/binding-linux-arm-musleabihf@0.117.0': + resolution: {integrity: sha512-cIhztGFjKk8ngP+/7EPkEhzWMGr2neezxgWirSn/f/MirjH234oHHGJ2diKIbGQEsy0aOuJMTkL9NLfzfmH51A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-transform/binding-linux-arm64-gnu@0.117.0': + resolution: {integrity: sha512-mXbDfvDN0RZVg7v4LohNzU0kK3fMAZgkUKTkpFVgxEvzibEG5VpSznkypUwHI4a8U8pz+K6mGaLetX3Xt+CvvA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-transform/binding-linux-arm64-musl@0.117.0': + resolution: {integrity: sha512-ykxpPQp0eAcSmhy0Y3qKvdanHY4d8THPonDfmCoktUXb6r0X6qnjpJB3V+taN1wevW55bOEZd97kxtjTKjqhmg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + + '@oxc-transform/binding-linux-ppc64-gnu@0.117.0': + resolution: {integrity: sha512-Rvspti4Kr7eq6zSrURK5WjscfWQPvmy/KjJZV45neRKW8RLonE3r9+NgrwSLGoHvQ3F24fbqlkplox1RtlhH5A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + + '@oxc-transform/binding-linux-riscv64-gnu@0.117.0': + resolution: {integrity: sha512-Dr2ZW9ZZ4l1eQ5JUEUY3smBh4JFPCPuybWaDZTLn3ADZjyd8ZtNXEjeMT8rQbbhbgSL9hEgbwaqraole3FNThQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxc-transform/binding-linux-riscv64-musl@0.117.0': + resolution: {integrity: sha512-oD1Bnes1bIC3LVBSrWEoSUBj6fvatESPwAVWfJVGVQlqWuOs/ZBn1e4Nmbipo3KGPHK7DJY75r/j7CQCxhrOFQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + + '@oxc-transform/binding-linux-s390x-gnu@0.117.0': + resolution: {integrity: sha512-qT//IAPLvse844t99Kff5j055qEbXfwzWgvCMb0FyjisnB8foy25iHZxZIocNBe6qwrCYWUP1M8rNrB/WyfS1Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + + '@oxc-transform/binding-linux-x64-gnu@0.117.0': + resolution: {integrity: sha512-2YEO5X+KgNzFqRVO5dAkhjcI5gwxus4NSWVl/+cs2sI6P0MNPjqE3VWPawl4RTC11LvetiiZdHcujUCPM8aaUw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-transform/binding-linux-x64-musl@0.117.0': + resolution: {integrity: sha512-3wqWbTSaIFZvDr1aqmTul4cg8PRWYh6VC52E8bLI7ytgS/BwJLW+sDUU2YaGIds4sAf/1yKeJRmudRCDPW9INg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + + '@oxc-transform/binding-openharmony-arm64@0.117.0': + resolution: {integrity: sha512-Ebxx6NPqhzlrjvx4+PdSqbOq+li0f7X59XtJljDghkbJsbnkHvhLmPR09ifHt5X32UlZN63ekjwcg/nbmHLLlA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxc-transform/binding-wasm32-wasi@0.117.0': + resolution: {integrity: sha512-Nn8mmcBiQ0XKHLTb05QBlH+CDkn7jf5YDVv9FtKhy4zJT0NEU9y3dXVbfcurOpsVrG9me4ktzDQNCaAoJjUQyw==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-transform/binding-win32-arm64-msvc@0.117.0': + resolution: {integrity: sha512-15cbsF8diXWGnHrTsVgVeabETiT/KdMAfRAcot99xsaVecJs3pITNNjC6Qj+/TPNpehbgIFjlhhxOVSbQsTBgg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxc-transform/binding-win32-ia32-msvc@0.117.0': + resolution: {integrity: sha512-I6DkhCuFX6p9rckdWiLuZfBWrrYUC7sNX+zLaCfa5zvrPNwo1/29KkefvqXVxu3AWT/6oZAbtc0A8/mqhETJPQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxc-transform/binding-win32-x64-msvc@0.117.0': + resolution: {integrity: sha512-V7YzavQnYcRJBeJkp0qpb3FKrlm5I57XJetCYB4jsjStuboQmnFMZ/XQH55Szlf/kVyeU9ddQwv72gJJ5BrGjQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@parcel/watcher-android-arm64@2.5.6': + resolution: {integrity: sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.6': + resolution: {integrity: sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.6': + resolution: {integrity: sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.6': + resolution: {integrity: sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.6': + resolution: {integrity: sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm-musl@2.5.6': + resolution: {integrity: sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.5.6': + resolution: {integrity: sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-arm64-musl@2.5.6': + resolution: {integrity: sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-x64-glibc@2.5.6': + resolution: {integrity: sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-linux-x64-musl@2.5.6': + resolution: {integrity: sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-wasm@2.5.6': + resolution: {integrity: sha512-byAiBZ1t3tXQvc8dMD/eoyE7lTXYorhn+6uVW5AC+JGI1KtJC/LvDche5cfUE+qiefH+Ybq0bUCJU0aB1cSHUA==} + engines: {node: '>= 10.0.0'} + bundledDependencies: + - napi-wasm + + '@parcel/watcher-win32-arm64@2.5.6': + resolution: {integrity: sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.6': + resolution: {integrity: sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.6': + resolution: {integrity: sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.6': + resolution: {integrity: sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==} + engines: {node: '>= 10.0.0'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + + '@poppinss/colors@4.1.6': + resolution: {integrity: sha512-H9xkIdFswbS8n1d6vmRd8+c10t2Qe+rZITbbDHHkQixH5+2x1FDGmi/0K+WgWiqQFKPSlIYB7jlH6Kpfn6Fleg==} + + '@poppinss/dumper@0.7.0': + resolution: {integrity: sha512-0UTYalzk2t6S4rA2uHOz5bSSW2CHdv4vggJI6Alg90yvl0UgXs6XSXpH96OH+bRkX4J/06djv29pqXJ0lq5Kag==} + + '@poppinss/exception@1.2.3': + resolution: {integrity: sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==} + + '@rolldown/pluginutils@1.0.0-rc.12': + resolution: {integrity: sha512-HHMwmarRKvoFsJorqYlFeFRzXZqCt2ETQlEDOb9aqssrnVBB1/+xgTGtuTrIk5vzLNX1MjMtTf7W9z3tsSbrxw==} + + '@rolldown/pluginutils@1.0.0-rc.2': + resolution: {integrity: sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==} + + '@rollup/plugin-alias@5.1.1': + resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-alias@6.0.0': + resolution: {integrity: sha512-tPCzJOtS7uuVZd+xPhoy5W4vThe6KWXNmsFCNktaAh5RTqcLiSfT4huPQIXkgJ6YCOjJHvecOAzQxLFhPxKr+g==} + engines: {node: '>=20.19.0'} + peerDependencies: + rollup: '>=4.0.0' + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-commonjs@24.1.0': + resolution: {integrity: sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.68.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-commonjs@29.0.2': + resolution: {integrity: sha512-S/ggWH1LU7jTyi9DxZOKyxpVd4hF/OZ0JrEbeLjXk/DFXwRny0tjD2c992zOUYQobLrVkRVMDdmHP16HKP7GRg==} + engines: {node: '>=16.0.0 || 14 >= 14.17'} + peerDependencies: + rollup: ^2.68.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-inject@5.0.5': + resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-json@6.1.0': + resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-node-resolve@15.3.1': + resolution: {integrity: sha512-tgg6b91pAybXHJQMAAwW9VuWBO6Thi+q7BCNARLwSqlmsHz0XYURtGvh/AuwSADXSI4h/2uHbs7s4FzlZDGSGA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-node-resolve@16.0.3': + resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-replace@5.0.7': + resolution: {integrity: sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-replace@6.0.3': + resolution: {integrity: sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-terser@1.0.0': + resolution: {integrity: sha512-FnCxhTBx6bMOYQrar6C8h3scPt8/JwIzw3+AJ2K++6guogH5fYaIFia+zZuhqv0eo1RN7W1Pz630SyvLbDjhtQ==} + engines: {node: '>=20.0.0'} + peerDependencies: + rollup: ^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.60.0': + resolution: {integrity: sha512-WOhNW9K8bR3kf4zLxbfg6Pxu2ybOUbB2AjMDHSQx86LIF4rH4Ft7vmMwNt0loO0eonglSNy4cpD3MKXXKQu0/A==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.60.0': + resolution: {integrity: sha512-u6JHLll5QKRvjciE78bQXDmqRqNs5M/3GVqZeMwvmjaNODJih/WIrJlFVEihvV0MiYFmd+ZyPr9wxOVbPAG2Iw==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.60.0': + resolution: {integrity: sha512-qEF7CsKKzSRc20Ciu2Zw1wRrBz4g56F7r/vRwY430UPp/nt1x21Q/fpJ9N5l47WWvJlkNCPJz3QRVw008fi7yA==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.60.0': + resolution: {integrity: sha512-WADYozJ4QCnXCH4wPB+3FuGmDPoFseVCUrANmA5LWwGmC6FL14BWC7pcq+FstOZv3baGX65tZ378uT6WG8ynTw==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-freebsd-arm64@4.60.0': + resolution: {integrity: sha512-6b8wGHJlDrGeSE3aH5mGNHBjA0TTkxdoNHik5EkvPHCt351XnigA4pS7Wsj/Eo9Y8RBU6f35cjN9SYmCFBtzxw==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.60.0': + resolution: {integrity: sha512-h25Ga0t4jaylMB8M/JKAyrvvfxGRjnPQIR8lnCayyzEjEOx2EJIlIiMbhpWxDRKGKF8jbNH01NnN663dH638mA==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.60.0': + resolution: {integrity: sha512-RzeBwv0B3qtVBWtcuABtSuCzToo2IEAIQrcyB/b2zMvBWVbjo8bZDjACUpnaafaxhTw2W+imQbP2BD1usasK4g==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.60.0': + resolution: {integrity: sha512-Sf7zusNI2CIU1HLzuu9Tc5YGAHEZs5Lu7N1ssJG4Tkw6e0MEsN7NdjUDDfGNHy2IU+ENyWT+L2obgWiguWibWQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.60.0': + resolution: {integrity: sha512-DX2x7CMcrJzsE91q7/O02IJQ5/aLkVtYFryqCjduJhUfGKG6yJV8hxaw8pZa93lLEpPTP/ohdN4wFz7yp/ry9A==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.60.0': + resolution: {integrity: sha512-09EL+yFVbJZlhcQfShpswwRZ0Rg+z/CsSELFCnPt3iK+iqwGsI4zht3secj5vLEs957QvFFXnzAT0FFPIxSrkQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-loong64-gnu@4.60.0': + resolution: {integrity: sha512-i9IcCMPr3EXm8EQg5jnja0Zyc1iFxJjZWlb4wr7U2Wx/GrddOuEafxRdMPRYVaXjgbhvqalp6np07hN1w9kAKw==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-loong64-musl@4.60.0': + resolution: {integrity: sha512-DGzdJK9kyJ+B78MCkWeGnpXJ91tK/iKA6HwHxF4TAlPIY7GXEvMe8hBFRgdrR9Ly4qebR/7gfUs9y2IoaVEyog==} + cpu: [loong64] + os: [linux] + + '@rollup/rollup-linux-ppc64-gnu@4.60.0': + resolution: {integrity: sha512-RwpnLsqC8qbS8z1H1AxBA1H6qknR4YpPR9w2XX0vo2Sz10miu57PkNcnHVaZkbqyw/kUWfKMI73jhmfi9BRMUQ==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-ppc64-musl@4.60.0': + resolution: {integrity: sha512-Z8pPf54Ly3aqtdWC3G4rFigZgNvd+qJlOE52fmko3KST9SoGfAdSRCwyoyG05q1HrrAblLbk1/PSIV+80/pxLg==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.60.0': + resolution: {integrity: sha512-3a3qQustp3COCGvnP4SvrMHnPQ9d1vzCakQVRTliaz8cIp/wULGjiGpbcqrkv0WrHTEp8bQD/B3HBjzujVWLOA==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-riscv64-musl@4.60.0': + resolution: {integrity: sha512-pjZDsVH/1VsghMJ2/kAaxt6dL0psT6ZexQVrijczOf+PeP2BUqTHYejk3l6TlPRydggINOeNRhvpLa0AYpCWSQ==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.60.0': + resolution: {integrity: sha512-3ObQs0BhvPgiUVZrN7gqCSvmFuMWvWvsjG5ayJ3Lraqv+2KhOsp+pUbigqbeWqueGIsnn+09HBw27rJ+gYK4VQ==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.60.0': + resolution: {integrity: sha512-EtylprDtQPdS5rXvAayrNDYoJhIz1/vzN2fEubo3yLE7tfAw+948dO0g4M0vkTVFhKojnF+n6C8bDNe+gDRdTg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.60.0': + resolution: {integrity: sha512-k09oiRCi/bHU9UVFqD17r3eJR9bn03TyKraCrlz5ULFJGdJGi7VOmm9jl44vOJvRJ6P7WuBi/s2A97LxxHGIdw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-openbsd-x64@4.60.0': + resolution: {integrity: sha512-1o/0/pIhozoSaDJoDcec+IVLbnRtQmHwPV730+AOD29lHEEo4F5BEUB24H0OBdhbBBDwIOSuf7vgg0Ywxdfiiw==} + cpu: [x64] + os: [openbsd] + + '@rollup/rollup-openharmony-arm64@4.60.0': + resolution: {integrity: sha512-pESDkos/PDzYwtyzB5p/UoNU/8fJo68vcXM9ZW2V0kjYayj1KaaUfi1NmTUTUpMn4UhU4gTuK8gIaFO4UGuMbA==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.60.0': + resolution: {integrity: sha512-hj1wFStD7B1YBeYmvY+lWXZ7ey73YGPcViMShYikqKT1GtstIKQAtfUI6yrzPjAy/O7pO0VLXGmUVWXQMaYgTQ==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.60.0': + resolution: {integrity: sha512-SyaIPFoxmUPlNDq5EHkTbiKzmSEmq/gOYFI/3HHJ8iS/v1mbugVa7dXUzcJGQfoytp9DJFLhHH4U3/eTy2Bq4w==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-gnu@4.60.0': + resolution: {integrity: sha512-RdcryEfzZr+lAr5kRm2ucN9aVlCCa2QNq4hXelZxb8GG0NJSazq44Z3PCCc8wISRuCVnGs0lQJVX5Vp6fKA+IA==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.60.0': + resolution: {integrity: sha512-PrsWNQ8BuE00O3Xsx3ALh2Df8fAj9+cvvX9AIA6o4KpATR98c9mud4XtDWVvsEuyia5U4tVSTKygawyJkjm60w==} + cpu: [x64] + os: [win32] + + '@shikijs/core@1.29.2': + resolution: {integrity: sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==} + + '@shikijs/engine-javascript@1.29.2': + resolution: {integrity: sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==} + + '@shikijs/engine-oniguruma@1.29.2': + resolution: {integrity: sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==} + + '@shikijs/langs@1.29.2': + resolution: {integrity: sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==} + + '@shikijs/themes@1.29.2': + resolution: {integrity: sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==} + + '@shikijs/transformers@1.29.2': + resolution: {integrity: sha512-NHQuA+gM7zGuxGWP9/Ub4vpbwrYCrho9nQCLcCPfOe3Yc7LOYwmSuhElI688oiqIXk9dlZwDiyAG9vPBTuPJMA==} + + '@shikijs/types@1.29.2': + resolution: {integrity: sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==} + + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sindresorhus/is@7.2.0': + resolution: {integrity: sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==} + engines: {node: '>=18'} + + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + + '@socket.io/component-emitter@3.1.2': + resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==} + + '@speed-highlight/core@1.2.15': + resolution: {integrity: sha512-BMq1K3DsElxDWawkX6eLg9+CKJrTVGCBAWVuHXVUV2u0s2711qiChLSId6ikYPfxhdYocLNt3wWwSvDiTvFabw==} + + '@tsconfig/node10@1.0.12': + resolution: {integrity: sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + + '@tybys/wasm-util@0.10.1': + resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + + '@types/chai-subset@1.3.6': + resolution: {integrity: sha512-m8lERkkQj+uek18hXOZuec3W/fCRTrU4hrnXjH3qhHy96ytuPaPiWGgu7sJb7tZxZonO75vYAjCvpe/e4VUwRw==} + peerDependencies: + '@types/chai': <5.2.0 + + '@types/chai@4.3.20': + resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==} + + '@types/debug@4.1.13': + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} + + '@types/estree@1.0.8': + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} + + '@types/fs-extra@11.0.4': + resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + + '@types/hast@3.0.4': + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/jsonfile@6.1.4': + resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} + + '@types/lodash.groupby@4.6.9': + resolution: {integrity: sha512-z2xtCX2ko7GrqORnnYea4+ksT7jZNAvaOcLd6mP9M7J09RHvJs06W8BGdQQAX8ARef09VQLdeRilSOcfHlDQJQ==} + + '@types/lodash.uniqby@4.7.9': + resolution: {integrity: sha512-rjrXji/seS6BZJRgXrU2h6FqxRVufsbq/HE0Tx0SdgbtlWr2YmD/M64BlYEYYlaMcpZwy32IYVkMfUMYlPuv0w==} + + '@types/lodash@4.17.24': + resolution: {integrity: sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==} + + '@types/mdast@4.0.4': + resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} + + '@types/ms@2.1.0': + resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + + '@types/node@12.20.55': + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + + '@types/node@18.19.130': + resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} + + '@types/resolve@1.20.2': + resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} + + '@types/tmp@0.2.6': + resolution: {integrity: sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==} + + '@types/unist@2.0.11': + resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} + + '@types/unist@3.0.3': + resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} + + '@types/web-bluetooth@0.0.16': + resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} + + '@types/web-bluetooth@0.0.20': + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@ungap/structured-clone@1.3.0': + resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + + '@unhead/dom@1.11.20': + resolution: {integrity: sha512-jgfGYdOH+xHJF/j8gudjsYu3oIjFyXhCWcgKaw3vQnT616gSqyqnGQGOItL+BQtQZACKNISwIfx5PuOtztMKLA==} + + '@unhead/schema@1.11.20': + resolution: {integrity: sha512-0zWykKAaJdm+/Y7yi/Yds20PrUK7XabLe9c3IRcjnwYmSWY6z0Cr19VIs3ozCj8P+GhR+/TI2mwtGlueCEYouA==} + + '@unhead/shared@1.11.20': + resolution: {integrity: sha512-1MOrBkGgkUXS+sOKz/DBh4U20DNoITlJwpmvSInxEUNhghSNb56S0RnaHRq0iHkhrO/cDgz2zvfdlRpoPLGI3w==} + + '@unhead/ssr@1.11.20': + resolution: {integrity: sha512-j6ehzmdWGAvv0TEZyLE3WBnG1ULnsbKQcLqBDh3fvKS6b3xutcVZB7mjvrVE7ckSZt6WwOtG0ED3NJDS7IjzBA==} + + '@unhead/vue@1.11.20': + resolution: {integrity: sha512-sqQaLbwqY9TvLEGeq8Fd7+F2TIuV3nZ5ihVISHjWpAM3y7DwNWRU7NmT9+yYT+2/jw1Vjwdkv5/HvDnvCLrgmg==} + peerDependencies: + vue: '>=2.7 || >=3' + + '@unhead/vue@2.1.12': + resolution: {integrity: sha512-zEWqg0nZM8acpuTZE40wkeUl8AhIe0tU0OkilVi1D4fmVjACrwoh5HP6aNqJ8kUnKsoy6D+R3Vi/O+fmdNGO7g==} + peerDependencies: + vue: '>=3.5.18' + + '@unocss/reset@0.50.8': + resolution: {integrity: sha512-2WoM6O9VyuHDPAnvCXr7LBJQ8ZRHDnuQAFsL1dWXp561Iq2l9whdNtPuMcozLGJGUUrFfVBXIrHY4sfxxScgWg==} + + '@vercel/nft@1.5.0': + resolution: {integrity: sha512-IWTDeIoWhQ7ZtRO/JRKH+jhmeQvZYhtGPmzw/QGDY+wDCQqfm25P9yIdoAFagu4fWsK4IwZXDFIjrmp5rRm/sA==} + engines: {node: '>=20'} + hasBin: true + + '@vitejs/plugin-vue-jsx@5.1.5': + resolution: {integrity: sha512-jIAsvHOEtWpslLOI2MeElGFxH7M8pM83BU/Tor4RLyiwH0FM4nUW3xdvbw20EeU9wc5IspQwMq225K3CMnJEpA==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + vue: ^3.0.0 + + '@vitejs/plugin-vue@6.0.5': + resolution: {integrity: sha512-bL3AxKuQySfk1iGcBsQnoRVexTPJq0Z/ixFVM8OhVJAP6ZXXXLtM7NFKWhLl30Kg7uTBqIaPXbh+nuQCuBDedg==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + vite: ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + vue: ^3.2.25 + + '@vitest/coverage-c8@0.29.8': + resolution: {integrity: sha512-y+sEMQMctWokjnSqm3FCQEYFkjLrYaznsxEZHxcx8z2aftpYg3A5tvI1S5himfdEFo7o+OeHzh40bPSWZHW4oQ==} + deprecated: v8 coverage is moved to @vitest/coverage-v8 package + peerDependencies: + vitest: '>=0.29.0 <1' + + '@vitest/expect@0.29.8': + resolution: {integrity: sha512-xlcVXn5I5oTq6NiZSY3ykyWixBxr5mG8HYtjvpgg6KaqHm0mvhX18xuwl5YGxIRNt/A5jidd7CWcNHrSvgaQqQ==} + + '@vitest/runner@0.29.8': + resolution: {integrity: sha512-FzdhnRDwEr/A3Oo1jtIk/B952BBvP32n1ObMEb23oEJNO+qO5cBet6M2XWIDQmA7BDKGKvmhUf2naXyp/2JEwQ==} + + '@vitest/spy@0.29.8': + resolution: {integrity: sha512-VdjBe9w34vOMl5I5mYEzNX8inTxrZ+tYUVk9jxaZJmHFwmDFC/GV3KBFTA/JKswr3XHvZL+FE/yq5EVhb6pSAw==} + + '@vitest/utils@0.29.8': + resolution: {integrity: sha512-qGzuf3vrTbnoY+RjjVVIBYfuWMjn3UMUqyQtdGNZ6ZIIyte7B37exj6LaVkrZiUTvzSadVvO/tJm8AEgbGCBPg==} + + '@volar/language-core@1.4.1': + resolution: {integrity: sha512-EIY+Swv+TjsWpxOxujjMf1ZXqOjg9MT2VMXZ+1dKva0wD8W0L6EtptFFcCJdBbcKmGMFkr57Qzz9VNMWhs3jXQ==} + + '@volar/language-core@2.4.15': + resolution: {integrity: sha512-3VHw+QZU0ZG9IuQmzT68IyN4hZNd9GchGPhbD9+pa8CVv7rnoOZwo7T8weIbrRmihqy3ATpdfXFnqRrfPVK6CA==} + + '@volar/language-core@2.4.28': + resolution: {integrity: sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==} + + '@volar/source-map@1.4.1': + resolution: {integrity: sha512-bZ46ad72dsbzuOWPUtJjBXkzSQzzSejuR3CT81+GvTEI2E994D8JPXzM3tl98zyCNnjgs4OkRyliImL1dvJ5BA==} + + '@volar/source-map@2.4.15': + resolution: {integrity: sha512-CPbMWlUN6hVZJYGcU/GSoHu4EnCHiLaXI9n8c9la6RaI9W5JHX+NqG+GSQcB0JdC2FIBLdZJwGsfKyBB71VlTg==} + + '@volar/source-map@2.4.28': + resolution: {integrity: sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==} + + '@volar/typescript@2.4.15': + resolution: {integrity: sha512-2aZ8i0cqPGjXb4BhkMsPYDkkuc2ZQ6yOpqwAuNwUoncELqoy5fRgOQtLR9gB0g902iS0NAkvpIzs27geVyVdPg==} + + '@volar/vue-language-core@1.6.5': + resolution: {integrity: sha512-IF2b6hW4QAxfsLd5mePmLgtkXzNi+YnH6ltCd80gb7+cbdpFMjM1I+w+nSg2kfBTyfu+W8useCZvW89kPTBpzg==} + + '@vue-macros/common@3.1.2': + resolution: {integrity: sha512-h9t4ArDdniO9ekYHAD95t9AZcAbb19lEGK+26iAjUODOIJKmObDNBSe4+6ELQAA3vtYiFPPBtHh7+cQCKi3Dng==} + engines: {node: '>=20.19.0'} + peerDependencies: + vue: ^2.7.0 || ^3.2.25 + peerDependenciesMeta: + vue: + optional: true + + '@vue/babel-helper-vue-transform-on@2.0.1': + resolution: {integrity: sha512-uZ66EaFbnnZSYqYEyplWvn46GhZ1KuYSThdT68p+am7MgBNbQ3hphTL9L+xSIsWkdktwhPYLwPgVWqo96jDdRA==} + + '@vue/babel-plugin-jsx@2.0.1': + resolution: {integrity: sha512-a8CaLQjD/s4PVdhrLD/zT574ZNPnZBOY+IhdtKWRB4HRZ0I2tXBi5ne7d9eCfaYwp5gU5+4KIyFTV1W1YL9xZA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + + '@vue/babel-plugin-resolve-type@2.0.1': + resolution: {integrity: sha512-ybwgIuRGRRBhOU37GImDoWQoz+TlSqap65qVI6iwg/J7FfLTLmMf97TS7xQH9I7Qtr/gp161kYVdhr1ZMraSYQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/compiler-core@3.5.31': + resolution: {integrity: sha512-k/ueL14aNIEy5Onf0OVzR8kiqF/WThgLdFhxwa4e/KF/0qe38IwIdofoSWBTvvxQOesaz6riAFAUaYjoF9fLLQ==} + + '@vue/compiler-dom@3.5.31': + resolution: {integrity: sha512-BMY/ozS/xxjYqRFL+tKdRpATJYDTTgWSo0+AJvJNg4ig+Hgb0dOsHPXvloHQ5hmlivUqw1Yt2pPIqp4e0v1GUw==} + + '@vue/compiler-sfc@3.5.31': + resolution: {integrity: sha512-M8wpPgR9UJ8MiRGjppvx9uWJfLV7A/T+/rL8s/y3QG3u0c2/YZgff3d6SuimKRIhcYnWg5fTfDMlz2E6seUW8Q==} + + '@vue/compiler-ssr@3.5.31': + resolution: {integrity: sha512-h0xIMxrt/LHOvJKMri+vdYT92BrK3HFLtDqq9Pr/lVVfE4IyKZKvWf0vJFW10Yr6nX02OR4MkJwI0c1HDa1hog==} + + '@vue/compiler-vue2@2.7.16': + resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} + + '@vue/devtools-api@6.6.4': + resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + + '@vue/devtools-core@8.1.1': + resolution: {integrity: sha512-bCCsSABp1/ot4j8xJEycM6Mtt2wbuucfByr6hMgjbYhrtlscOJypZKvy8f1FyWLYrLTchB5Qz216Lm92wfbq0A==} + peerDependencies: + vue: ^3.0.0 + + '@vue/devtools-kit@8.1.1': + resolution: {integrity: sha512-gVBaBv++i+adg4JpH71k9ppl4soyR7Y2McEqO5YNgv0BI1kMZ7BDX5gnwkZ5COYgiCyhejZG+yGNrBAjj6Coqg==} + + '@vue/devtools-shared@8.1.1': + resolution: {integrity: sha512-+h4ttmJYl/txpxHKaoZcaKpC+pvckgLzIDiSQlaQ7kKthKh8KuwoLW2D8hPJEnqKzXOvu15UHEoGyngAXCz0EQ==} + + '@vue/language-core@2.2.12': + resolution: {integrity: sha512-IsGljWbKGU1MZpBPN+BvPAdr55YPkj2nB/TBNGNC32Vy2qLG25DYu/NBN2vNtZqdRbTRjaoYrahLrToim2NanA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@vue/language-core@3.2.6': + resolution: {integrity: sha512-xYYYX3/aVup576tP/23sEUpgiEnujrENaoNRbaozC1/MA9I6EGFQRJb4xrt/MmUCAGlxTKL2RmT8JLTPqagCkg==} + + '@vue/reactivity@3.5.31': + resolution: {integrity: sha512-DtKXxk9E/KuVvt8VxWu+6Luc9I9ETNcqR1T1oW1gf02nXaZ1kuAx58oVu7uX9XxJR0iJCro6fqBLw9oSBELo5g==} + + '@vue/runtime-core@3.5.31': + resolution: {integrity: sha512-AZPmIHXEAyhpkmN7aWlqjSfYynmkWlluDNPHMCZKFHH+lLtxP/30UJmoVhXmbDoP1Ng0jG0fyY2zCj1PnSSA6Q==} + + '@vue/runtime-dom@3.5.31': + resolution: {integrity: sha512-xQJsNRmGPeDCJq/u813tyonNgWBFjzfVkBwDREdEWndBnGdHLHgkwNBQxLtg4zDrzKTEcnikUy1UUNecb3lJ6g==} + + '@vue/server-renderer@3.5.31': + resolution: {integrity: sha512-GJuwRvMcdZX/CriUnyIIOGkx3rMV3H6sOu0JhdKbduaeCji6zb60iOGMY7tFoN24NfsUYoFBhshZtGxGpxO4iA==} + peerDependencies: + vue: 3.5.31 + + '@vue/shared@3.5.31': + resolution: {integrity: sha512-nBxuiuS9Lj5bPkPbWogPUnjxxWpkRniX7e5UBQDWl6Fsf4roq9wwV+cR7ezQ4zXswNvPIlsdj1slcLB7XCsRAw==} + + '@vueuse/core@11.3.0': + resolution: {integrity: sha512-7OC4Rl1f9G8IT6rUfi9JrKiXy4bfmHhZ5x2Ceojy0jnd3mHNEvV4JaRygH362ror6/NZ+Nl+n13LPzGiPN8cKA==} + + '@vueuse/core@9.13.0': + resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} + + '@vueuse/head@2.0.0': + resolution: {integrity: sha512-ykdOxTGs95xjD4WXE4na/umxZea2Itl0GWBILas+O4oqS7eXIods38INvk3XkJKjqMdWPcpCyLX/DioLQxU1KA==} + peerDependencies: + vue: '>=2.7 || >=3' + + '@vueuse/integrations@11.3.0': + resolution: {integrity: sha512-5fzRl0apQWrDezmobchoiGTkGw238VWESxZHazfhP3RM7pDSiyXy18QbfYkILoYNTd23HPAfQTJpkUc5QbkwTw==} + peerDependencies: + async-validator: ^4 + axios: ^1 + change-case: ^5 + drauu: ^0.4 + focus-trap: ^7 + fuse.js: ^7 + idb-keyval: ^6 + jwt-decode: ^4 + nprogress: ^0.2 + qrcode: ^1.5 + sortablejs: ^1 + universal-cookie: ^7 + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + + '@vueuse/metadata@11.3.0': + resolution: {integrity: sha512-pwDnDspTqtTo2HwfLw4Rp6yywuuBdYnPYDq+mO38ZYKGebCUQC/nVj/PXSiK9HX5otxLz8Fn7ECPbjiRz2CC3g==} + + '@vueuse/metadata@9.13.0': + resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} + + '@vueuse/nuxt@11.3.0': + resolution: {integrity: sha512-FxtRTgFmsoASamR3lOftv/r11o1BojF9zir8obbTnKamVZdlQ5rgJ0hHgVbrgA6dlMuEx/PzwqAmiKNFdU4oCQ==} + peerDependencies: + nuxt: ^3.0.0 + + '@vueuse/shared@11.3.0': + resolution: {integrity: sha512-P8gSSWQeucH5821ek2mn/ciCk+MS/zoRKqdQIM3bHq6p7GXDAJLmnRRKmF5F65sAVJIfzQlwR3aDzwCn10s8hA==} + + '@vueuse/shared@9.13.0': + resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} + + abbrev@3.0.1: + resolution: {integrity: sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==} + engines: {node: ^18.17.0 || >=20.5.0} + + abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + + acorn-import-attributes@1.9.5: + resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} + peerDependencies: + acorn: ^8 + + acorn-walk@8.3.5: + resolution: {integrity: sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==} + engines: {node: '>=0.4.0'} + + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} + engines: {node: '>= 14'} + + alien-signals@1.0.13: + resolution: {integrity: sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==} + + alien-signals@3.1.2: + resolution: {integrity: sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + + ansis@4.2.0: + resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==} + engines: {node: '>=14'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + archiver-utils@5.0.2: + resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} + engines: {node: '>= 14'} + + archiver@7.0.1: + resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} + engines: {node: '>= 14'} + + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + array-buffer-byte-length@1.0.2: + resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} + engines: {node: '>= 0.4'} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} + engines: {node: '>= 0.4'} + + assert@2.1.0: + resolution: {integrity: sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==} + + assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + + ast-kit@2.2.0: + resolution: {integrity: sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==} + engines: {node: '>=20.19.0'} + + ast-types@0.15.2: + resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} + engines: {node: '>=4'} + + ast-walker-scope@0.8.3: + resolution: {integrity: sha512-cbdCP0PGOBq0ASG+sjnKIoYkWMKhhz+F/h9pRexUdX2Hd38+WOlBkRKlqkGOSm0YQpcFMQBJeK4WspUAkwsEdg==} + engines: {node: '>=20.19.0'} + + async-function@1.0.0: + resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} + engines: {node: '>= 0.4'} + + async-sema@3.1.1: + resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} + + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + + autoprefixer@10.4.27: + resolution: {integrity: sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + b4a@1.8.0: + resolution: {integrity: sha512-qRuSmNSkGQaHwNbM7J78Wwy+ghLEYF1zNrSeMxj4Kgw6y33O3mXcQ6Ie9fRvfU/YnxWkOchPXbaLb73TkIsfdg==} + peerDependencies: + react-native-b4a: '*' + peerDependenciesMeta: + react-native-b4a: + optional: true + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + + bare-events@2.8.2: + resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==} + peerDependencies: + bare-abort-controller: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + + bare-fs@4.5.6: + resolution: {integrity: sha512-1QovqDrR80Pmt5HPAsMsXTCFcDYr+NSUKW6nd6WO5v0JBmnItc/irNRzm2KOQ5oZ69P37y+AMujNyNtG+1Rggw==} + engines: {bare: '>=1.16.0'} + peerDependencies: + bare-buffer: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + + bare-os@3.8.0: + resolution: {integrity: sha512-Dc9/SlwfxkXIGYhvMQNUtKaXCaGkZYGcd1vuNUUADVqzu4/vQfvnMkYYOUnt2VwQ2AqKr/8qAVFRtwETljgeFg==} + engines: {bare: '>=1.14.0'} + + bare-path@3.0.0: + resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} + + bare-stream@2.11.0: + resolution: {integrity: sha512-Y/+iQ49fL3rIn6w/AVxI/2+BRrpmzJvdWt5Jv8Za6Ngqc6V227c+pYjYYgLdpR3MwQ9ObVXD0ZrqoBztakM0rw==} + peerDependencies: + bare-abort-controller: '*' + bare-buffer: '*' + bare-events: '*' + peerDependenciesMeta: + bare-abort-controller: + optional: true + bare-buffer: + optional: true + bare-events: + optional: true + + bare-url@2.4.0: + resolution: {integrity: sha512-NSTU5WN+fy/L0DDenfE8SXQna4voXuW0FHM7wH8i3/q9khUSchfPbPezO4zSFMnDGIf9YE+mt/RWhZgNRKRIXA==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + baseline-browser-mapping@2.10.11: + resolution: {integrity: sha512-DAKrHphkJyiGuau/cFieRYhcTFeK/lBuD++C7cZ6KZHbMhBrisoi+EvhQ5RZrIfV5qwsW8kgQ07JIC+MDJRAhg==} + engines: {node: '>=6.0.0'} + hasBin: true + + better-path-resolve@1.0.0: + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + + birpc@2.9.0: + resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==} + + birpc@4.0.0: + resolution: {integrity: sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + brace-expansion@1.1.13: + resolution: {integrity: sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==} + + brace-expansion@2.0.3: + resolution: {integrity: sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==} + + brace-expansion@5.0.5: + resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} + engines: {node: 18 || 20 || >=22} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist@4.28.1: + resolution: {integrity: sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-crc32@1.0.0: + resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} + engines: {node: '>=8.0.0'} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + bundle-name@4.1.0: + resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} + engines: {node: '>=18'} + + c12@3.3.3: + resolution: {integrity: sha512-750hTRvgBy5kcMNPdh95Qo+XUBeGo8C7nsKSmedDmaQI+E0r82DwHeM6vBewDe4rGFbnxoa4V9pw+sPh5+Iz8Q==} + peerDependencies: + magicast: '*' + peerDependenciesMeta: + magicast: + optional: true + + c8@7.14.0: + resolution: {integrity: sha512-i04rtkkcNcCf7zsQcSv/T9EbUn4RXQ6mropeMcjFOsQXQ0iGLAr/xT6TImQg4+U9hmNpN9XdvPkjUL1IzbgxJw==} + engines: {node: '>=10.12.0'} + hasBin: true + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + call-bind@1.0.8: + resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + engines: {node: '>= 0.4'} + + call-bound@1.0.4: + resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} + engines: {node: '>= 0.4'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + + caniuse-lite@1.0.30001781: + resolution: {integrity: sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==} + + capital-case@1.0.4: + resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chai@4.5.0: + resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} + engines: {node: '>=4'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + 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==} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + chardet@2.1.1: + resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} + + check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + + 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'} + + chokidar@5.0.0: + resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} + engines: {node: '>= 20.19.0'} + + chownr@3.0.0: + resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==} + engines: {node: '>=18'} + + chroma-js@2.6.0: + resolution: {integrity: sha512-BLHvCB9s8Z1EV4ethr6xnkl/P2YRFOGqfgvuMG/MyCbZPrTA+NeiByY6XvgF0zP4/2deU2CXnWyMa3zu1LqQ3A==} + + citty@0.1.6: + resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} + + citty@0.2.1: + resolution: {integrity: sha512-kEV95lFBhQgtogAPlQfJJ0WGVSokvLr/UEoFPiKKOXF7pl98HfUVUD0ejsuTCld/9xH9vogSywZ5KqHzXrZpqg==} + + cli-truncate@3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + clipboardy@4.0.0: + resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} + engines: {node: '>=18'} + + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + + cliui@9.0.1: + resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==} + engines: {node: '>=20'} + + cluster-key-slot@1.1.2: + resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} + engines: {node: '>=0.10.0'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + compatx@0.2.0: + resolution: {integrity: sha512-6gLRNt4ygsi5NyMVhceOCFv14CIdDFN7fQjX1U4+47qVE/+kjPoXMK65KWK+dWxmFzMTuKazoQ9sch6pM0p5oA==} + + compress-commons@6.0.2: + resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} + engines: {node: '>= 14'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + + confbox@0.2.4: + resolution: {integrity: sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==} + + consola@2.15.3: + resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + + consola@3.4.2: + resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} + engines: {node: ^14.18.0 || >=16.10.0} + + constant-case@3.0.4: + resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie-es@1.2.2: + resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==} + + cookie-es@2.0.0: + resolution: {integrity: sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg==} + + cookie-es@3.1.1: + resolution: {integrity: sha512-UaXxwISYJPTr9hwQxMFYZ7kNhSXboMXP+Z3TRX6f1/NyaGPfuNUZOWP1pUEb75B2HjfklIYLVRfWiFZJyC6Npg==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + + crc32-stream@6.0.0: + resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} + engines: {node: '>= 14'} + + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + croner@10.0.1: + resolution: {integrity: sha512-ixNtAJndqh173VQ4KodSdJEI6nuioBWI0V1ITNKhZZsO0pEMoDxz539T4FTTbSZ/xIOSuDnzxLVRqBVSvPNE2g==} + engines: {node: '>=18.0'} + + cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + 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'} + + crossws@0.3.5: + resolution: {integrity: sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==} + + css-declaration-sorter@7.3.1: + resolution: {integrity: sha512-gz6x+KkgNCjxq3Var03pRYLhyNfwhkKF1g/yoLgDNtFvVu0/fOLV9C8fFEZRjACp/XQLumjAYo7JVjzH3wLbxA==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.0.9 + + css-select@5.2.2: + resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} + + css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + css-tree@3.2.1: + resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css-what@6.2.2: + resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} + engines: {node: '>= 6'} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssnano-preset-default@7.0.11: + resolution: {integrity: sha512-waWlAMuCakP7//UCY+JPrQS1z0OSLeOXk2sKWJximKWGupVxre50bzPlvpbUwZIDylhf/ptf0Pk+Yf7C+hoa3g==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + cssnano-utils@5.0.1: + resolution: {integrity: sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + cssnano@7.1.3: + resolution: {integrity: sha512-mLFHQAzyapMVFLiJIn7Ef4C2UCEvtlTlbyILR6B5ZsUAV3D/Pa761R5uC1YPhyBkRd3eqaDm2ncaNrD7R4mTRg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + data-view-buffer@1.0.2: + resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.2: + resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.1: + resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} + engines: {node: '>= 0.4'} + + db0@0.3.4: + resolution: {integrity: sha512-RiXXi4WaNzPTHEOu8UPQKMooIbqOEyqA1t7Z6MsdxSCeb8iUC9ko3LcmsLmeUt2SM5bctfArZKkRQggKZz7JNw==} + peerDependencies: + '@electric-sql/pglite': '*' + '@libsql/client': '*' + better-sqlite3: '*' + drizzle-orm: '*' + mysql2: '*' + sqlite3: '*' + peerDependenciesMeta: + '@electric-sql/pglite': + optional: true + '@libsql/client': + optional: true + better-sqlite3: + optional: true + drizzle-orm: + optional: true + mysql2: + optional: true + sqlite3: + optional: true + + de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decode-named-character-reference@1.3.0: + resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==} + + deep-eql@4.1.4: + resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} + engines: {node: '>=6'} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-browser-id@5.0.1: + resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} + engines: {node: '>=18'} + + default-browser@5.5.0: + resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} + engines: {node: '>=18'} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + denque@2.1.0: + resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} + engines: {node: '>=0.10'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destr@2.0.5: + resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} + + detab@3.0.2: + resolution: {integrity: sha512-7Bp16Bk8sk0Y6gdXiCtnpGbghn8atnTJdd/82aWvS5ESnlcNvgUc10U2NYS0PAiDSGjWiI8qs/Cv1b2uSGdQ8w==} + + detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + devalue@5.6.4: + resolution: {integrity: sha512-Gp6rDldRsFh/7XuouDbxMH3Mx8GMCcgzIb1pDTvNyn8pZGQ22u+Wa+lGV9dQCltFQ7uVw0MhRyb8XDskNFOReA==} + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + diff@4.0.4: + resolution: {integrity: sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==} + engines: {node: '>=0.3.1'} + + diff@5.2.2: + resolution: {integrity: sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==} + engines: {node: '>=0.3.1'} + + diff@8.0.4: + resolution: {integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==} + engines: {node: '>=0.3.1'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dot-prop@10.1.0: + resolution: {integrity: sha512-MVUtAugQMOff5RnBy2d9N31iG0lNwg1qAoAOn7pOK5wf94WIaE3My2p3uwTQuvS2AcqchkcR3bHByjaM0mmi7Q==} + engines: {node: '>=20'} + + dotenv@17.3.1: + resolution: {integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==} + engines: {node: '>=12'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.5.328: + resolution: {integrity: sha512-QNQ5l45DzYytThO21403XN3FvK0hOkWDG8viNf6jqS42msJ8I4tGDSpBCgvDRRPnkffafiwAym2X2eHeGD2V0w==} + + emoji-regex-xs@1.0.0: + resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} + + emoji-regex@10.6.0: + resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + + emoticon@4.1.0: + resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==} + + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} + engines: {node: '>= 0.8'} + + engine.io-client@6.6.4: + resolution: {integrity: sha512-+kjUJnZGwzewFDw951CDWcwj35vMNf2fcj7xQWOctq1F2i1jkDdVvdFG9kM/BEChymCH36KgjnW0NsL58JYRxw==} + + engine.io-parser@5.2.3: + resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} + engines: {node: '>=10.0.0'} + + enhanced-resolve@5.20.1: + resolution: {integrity: sha512-Qohcme7V1inbAfvjItgw0EaxVX5q2rdVEZHRBrEQdRZTssLDGsL8Lwrznl8oQ/6kuTJONLaDcGjkNP247XEhcA==} + engines: {node: '>=10.13.0'} + + enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + entities@6.0.1: + resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} + engines: {node: '>=0.12'} + + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + + error-stack-parser-es@1.0.5: + resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} + + errx@0.1.0: + resolution: {integrity: sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q==} + + es-abstract@1.24.1: + resolution: {integrity: sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@2.0.0: + resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} + + es-object-atoms@1.1.1: + resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.3.0: + resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} + engines: {node: '>= 0.4'} + + esbuild@0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.24.2: + resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + engines: {node: '>=18'} + hasBin: true + + esbuild@0.27.4: + resolution: {integrity: sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==} + engines: {node: '>=18'} + hasBin: true + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + events-universal@1.0.1: + resolution: {integrity: sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@6.1.0: + resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + exsolve@1.0.8: + resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + extendable-error@0.1.7: + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} + + externality@1.0.2: + resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==} + + fast-fifo@1.3.2: + resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} + + fast-glob@3.3.3: + resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} + engines: {node: '>=8.6.0'} + + fast-npm-meta@1.4.2: + resolution: {integrity: sha512-XXyd9d3ie/JeIIjm6WeKalvapGGFI4ShAjPJM78vgUFYzoEsuNSjvvVTuht0XZcwbVdOnEEGzhxwguRbxkIcDg==} + hasBin: true + + fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-up@6.3.0: + resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + flat@6.0.1: + resolution: {integrity: sha512-/3FfIa8mbrg3xE7+wAhWeV+bd7L2Mof+xtZb5dRDKZ+wDvYJK4WDYeIOuOhre5Yv5aQObZrlbRmk3RTSiuQBtw==} + engines: {node: '>=18'} + hasBin: true + + focus-trap@7.8.0: + resolution: {integrity: sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==} + + for-each@0.3.5: + resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} + engines: {node: '>= 0.4'} + + foreground-child@2.0.0: + resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} + engines: {node: '>=8.0.0'} + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + fraction.js@5.3.4: + resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} + + fresh@2.0.0: + resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} + engines: {node: '>= 0.8'} + + fs-extra@11.3.4: + resolution: {integrity: sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==} + engines: {node: '>=14.14'} + + fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.8: + resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + fuse.js@6.6.2: + resolution: {integrity: sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==} + engines: {node: '>=10'} + + fuse.js@7.1.0: + resolution: {integrity: sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==} + engines: {node: '>=10'} + + fzf@0.5.2: + resolution: {integrity: sha512-Tt4kuxLXFKHy8KT40zwsUPUkg1CrsgY25FxA2U/j/0WgEDCk3ddc/zLTCCcbSHX9FcKtLuVaDGtGE/STWC+j3Q==} + + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-east-asian-width@1.5.0: + resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} + engines: {node: '>=18'} + + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-port-please@3.2.0: + resolution: {integrity: sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + get-symbol-description@1.1.0: + resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.13.7: + resolution: {integrity: sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==} + + giget@2.0.0: + resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==} + hasBin: true + + giget@3.2.0: + resolution: {integrity: sha512-GvHTWcykIR/fP8cj8dMpuMMkvaeJfPvYnhq0oW+chSeIr+ldX21ifU2Ms6KBoyKZQZmVaUAAhQ2EZ68KJF8a7A==} + hasBin: true + + git-config-path@2.0.0: + resolution: {integrity: sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==} + engines: {node: '>=4'} + + git-up@7.0.0: + resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} + + git-url-parse@15.0.0: + resolution: {integrity: sha512-5reeBufLi+i4QD3ZFftcJs9jC26aULFLBU23FeKM/b1rI0K6ofIeAblmDVO7Ht22zTDE9+CkJ3ZVb0CgJmz3UQ==} + + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob@10.5.0: + resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} + 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 + hasBin: true + + glob@13.0.6: + resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} + engines: {node: 18 || 20 || >=22} + + glob@7.2.3: + 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-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + globby@16.2.0: + resolution: {integrity: sha512-QrJia2qDf5BB/V6HYlDTs0I0lBahyjLzpGQg3KT7FnCdTonAyPy2RtY802m2k4ALx6Dp752f82WsOczEVr3l6Q==} + engines: {node: '>=20'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + gzip-size@7.0.0: + resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + h3@1.15.10: + resolution: {integrity: sha512-YzJeWSkDZxAhvmp8dexjRK5hxziRO7I9m0N53WhvYL5NiWfkUkzssVzY9jvGu0HBoLFW6+duYmNSn6MaZBCCtg==} + + has-bigints@1.1.0: + resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} + engines: {node: '>= 0.4'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.2.0: + resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + hast-util-from-parse5@8.0.3: + resolution: {integrity: sha512-3kxEVkEKt0zvcZ3hCRYI8rqrgwtlIOFMWkbclACvjlDw8Li9S2hk/d51OI0nr/gIpdMHNepwgOKqZ/sy0Clpyg==} + + hast-util-heading-rank@3.0.0: + resolution: {integrity: sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==} + + hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.1.0: + resolution: {integrity: sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==} + + hast-util-to-html@9.0.5: + resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} + + hast-util-to-parse5@8.0.1: + resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} + + hast-util-to-string@3.0.1: + resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} + + hast-util-whitespace@3.0.0: + resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} + + hastscript@9.0.1: + resolution: {integrity: sha512-g7df9rMFX/SPi34tyGCyUBREQoKkapwdY/T04Qn9TDWfHhAYt4/I0gMVirzK5wEzeUqIjEB+LXC/ypb7Aqno5w==} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + header-case@2.0.4: + resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} + + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + + hookable@6.1.0: + resolution: {integrity: sha512-ZoKZSJgu8voGK2geJS+6YtYjvIzu9AOM/KZXsBxr83uhLL++e9pEv/dlgwgy3dvHg06kTz6JOh1hk3C8Ceiymw==} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + http-errors@2.0.1: + resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==} + engines: {node: '>= 0.8'} + + http-shutdown@1.2.2: + resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + https-proxy-agent@7.0.6: + resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} + engines: {node: '>= 14'} + + httpxy@0.3.1: + resolution: {integrity: sha512-XjG/CEoofEisMrnFr0D6U6xOZ4mRfnwcYQ9qvvnT4lvnX8BoeA3x3WofB75D+vZwpaobFVkBIHrZzoK40w8XSw==} + + human-id@4.1.3: + resolution: {integrity: sha512-tsYlhAYpjCKa//8rXZ9DqKEawhPoSytweBC2eNvcaDK+57RZLHGqNs3PZTQO6yekLFSuvA6AlnAfrw1uBvtb+Q==} + hasBin: true + + human-signals@3.0.1: + resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} + engines: {node: '>=12.20.0'} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + iconv-lite@0.7.2: + resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} + engines: {node: '>=0.10.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore-by-default@1.0.1: + resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + + image-meta@0.2.2: + resolution: {integrity: sha512-3MOLanc3sb3LNGWQl1RlQlNWURE5g32aUphrDyFeCsxBTk08iE3VNe4CwsUZ0Qs1X+EfX0+r29Sxdpza4B+yRA==} + + impound@1.1.5: + resolution: {integrity: sha512-5AUn+QE0UofqNHu5f2Skf6Svukdg4ehOIq8O0EtqIx4jta0CDZYBPqpIHt0zrlUTiFVYlLpeH39DoikXBjPKpA==} + + 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. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + internal-slot@1.1.0: + resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} + engines: {node: '>= 0.4'} + + ioredis@5.10.1: + resolution: {integrity: sha512-HuEDBTI70aYdx1v6U97SbNx9F1+svQKBDo30o0b9fw055LMepzpOOd0Ccg9Q6tbqmBSJaMuY0fB7yw9/vjBYCA==} + engines: {node: '>=12.22.0'} + + iron-webcrypto@1.2.1: + resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} + + is-absolute-url@4.0.1: + resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arguments@1.2.0: + resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-async-function@2.1.1: + resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} + engines: {node: '>= 0.4'} + + is-bigint@1.1.0: + 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'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.16.1: + resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.2: + resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} + engines: {node: '>= 0.4'} + + is-date-object@1.1.0: + resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} + engines: {node: '>= 0.4'} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} + engines: {node: '>= 0.4'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-in-ssh@1.0.0: + resolution: {integrity: sha512-jYa6Q9rH90kR1vKB6NM7qqd1mge3Fx4Dhw5TVlK1MUBqhEOuCagrEHMevNuCcbECmXZ0ThXkRm+Ymr51HwEPAw==} + engines: {node: '>=20'} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-installed-globally@1.0.0: + resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==} + engines: {node: '>=18'} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + + is-nan@1.3.2: + resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} + engines: {node: '>= 0.4'} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@4.0.0: + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-reference@1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + + is-regex@1.2.1: + resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} + engines: {node: '>= 0.4'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.4: + resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} + engines: {node: '>= 0.4'} + + is-ssh@1.4.1: + resolution: {integrity: sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg==} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} + engines: {node: '>= 0.4'} + + is-subdir@1.2.0: + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} + + is-symbol@1.1.1: + resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.15: + resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} + engines: {node: '>= 0.4'} + + is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.1.1: + resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} + engines: {node: '>= 0.4'} + + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} + engines: {node: '>= 0.4'} + + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + + is-wsl@3.1.1: + resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} + engines: {node: '>=16'} + + is64bit@2.0.0: + resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} + engines: {node: '>=18'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isexe@4.0.0: + resolution: {integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==} + engines: {node: '>=20'} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-reports@3.2.0: + resolution: {integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==} + engines: {node: '>=8'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} + hasBin: true + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-tokens@9.0.1: + resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} + + js-yaml@3.14.2: + resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} + hasBin: true + + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + hasBin: true + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} + + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + + knitwork@1.3.0: + resolution: {integrity: sha512-4LqMNoONzR43B1W0ek0fhXMsDNW/zxa1NdFAVMY+k28pgZLovR4G3PB5MrpTxCy1QaZCqNoiaKPr5w5qZHfSNw==} + + launch-editor@2.13.2: + resolution: {integrity: sha512-4VVDnbOpLXy/s8rdRCSXb+zfMeFR0WlJWpET1iA9CQdlZDfwyLjUuGQzXU4VeOoey6AicSAluWan7Etga6Kcmg==} + + lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} + + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + + listhen@1.9.0: + resolution: {integrity: sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg==} + hasBin: true + + load-json-file@4.0.0: + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + + local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + + local-pkg@0.5.1: + resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} + engines: {node: '>=14'} + + local-pkg@1.1.2: + resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} + engines: {node: '>=14'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash._reinterpolate@3.0.0: + resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} + + lodash.defaults@4.2.0: + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} + + lodash.groupby@4.6.0: + resolution: {integrity: sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==} + + lodash.isarguments@3.1.0: + resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + + lodash.template@4.5.0: + resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} + deprecated: This package is deprecated. Use https://socket.dev/npm/package/eta instead. + + lodash.templatesettings@4.2.0: + resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} + + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + + lodash.uniqby@4.7.0: + resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} + + lodash@4.17.23: + resolution: {integrity: sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==} + + log-symbols@5.1.0: + resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} + engines: {node: '>=12'} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@11.2.7: + resolution: {integrity: sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==} + engines: {node: 20 || >=22} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + magic-regexp@0.10.0: + resolution: {integrity: sha512-Uly1Bu4lO1hwHUW0CQeSWuRtzCMNO00CmXtS8N6fyvB3B979GOEEeAkiTUDsmbYLAbvpUS/Kt5c4ibosAzVyVg==} + + magic-string-ast@1.0.3: + resolution: {integrity: sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA==} + engines: {node: '>=20.19.0'} + + magic-string@0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + engines: {node: '>=12'} + + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + + magicast@0.5.2: + resolution: {integrity: sha512-E3ZJh4J3S9KfwdjZhe2afj6R9lGIN5Pher1pF39UGrXRqq/VDaGVIGN13BjHd2u8B61hArAGOnso7nBOouW3TQ==} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + markdown-table@3.0.4: + resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mdast-util-find-and-replace@3.0.2: + resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + + mdast-util-from-markdown@2.0.3: + resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==} + + mdast-util-gfm-autolink-literal@2.0.1: + resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} + + mdast-util-gfm-footnote@2.1.0: + resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} + + mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + + mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + + mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} + + mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + + mdast-util-to-hast@13.2.1: + resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} + + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} + + mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + + mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + + mdn-data@2.27.1: + resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} + + mdurl@2.0.0: + resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + + memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromark-core-commonmark@2.0.3: + resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} + + micromark-extension-gfm-autolink-literal@2.1.0: + resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} + + micromark-extension-gfm-footnote@2.1.0: + resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} + + micromark-extension-gfm-strikethrough@2.1.0: + resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} + + micromark-extension-gfm-table@2.1.1: + resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} + + micromark-extension-gfm-tagfilter@2.0.0: + resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} + + micromark-extension-gfm-task-list-item@2.1.0: + resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} + + micromark-extension-gfm@3.0.0: + resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} + + micromark-factory-destination@2.0.1: + resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} + + micromark-factory-label@2.0.1: + resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} + + micromark-factory-space@2.0.1: + resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} + + micromark-factory-title@2.0.1: + resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} + + micromark-factory-whitespace@2.0.1: + resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} + + micromark-util-character@2.1.1: + resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} + + micromark-util-chunked@2.0.1: + resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} + + micromark-util-classify-character@2.0.1: + resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} + + micromark-util-combine-extensions@2.0.1: + resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} + + micromark-util-decode-numeric-character-reference@2.0.2: + resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} + + micromark-util-decode-string@2.0.1: + resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} + + micromark-util-encode@2.0.1: + resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} + + micromark-util-html-tag-name@2.0.1: + resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} + + micromark-util-normalize-identifier@2.0.1: + resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} + + micromark-util-resolve-all@2.0.1: + resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} + + micromark-util-sanitize-uri@2.0.1: + resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} + + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} + + micromark-util-symbol@2.0.1: + resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} + + micromark-util-types@2.0.2: + resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} + + micromark@4.0.2: + resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.54.0: + resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} + engines: {node: '>= 0.6'} + + mime-types@3.0.2: + resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==} + engines: {node: '>=18'} + + mime@4.1.0: + resolution: {integrity: sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw==} + engines: {node: '>=16'} + hasBin: true + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + minimatch@10.2.4: + resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} + engines: {node: 18 || 20 || >=22} + + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + + minimatch@5.1.9: + resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} + engines: {node: '>=10'} + + minimatch@9.0.9: + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} + + minisearch@7.2.0: + resolution: {integrity: sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==} + + minizlib@3.1.0: + resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} + engines: {node: '>= 18'} + + mkdist@1.6.0: + resolution: {integrity: sha512-nD7J/mx33Lwm4Q4qoPgRBVA9JQNKgyE7fLo5vdPWVDdjz96pXglGERp/fRnGPCTB37Kykfxs5bDdXa9BWOT9nw==} + hasBin: true + peerDependencies: + sass: ^1.78.0 + typescript: '>=5.5.4' + vue-tsc: ^1.8.27 || ^2.0.21 + peerDependenciesMeta: + sass: + optional: true + typescript: + optional: true + vue-tsc: + optional: true + + mlly@1.8.2: + resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==} + + mocked-exports@0.1.1: + resolution: {integrity: sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA==} + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + muggle-string@0.2.2: + resolution: {integrity: sha512-YVE1mIJ4VpUMqZObFndk9CJu6DBJR/GB13p3tXuNbwD4XExaI5EOuRl6BHeIDxIqXZVxSfAC+y6U1Z/IxCfKUg==} + + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + nanoid@4.0.2: + resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==} + engines: {node: ^14 || ^16 || >=18} + hasBin: true + + nanotar@0.3.0: + resolution: {integrity: sha512-Kv2JYYiCzt16Kt5QwAc9BFG89xfPNBx+oQL4GQXD9nLqPkZBiNaqaCWtwnbk/q7UVsTYevvM1b0UF8zmEI4pCg==} + + nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + + nitropack@2.13.2: + resolution: {integrity: sha512-R5TMzSBoTDG4gi6Y+pvvyCNnooShHePHsHxMLP9EXDGdrlR5RvNdSd4e5k8z0/EzP9Ske7ABRMDWg6O7Dm2OYw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + xml2js: ^0.6.2 + peerDependenciesMeta: + xml2js: + optional: true + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + + node-emoji@2.2.0: + resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} + engines: {node: '>=18'} + + node-fetch-native@1.6.7: + resolution: {integrity: sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-forge@1.4.0: + resolution: {integrity: sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==} + engines: {node: '>= 6.13.0'} + + node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} + hasBin: true + + node-mock-http@1.0.4: + resolution: {integrity: sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==} + + node-releases@2.0.36: + resolution: {integrity: sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==} + + nodemon@2.0.22: + resolution: {integrity: sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==} + engines: {node: '>=8.10.0'} + hasBin: true + + nopt@8.1.0: + resolution: {integrity: sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==} + engines: {node: ^18.17.0 || >=20.5.0} + hasBin: true + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-all@4.1.5: + resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} + engines: {node: '>= 4'} + hasBin: true + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + nuxt-component-meta@0.9.0: + resolution: {integrity: sha512-Zmuw/PxAeJkIu7EPZEFg0lIwnfpeiDsHog9i1g5d4Z3O5+00R1Vbuk+NC6K7kgpdLsdU2/XBvzc7oQ6BsXuQPg==} + hasBin: true + + nuxt-config-schema@0.4.7: + resolution: {integrity: sha512-6OOGmjQihOXjG5kvXAGoMQ83wEdTZLxpiQFswIxkWU+vUDajHM07mR2cGDhZQSbDMgL3icKrYmOH47akpGu/eA==} + + nuxt-icon@0.3.3: + resolution: {integrity: sha512-KdhJAigBGTP8/YIFZ3orwetk40AgLq6VQ5HRYuDLmv5hiDptor9Ro+WIdZggHw7nciRxZvDdQkEwi9B5G/jrkQ==} + + nuxt@3.21.2: + resolution: {integrity: sha512-XzZFj2KMK16zE0TfrGpjvgc378wZWvDzIpunHOHOT0Jj8zbV5qT1uQKaJb+fAHv6lf1A4nOMMWHrTmjAK4u0Zg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@parcel/watcher': ^2.1.0 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + peerDependenciesMeta: + '@parcel/watcher': + optional: true + '@types/node': + optional: true + + nypm@0.6.5: + resolution: {integrity: sha512-K6AJy1GMVyfyMXRVB88700BJqNUkByijGJM8kEHpLdcAt+vSQAVfkWWHYzuRXHSY6xA2sNc5RjTj0p9rE2izVQ==} + engines: {node: '>=18'} + hasBin: true + + object-inspect@1.13.4: + resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} + engines: {node: '>= 0.4'} + + object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.7: + resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} + engines: {node: '>= 0.4'} + + obug@2.1.1: + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} + + ofetch@1.5.1: + resolution: {integrity: sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==} + + ofetch@2.0.0-alpha.3: + resolution: {integrity: sha512-zpYTCs2byOuft65vI3z43Dd6iSdFbOZZLb9/d21aCpx2rGastVU9dOCv0lu4ykc1Ur1anAYjDi3SUvR0vq50JA==} + + ohash@1.1.6: + resolution: {integrity: sha512-TBu7PtV8YkAZn0tSxobKY2n2aAQva936lhRrj6957aDaCf9IEtqsKbgMzXE/F/sjqYOwmrukeORHNLe5glk7Cg==} + + ohash@2.0.11: + resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} + + on-change@6.0.2: + resolution: {integrity: sha512-08+12qcOVEA0fS9g/VxKS27HaT94nRutUT77J2dr8zv/unzXopvhBuF8tNLWsoLQ5IgrQ6eptGeGqUYat82U1w==} + engines: {node: '>=20'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + oniguruma-to-es@2.3.0: + resolution: {integrity: sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==} + + open@10.2.0: + resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} + engines: {node: '>=18'} + + open@11.0.0: + resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==} + engines: {node: '>=20'} + + outdent@0.5.0: + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + + own-keys@1.0.1: + resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} + engines: {node: '>= 0.4'} + + oxc-minify@0.117.0: + resolution: {integrity: sha512-JHsv/b+bmBJkAzkHXgTN7RThloVxLHPT0ojHfjqxVeHuQB7LPpLUbJ2qfwz37sto9stZ9+AVwUP4b3gtR7p/Tw==} + engines: {node: ^20.19.0 || >=22.12.0} + + oxc-parser@0.117.0: + resolution: {integrity: sha512-l3cbgK5wUvWDVNWM/JFU77qDdGZK1wudnLsFcrRyNo/bL1CyU8pC25vDhMHikVY29lbK2InTWsX42RxVSutUdQ==} + engines: {node: ^20.19.0 || >=22.12.0} + + oxc-transform@0.117.0: + resolution: {integrity: sha512-u1Stl2uhDh9bFuOGjGXQIqx46IRUNMyHQkq59LayXNGS2flNv7RpZpRSWs5S5deuNP6jJZ12gtMBze+m4dOhmw==} + engines: {node: ^20.19.0 || >=22.12.0} + + oxc-walker@0.7.0: + resolution: {integrity: sha512-54B4KUhrzbzc4sKvKwVYm7E2PgeROpGba0/2nlNZMqfDyca+yOor5IMb4WLGBatGDT0nkzYdYuzylg7n3YfB7A==} + peerDependencies: + oxc-parser: '>=0.98.0' + + p-filter@2.1.0: + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-map@2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + package-manager-detector@0.2.11: + resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} + + packrup@0.1.2: + resolution: {integrity: sha512-ZcKU7zrr5GlonoS9cxxrb5HVswGnyj6jQvwFBa6p5VFw7G71VAHcUKL5wyZSU/ECtPM/9gacWxy2KFQKt1gMNA==} + + paneer@0.1.0: + resolution: {integrity: sha512-SZfJe/y9fbpeXZU+Kf7cSG2G7rnGP50hUYzCvcWyhp7hYzA3YXGthpkGfv6NSt0oo6QbcRyKwycg/6dpG5p8aw==} + deprecated: Please migrate to https://github.com/unjs/magicast + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parse-entities@4.0.2: + resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} + + parse-git-config@3.0.0: + resolution: {integrity: sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==} + engines: {node: '>=8'} + + parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + + parse-path@7.1.0: + resolution: {integrity: sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw==} + + parse-url@8.1.0: + resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} + + parse5@7.3.0: + resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-case@3.0.4: + resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-is-absolute@1.0.1: + 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'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-scurry@2.0.2: + resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} + engines: {node: 18 || 20 || >=22} + + path-type@3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + + pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + + perfect-debounce@2.1.0: + resolution: {integrity: sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.2: + resolution: {integrity: sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==} + engines: {node: '>=8.6'} + + picomatch@4.0.4: + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + engines: {node: '>=12'} + + pidtree@0.3.1: + resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} + engines: {node: '>=0.10'} + hasBin: true + + pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pinceau@0.18.10: + resolution: {integrity: sha512-F2HdpogoV6/NFnIolT1DhhIX2C2VoHAY11WC+xA6vrTjaLbqGdF+Xqg6kb5VF5/B+hZdguxCJ5jYXbVLTubtoA==} + + pkg-types@1.3.1: + resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + + possible-typed-array-names@1.1.0: + resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} + engines: {node: '>= 0.4'} + + postcss-calc@10.1.1: + resolution: {integrity: sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==} + engines: {node: ^18.12 || ^20.9 || >=22.0} + peerDependencies: + postcss: ^8.4.38 + + postcss-colormin@7.0.6: + resolution: {integrity: sha512-oXM2mdx6IBTRm39797QguYzVEWzbdlFiMNfq88fCCN1Wepw3CYmJ/1/Ifa/KjWo+j5ZURDl2NTldLJIw51IeNQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-convert-values@7.0.9: + resolution: {integrity: sha512-l6uATQATZaCa0bckHV+r6dLXfWtUBKXxO3jK+AtxxJJtgMPD+VhhPCCx51I4/5w8U5uHV67g3w7PXj+V3wlMlg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-custom-properties@13.1.4: + resolution: {integrity: sha512-iSAdaZrM3KMec8cOSzeTUNXPYDlhqsMJHpt62yrjwG6nAnMtRHPk5JdMzGosBJtqEahDolvD5LNbcq+EZ78o5g==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss: ^8.4 + + postcss-dark-theme-class@0.7.3: + resolution: {integrity: sha512-M9vtfh8ORzQsVdT9BWb+xpEDAzC7nHBn7wVc988/JkEVLPupKcUnV0jw7RZ8sSj0ovpqN1POf6PLdt19JCHfhQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-discard-comments@7.0.6: + resolution: {integrity: sha512-Sq+Fzj1Eg5/CPf1ERb0wS1Im5cvE2gDXCE+si4HCn1sf+jpQZxDI4DXEp8t77B/ImzDceWE2ebJQFXdqZ6GRJw==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-discard-duplicates@7.0.2: + resolution: {integrity: sha512-eTonaQvPZ/3i1ASDHOKkYwAybiM45zFIc7KXils4mQmHLqIswXD9XNOKEVxtTFnsmwYzF66u4LMgSr0abDlh5w==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-discard-empty@7.0.1: + resolution: {integrity: sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-discard-overridden@7.0.1: + resolution: {integrity: sha512-7c3MMjjSZ/qYrx3uc1940GSOzN1Iqjtlqe8uoSg+qdVPYyRb0TILSqqmtlSFuE4mTDECwsm397Ya7iXGzfF7lg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-merge-longhand@7.0.5: + resolution: {integrity: sha512-Kpu5v4Ys6QI59FxmxtNB/iHUVDn9Y9sYw66D6+SZoIk4QTz1prC4aYkhIESu+ieG1iylod1f8MILMs1Em3mmIw==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-merge-rules@7.0.8: + resolution: {integrity: sha512-BOR1iAM8jnr7zoQSlpeBmCsWV5Uudi/+5j7k05D0O/WP3+OFMPD86c1j/20xiuRtyt45bhxw/7hnhZNhW2mNFA==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-minify-font-values@7.0.1: + resolution: {integrity: sha512-2m1uiuJeTplll+tq4ENOQSzB8LRnSUChBv7oSyFLsJRtUgAAJGP6LLz0/8lkinTgxrmJSPOEhgY1bMXOQ4ZXhQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-minify-gradients@7.0.1: + resolution: {integrity: sha512-X9JjaysZJwlqNkJbUDgOclyG3jZEpAMOfof6PUZjPnPrePnPG62pS17CjdM32uT1Uq1jFvNSff9l7kNbmMSL2A==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-minify-params@7.0.6: + resolution: {integrity: sha512-YOn02gC68JijlaXVuKvFSCvQOhTpblkcfDre2hb/Aaa58r2BIaK4AtE/cyZf2wV7YKAG+UlP9DT+By0ry1E4VQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-minify-selectors@7.0.6: + resolution: {integrity: sha512-lIbC0jy3AAwDxEgciZlBullDiMBeBCT+fz5G8RcA9MWqh/hfUkpOI3vNDUNEZHgokaoiv0juB9Y8fGcON7rU/A==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-normalize-charset@7.0.1: + resolution: {integrity: sha512-sn413ofhSQHlZFae//m9FTOfkmiZ+YQXsbosqOWRiVQncU2BA3daX3n0VF3cG6rGLSFVc5Di/yns0dFfh8NFgQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-display-values@7.0.1: + resolution: {integrity: sha512-E5nnB26XjSYz/mGITm6JgiDpAbVuAkzXwLzRZtts19jHDUBFxZ0BkXAehy0uimrOjYJbocby4FVswA/5noOxrQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-positions@7.0.1: + resolution: {integrity: sha512-pB/SzrIP2l50ZIYu+yQZyMNmnAcwyYb9R1fVWPRxm4zcUFCY2ign7rcntGFuMXDdd9L2pPNUgoODDk91PzRZuQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-repeat-style@7.0.1: + resolution: {integrity: sha512-NsSQJ8zj8TIDiF0ig44Byo3Jk9e4gNt9x2VIlJudnQQ5DhWAHJPF4Tr1ITwyHio2BUi/I6Iv0HRO7beHYOloYQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-string@7.0.1: + resolution: {integrity: sha512-QByrI7hAhsoze992kpbMlJSbZ8FuCEc1OT9EFbZ6HldXNpsdpZr+YXC5di3UEv0+jeZlHbZcoCADgb7a+lPmmQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-timing-functions@7.0.1: + resolution: {integrity: sha512-bHifyuuSNdKKsnNJ0s8fmfLMlvsQwYVxIoUBnowIVl2ZAdrkYQNGVB4RxjfpvkMjipqvbz0u7feBZybkl/6NJg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-unicode@7.0.6: + resolution: {integrity: sha512-z6bwTV84YW6ZvvNoaNLuzRW4/uWxDKYI1iIDrzk6D2YTL7hICApy+Q1LP6vBEsljX8FM7YSuV9qI79XESd4ddQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-url@7.0.1: + resolution: {integrity: sha512-sUcD2cWtyK1AOL/82Fwy1aIVm/wwj5SdZkgZ3QiUzSzQQofrbq15jWJ3BA7Z+yVRwamCjJgZJN0I9IS7c6tgeQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-normalize-whitespace@7.0.1: + resolution: {integrity: sha512-vsbgFHMFQrJBJKrUFJNZ2pgBeBkC2IvvoHjz1to0/0Xk7sII24T0qFOiJzG6Fu3zJoq/0yI4rKWi7WhApW+EFA==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-ordered-values@7.0.2: + resolution: {integrity: sha512-AMJjt1ECBffF7CEON/Y0rekRLS6KsePU6PRP08UqYW4UGFRnTXNrByUzYK1h8AC7UWTZdQ9O3Oq9kFIhm0SFEw==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-reduce-initial@7.0.6: + resolution: {integrity: sha512-G6ZyK68AmrPdMB6wyeA37ejnnRG2S8xinJrZJnOv+IaRKf6koPAVbQsiC7MfkmXaGmF1UO+QCijb27wfpxuRNg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-reduce-transforms@7.0.1: + resolution: {integrity: sha512-MhyEbfrm+Mlp/36hvZ9mT9DaO7dbncU0CvWI8V93LRkY6IYlu38OPg3FObnuKTUxJ4qA8HpurdQOo5CyqqO76g==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-selector-parser@7.1.1: + resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} + engines: {node: '>=4'} + + postcss-svgo@7.1.1: + resolution: {integrity: sha512-zU9H9oEDrUFKa0JB7w+IYL7Qs9ey1mZyjhbf0KLxwJDdDRtoPvCmaEfknzqfHj44QS9VD6c5sJnBAVYTLRg/Sg==} + engines: {node: ^18.12.0 || ^20.9.0 || >= 18} + peerDependencies: + postcss: ^8.4.32 + + postcss-unique-selectors@7.0.5: + resolution: {integrity: sha512-3QoYmEt4qg/rUWDn6Tc8+ZVPmbp4G1hXDtCNWDx0st8SjtCbRcxRXDDM1QrEiXGG3A45zscSJFb4QH90LViyxg==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@8.5.8: + resolution: {integrity: sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==} + engines: {node: ^10 || ^12 || >=14} + + powershell-utils@0.1.0: + resolution: {integrity: sha512-dM0jVuXJPsDN6DvRpea484tCUaMiXWjuCn++HGTqUWzGDjv5tZkEZldAJ/UMlqRYGFrD/etByo4/xOuC/snX2A==} + engines: {node: '>=20'} + + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + + pretty-bytes@6.1.1: + resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} + engines: {node: ^14.13.1 || >=16.0.0} + + pretty-bytes@7.1.0: + resolution: {integrity: sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==} + engines: {node: '>=20'} + + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + property-information@6.5.0: + resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + + property-information@7.1.0: + resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} + + protocols@2.0.2: + resolution: {integrity: sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ==} + + pstree.remy@1.1.8: + resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} + + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + radix3@1.1.2: + resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + rc9@2.1.2: + resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + + rc9@3.0.0: + resolution: {integrity: sha512-MGOue0VqscKWQ104udASX/3GYDcKyPI4j4F8gu/jHHzglpmy9a/anZK3PNe8ug6aZFl+9GxLtdhe3kVZuMaQbA==} + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + read-pkg@3.0.0: + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} + + read-yaml-file@1.1.0: + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@4.7.0: + resolution: {integrity: sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + + 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'} + + readdirp@5.0.0: + resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} + engines: {node: '>= 20.19.0'} + + recast@0.22.0: + resolution: {integrity: sha512-5AAx+mujtXijsEavc5lWXBPQqrM4+Dl5qNH96N2aNeuJFUzpiiToKPsxQD/zAIJHspz7zz0maX0PCtCTFVlixQ==} + engines: {node: '>= 4'} + + redis-errors@1.2.0: + resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} + engines: {node: '>=4'} + + redis-parser@3.0.0: + resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} + engines: {node: '>=4'} + + reflect.getprototypeof@1.0.10: + resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} + engines: {node: '>= 0.4'} + + regex-recursion@5.1.1: + resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} + + regex-utilities@2.3.0: + resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} + + regex@5.1.1: + resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} + + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + + regexp.prototype.flags@1.5.4: + resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} + engines: {node: '>= 0.4'} + + rehype-external-links@3.0.0: + resolution: {integrity: sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==} + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + rehype-slug@6.0.0: + resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==} + + rehype-sort-attribute-values@5.0.1: + resolution: {integrity: sha512-lU3ABJO5frbUgV132YS6SL7EISf//irIm9KFMaeu5ixHfgWf6jhe+09Uf/Ef8pOYUJWKOaQJDRJGCXs6cNsdsQ==} + + rehype-sort-attributes@5.0.1: + resolution: {integrity: sha512-Bxo+AKUIELcnnAZwJDt5zUDDRpt4uzhfz9d0PVGhcxYWsbFj5Cv35xuWxu5r1LeYNFNhgGqsr9Q2QiIOM/Qctg==} + + remark-emoji@5.0.2: + resolution: {integrity: sha512-IyIqGELcyK5AVdLFafoiNww+Eaw/F+rGrNSXoKucjo95uL267zrddgxGM83GN1wFIb68pyDuAsY3m5t2Cav1pQ==} + engines: {node: '>=18'} + + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} + + remark-mdc@3.10.0: + resolution: {integrity: sha512-gJhrSs4bGyqr7eSuLoaLlpmiDZrJ9fP/8gTA/w1CnKnW/mfxc9VKM+ndzpOxHQnpAU4tjD8QqF6SMLiOvIVTYA==} + + remark-parse@11.0.0: + resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} + + remark-rehype@11.1.2: + resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==} + + remark-stringify@11.0.0: + resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} + engines: {node: '>= 0.4'} + hasBin: true + + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rollup-plugin-dts@5.3.1: + resolution: {integrity: sha512-gusMi+Z4gY/JaEQeXnB0RUdU82h1kF0WYzCWgVmV4p3hWXqelaKuCvcJawfeg+EKn2T1Ie+YWF2OiN1/L8bTVg==} + engines: {node: '>=v14.21.3'} + peerDependencies: + rollup: ^3.0 + typescript: ^4.1 || ^5.0 + + rollup-plugin-visualizer@7.0.1: + resolution: {integrity: sha512-UJUT4+1Ho4OcWmPYU3sYXgUqI8B8Ayfe06MX7y0qCJ1K8aGoKtR/NDd/2nZqM7ADkrzny+I99Ul7GgyoiVNAgg==} + engines: {node: '>=22'} + hasBin: true + peerDependencies: + rolldown: 1.x || ^1.0.0-beta || ^1.0.0-rc + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rolldown: + optional: true + rollup: + optional: true + + rollup@3.30.0: + resolution: {integrity: sha512-kQvGasUgN+AlWGliFn2POSajRQEsULVYFGTvOZmK06d7vCD+YhZztt70kGk3qaeAXeWYL5eO7zx+rAubBc55eA==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + + rollup@4.60.0: + resolution: {integrity: sha512-yqjxruMGBQJ2gG4HtjZtAfXArHomazDHoFwFFmZZl0r7Pdo7qCIXKqKHZc8yeoMgzJJ+pO6pEEHa+V7uzWlrAQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + rou3@0.8.1: + resolution: {integrity: sha512-ePa+XGk00/3HuCqrEnK3LxJW7I0SdNg6EFzKUJG73hMAdDcOUC/i/aSz7LSDwLrGr33kal/rqOGydzwl6U7zBA==} + + run-applescript@7.1.0: + resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} + engines: {node: '>=18'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-array-concat@1.1.3: + resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-push-apply@1.0.0: + resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} + engines: {node: '>= 0.4'} + + safe-regex-test@1.1.0: + resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} + engines: {node: '>= 0.4'} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sax@1.6.0: + resolution: {integrity: sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==} + engines: {node: '>=11.0.0'} + + scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.0.0: + resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} + hasBin: true + + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} + engines: {node: '>=10'} + hasBin: true + + send@1.2.1: + resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} + engines: {node: '>= 18'} + + sentence-case@3.0.4: + resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} + + serialize-javascript@7.0.5: + resolution: {integrity: sha512-F4LcB0UqUl1zErq+1nYEEzSHJnIwb3AF2XWB94b+afhrekOUijwooAYqFyRbjYkm2PAKBabx6oYv/xDxNi8IBw==} + engines: {node: '>=20.0.0'} + + seroval@1.5.1: + resolution: {integrity: sha512-OwrZRZAfhHww0WEnKHDY8OM0U/Qs8OTfIDWhUD4BLpNJUfXK4cGmjiagGze086m+mhI+V2nD0gfbHEnJjb9STA==} + engines: {node: '>=10'} + + serve-placeholder@2.0.2: + resolution: {integrity: sha512-/TMG8SboeiQbZJWRlfTCqMs2DD3SZgWp0kDQePz9yUuCnDfDh/92gf7/PxGhzXTKBIPASIHxFcZndoNbp6QOLQ==} + + serve-static@2.2.1: + resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} + engines: {node: '>= 18'} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-proto@1.0.0: + resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} + engines: {node: '>= 0.4'} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + 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'} + + shell-quote@1.8.3: + resolution: {integrity: sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==} + engines: {node: '>= 0.4'} + + shiki@1.29.2: + resolution: {integrity: sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==} + + side-channel-list@1.0.0: + resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + engines: {node: '>= 0.4'} + + side-channel-map@1.0.1: + resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} + engines: {node: '>= 0.4'} + + side-channel-weakmap@1.0.2: + resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} + engines: {node: '>= 0.4'} + + side-channel@1.1.0: + resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} + engines: {node: '>= 0.4'} + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-git@3.33.0: + resolution: {integrity: sha512-D4V/tGC2sjsoNhoMybKyGoE+v8A60hRawKQ1iFRA1zwuDgGZCBJ4ByOzZ5J8joBbi4Oam0qiPH+GhzmSBwbJng==} + + simple-update-notifier@1.1.0: + resolution: {integrity: sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==} + engines: {node: '>=8.10.0'} + + sirv@3.0.2: + resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} + engines: {node: '>=18'} + + 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'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + slash@5.1.0: + resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} + engines: {node: '>=14.16'} + + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + slugify@1.6.8: + resolution: {integrity: sha512-HVk9X1E0gz3mSpoi60h/saazLKXKaZThMLU3u/aNwoYn8/xQyX2MGxL0ui2eaokkD7tF+Zo+cKTHUbe1mmmGzA==} + engines: {node: '>=8.0.0'} + + smob@1.6.1: + resolution: {integrity: sha512-KAkBqZl3c2GvNgNhcoyJae1aKldDW0LO279wF9bk1PnluRTETKBq0WyzRXxEhoQLk56yHaOY4JCBEKDuJIET5g==} + engines: {node: '>=20.0.0'} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + socket.io-client@4.8.3: + resolution: {integrity: sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g==} + engines: {node: '>=10.0.0'} + + socket.io-parser@4.2.6: + resolution: {integrity: sha512-asJqbVBDsBCJx0pTqw3WfesSY0iRX+2xzWEWzrpcH7L6fLzrhyF8WPI8UaeM4YCuDfpwA/cgsdugMsmtz8EJeg==} + engines: {node: '>=10.0.0'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + spawndamnit@3.0.1: + resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.23: + resolution: {integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + srvx@0.11.13: + resolution: {integrity: sha512-oknN6qduuMPafxKtHucUeG32Q963pjriA5g3/Bl05cwEsUe5VVbIU4qR9LrALHbipSCyBe+VmfDGGydqazDRkw==} + engines: {node: '>=20.16.0'} + hasBin: true + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + standard-as-callback@2.1.0: + resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} + + statuses@2.0.2: + resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==} + engines: {node: '>= 0.8'} + + std-env@3.10.0: + resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} + + std-env@4.0.0: + resolution: {integrity: sha512-zUMPtQ/HBY3/50VbpkupYHbRroTRZJPRLvreamgErJVys0ceuzMkD44J/QjqhHjOzK42GQ3QZIeFG1OYfOtKqQ==} + + stop-iteration-iterator@1.1.0: + resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} + engines: {node: '>= 0.4'} + + streamx@2.25.0: + resolution: {integrity: sha512-0nQuG6jf1w+wddNEEXCF4nTg3LtufWINB5eFEN+5TNZW7KWJp6x87+JFL43vaAUPyCfH1wID+mNVyW6OHtFamg==} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + + string.prototype.padend@3.1.6: + resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} + engines: {node: '>= 0.4'} + + string.prototype.trim@1.2.10: + resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.9: + resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + 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==} + + stringify-entities@4.0.4: + resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + + strip-literal@3.1.0: + resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==} + + structured-clone-es@2.0.0: + resolution: {integrity: sha512-5UuAHmBLXYPCl22xWJrFuGmIhBKQzxISPVz6E7nmTmTcAOpUzlbjKJsRrCE4vADmMQ0dzeCnlWn9XufnAGf76Q==} + + style-dictionary-esm@1.9.2: + resolution: {integrity: sha512-MR+ppTqzkJJtXH6UyDJ0h4h4ekBCePA8A8xlYNuL0tLj2K+ngyuxoe0AvCHQ7sJVX8O5WK2z32ANSgIcF4mGxw==} + hasBin: true + + stylehacks@7.0.8: + resolution: {integrity: sha512-I3f053GBLIiS5Fg6OMFhq/c+yW+5Hc2+1fgq7gElDMMSqwlRb3tBf2ef6ucLStYRpId4q//bQO1FjcyNyy4yDQ==} + engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} + peerDependencies: + postcss: ^8.4.32 + + supports-color@10.2.2: + resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} + engines: {node: '>=18'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svgo@4.0.1: + resolution: {integrity: sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==} + engines: {node: '>=16'} + hasBin: true + + system-architecture@0.1.0: + resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} + engines: {node: '>=18'} + + tabbable@6.4.0: + resolution: {integrity: sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==} + + tagged-tag@1.0.0: + resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} + engines: {node: '>=20'} + + tapable@2.3.2: + resolution: {integrity: sha512-1MOpMXuhGzGL5TTCZFItxCc0AARf1EZFQkGqMm7ERKj8+Hgr5oLvJOVFcC+lRmR8hCe2S3jC4T5D7Vg/d7/fhA==} + engines: {node: '>=6'} + + tar-stream@3.1.8: + resolution: {integrity: sha512-U6QpVRyCGHva435KoNWy9PRoi2IFYCgtEhq9nmrPPpbRacPs9IH4aJ3gbrFC8dPcXvdSZ4XXfXT5Fshbp2MtlQ==} + + tar@7.5.13: + resolution: {integrity: sha512-tOG/7GyXpFevhXVh8jOPJrmtRpOTsYqUIkVdVooZYJS/z8WhfQUX8RJILmeuJNinGAMSu1veBr4asSHFt5/hng==} + engines: {node: '>=18'} + + teex@1.0.1: + resolution: {integrity: sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==} + + term-size@2.2.1: + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} + + terser@5.46.1: + resolution: {integrity: sha512-vzCjQO/rgUuK9sf8VJZvjqiqiHFaZLnOiimmUuOKODxWL8mm/xua7viT7aqX7dgPY60otQjUotzFMmCB4VdmqQ==} + engines: {node: '>=10'} + hasBin: true + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-decoder@1.2.7: + resolution: {integrity: sha512-vlLytXkeP4xvEq2otHeJfSQIRyWxo/oZGEbXrtEEF9Hnmrdly59sUbzZ/QgyWuLYHctCHxFF4tRQZNQ9k60ExQ==} + + tiny-invariant@1.3.3: + resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} + + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + + tinyclip@0.1.12: + resolution: {integrity: sha512-Ae3OVUqifDw0wBriIBS7yVaW44Dp6eSHQcyq4Igc7eN2TJH/2YsicswaW+J/OuMvhpDPOKEgpAZCjkb4hpoyeA==} + engines: {node: ^16.14.0 || >= 17.3.0} + + tinycolor2@1.6.0: + resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} + + tinyexec@1.0.4: + resolution: {integrity: sha512-u9r3uZC0bdpGOXtlxUIdwf9pkmvhqJdrVCH9fapQtgy/OeTTMZ1nqH7agtvEfmGui6e1XxjcdrlxvxJvc3sMqw==} + engines: {node: '>=18'} + + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + + tinypool@0.4.0: + resolution: {integrity: sha512-2ksntHOKf893wSAH4z/+JbPpi92esw8Gn9N2deXX+B0EO92hexAVI9GIZZPx7P5aYo5KULfeOSt3kMOmSOy6uA==} + engines: {node: '>=14.0.0'} + + tinyspy@1.1.1: + resolution: {integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==} + engines: {node: '>=14.0.0'} + + tmp@0.2.5: + resolution: {integrity: sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==} + engines: {node: '>=14.14'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + touch@3.1.1: + resolution: {integrity: sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==} + hasBin: true + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trough@2.2.0: + resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + tsx@4.21.0: + resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==} + engines: {node: '>=18.0.0'} + hasBin: true + + type-detect@4.1.0: + resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} + engines: {node: '>=4'} + + type-fest@5.5.0: + resolution: {integrity: sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==} + engines: {node: '>=20'} + + type-level-regexp@0.1.17: + resolution: {integrity: sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg==} + + typed-array-buffer@1.0.3: + resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.3: + resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.4: + resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.7: + resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} + engines: {node: '>= 0.4'} + + typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.6.3: + resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} + + ultrahtml@1.6.0: + resolution: {integrity: sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==} + + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} + + unbuild@1.2.1: + resolution: {integrity: sha512-J4efk69Aye43tWcBPCsLK7TIRppGrEN4pAlDzRKo3HSE6MgTSTBxSEuE3ccx7ixc62JvGQ/CoFXYqqF2AHozow==} + hasBin: true + + uncrypto@0.1.3: + resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + + unctx@2.5.0: + resolution: {integrity: sha512-p+Rz9x0R7X+CYDkT+Xg8/GhpcShTlU8n+cf9OtOEf7zEQsNcCZO1dPKNRDqvUTaq+P32PMMkxWHwfrxkqfqAYg==} + + undefsafe@2.0.5: + resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + unenv@2.0.0-rc.24: + resolution: {integrity: sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==} + + unhead@1.11.20: + resolution: {integrity: sha512-3AsNQC0pjwlLqEYHLjtichGWankK8yqmocReITecmpB1H0aOabeESueyy+8X1gyJx4ftZVwo9hqQ4O3fPWffCA==} + + unhead@2.1.12: + resolution: {integrity: sha512-iTHdWD9ztTunOErtfUFk6Wr11BxvzumcYJ0CzaSCBUOEtg+DUZ9+gnE99i8QkLFT2q1rZD48BYYGXpOZVDLYkA==} + + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + + unicorn-magic@0.4.0: + resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} + engines: {node: '>=20'} + + unified@11.0.5: + resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} + + unimport@6.0.2: + resolution: {integrity: sha512-ZSOkrDw380w+KIPniY3smyXh2h7H9v2MNr9zejDuh239o5sdea44DRAYrv+rfUi2QGT186P2h0GPGKvy8avQ5g==} + engines: {node: '>=18.12.0'} + + unist-builder@4.0.0: + resolution: {integrity: sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg==} + + unist-util-is@6.0.1: + resolution: {integrity: sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@6.0.2: + resolution: {integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==} + + unist-util-visit@5.1.0: + resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unplugin-utils@0.3.1: + resolution: {integrity: sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==} + engines: {node: '>=20.19.0'} + + unplugin-vue-router@0.19.2: + resolution: {integrity: sha512-u5dgLBarxE5cyDK/hzJGfpCTLIAyiTXGlo85COuD4Nssj6G7NxS+i9mhCWz/1p/ud1eMwdcUbTXehQe41jYZUA==} + deprecated: 'Merged into vuejs/router. Migrate: https://router.vuejs.org/guide/migration/v4-to-v5.html' + peerDependencies: + '@vue/compiler-sfc': ^3.5.17 + vue-router: ^4.6.0 + peerDependenciesMeta: + vue-router: + optional: true + + unplugin@1.16.1: + resolution: {integrity: sha512-4/u/j4FrCKdi17jaxuJA0jClGxB1AvU2hw/IuayPc4ay1XGaJs/rbb4v5WKwAjNifjmXK9PIFyuPiaK8azyR9w==} + engines: {node: '>=14.0.0'} + + unplugin@2.3.11: + resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==} + engines: {node: '>=18.12.0'} + + unplugin@3.0.0: + resolution: {integrity: sha512-0Mqk3AT2TZCXWKdcoaufeXNukv2mTrEZExeXlHIOZXdqYoHHr4n51pymnwV8x2BOVxwXbK2HLlI7usrqMpycdg==} + engines: {node: ^20.19.0 || >=22.12.0} + + unstorage@1.17.5: + resolution: {integrity: sha512-0i3iqvRfx29hkNntHyQvJTpf5W9dQ9ZadSoRU8+xVlhVtT7jAX57fazYO9EHvcRCfBCyi5YRya7XCDOsbTgkPg==} + peerDependencies: + '@azure/app-configuration': ^1.8.0 + '@azure/cosmos': ^4.2.0 + '@azure/data-tables': ^13.3.0 + '@azure/identity': ^4.6.0 + '@azure/keyvault-secrets': ^4.9.0 + '@azure/storage-blob': ^12.26.0 + '@capacitor/preferences': ^6 || ^7 || ^8 + '@deno/kv': '>=0.9.0' + '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0 + '@planetscale/database': ^1.19.0 + '@upstash/redis': ^1.34.3 + '@vercel/blob': '>=0.27.1' + '@vercel/functions': ^2.2.12 || ^3.0.0 + '@vercel/kv': ^1 || ^2 || ^3 + aws4fetch: ^1.0.20 + db0: '>=0.2.1' + idb-keyval: ^6.2.1 + ioredis: ^5.4.2 + uploadthing: ^7.4.4 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@deno/kv': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/blob': + optional: true + '@vercel/functions': + optional: true + '@vercel/kv': + optional: true + aws4fetch: + optional: true + db0: + optional: true + idb-keyval: + optional: true + ioredis: + optional: true + uploadthing: + optional: true + + untun@0.1.3: + resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} + hasBin: true + + untyped@1.5.2: + resolution: {integrity: sha512-eL/8PlhLcMmlMDtNPKhyyz9kEBDS3Uk4yMu/ewlkT2WFbtzScjHWPJLdQLmaGPUKjXzwe9MumOtOgc4Fro96Kg==} + hasBin: true + + untyped@2.0.0: + resolution: {integrity: sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==} + hasBin: true + + unwasm@0.3.11: + resolution: {integrity: sha512-Vhp5gb1tusSQw5of/g3Q697srYgMXvwMgXMjcG4ZNga02fDX9coxJ9fAb0Ci38hM2Hv/U1FXRPGgjP2BYqhNoQ==} + + unwasm@0.5.3: + resolution: {integrity: sha512-keBgTSfp3r6+s9ZcSma+0chwxQdmLbB5+dAD9vjtB21UTMYuKAxHXCU1K2CbCtnP09EaWeRvACnXk0EJtUx+hw==} + + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + upper-case-first@2.0.2: + resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} + + upper-case@2.0.2: + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + + uqr@0.1.2: + resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} + engines: {node: '>=10.12.0'} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + vfile-location@5.0.3: + resolution: {integrity: sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==} + + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} + + vfile@6.0.3: + resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} + + vite-dev-rpc@1.1.0: + resolution: {integrity: sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0 + + vite-hot-client@2.1.0: + resolution: {integrity: sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==} + peerDependencies: + vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0 + + vite-node@0.29.8: + resolution: {integrity: sha512-b6OtCXfk65L6SElVM20q5G546yu10/kNrhg08afEoWlFRJXFq9/6glsvSVY+aI6YeC1tu2TtAqI2jHEQmOmsFw==} + engines: {node: '>=v14.16.0'} + hasBin: true + + vite-node@5.3.0: + resolution: {integrity: sha512-8f20COPYJujc3OKPX6OuyBy3ZIv2det4eRRU4GY1y2MjbeGSUmPjedxg1b72KnTagCofwvZ65ThzjxDW2AtQFQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + vite-plugin-checker@0.12.0: + resolution: {integrity: sha512-CmdZdDOGss7kdQwv73UyVgLPv0FVYe5czAgnmRX2oKljgEvSrODGuClaV3PDR2+3ou7N/OKGauDDBjy2MB07Rg==} + engines: {node: '>=16.11'} + peerDependencies: + '@biomejs/biome': '>=1.7' + eslint: '>=9.39.1' + meow: ^13.2.0 + optionator: ^0.9.4 + oxlint: '>=1' + stylelint: '>=16' + typescript: '*' + vite: '>=5.4.21' + vls: '*' + vti: '*' + vue-tsc: ~2.2.10 || ^3.0.0 + peerDependenciesMeta: + '@biomejs/biome': + optional: true + eslint: + optional: true + meow: + optional: true + optionator: + optional: true + oxlint: + optional: true + stylelint: + optional: true + typescript: + optional: true + vls: + optional: true + vti: + optional: true + vue-tsc: + optional: true + + vite-plugin-inspect@11.3.3: + resolution: {integrity: sha512-u2eV5La99oHoYPHE6UvbwgEqKKOQGz86wMg40CCosP6q8BkB6e5xPneZfYagK4ojPJSj5anHCrnvC20DpwVdRA==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': '*' + vite: ^6.0.0 || ^7.0.0-0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + + vite-plugin-vue-tracer@1.3.0: + resolution: {integrity: sha512-Cgfce6VikzOw5MUJTpeg50s5rRjzU1Vr61ZjuHunVVHLjZZ5AUlgyExHthZ3r59vtoz9W2rDt23FYG81avYBKw==} + peerDependencies: + vite: ^6.0.0 || ^7.0.0 + vue: ^3.5.0 + + vite@4.5.14: + resolution: {integrity: sha512-+v57oAaoYNnO3hIu5Z/tJRZjq5aHM2zDve9YZ8HngVHbhk66RStobhb1sqPMIPEleV6cNKYK4eGrAbE9Ulbl2g==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vite@7.3.1: + resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + jiti: '>=1.21.0' + less: ^4.0.0 + lightningcss: ^1.21.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + vitest@0.29.8: + resolution: {integrity: sha512-JIAVi2GK5cvA6awGpH0HvH/gEG9PZ0a/WoxdiV3PmqK+3CjQMf8c+J/Vhv4mdZ2nRyXFw66sAg6qz7VNkaHfDQ==} + engines: {node: '>=v14.16.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + playwright: '*' + safaridriver: '*' + webdriverio: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + playwright: + optional: true + safaridriver: + optional: true + webdriverio: + optional: true + + vscode-uri@3.1.0: + resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} + + vue-bundle-renderer@2.2.0: + resolution: {integrity: sha512-sz/0WEdYH1KfaOm0XaBmRZOWgYTEvUDt6yPYaUzl4E52qzgWLlknaPPTTZmp6benaPTlQAI/hN1x3tAzZygycg==} + + vue-component-meta@2.2.12: + resolution: {integrity: sha512-dQU6/obNSNbennJ1xd+rhDid4g3vQro+9qUBBIg8HMZH2Zs1jTpkFNxuQ3z77bOlU+ew08Qck9sbYkdSePr0Pw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + vue-component-type-helpers@2.2.12: + resolution: {integrity: sha512-YbGqHZ5/eW4SnkPNR44mKVc6ZKQoRs/Rux1sxC6rdwXb4qpbOSYfDr9DsTHolOTGmIKgM9j141mZbBeg05R1pw==} + + vue-demi@0.14.10: + resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + vue-devtools-stub@0.1.0: + resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} + + vue-router@4.6.4: + resolution: {integrity: sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==} + peerDependencies: + vue: ^3.5.0 + + vue-template-compiler@2.7.16: + resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} + + vue@3.5.31: + resolution: {integrity: sha512-iV/sU9SzOlmA/0tygSmjkEN6Jbs3nPoIPFhCMLD2STrjgOU8DX7ZtzMhg4ahVwf5Rp9KoFzcXeB1ZrVbLBp5/Q==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} + engines: {node: '>= 0.4'} + + which-builtin-type@1.2.1: + resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-typed-array@1.1.20: + resolution: {integrity: sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + which@6.0.1: + resolution: {integrity: sha512-oGLe46MIrCRqX7ytPUf66EAYvdeMIZYn3WaocqqKZAxrBpkqHfL/qvTyJ/bTk5+AqHCjXmrv3CEWgy368zhRUg==} + engines: {node: ^20.17.0 || >=22.9.0} + hasBin: true + + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} + engines: {node: '>=8'} + hasBin: true + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrap-ansi@9.0.2: + resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==} + engines: {node: '>=18'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.20.0: + resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + wsl-utils@0.1.0: + resolution: {integrity: sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==} + engines: {node: '>=18'} + + wsl-utils@0.3.1: + resolution: {integrity: sha512-g/eziiSUNBSsdDJtCLB8bdYEUMj4jR7AGeUo96p/3dTafgjHhpF4RiCFPiRILwjQoDXx5MqkBr4fwWtR3Ky4Wg==} + engines: {node: '>=20'} + + xmlhttprequest-ssl@2.1.2: + resolution: {integrity: sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==} + engines: {node: '>=0.4.0'} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@5.0.0: + resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} + engines: {node: '>=18'} + + yaml@2.8.3: + resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==} + engines: {node: '>= 14.6'} + hasBin: true + + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + 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@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + + yargs@18.0.0: + resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=23} + + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-queue@1.2.2: + resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} + engines: {node: '>=12.20'} + + youch-core@0.3.3: + resolution: {integrity: sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==} + + youch@4.1.1: + resolution: {integrity: sha512-mxW3qiSnl+GRxXsaUMzv2Mbada1Y8CDltET9UxejDQe6DBYlSekghl5U5K0ReAikcHDi0G1vKZEmmo/NWAGKLA==} + + zhead@2.2.4: + resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} + + zip-stream@6.0.1: + resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} + engines: {node: '>= 14'} + + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@babel/code-frame@7.29.0': + dependencies: + '@babel/helper-validator-identifier': 7.28.5 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.29.0': {} + + '@babel/core@7.29.0': + dependencies: + '@babel/code-frame': 7.29.0 + '@babel/generator': 7.29.1 + '@babel/helper-compilation-targets': 7.28.6 + '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) + '@babel/helpers': 7.29.2 + '@babel/parser': 7.29.2 + '@babel/template': 7.28.6 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.29.1': + dependencies: + '@babel/parser': 7.29.2 + '@babel/types': 7.29.0 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-annotate-as-pure@7.27.3': + dependencies: + '@babel/types': 7.29.0 + + '@babel/helper-compilation-targets@7.28.6': + dependencies: + '@babel/compat-data': 7.29.0 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.28.1 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/traverse': 7.29.0 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-member-expression-to-functions@7.28.5': + dependencies: + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.28.6': + dependencies: + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-validator-identifier': 7.28.5 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.27.1': + dependencies: + '@babel/types': 7.29.0 + + '@babel/helper-plugin-utils@7.28.6': {} + + '@babel/helper-replace-supers@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-member-expression-to-functions': 7.28.5 + '@babel/helper-optimise-call-expression': 7.27.1 + '@babel/traverse': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.27.1': + dependencies: + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.28.5': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helpers@7.29.2': + dependencies: + '@babel/template': 7.28.6 + '@babel/types': 7.29.0 + + '@babel/parser@7.29.2': + dependencies: + '@babel/types': 7.29.0 + + '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-plugin-utils': 7.28.6 + + '@babel/plugin-transform-typescript@7.28.6(@babel/core@7.29.0)': + dependencies: + '@babel/core': 7.29.0 + '@babel/helper-annotate-as-pure': 7.27.3 + '@babel/helper-create-class-features-plugin': 7.28.6(@babel/core@7.29.0) + '@babel/helper-plugin-utils': 7.28.6 + '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 + '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) + transitivePeerDependencies: + - supports-color + + '@babel/runtime@7.29.2': {} + + '@babel/standalone@7.29.2': {} + + '@babel/template@7.28.6': + dependencies: + '@babel/code-frame': 7.29.0 + '@babel/parser': 7.29.2 + '@babel/types': 7.29.0 + + '@babel/traverse@7.29.0': + dependencies: + '@babel/code-frame': 7.29.0 + '@babel/generator': 7.29.1 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.29.2 + '@babel/template': 7.28.6 + '@babel/types': 7.29.0 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.29.0': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 + + '@bcoe/v8-coverage@0.2.3': {} + + '@bomb.sh/tab@0.0.14(cac@6.7.14)(citty@0.2.1)': + optionalDependencies: + cac: 6.7.14 + citty: 0.2.1 + + '@changesets/apply-release-plan@7.1.0': + dependencies: + '@changesets/config': 3.1.3 + '@changesets/get-version-range-type': 0.4.0 + '@changesets/git': 3.0.4 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + detect-indent: 6.1.0 + fs-extra: 7.0.1 + lodash.startcase: 4.4.0 + outdent: 0.5.0 + prettier: 2.8.8 + resolve-from: 5.0.0 + semver: 7.7.4 + + '@changesets/assemble-release-plan@6.0.9': + dependencies: + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + semver: 7.7.4 + + '@changesets/changelog-git@0.2.1': + dependencies: + '@changesets/types': 6.1.0 + + '@changesets/cli@2.30.0(@types/node@18.19.130)': + dependencies: + '@changesets/apply-release-plan': 7.1.0 + '@changesets/assemble-release-plan': 6.0.9 + '@changesets/changelog-git': 0.2.1 + '@changesets/config': 3.1.3 + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/get-release-plan': 4.0.15 + '@changesets/git': 3.0.4 + '@changesets/logger': 0.1.1 + '@changesets/pre': 2.0.2 + '@changesets/read': 0.6.7 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@changesets/write': 0.4.0 + '@inquirer/external-editor': 1.0.3(@types/node@18.19.130) + '@manypkg/get-packages': 1.1.3 + ansi-colors: 4.1.3 + enquirer: 2.4.1 + fs-extra: 7.0.1 + mri: 1.2.0 + package-manager-detector: 0.2.11 + picocolors: 1.1.1 + resolve-from: 5.0.0 + semver: 7.7.4 + spawndamnit: 3.0.1 + term-size: 2.2.1 + transitivePeerDependencies: + - '@types/node' + + '@changesets/config@3.1.3': + dependencies: + '@changesets/errors': 0.2.0 + '@changesets/get-dependents-graph': 2.1.3 + '@changesets/logger': 0.1.1 + '@changesets/should-skip-package': 0.1.2 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + micromatch: 4.0.8 + + '@changesets/errors@0.2.0': + dependencies: + extendable-error: 0.1.7 + + '@changesets/get-dependents-graph@2.1.3': + dependencies: + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + picocolors: 1.1.1 + semver: 7.7.4 + + '@changesets/get-release-plan@4.0.15': + dependencies: + '@changesets/assemble-release-plan': 6.0.9 + '@changesets/config': 3.1.3 + '@changesets/pre': 2.0.2 + '@changesets/read': 0.6.7 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + + '@changesets/get-version-range-type@0.4.0': {} + + '@changesets/git@3.0.4': + dependencies: + '@changesets/errors': 0.2.0 + '@manypkg/get-packages': 1.1.3 + is-subdir: 1.2.0 + micromatch: 4.0.8 + spawndamnit: 3.0.1 + + '@changesets/logger@0.1.1': + dependencies: + picocolors: 1.1.1 + + '@changesets/parse@0.4.3': + dependencies: + '@changesets/types': 6.1.0 + js-yaml: 4.1.1 + + '@changesets/pre@2.0.2': + dependencies: + '@changesets/errors': 0.2.0 + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + + '@changesets/read@0.6.7': + dependencies: + '@changesets/git': 3.0.4 + '@changesets/logger': 0.1.1 + '@changesets/parse': 0.4.3 + '@changesets/types': 6.1.0 + fs-extra: 7.0.1 + p-filter: 2.1.0 + picocolors: 1.1.1 + + '@changesets/should-skip-package@0.1.2': + dependencies: + '@changesets/types': 6.1.0 + '@manypkg/get-packages': 1.1.3 + + '@changesets/types@4.1.0': {} + + '@changesets/types@6.1.0': {} + + '@changesets/write@0.4.0': + dependencies: + '@changesets/types': 6.1.0 + fs-extra: 7.0.1 + human-id: 4.1.3 + prettier: 2.8.8 + + '@clack/core@1.1.0': + dependencies: + sisteransi: 1.0.5 + + '@clack/prompts@1.1.0': + dependencies: + '@clack/core': 1.1.0 + sisteransi: 1.0.5 + + '@cloudflare/kv-asset-handler@0.4.2': {} + + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + '@csstools/cascade-layer-name-parser@1.0.13(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1)': + dependencies: + '@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1) + '@csstools/css-tokenizer': 2.4.1 + + '@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1)': + dependencies: + '@csstools/css-tokenizer': 2.4.1 + + '@csstools/css-tokenizer@2.4.1': {} + + '@dxup/nuxt@0.4.0(magicast@0.5.2)(typescript@5.3.3)': + dependencies: + '@dxup/unimport': 0.1.2 + '@nuxt/kit': 4.4.2(magicast@0.5.2) + chokidar: 5.0.0 + pathe: 2.0.3 + tinyglobby: 0.2.15 + typescript: 5.3.3 + transitivePeerDependencies: + - magicast + + '@dxup/unimport@0.1.2': {} + + '@emnapi/core@1.9.1': + dependencies: + '@emnapi/wasi-threads': 1.2.0 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.9.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.2.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@esbuild/aix-ppc64@0.24.2': + optional: true + + '@esbuild/aix-ppc64@0.27.4': + optional: true + + '@esbuild/android-arm64@0.17.19': + optional: true + + '@esbuild/android-arm64@0.18.20': + optional: true + + '@esbuild/android-arm64@0.24.2': + optional: true + + '@esbuild/android-arm64@0.27.4': + optional: true + + '@esbuild/android-arm@0.17.19': + optional: true + + '@esbuild/android-arm@0.18.20': + optional: true + + '@esbuild/android-arm@0.24.2': + optional: true + + '@esbuild/android-arm@0.27.4': + optional: true + + '@esbuild/android-x64@0.17.19': + optional: true + + '@esbuild/android-x64@0.18.20': + optional: true + + '@esbuild/android-x64@0.24.2': + optional: true + + '@esbuild/android-x64@0.27.4': + optional: true + + '@esbuild/darwin-arm64@0.17.19': + optional: true + + '@esbuild/darwin-arm64@0.18.20': + optional: true + + '@esbuild/darwin-arm64@0.24.2': + optional: true + + '@esbuild/darwin-arm64@0.27.4': + optional: true + + '@esbuild/darwin-x64@0.17.19': + optional: true + + '@esbuild/darwin-x64@0.18.20': + optional: true + + '@esbuild/darwin-x64@0.24.2': + optional: true + + '@esbuild/darwin-x64@0.27.4': + optional: true + + '@esbuild/freebsd-arm64@0.17.19': + optional: true + + '@esbuild/freebsd-arm64@0.18.20': + optional: true + + '@esbuild/freebsd-arm64@0.24.2': + optional: true + + '@esbuild/freebsd-arm64@0.27.4': + optional: true + + '@esbuild/freebsd-x64@0.17.19': + optional: true + + '@esbuild/freebsd-x64@0.18.20': + optional: true + + '@esbuild/freebsd-x64@0.24.2': + optional: true + + '@esbuild/freebsd-x64@0.27.4': + optional: true + + '@esbuild/linux-arm64@0.17.19': + optional: true + + '@esbuild/linux-arm64@0.18.20': + optional: true + + '@esbuild/linux-arm64@0.24.2': + optional: true + + '@esbuild/linux-arm64@0.27.4': + optional: true + + '@esbuild/linux-arm@0.17.19': + optional: true + + '@esbuild/linux-arm@0.18.20': + optional: true + + '@esbuild/linux-arm@0.24.2': + optional: true + + '@esbuild/linux-arm@0.27.4': + optional: true + + '@esbuild/linux-ia32@0.17.19': + optional: true + + '@esbuild/linux-ia32@0.18.20': + optional: true + + '@esbuild/linux-ia32@0.24.2': + optional: true + + '@esbuild/linux-ia32@0.27.4': + optional: true + + '@esbuild/linux-loong64@0.17.19': + optional: true + + '@esbuild/linux-loong64@0.18.20': + optional: true + + '@esbuild/linux-loong64@0.24.2': + optional: true + + '@esbuild/linux-loong64@0.27.4': + optional: true + + '@esbuild/linux-mips64el@0.17.19': + optional: true + + '@esbuild/linux-mips64el@0.18.20': + optional: true + + '@esbuild/linux-mips64el@0.24.2': + optional: true + + '@esbuild/linux-mips64el@0.27.4': + optional: true + + '@esbuild/linux-ppc64@0.17.19': + optional: true + + '@esbuild/linux-ppc64@0.18.20': + optional: true + + '@esbuild/linux-ppc64@0.24.2': + optional: true + + '@esbuild/linux-ppc64@0.27.4': + optional: true + + '@esbuild/linux-riscv64@0.17.19': + optional: true + + '@esbuild/linux-riscv64@0.18.20': + optional: true + + '@esbuild/linux-riscv64@0.24.2': + optional: true + + '@esbuild/linux-riscv64@0.27.4': + optional: true + + '@esbuild/linux-s390x@0.17.19': + optional: true + + '@esbuild/linux-s390x@0.18.20': + optional: true + + '@esbuild/linux-s390x@0.24.2': + optional: true + + '@esbuild/linux-s390x@0.27.4': + optional: true + + '@esbuild/linux-x64@0.17.19': + optional: true + + '@esbuild/linux-x64@0.18.20': + optional: true + + '@esbuild/linux-x64@0.24.2': + optional: true + + '@esbuild/linux-x64@0.27.4': + optional: true + + '@esbuild/netbsd-arm64@0.24.2': + optional: true + + '@esbuild/netbsd-arm64@0.27.4': + optional: true + + '@esbuild/netbsd-x64@0.17.19': + optional: true + + '@esbuild/netbsd-x64@0.18.20': + optional: true + + '@esbuild/netbsd-x64@0.24.2': + optional: true + + '@esbuild/netbsd-x64@0.27.4': + optional: true + + '@esbuild/openbsd-arm64@0.24.2': + optional: true + + '@esbuild/openbsd-arm64@0.27.4': + optional: true + + '@esbuild/openbsd-x64@0.17.19': + optional: true + + '@esbuild/openbsd-x64@0.18.20': + optional: true + + '@esbuild/openbsd-x64@0.24.2': + optional: true + + '@esbuild/openbsd-x64@0.27.4': + optional: true + + '@esbuild/openharmony-arm64@0.27.4': + optional: true + + '@esbuild/sunos-x64@0.17.19': + optional: true + + '@esbuild/sunos-x64@0.18.20': + optional: true + + '@esbuild/sunos-x64@0.24.2': + optional: true + + '@esbuild/sunos-x64@0.27.4': + optional: true + + '@esbuild/win32-arm64@0.17.19': + optional: true + + '@esbuild/win32-arm64@0.18.20': + optional: true + + '@esbuild/win32-arm64@0.24.2': + optional: true + + '@esbuild/win32-arm64@0.27.4': + optional: true + + '@esbuild/win32-ia32@0.17.19': + optional: true + + '@esbuild/win32-ia32@0.18.20': optional: true - /@esbuild/openbsd-x64@0.16.17: - resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true + '@esbuild/win32-ia32@0.24.2': optional: true - /@esbuild/sunos-x64@0.16.17: - resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true + '@esbuild/win32-ia32@0.27.4': optional: true - /@esbuild/win32-arm64@0.16.17: - resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-x64@0.17.19': optional: true - /@esbuild/win32-ia32@0.16.17: - resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-x64@0.18.20': optional: true - /@esbuild/win32-x64@0.16.17: - resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-x64@0.24.2': optional: true - /@iconify/types@2.0.0: - resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - dev: true + '@esbuild/win32-x64@0.27.4': + optional: true - /@iconify/vue@4.0.2: - resolution: {integrity: sha512-LRp+mYh8N0bcX4lustHtI5o1aEoio9HN3/19uIzVOvI78qopKBjzsDK5hkEZYDSc6+LKG8hfLxTxpW8CejXGZg==} - peerDependencies: - vue: '>=3' + '@iconify/types@2.0.0': {} + + '@iconify/vue@4.3.0(vue@3.5.31(typescript@5.3.3))': dependencies: '@iconify/types': 2.0.0 - dev: true + vue: 3.5.31(typescript@5.3.3) - /@ioredis/commands@1.2.0: - resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} - dev: true + '@inquirer/external-editor@1.0.3(@types/node@18.19.130)': + dependencies: + chardet: 2.1.1 + iconv-lite: 0.7.2 + optionalDependencies: + '@types/node': 18.19.130 - /@istanbuljs/schema@0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true + '@ioredis/commands@1.5.1': {} - /@jridgewell/gen-mapping@0.1.1: - resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} - engines: {node: '>=6.0.0'} + '@isaacs/cliui@8.0.2': dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.2.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 - /@jridgewell/gen-mapping@0.3.2: - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} - engines: {node: '>=6.0.0'} + '@isaacs/fs-minipass@4.0.1': dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.17 - dev: true + minipass: 7.1.3 - /@jridgewell/resolve-uri@3.1.0: - resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} - engines: {node: '>=6.0.0'} - dev: true + '@istanbuljs/schema@0.1.3': {} - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - dev: true + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 - /@jridgewell/source-map@0.3.2: - resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + '@jridgewell/remapping@2.3.5': dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 - dev: true + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 - /@jridgewell/sourcemap-codec@1.4.14: - resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - dev: true + '@jridgewell/resolve-uri@3.1.2': {} - /@jridgewell/trace-mapping@0.3.17: - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + '@jridgewell/source-map@0.3.11': dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 - /@manypkg/find-root@1.1.0: - resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@kwsites/file-exists@1.1.1': + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@kwsites/promise-deferred@1.1.1': {} + + '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.29.2 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 - dev: false - /@manypkg/get-packages@1.1.3: - resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.20.13 + '@babel/runtime': 7.29.2 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 globby: 11.1.0 read-yaml-file: 1.1.0 - dev: false - /@mapbox/node-pre-gyp@1.0.10: - resolution: {integrity: sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==} - hasBin: true + '@mapbox/node-pre-gyp@2.0.3': dependencies: - detect-libc: 2.0.1 - https-proxy-agent: 5.0.1 - make-dir: 3.1.0 - node-fetch: 2.6.7 - nopt: 5.0.0 - npmlog: 5.0.1 - rimraf: 3.0.2 - semver: 7.3.8 - tar: 6.1.13 + consola: 3.4.2 + detect-libc: 2.1.2 + https-proxy-agent: 7.0.6 + node-fetch: 2.7.0 + nopt: 8.1.0 + semver: 7.7.4 + tar: 7.5.13 transitivePeerDependencies: - encoding - supports-color - dev: true - /@netlify/functions@1.3.0: - resolution: {integrity: sha512-hN/Fgpz8XIOBfsBPLYUMxVKBlCopgeqGB0popayicnmkFLnvKByTTMYgF01wcF9DBtBQdV0H2h1kPFpMl34I8w==} - engines: {node: '>=8.3.0'} + '@napi-rs/wasm-runtime@1.1.1': dependencies: - is-promise: 4.0.0 - dev: true + '@emnapi/core': 1.9.1 + '@emnapi/runtime': 1.9.1 + '@tybys/wasm-util': 0.10.1 + optional: true - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + '@nodelib/fs.stat@2.0.5': {} - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 - - /@nuxt-themes/docus@1.4.7(nuxt@3.0.0): - resolution: {integrity: sha512-YOUnOky2QFKSZnSASMBHQmObhdEnRny0e+BxKOx2F++qMHKXx9vNpVWfl+2mYjpYEQihSERJ7WZiOhHo0QBLTg==} - dependencies: - '@nuxt-themes/elements': 0.4.4 - '@nuxt-themes/tokens': 1.5.3 - '@nuxt-themes/typography': 0.4.2 - '@nuxt/content': 2.3.0 - '@nuxthq/studio': 0.6.5 - '@vueuse/nuxt': 9.11.1(nuxt@3.0.0) + fastq: 1.20.1 + + '@nuxt-themes/docus@1.15.1(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(nuxt@3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3))(postcss@8.5.8)(vue@3.5.31(typescript@5.3.3))': + dependencies: + '@nuxt-themes/elements': 0.9.5(magicast@0.5.2)(postcss@8.5.8)(vue@3.5.31(typescript@5.3.3)) + '@nuxt-themes/tokens': 1.9.1(magicast@0.5.2)(postcss@8.5.8)(vue@3.5.31(typescript@5.3.3)) + '@nuxt-themes/typography': 0.11.0(magicast@0.5.2)(postcss@8.5.8)(vue@3.5.31(typescript@5.3.3)) + '@nuxt/content': 2.13.4(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(nuxt@3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3))(vue@3.5.31(typescript@5.3.3)) + '@nuxt/kit': 3.21.2(magicast@0.5.2) + '@nuxthq/studio': 2.2.1(magicast@0.5.2) + '@nuxtjs/color-mode': 3.5.2(magicast@0.5.2) + '@vueuse/integrations': 11.3.0(focus-trap@7.8.0)(fuse.js@6.6.2)(vue@3.5.31(typescript@5.3.3)) + '@vueuse/nuxt': 11.3.0(magicast@0.5.2)(nuxt@3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3))(vue@3.5.31(typescript@5.3.3)) + focus-trap: 7.8.0 + fuse.js: 6.6.2 + jiti: 1.21.7 transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' - '@vue/composition-api' + - async-validator + - aws4fetch + - axios - bufferutil + - change-case + - db0 + - drauu + - idb-keyval + - ioredis + - jwt-decode + - magicast + - nprogress - nuxt - postcss - - rollup + - qrcode - sass + - sortablejs - supports-color + - universal-cookie + - uploadthing - utf-8-validate - vue - dev: true + - vue-tsc - /@nuxt-themes/elements@0.4.4: - resolution: {integrity: sha512-GsrCCBcvbOJjF2HV7/TvZXq7l7ETA0+z53HmgHV2L3G3gTpIghfr4v/EUjCOQD+qCpuwiQQW0nQeN51pw3xgow==} + '@nuxt-themes/elements@0.9.5(magicast@0.5.2)(postcss@8.5.8)(vue@3.5.31(typescript@5.3.3))': dependencies: - '@nuxt-themes/tokens': 1.5.3 - '@vueuse/core': 9.11.1 + '@nuxt-themes/tokens': 1.9.1(magicast@0.5.2)(postcss@8.5.8)(vue@3.5.31(typescript@5.3.3)) + '@vueuse/core': 9.13.0(vue@3.5.31(typescript@5.3.3)) transitivePeerDependencies: - '@vue/composition-api' + - magicast - postcss - - rollup - sass - supports-color - vue - dev: true + - vue-tsc - /@nuxt-themes/tokens@1.5.3: - resolution: {integrity: sha512-o0Juq5qhfnWZHCRgKi/rEtx+xqp0MC8tKYhYncISNRFoDCNCOagb65sxsY128OpUJdQOJw0JR3RgYnVGedHyKQ==} + '@nuxt-themes/tokens@1.9.1(magicast@0.5.2)(postcss@8.5.8)(vue@3.5.31(typescript@5.3.3))': dependencies: - '@nuxtjs/color-mode': 3.2.0 - '@vueuse/core': 9.11.1 - pinceau: 0.10.11 + '@nuxtjs/color-mode': 3.5.2(magicast@0.5.2) + '@vueuse/core': 9.13.0(vue@3.5.31(typescript@5.3.3)) + pinceau: 0.18.10(postcss@8.5.8) transitivePeerDependencies: - '@vue/composition-api' + - magicast - postcss - - rollup - sass - supports-color - vue - dev: true + - vue-tsc - /@nuxt-themes/typography@0.4.2: - resolution: {integrity: sha512-+lX7occxSCogUXmVwrsNwvS5ylgmFECGyF22tGXzFKT8Y+TMFSKk/dk/TEYoJ7OnL7CGxkvnW4muLCjN6nLJWA==} + '@nuxt-themes/typography@0.11.0(magicast@0.5.2)(postcss@8.5.8)(vue@3.5.31(typescript@5.3.3))': dependencies: - '@nuxt-themes/tokens': 1.5.3 - '@nuxtjs/color-mode': 3.2.0 - nuxt-config-schema: 0.4.3 - nuxt-icon: 0.2.7 + '@nuxtjs/color-mode': 3.5.2(magicast@0.5.2) + nuxt-config-schema: 0.4.7(magicast@0.5.2) + nuxt-icon: 0.3.3(magicast@0.5.2)(vue@3.5.31(typescript@5.3.3)) + pinceau: 0.18.10(postcss@8.5.8) + ufo: 1.6.3 transitivePeerDependencies: - - '@vue/composition-api' + - magicast - postcss - - rollup - sass - supports-color - vue - dev: true + - vue-tsc + + '@nuxt/cli@3.34.0(@nuxt/schema@3.21.2)(cac@6.7.14)(magicast@0.5.2)': + dependencies: + '@bomb.sh/tab': 0.0.14(cac@6.7.14)(citty@0.2.1) + '@clack/prompts': 1.1.0 + c12: 3.3.3(magicast@0.5.2) + citty: 0.2.1 + confbox: 0.2.4 + consola: 3.4.2 + debug: 4.4.3 + defu: 6.1.4 + exsolve: 1.0.8 + fuse.js: 7.1.0 + fzf: 0.5.2 + giget: 3.2.0 + jiti: 2.6.1 + listhen: 1.9.0 + nypm: 0.6.5 + ofetch: 1.5.1 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.0 + scule: 1.3.0 + semver: 7.7.4 + srvx: 0.11.13 + std-env: 3.10.0 + tinyclip: 0.1.12 + tinyexec: 1.0.4 + ufo: 1.6.3 + youch: 4.1.1 + optionalDependencies: + '@nuxt/schema': 3.21.2 + transitivePeerDependencies: + - cac + - commander + - magicast + - supports-color - /@nuxt/content@2.3.0: - resolution: {integrity: sha512-7IudXOiycHXWxRDe7tWFwnIVT6bp0YG5O4wttCYYd7cvyjX3k6d3zD2j1IkjJMhfqU2PWQ/Wd+A2+oeiLNg3gA==} + '@nuxt/content@2.13.4(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(nuxt@3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3))(vue@3.5.31(typescript@5.3.3))': dependencies: - '@nuxt/kit': 3.0.0 - consola: 2.15.3 - defu: 6.1.1 - destr: 1.2.2 - detab: 3.0.2 - html-tags: 3.2.0 - json5: 2.2.1 - knitwork: 1.0.0 - listhen: 1.0.1 - mdast-util-to-hast: 12.2.4 - mdurl: 1.0.1 - ohash: 1.0.0 - pathe: 1.0.0 - property-information: 6.2.0 - rehype-external-links: 2.0.1 - rehype-raw: 6.1.1 - rehype-slug: 5.1.0 - rehype-sort-attribute-values: 4.0.0 - rehype-sort-attributes: 4.0.0 - remark-emoji: 3.0.2 - remark-gfm: 3.0.1 - remark-mdc: 1.1.3 - remark-parse: 10.0.1 - remark-rehype: 10.1.0 - remark-squeeze-paragraphs: 5.0.1 - scule: 1.0.0 - shiki-es: 0.1.2 - slugify: 1.6.5 - socket.io-client: 4.5.4 - ufo: 1.0.1 - unified: 10.1.2 - unist-builder: 3.0.0 - unist-util-position: 4.0.3 - unist-util-visit: 4.1.1 - unstorage: 1.0.1 - ws: 8.11.0 + '@nuxt/kit': 3.21.2(magicast@0.5.2) + '@nuxtjs/mdc': 0.9.5(magicast@0.5.2) + '@vueuse/core': 11.3.0(vue@3.5.31(typescript@5.3.3)) + '@vueuse/head': 2.0.0(vue@3.5.31(typescript@5.3.3)) + '@vueuse/nuxt': 11.3.0(magicast@0.5.2)(nuxt@3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3))(vue@3.5.31(typescript@5.3.3)) + consola: 3.4.2 + defu: 6.1.4 + destr: 2.0.5 + json5: 2.2.3 + knitwork: 1.3.0 + listhen: 1.9.0 + mdast-util-to-string: 4.0.0 + mdurl: 2.0.0 + micromark: 4.0.2 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-types: 2.0.2 + minisearch: 7.2.0 + ohash: 1.1.6 + pathe: 1.1.2 + scule: 1.3.0 + shiki: 1.29.2 + slugify: 1.6.8 + socket.io-client: 4.8.3 + ufo: 1.6.3 + unist-util-stringify-position: 4.0.0 + unstorage: 1.17.5(db0@0.3.4)(ioredis@5.10.1) + ws: 8.20.0 transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - '@vue/composition-api' + - aws4fetch - bufferutil - - rollup + - db0 + - idb-keyval + - ioredis + - magicast + - nuxt - supports-color + - uploadthing - utf-8-validate - dev: true + - vue - /@nuxt/devalue@2.0.0: - resolution: {integrity: sha512-YBI/6o2EBz02tdEJRBK8xkt3zvOFOWlLBf7WKYGBsSYSRtjjgrqPe2skp6VLLmKx5WbHHDNcW+6oACaurxGzeA==} - dev: true + '@nuxt/devalue@2.0.2': {} - /@nuxt/kit@3.0.0: - resolution: {integrity: sha512-7ZsOLt5s9a0ZleAIzmoD70JwkZf5ti6bDdxl6f8ew7Huxz+ni/oRfTPTX9TrORXsgW5CvDt6Q9M7IJNPkAN/Iw==} - engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} + '@nuxt/devtools-kit@3.2.4(magicast@0.5.2)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))': dependencies: - '@nuxt/schema': 3.0.0 - c12: 1.1.0 - consola: 2.15.3 - defu: 6.1.1 - globby: 13.1.3 - hash-sum: 2.0.0 - ignore: 5.2.4 - jiti: 1.16.0 - knitwork: 1.0.0 - lodash.template: 4.5.0 - mlly: 1.0.0 - pathe: 1.0.0 - pkg-types: 1.0.1 - scule: 1.0.0 - semver: 7.3.8 - unctx: 2.1.1 - unimport: 1.1.0 - untyped: 1.2.0 + '@nuxt/kit': 4.4.2(magicast@0.5.2) + execa: 8.0.1 + vite: 7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) transitivePeerDependencies: - - rollup - - supports-color - dev: true - - /@nuxt/kit@3.0.0(rollup@2.79.1): - resolution: {integrity: sha512-7ZsOLt5s9a0ZleAIzmoD70JwkZf5ti6bDdxl6f8ew7Huxz+ni/oRfTPTX9TrORXsgW5CvDt6Q9M7IJNPkAN/Iw==} - engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} - dependencies: - '@nuxt/schema': 3.0.0(rollup@2.79.1) - c12: 1.1.0 - consola: 2.15.3 - defu: 6.1.1 - globby: 13.1.3 - hash-sum: 2.0.0 - ignore: 5.2.4 - jiti: 1.16.0 - knitwork: 1.0.0 - lodash.template: 4.5.0 - mlly: 1.0.0 - pathe: 1.0.0 - pkg-types: 1.0.1 - scule: 1.0.0 - semver: 7.3.8 - unctx: 2.1.1 - unimport: 1.1.0(rollup@2.79.1) - untyped: 1.2.0 + - magicast + + '@nuxt/devtools-wizard@3.2.4': + dependencies: + '@clack/prompts': 1.1.0 + consola: 3.4.2 + diff: 8.0.4 + execa: 8.0.1 + magicast: 0.5.2 + pathe: 2.0.3 + pkg-types: 2.3.0 + semver: 7.7.4 + + '@nuxt/devtools@3.2.4(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vue@3.5.31(typescript@5.3.3))': + dependencies: + '@nuxt/devtools-kit': 3.2.4(magicast@0.5.2)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)) + '@nuxt/devtools-wizard': 3.2.4 + '@nuxt/kit': 4.4.2(magicast@0.5.2) + '@vue/devtools-core': 8.1.1(vue@3.5.31(typescript@5.3.3)) + '@vue/devtools-kit': 8.1.1 + birpc: 4.0.0 + consola: 3.4.2 + destr: 2.0.5 + error-stack-parser-es: 1.0.5 + execa: 8.0.1 + fast-npm-meta: 1.4.2 + get-port-please: 3.2.0 + hookable: 6.1.0 + image-meta: 0.2.2 + is-installed-globally: 1.0.0 + launch-editor: 2.13.2 + local-pkg: 1.1.2 + magicast: 0.5.2 + nypm: 0.6.5 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.0 + semver: 7.7.4 + simple-git: 3.33.0 + sirv: 3.0.2 + structured-clone-es: 2.0.0 + tinyglobby: 0.2.15 + vite: 7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) + vite-plugin-inspect: 11.3.3(@nuxt/kit@4.4.2(magicast@0.5.2))(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)) + vite-plugin-vue-tracer: 1.3.0(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vue@3.5.31(typescript@5.3.3)) + which: 6.0.1 + ws: 8.20.0 transitivePeerDependencies: - - rollup + - bufferutil - supports-color - dev: true + - utf-8-validate + - vue - /@nuxt/schema@3.0.0: - resolution: {integrity: sha512-5fwsidhs5NjFzR8sIzHMXO0WFGkI3tCH3ViANn2W4N5qCwoYZ0n1sZBkQ9Esn1VoEed6RsIlTpWrPZPVtqNkGQ==} - engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} - dependencies: - c12: 1.1.0 - create-require: 1.1.1 - defu: 6.1.1 - jiti: 1.16.0 - pathe: 1.0.0 - pkg-types: 1.0.1 - postcss-import-resolver: 2.0.0 - scule: 1.0.0 - std-env: 3.3.1 - ufo: 1.0.1 - unimport: 1.1.0 - untyped: 1.2.0 + '@nuxt/kit@3.21.2(magicast@0.5.2)': + dependencies: + c12: 3.3.3(magicast@0.5.2) + consola: 3.4.2 + defu: 6.1.4 + destr: 2.0.5 + errx: 0.1.0 + exsolve: 1.0.8 + ignore: 7.0.5 + jiti: 2.6.1 + klona: 2.0.6 + knitwork: 1.3.0 + mlly: 1.8.2 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.0 + rc9: 3.0.0 + scule: 1.3.0 + semver: 7.7.4 + tinyglobby: 0.2.15 + ufo: 1.6.3 + unctx: 2.5.0 + untyped: 2.0.0 transitivePeerDependencies: - - rollup - - supports-color - dev: true - - /@nuxt/schema@3.0.0(rollup@2.79.1): - resolution: {integrity: sha512-5fwsidhs5NjFzR8sIzHMXO0WFGkI3tCH3ViANn2W4N5qCwoYZ0n1sZBkQ9Esn1VoEed6RsIlTpWrPZPVtqNkGQ==} - engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} - dependencies: - c12: 1.1.0 - create-require: 1.1.1 - defu: 6.1.1 - jiti: 1.16.0 - pathe: 1.0.0 - pkg-types: 1.0.1 - postcss-import-resolver: 2.0.0 - scule: 1.0.0 - std-env: 3.3.1 - ufo: 1.0.1 - unimport: 1.1.0(rollup@2.79.1) - untyped: 1.2.0 + - magicast + + '@nuxt/kit@4.4.2(magicast@0.5.2)': + dependencies: + c12: 3.3.3(magicast@0.5.2) + consola: 3.4.2 + defu: 6.1.4 + destr: 2.0.5 + errx: 0.1.0 + exsolve: 1.0.8 + ignore: 7.0.5 + jiti: 2.6.1 + klona: 2.0.6 + mlly: 1.8.2 + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.0 + rc9: 3.0.0 + scule: 1.3.0 + semver: 7.7.4 + tinyglobby: 0.2.15 + ufo: 1.6.3 + unctx: 2.5.0 + untyped: 2.0.0 transitivePeerDependencies: - - rollup - - supports-color - dev: true - - /@nuxt/telemetry@2.1.8: - resolution: {integrity: sha512-WCHRrcPKRosuHQi8CD5WfjiXGAyjOWVJpK77xS6wlg8zwziBPCqmVIQdr4QpFTGFO1Nrh4z26l1VnivKy22KFQ==} - hasBin: true - dependencies: - '@nuxt/kit': 3.0.0 - chalk: 5.2.0 - ci-info: 3.7.1 - consola: 2.15.3 - create-require: 1.1.1 - defu: 6.1.1 - destr: 1.2.2 - dotenv: 16.0.3 - fs-extra: 10.1.0 - git-url-parse: 13.1.0 - inquirer: 9.1.4 - is-docker: 3.0.0 - jiti: 1.16.0 - mri: 1.2.0 - nanoid: 4.0.0 - node-fetch: 3.3.0 - ohmyfetch: 0.4.21 - parse-git-config: 3.0.0 - rc9: 2.0.0 - std-env: 3.3.1 + - magicast + + '@nuxt/nitro-server@3.21.2(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(nuxt@3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3))(typescript@5.3.3)': + dependencies: + '@nuxt/devalue': 2.0.2 + '@nuxt/kit': 3.21.2(magicast@0.5.2) + '@unhead/vue': 2.1.12(vue@3.5.31(typescript@5.3.3)) + '@vue/shared': 3.5.31 + consola: 3.4.2 + defu: 6.1.4 + destr: 2.0.5 + devalue: 5.6.4 + errx: 0.1.0 + escape-string-regexp: 5.0.0 + exsolve: 1.0.8 + h3: 1.15.10 + impound: 1.1.5 + klona: 2.0.6 + mocked-exports: 0.1.1 + nitropack: 2.13.2 + nuxt: 3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3) + ohash: 2.0.11 + pathe: 2.0.3 + pkg-types: 2.3.0 + rou3: 0.8.1 + std-env: 4.0.0 + ufo: 1.6.3 + unctx: 2.5.0 + unstorage: 1.17.5(db0@0.3.4)(ioredis@5.10.1) + vue: 3.5.31(typescript@5.3.3) + vue-bundle-renderer: 2.2.0 + vue-devtools-stub: 0.1.0 transitivePeerDependencies: - - rollup + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bare-abort-controller + - bare-buffer + - better-sqlite3 + - db0 + - drizzle-orm + - encoding + - idb-keyval + - ioredis + - magicast + - mysql2 + - react-native-b4a + - rolldown + - sqlite3 - supports-color - dev: true - - /@nuxt/ui-templates@1.0.0: - resolution: {integrity: sha512-jfpVHxi1AHfNO3D6iD1RJE6fx/7cAzekvG90poIzVawp/L+I4DNdy8pCgqBScJW4bfWOpHeLYbtQQlL/hPmkjw==} - dev: true - - /@nuxt/vite-builder@3.0.0(@types/node@18.11.9)(typescript@5.3.3)(vue@3.2.45): - resolution: {integrity: sha512-eMnpPpjHU8rGZcsJUksCuSX+6dpId03q8LOSStsm6rXzrNJtZIcwt0nBRTUaigckXIozX8ZNl5u2OPGUfUbMrw==} - engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} - peerDependencies: - vue: ^3.2.45 - dependencies: - '@nuxt/kit': 3.0.0(rollup@2.79.1) - '@rollup/plugin-replace': 5.0.2(rollup@2.79.1) - '@vitejs/plugin-vue': 3.2.0(vite@3.2.5)(vue@3.2.45) - '@vitejs/plugin-vue-jsx': 2.1.1(vite@3.2.5)(vue@3.2.45) - autoprefixer: 10.4.13(postcss@8.4.20) - chokidar: 3.5.3 - cssnano: 5.1.14(postcss@8.4.20) - defu: 6.1.1 - esbuild: 0.15.18 + - typescript + - uploadthing + - xml2js + + '@nuxt/schema@3.21.2': + dependencies: + '@vue/shared': 3.5.31 + defu: 6.1.4 + pathe: 2.0.3 + pkg-types: 2.3.0 + std-env: 4.0.0 + + '@nuxt/telemetry@2.7.0(@nuxt/kit@3.21.2(magicast@0.5.2))': + dependencies: + '@nuxt/kit': 3.21.2(magicast@0.5.2) + citty: 0.2.1 + consola: 3.4.2 + ofetch: 2.0.0-alpha.3 + rc9: 3.0.0 + std-env: 3.10.0 + + '@nuxt/vite-builder@3.21.2(@types/node@18.19.130)(magicast@0.5.2)(nuxt@3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3))(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vue@3.5.31(typescript@5.3.3))(yaml@2.8.3)': + dependencies: + '@nuxt/kit': 3.21.2(magicast@0.5.2) + '@rollup/plugin-replace': 6.0.3(rollup@4.60.0) + '@vitejs/plugin-vue': 6.0.5(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vue@3.5.31(typescript@5.3.3)) + '@vitejs/plugin-vue-jsx': 5.1.5(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vue@3.5.31(typescript@5.3.3)) + autoprefixer: 10.4.27(postcss@8.5.8) + consola: 3.4.2 + cssnano: 7.1.3(postcss@8.5.8) + defu: 6.1.4 escape-string-regexp: 5.0.0 - estree-walker: 3.0.1 - externality: 1.0.0 - fs-extra: 10.1.0 - get-port-please: 2.6.1 - h3: 1.0.2 - knitwork: 1.0.0 - magic-string: 0.26.7 - mlly: 1.0.0 - ohash: 1.0.0 - pathe: 1.0.0 - perfect-debounce: 0.1.3 - pkg-types: 1.0.1 - postcss: 8.4.20 - postcss-import: 15.1.0(postcss@8.4.20) - postcss-url: 10.1.3(postcss@8.4.20) - rollup: 2.79.1 - rollup-plugin-visualizer: 5.9.0(rollup@2.79.1) - ufo: 1.0.1 - unplugin: 1.0.1 - vite: 3.2.5(@types/node@18.11.9) - vite-node: 0.25.8(@types/node@18.11.9) - vite-plugin-checker: 0.5.3(typescript@5.3.3)(vite@3.2.5) - vue: 3.2.45 - vue-bundle-renderer: 1.0.0 + exsolve: 1.0.8 + externality: 1.0.2 + get-port-please: 3.2.0 + jiti: 2.6.1 + knitwork: 1.3.0 + magic-string: 0.30.21 + mlly: 1.8.2 + mocked-exports: 0.1.1 + nuxt: 3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3) + nypm: 0.6.5 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.0 + postcss: 8.5.8 + seroval: 1.5.1 + std-env: 4.0.0 + ufo: 1.6.3 + unenv: 2.0.0-rc.24 + vite: 7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) + vite-node: 5.3.0(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) + vite-plugin-checker: 0.12.0(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)) + vue: 3.5.31(typescript@5.3.3) + vue-bundle-renderer: 2.2.0 + optionalDependencies: + rollup-plugin-visualizer: 7.0.1(rollup@4.60.0) transitivePeerDependencies: + - '@biomejs/biome' - '@types/node' - eslint - less + - lightningcss + - magicast - meow - optionator + - oxlint + - rollup - sass + - sass-embedded - stylelint - stylus - sugarss - supports-color - terser + - tsx - typescript - vls - vti - dev: true - - /@nuxthq/studio@0.6.5: - resolution: {integrity: sha512-kGb8abgTRJi0gcvTQcawEol5CR6uXS4bpCwEEk0+b3LSvyiM6k22Opb29KkSatprTkFrAPHDKSaUve8PiX22sw==} - dependencies: - '@nuxt/kit': 3.0.0 - '@nuxt/schema': 3.0.0 - defu: 6.1.1 - nuxt-component-meta: 0.4.3 - nuxt-config-schema: 0.4.3 - socket.io-client: 4.5.4 - ufo: 1.0.1 + - vue-tsc + - yaml + + '@nuxthq/studio@2.2.1(magicast@0.5.2)': + dependencies: + '@nuxt/kit': 3.21.2(magicast@0.5.2) + defu: 6.1.4 + git-url-parse: 15.0.0 + nuxt-component-meta: 0.9.0(magicast@0.5.2) + parse-git-config: 3.0.0 + pkg-types: 1.3.1 + socket.io-client: 4.8.3 + ufo: 1.6.3 + untyped: 1.5.2 transitivePeerDependencies: - bufferutil - - rollup + - magicast - supports-color - utf-8-validate - dev: true - /@nuxtjs/color-mode@3.2.0: - resolution: {integrity: sha512-isDR01yfadopiHQ/VEVUpyNSPrk5PCjUHS4t1qYRZwuRGefU4s9Iaxf6H9nmr1QFzoMgTm+3T0r/54jLwtpZbA==} + '@nuxtjs/color-mode@3.5.2(magicast@0.5.2)': + dependencies: + '@nuxt/kit': 3.21.2(magicast@0.5.2) + pathe: 1.1.2 + pkg-types: 1.3.1 + semver: 7.7.4 + transitivePeerDependencies: + - magicast + + '@nuxtjs/mdc@0.9.5(magicast@0.5.2)': + dependencies: + '@nuxt/kit': 3.21.2(magicast@0.5.2) + '@shikijs/transformers': 1.29.2 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@vue/compiler-core': 3.5.31 + consola: 3.4.2 + debug: 4.4.3 + defu: 6.1.4 + destr: 2.0.5 + detab: 3.0.2 + github-slugger: 2.0.0 + hast-util-to-string: 3.0.1 + mdast-util-to-hast: 13.2.1 + micromark-util-sanitize-uri: 2.0.1 + ohash: 1.1.6 + parse5: 7.3.0 + pathe: 1.1.2 + property-information: 6.5.0 + rehype-external-links: 3.0.0 + rehype-raw: 7.0.0 + rehype-slug: 6.0.0 + rehype-sort-attribute-values: 5.0.1 + rehype-sort-attributes: 5.0.1 + remark-emoji: 5.0.2 + remark-gfm: 4.0.1 + remark-mdc: 3.10.0 + remark-parse: 11.0.0 + remark-rehype: 11.1.2 + scule: 1.3.0 + shiki: 1.29.2 + ufo: 1.6.3 + unified: 11.0.5 + unist-builder: 4.0.0 + unist-util-visit: 5.1.0 + unwasm: 0.3.11 + vfile: 6.0.3 + transitivePeerDependencies: + - magicast + - supports-color + + '@oxc-minify/binding-android-arm-eabi@0.117.0': + optional: true + + '@oxc-minify/binding-android-arm64@0.117.0': + optional: true + + '@oxc-minify/binding-darwin-arm64@0.117.0': + optional: true + + '@oxc-minify/binding-darwin-x64@0.117.0': + optional: true + + '@oxc-minify/binding-freebsd-x64@0.117.0': + optional: true + + '@oxc-minify/binding-linux-arm-gnueabihf@0.117.0': + optional: true + + '@oxc-minify/binding-linux-arm-musleabihf@0.117.0': + optional: true + + '@oxc-minify/binding-linux-arm64-gnu@0.117.0': + optional: true + + '@oxc-minify/binding-linux-arm64-musl@0.117.0': + optional: true + + '@oxc-minify/binding-linux-ppc64-gnu@0.117.0': + optional: true + + '@oxc-minify/binding-linux-riscv64-gnu@0.117.0': + optional: true + + '@oxc-minify/binding-linux-riscv64-musl@0.117.0': + optional: true + + '@oxc-minify/binding-linux-s390x-gnu@0.117.0': + optional: true + + '@oxc-minify/binding-linux-x64-gnu@0.117.0': + optional: true + + '@oxc-minify/binding-linux-x64-musl@0.117.0': + optional: true + + '@oxc-minify/binding-openharmony-arm64@0.117.0': + optional: true + + '@oxc-minify/binding-wasm32-wasi@0.117.0': + dependencies: + '@napi-rs/wasm-runtime': 1.1.1 + optional: true + + '@oxc-minify/binding-win32-arm64-msvc@0.117.0': + optional: true + + '@oxc-minify/binding-win32-ia32-msvc@0.117.0': + optional: true + + '@oxc-minify/binding-win32-x64-msvc@0.117.0': + optional: true + + '@oxc-parser/binding-android-arm-eabi@0.117.0': + optional: true + + '@oxc-parser/binding-android-arm64@0.117.0': + optional: true + + '@oxc-parser/binding-darwin-arm64@0.117.0': + optional: true + + '@oxc-parser/binding-darwin-x64@0.117.0': + optional: true + + '@oxc-parser/binding-freebsd-x64@0.117.0': + optional: true + + '@oxc-parser/binding-linux-arm-gnueabihf@0.117.0': + optional: true + + '@oxc-parser/binding-linux-arm-musleabihf@0.117.0': + optional: true + + '@oxc-parser/binding-linux-arm64-gnu@0.117.0': + optional: true + + '@oxc-parser/binding-linux-arm64-musl@0.117.0': + optional: true + + '@oxc-parser/binding-linux-ppc64-gnu@0.117.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-gnu@0.117.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-musl@0.117.0': + optional: true + + '@oxc-parser/binding-linux-s390x-gnu@0.117.0': + optional: true + + '@oxc-parser/binding-linux-x64-gnu@0.117.0': + optional: true + + '@oxc-parser/binding-linux-x64-musl@0.117.0': + optional: true + + '@oxc-parser/binding-openharmony-arm64@0.117.0': + optional: true + + '@oxc-parser/binding-wasm32-wasi@0.117.0': + dependencies: + '@napi-rs/wasm-runtime': 1.1.1 + optional: true + + '@oxc-parser/binding-win32-arm64-msvc@0.117.0': + optional: true + + '@oxc-parser/binding-win32-ia32-msvc@0.117.0': + optional: true + + '@oxc-parser/binding-win32-x64-msvc@0.117.0': + optional: true + + '@oxc-project/types@0.117.0': {} + + '@oxc-transform/binding-android-arm-eabi@0.117.0': + optional: true + + '@oxc-transform/binding-android-arm64@0.117.0': + optional: true + + '@oxc-transform/binding-darwin-arm64@0.117.0': + optional: true + + '@oxc-transform/binding-darwin-x64@0.117.0': + optional: true + + '@oxc-transform/binding-freebsd-x64@0.117.0': + optional: true + + '@oxc-transform/binding-linux-arm-gnueabihf@0.117.0': + optional: true + + '@oxc-transform/binding-linux-arm-musleabihf@0.117.0': + optional: true + + '@oxc-transform/binding-linux-arm64-gnu@0.117.0': + optional: true + + '@oxc-transform/binding-linux-arm64-musl@0.117.0': + optional: true + + '@oxc-transform/binding-linux-ppc64-gnu@0.117.0': + optional: true + + '@oxc-transform/binding-linux-riscv64-gnu@0.117.0': + optional: true + + '@oxc-transform/binding-linux-riscv64-musl@0.117.0': + optional: true + + '@oxc-transform/binding-linux-s390x-gnu@0.117.0': + optional: true + + '@oxc-transform/binding-linux-x64-gnu@0.117.0': + optional: true + + '@oxc-transform/binding-linux-x64-musl@0.117.0': + optional: true + + '@oxc-transform/binding-openharmony-arm64@0.117.0': + optional: true + + '@oxc-transform/binding-wasm32-wasi@0.117.0': + dependencies: + '@napi-rs/wasm-runtime': 1.1.1 + optional: true + + '@oxc-transform/binding-win32-arm64-msvc@0.117.0': + optional: true + + '@oxc-transform/binding-win32-ia32-msvc@0.117.0': + optional: true + + '@oxc-transform/binding-win32-x64-msvc@0.117.0': + optional: true + + '@parcel/watcher-android-arm64@2.5.6': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.6': + optional: true + + '@parcel/watcher-darwin-x64@2.5.6': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.6': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.6': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.6': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.6': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.6': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.6': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.6': + optional: true + + '@parcel/watcher-wasm@2.5.6': dependencies: - '@nuxt/kit': 3.0.0 - lodash.template: 4.5.0 - pathe: 1.0.0 - transitivePeerDependencies: - - rollup - - supports-color - dev: true + is-glob: 4.0.3 + picomatch: 4.0.4 - /@rollup/plugin-alias@4.0.2(rollup@2.79.1): - resolution: {integrity: sha512-1hv7dBOZZwo3SEupxn4UA2N0EDThqSSS+wI1St1TNTBtOZvUchyIClyHcnDcjjrReTPZ47Faedrhblv4n+T5UQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@parcel/watcher-win32-arm64@2.5.6': + optional: true + + '@parcel/watcher-win32-ia32@2.5.6': + optional: true + + '@parcel/watcher-win32-x64@2.5.6': + optional: true + + '@parcel/watcher@2.5.6': dependencies: - rollup: 2.79.1 - slash: 4.0.0 - dev: true + detect-libc: 2.1.2 + is-glob: 4.0.3 + node-addon-api: 7.1.1 + picomatch: 4.0.4 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.6 + '@parcel/watcher-darwin-arm64': 2.5.6 + '@parcel/watcher-darwin-x64': 2.5.6 + '@parcel/watcher-freebsd-x64': 2.5.6 + '@parcel/watcher-linux-arm-glibc': 2.5.6 + '@parcel/watcher-linux-arm-musl': 2.5.6 + '@parcel/watcher-linux-arm64-glibc': 2.5.6 + '@parcel/watcher-linux-arm64-musl': 2.5.6 + '@parcel/watcher-linux-x64-glibc': 2.5.6 + '@parcel/watcher-linux-x64-musl': 2.5.6 + '@parcel/watcher-win32-arm64': 2.5.6 + '@parcel/watcher-win32-ia32': 2.5.6 + '@parcel/watcher-win32-x64': 2.5.6 + + '@pkgjs/parseargs@0.11.0': + optional: true - /@rollup/plugin-alias@4.0.2(rollup@3.10.1): - resolution: {integrity: sha512-1hv7dBOZZwo3SEupxn4UA2N0EDThqSSS+wI1St1TNTBtOZvUchyIClyHcnDcjjrReTPZ47Faedrhblv4n+T5UQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@polka/url@1.0.0-next.29': {} + + '@poppinss/colors@4.1.6': dependencies: - rollup: 3.10.1 - slash: 4.0.0 - dev: true + kleur: 4.1.5 - /@rollup/plugin-commonjs@23.0.7(rollup@2.79.1): - resolution: {integrity: sha512-hsSD5Qzyuat/swzrExGG5l7EuIlPhwTsT7KwKbSCQzIcJWjRxiimi/0tyMYY2bByitNb3i1p+6JWEDGa0NvT0Q==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.68.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@poppinss/dumper@0.7.0': + dependencies: + '@poppinss/colors': 4.1.6 + '@sindresorhus/is': 7.2.0 + supports-color: 10.2.2 + + '@poppinss/exception@1.2.3': {} + + '@rolldown/pluginutils@1.0.0-rc.12': {} + + '@rolldown/pluginutils@1.0.0-rc.2': {} + + '@rollup/plugin-alias@5.1.1(rollup@3.30.0)': + optionalDependencies: + rollup: 3.30.0 + + '@rollup/plugin-alias@6.0.0(rollup@4.60.0)': + optionalDependencies: + rollup: 4.60.0 + + '@rollup/plugin-commonjs@24.1.0(rollup@3.30.0)': dependencies: - '@rollup/pluginutils': 5.0.2(rollup@2.79.1) + '@rollup/pluginutils': 5.3.0(rollup@3.30.0) commondir: 1.0.1 estree-walker: 2.0.2 - glob: 8.0.3 + glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.27.0 - rollup: 2.79.1 - dev: true + optionalDependencies: + rollup: 3.30.0 - /@rollup/plugin-commonjs@24.0.1(rollup@3.10.1): - resolution: {integrity: sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.68.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rollup/plugin-commonjs@29.0.2(rollup@4.60.0)': dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.10.1) + '@rollup/pluginutils': 5.3.0(rollup@4.60.0) commondir: 1.0.1 estree-walker: 2.0.2 - glob: 8.0.3 + fdir: 6.5.0(picomatch@4.0.4) is-reference: 1.2.1 - magic-string: 0.27.0 - rollup: 3.10.1 - dev: true + magic-string: 0.30.21 + picomatch: 4.0.4 + optionalDependencies: + rollup: 4.60.0 - /@rollup/plugin-inject@5.0.3(rollup@2.79.1): - resolution: {integrity: sha512-411QlbL+z2yXpRWFXSmw/teQRMkXcAAC8aYTemc15gwJRpvEVDQwoe+N/HTFD8RFG8+88Bme9DK2V9CVm7hJdA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rollup/plugin-inject@5.0.5(rollup@4.60.0)': dependencies: - '@rollup/pluginutils': 5.0.2(rollup@2.79.1) + '@rollup/pluginutils': 5.3.0(rollup@4.60.0) estree-walker: 2.0.2 - magic-string: 0.27.0 - rollup: 2.79.1 - dev: true + magic-string: 0.30.21 + optionalDependencies: + rollup: 4.60.0 - /@rollup/plugin-json@5.0.2(rollup@2.79.1): - resolution: {integrity: sha512-D1CoOT2wPvadWLhVcmpkDnesTzjhNIQRWLsc3fA49IFOP2Y84cFOOJ+nKGYedvXHKUsPeq07HR4hXpBBr+CHlA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rollup/plugin-json@6.1.0(rollup@3.30.0)': dependencies: - '@rollup/pluginutils': 5.0.2(rollup@2.79.1) - rollup: 2.79.1 - dev: true + '@rollup/pluginutils': 5.3.0(rollup@3.30.0) + optionalDependencies: + rollup: 3.30.0 - /@rollup/plugin-json@6.0.0(rollup@3.10.1): - resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rollup/plugin-json@6.1.0(rollup@4.60.0)': dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.10.1) - rollup: 3.10.1 - dev: true + '@rollup/pluginutils': 5.3.0(rollup@4.60.0) + optionalDependencies: + rollup: 4.60.0 - /@rollup/plugin-node-resolve@15.0.1(rollup@2.79.1): - resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.78.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rollup/plugin-node-resolve@15.3.1(rollup@3.30.0)': dependencies: - '@rollup/pluginutils': 5.0.2(rollup@2.79.1) + '@rollup/pluginutils': 5.3.0(rollup@3.30.0) '@types/resolve': 1.20.2 - deepmerge: 4.2.2 - is-builtin-module: 3.2.0 + deepmerge: 4.3.1 is-module: 1.0.0 - resolve: 1.22.1 - rollup: 2.79.1 - dev: true + resolve: 1.22.11 + optionalDependencies: + rollup: 3.30.0 - /@rollup/plugin-node-resolve@15.0.1(rollup@3.10.1): - resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.78.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rollup/plugin-node-resolve@16.0.3(rollup@4.60.0)': dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.10.1) + '@rollup/pluginutils': 5.3.0(rollup@4.60.0) '@types/resolve': 1.20.2 - deepmerge: 4.2.2 - is-builtin-module: 3.2.0 + deepmerge: 4.3.1 is-module: 1.0.0 - resolve: 1.22.1 - rollup: 3.10.1 - dev: true + resolve: 1.22.11 + optionalDependencies: + rollup: 4.60.0 - /@rollup/plugin-replace@5.0.2(rollup@2.79.1): - resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rollup/plugin-replace@5.0.7(rollup@3.30.0)': dependencies: - '@rollup/pluginutils': 5.0.2(rollup@2.79.1) - magic-string: 0.27.0 - rollup: 2.79.1 - dev: true + '@rollup/pluginutils': 5.3.0(rollup@3.30.0) + magic-string: 0.30.21 + optionalDependencies: + rollup: 3.30.0 - /@rollup/plugin-replace@5.0.2(rollup@3.10.1): - resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rollup/plugin-replace@6.0.3(rollup@4.60.0)': dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.10.1) - magic-string: 0.27.0 - rollup: 3.10.1 - dev: true + '@rollup/pluginutils': 5.3.0(rollup@4.60.0) + magic-string: 0.30.21 + optionalDependencies: + rollup: 4.60.0 - /@rollup/plugin-wasm@6.1.1(rollup@2.79.1): - resolution: {integrity: sha512-dccyb8OvtpY21KiYjaNmibWlQJd/kBg+IVP24x9l1dsIRXBmGqLt+wsPjU296FNO8ap0SSEsTpi/7AfrlvQvBQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rollup/plugin-terser@1.0.0(rollup@4.60.0)': dependencies: - rollup: 2.79.1 - dev: true + serialize-javascript: 7.0.5 + smob: 1.6.1 + terser: 5.46.1 + optionalDependencies: + rollup: 4.60.0 - /@rollup/pluginutils@4.2.1: - resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} - engines: {node: '>= 8.0.0'} + '@rollup/pluginutils@5.3.0(rollup@3.30.0)': dependencies: + '@types/estree': 1.0.8 estree-walker: 2.0.2 - picomatch: 2.3.1 - dev: true + picomatch: 4.0.4 + optionalDependencies: + rollup: 3.30.0 - /@rollup/pluginutils@5.0.2: - resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rollup/pluginutils@5.3.0(rollup@4.60.0)': dependencies: - '@types/estree': 1.0.0 + '@types/estree': 1.0.8 estree-walker: 2.0.2 - picomatch: 2.3.1 - dev: true + picomatch: 4.0.4 + optionalDependencies: + rollup: 4.60.0 - /@rollup/pluginutils@5.0.2(rollup@2.79.1): - resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@types/estree': 1.0.0 - estree-walker: 2.0.2 - picomatch: 2.3.1 - rollup: 2.79.1 - dev: true + '@rollup/rollup-android-arm-eabi@4.60.0': + optional: true - /@rollup/pluginutils@5.0.2(rollup@3.10.1): - resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@types/estree': 1.0.0 - estree-walker: 2.0.2 - picomatch: 2.3.1 - rollup: 3.10.1 - dev: true + '@rollup/rollup-android-arm64@4.60.0': + optional: true - /@socket.io/component-emitter@3.1.0: - resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} - dev: true + '@rollup/rollup-darwin-arm64@4.60.0': + optional: true - /@trysound/sax@0.2.0: - resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} - engines: {node: '>=10.13.0'} - dev: true + '@rollup/rollup-darwin-x64@4.60.0': + optional: true - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} - dev: true + '@rollup/rollup-freebsd-arm64@4.60.0': + optional: true - /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true + '@rollup/rollup-freebsd-x64@4.60.0': + optional: true - /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true + '@rollup/rollup-linux-arm-gnueabihf@4.60.0': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.60.0': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.60.0': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.60.0': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.60.0': + optional: true + + '@rollup/rollup-linux-loong64-musl@4.60.0': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.60.0': + optional: true + + '@rollup/rollup-linux-ppc64-musl@4.60.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.60.0': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.60.0': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.60.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.60.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.60.0': + optional: true + + '@rollup/rollup-openbsd-x64@4.60.0': + optional: true + + '@rollup/rollup-openharmony-arm64@4.60.0': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.60.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.60.0': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.60.0': + optional: true - /@tsconfig/node16@1.0.3: - resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} - dev: true + '@rollup/rollup-win32-x64-msvc@4.60.0': + optional: true - /@types/chai-subset@1.3.3: - resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} + '@shikijs/core@1.29.2': dependencies: - '@types/chai': 4.3.4 - dev: true + '@shikijs/engine-javascript': 1.29.2 + '@shikijs/engine-oniguruma': 1.29.2 + '@shikijs/types': 1.29.2 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 - /@types/chai@4.3.4: - resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} - dev: true + '@shikijs/engine-javascript@1.29.2': + dependencies: + '@shikijs/types': 1.29.2 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 2.3.0 - /@types/debug@4.1.7: - resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} + '@shikijs/engine-oniguruma@1.29.2': dependencies: - '@types/ms': 0.7.31 - dev: true + '@shikijs/types': 1.29.2 + '@shikijs/vscode-textmate': 10.0.2 - /@types/estree@1.0.0: - resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} - dev: true + '@shikijs/langs@1.29.2': + dependencies: + '@shikijs/types': 1.29.2 - /@types/fs-extra@11.0.1: - resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} + '@shikijs/themes@1.29.2': dependencies: - '@types/jsonfile': 6.1.1 - '@types/node': 18.15.0 - dev: true + '@shikijs/types': 1.29.2 - /@types/hast@2.3.4: - resolution: {integrity: sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==} + '@shikijs/transformers@1.29.2': dependencies: - '@types/unist': 2.0.6 - dev: true + '@shikijs/core': 1.29.2 + '@shikijs/types': 1.29.2 - /@types/is-ci@3.0.0: - resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} + '@shikijs/types@1.29.2': dependencies: - ci-info: 3.7.1 - dev: false + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 - /@types/istanbul-lib-coverage@2.0.4: - resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} - dev: true + '@shikijs/vscode-textmate@10.0.2': {} - /@types/jsonfile@6.1.1: - resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} + '@sindresorhus/is@4.6.0': {} + + '@sindresorhus/is@7.2.0': {} + + '@sindresorhus/merge-streams@4.0.0': {} + + '@socket.io/component-emitter@3.1.2': {} + + '@speed-highlight/core@1.2.15': {} + + '@tsconfig/node10@1.0.12': {} + + '@tsconfig/node12@1.0.11': {} + + '@tsconfig/node14@1.0.3': {} + + '@tsconfig/node16@1.0.4': {} + + '@tybys/wasm-util@0.10.1': dependencies: - '@types/node': 18.16.2 - dev: true + tslib: 2.8.1 + optional: true - /@types/lodash.groupby@4.6.7: - resolution: {integrity: sha512-dFUR1pqdMgjIBbgPJ/8axJX6M1C7zsL+HF4qdYMQeJ7XOp0Qbf37I3zh9gpXr/ks6tgEYPDRqyZRAnFYvewYHQ==} + '@types/chai-subset@1.3.6(@types/chai@4.3.20)': dependencies: - '@types/lodash': 4.14.191 - dev: true + '@types/chai': 4.3.20 - /@types/lodash.uniqby@4.7.7: - resolution: {integrity: sha512-sv2g6vkCIvEUsK5/Vq17haoZaisfj2EWW8mP7QWlnKi6dByoNmeuHDDXHR7sabuDqwO4gvU7ModIL22MmnOocg==} + '@types/chai@4.3.20': {} + + '@types/debug@4.1.13': dependencies: - '@types/lodash': 4.14.191 - dev: true + '@types/ms': 2.1.0 + + '@types/estree@1.0.8': {} - /@types/lodash@4.14.191: - resolution: {integrity: sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==} - dev: true + '@types/fs-extra@11.0.4': + dependencies: + '@types/jsonfile': 6.1.4 + '@types/node': 18.19.130 - /@types/mdast@3.0.10: - resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} + '@types/hast@3.0.4': dependencies: - '@types/unist': 2.0.6 - dev: true + '@types/unist': 3.0.3 - /@types/minimist@1.2.2: - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} - dev: false + '@types/istanbul-lib-coverage@2.0.6': {} - /@types/ms@0.7.31: - resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} - dev: true + '@types/jsonfile@6.1.4': + dependencies: + '@types/node': 18.19.130 - /@types/node@12.20.55: - resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - dev: false + '@types/lodash.groupby@4.6.9': + dependencies: + '@types/lodash': 4.17.24 - /@types/node@18.11.17: - resolution: {integrity: sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng==} - dev: true + '@types/lodash.uniqby@4.7.9': + dependencies: + '@types/lodash': 4.17.24 - /@types/node@18.11.9: - resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==} - dev: true + '@types/lodash@4.17.24': {} - /@types/node@18.15.0: - resolution: {integrity: sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w==} - dev: true + '@types/mdast@4.0.4': + dependencies: + '@types/unist': 3.0.3 - /@types/node@18.16.2: - resolution: {integrity: sha512-GQW/JL/5Fz/0I8RpeBG9lKp0+aNcXEaVL71c0D2Q0QHDTFvlYKT7an0onCUXj85anv7b4/WesqdfchLc0jtsCg==} - dev: true + '@types/ms@2.1.0': {} - /@types/normalize-package-data@2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} - dev: false + '@types/node@12.20.55': {} - /@types/parse5@6.0.3: - resolution: {integrity: sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==} - dev: true + '@types/node@18.19.130': + dependencies: + undici-types: 5.26.5 - /@types/resolve@1.20.2: - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - dev: true + '@types/resolve@1.20.2': {} - /@types/semver@6.2.3: - resolution: {integrity: sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==} - dev: false + '@types/tmp@0.2.6': {} - /@types/tmp@0.2.3: - resolution: {integrity: sha512-dDZH/tXzwjutnuk4UacGgFRwV+JSLaXL1ikvidfJprkb7L9Nx1njcRHHmi3Dsvt7pgqqTEeucQuOrWHPFgzVHA==} - dev: true + '@types/unist@2.0.11': {} - /@types/unist@2.0.6: - resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} - dev: true + '@types/unist@3.0.3': {} - /@types/web-bluetooth@0.0.16: - resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} - dev: true + '@types/web-bluetooth@0.0.16': {} + + '@types/web-bluetooth@0.0.20': {} - /@types/yargs-parser@21.0.0: - resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} - dev: true + '@types/yargs-parser@21.0.3': {} - /@unhead/dom@1.0.14: - resolution: {integrity: sha512-AMOOMUNbybHrvtuddy5aEkDibL3grwUCoUT1aHHqfvtEy86t/ftRGKT4T9znx54IxlXN9FnoNpeSOg4D8OP/5w==} + '@ungap/structured-clone@1.3.0': {} + + '@unhead/dom@1.11.20': dependencies: - '@unhead/schema': 1.0.14 - dev: true + '@unhead/schema': 1.11.20 + '@unhead/shared': 1.11.20 - /@unhead/schema@1.0.14: - resolution: {integrity: sha512-eL03X15KvI10igudFkvV1sWUIMcMGQed0qOk+V5fyp036NZLQ5MF9ygyZOKkZ71jbdL8/1Afe8+f2tklc4v8zQ==} + '@unhead/schema@1.11.20': dependencies: - '@zhead/schema': 1.0.9 - hookable: 5.4.2 - dev: true + hookable: 5.5.3 + zhead: 2.2.4 - /@unhead/ssr@1.0.14: - resolution: {integrity: sha512-ScireDoj8AJenQPi60KjGM21d9RePBqMKOKgJbTMLQIyEC34mssoOYU1r5tOexKZJiWJXzbu5qE+NIwoY8P/yA==} + '@unhead/shared@1.11.20': dependencies: - '@unhead/schema': 1.0.14 - dev: true + '@unhead/schema': 1.11.20 + packrup: 0.1.2 - /@unhead/vue@1.0.14(vue@3.2.45): - resolution: {integrity: sha512-PwJLCSq/eVLbLw7SbMCa20rEeL301w52UG2YhRpQTfsChBMBRGg3Nsl/PPWIurwkBXPpCsVL3AFppaCK5BCJ5Q==} - peerDependencies: - vue: '>=2.7 || >=3' + '@unhead/ssr@1.11.20': dependencies: - '@unhead/schema': 1.0.14 - hookable: 5.4.2 - vue: 3.2.45 - dev: true + '@unhead/schema': 1.11.20 + '@unhead/shared': 1.11.20 - /@unocss/reset@0.48.4: - resolution: {integrity: sha512-9WPoGwLrG5vZQzMxgd7/zJkUUmL06WYtrAiRdf5gYsCBbnpx6eq0II0TvU8PEzvseqgkhEpN19iSgnsuTZ34kA==} - dev: true + '@unhead/vue@1.11.20(vue@3.5.31(typescript@5.3.3))': + dependencies: + '@unhead/schema': 1.11.20 + '@unhead/shared': 1.11.20 + hookable: 5.5.3 + unhead: 1.11.20 + vue: 3.5.31(typescript@5.3.3) - /@vercel/nft@0.22.6: - resolution: {integrity: sha512-gTsFnnT4mGxodr4AUlW3/urY+8JKKB452LwF3m477RFUJTAaDmcz2JqFuInzvdybYIeyIv1sSONEJxsxnbQ5JQ==} - engines: {node: '>=14'} - hasBin: true + '@unhead/vue@2.1.12(vue@3.5.31(typescript@5.3.3))': dependencies: - '@mapbox/node-pre-gyp': 1.0.10 - '@rollup/pluginutils': 4.2.1 - acorn: 8.8.1 + hookable: 6.1.0 + unhead: 2.1.12 + vue: 3.5.31(typescript@5.3.3) + + '@unocss/reset@0.50.8': {} + + '@vercel/nft@1.5.0(rollup@4.60.0)': + dependencies: + '@mapbox/node-pre-gyp': 2.0.3 + '@rollup/pluginutils': 5.3.0(rollup@4.60.0) + acorn: 8.16.0 + acorn-import-attributes: 1.9.5(acorn@8.16.0) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 - glob: 7.2.3 - graceful-fs: 4.2.10 - micromatch: 4.0.5 - node-gyp-build: 4.5.0 + glob: 13.0.6 + graceful-fs: 4.2.11 + node-gyp-build: 4.8.4 + picomatch: 4.0.4 resolve-from: 5.0.0 transitivePeerDependencies: - encoding + - rollup - supports-color - dev: true - /@vitejs/plugin-vue-jsx@2.1.1(vite@3.2.5)(vue@3.2.45): - resolution: {integrity: sha512-JgDhxstQlwnHBvZ1BSnU5mbmyQ14/t5JhREc6YH5kWyu2QdAAOsLF6xgHoIWarj8tddaiwFrNzLbWJPudpXKYA==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^3.0.0 - vue: ^3.0.0 + '@vitejs/plugin-vue-jsx@5.1.5(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vue@3.5.31(typescript@5.3.3))': dependencies: - '@babel/core': 7.20.7 - '@babel/plugin-transform-typescript': 7.20.7(@babel/core@7.20.7) - '@vue/babel-plugin-jsx': 1.1.1(@babel/core@7.20.7) - vite: 3.2.5(@types/node@18.11.9) - vue: 3.2.45 + '@babel/core': 7.29.0 + '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) + '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) + '@rolldown/pluginutils': 1.0.0-rc.12 + '@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.0) + vite: 7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) + vue: 3.5.31(typescript@5.3.3) transitivePeerDependencies: - supports-color - dev: true - /@vitejs/plugin-vue@3.2.0(vite@3.2.5)(vue@3.2.45): - resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^3.0.0 - vue: ^3.2.25 + '@vitejs/plugin-vue@6.0.5(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vue@3.5.31(typescript@5.3.3))': dependencies: - vite: 3.2.5(@types/node@18.11.9) - vue: 3.2.45 - dev: true + '@rolldown/pluginutils': 1.0.0-rc.2 + vite: 7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) + vue: 3.5.31(typescript@5.3.3) - /@vitest/coverage-c8@0.29.3(vitest@0.29.3): - resolution: {integrity: sha512-VMhCCkkd9E2J1U3OVQop2fT7PRutqNA+kjaiXkYKz6+ap5TcH+m5+61oE6bJNGn/pN6i5cL6nDqzrbl9wixFng==} - peerDependencies: - vitest: '>=0.29.0 <1' + '@vitest/coverage-c8@0.29.8(vitest@0.29.8(terser@5.46.1))': dependencies: - c8: 7.13.0 - picocolors: 1.0.0 - std-env: 3.3.1 - vitest: 0.29.3 - dev: true + c8: 7.14.0 + picocolors: 1.1.1 + std-env: 3.10.0 + vitest: 0.29.8(terser@5.46.1) - /@vitest/expect@0.29.3: - resolution: {integrity: sha512-z/0JqBqqrdtrT/wzxNrWC76EpkOHdl+SvuNGxWulLaoluygntYyG5wJul5u/rQs5875zfFz/F+JaDf90SkLUIg==} + '@vitest/expect@0.29.8': dependencies: - '@vitest/spy': 0.29.3 - '@vitest/utils': 0.29.3 - chai: 4.3.7 - dev: true + '@vitest/spy': 0.29.8 + '@vitest/utils': 0.29.8 + chai: 4.5.0 - /@vitest/runner@0.29.3: - resolution: {integrity: sha512-XLi8ctbvOWhUWmuvBUSIBf8POEDH4zCh6bOuVxm/KGfARpgmVF1ku+vVNvyq85va+7qXxtl+MFmzyXQ2xzhAvw==} + '@vitest/runner@0.29.8': dependencies: - '@vitest/utils': 0.29.3 + '@vitest/utils': 0.29.8 p-limit: 4.0.0 - pathe: 1.1.0 - dev: true + pathe: 1.1.2 - /@vitest/spy@0.29.3: - resolution: {integrity: sha512-LLpCb1oOCOZcBm0/Oxbr1DQTuKLRBsSIHyLYof7z4QVE8/v8NcZKdORjMUq645fcfX55+nLXwU/1AQ+c2rND+w==} + '@vitest/spy@0.29.8': dependencies: - tinyspy: 1.0.2 - dev: true + tinyspy: 1.1.1 - /@vitest/utils@0.29.3: - resolution: {integrity: sha512-hg4Ff8AM1GtUnLpUJlNMxrf9f4lZr/xRJjh3uJ0QFP+vjaW82HAxKrmeBmLnhc8Os2eRf+f+VBu4ts7TafPPkA==} + '@vitest/utils@0.29.8': dependencies: cli-truncate: 3.1.0 - diff: 5.1.0 - loupe: 2.3.6 + diff: 5.2.2 + loupe: 2.3.7 pretty-format: 27.5.1 - dev: true - - /@volar/language-core@1.0.19: - resolution: {integrity: sha512-BRxhwqn66VHeLIxxgV4ybY9NDtwMp2bl1w7085qlK7i1pa4jeFR5lJG2U5qd0oI3e0PIWML+PryxSrKNd3+SZw==} - dependencies: - '@volar/source-map': 1.0.19 - muggle-string: 0.1.0 - dev: true - - /@volar/language-core@1.0.24: - resolution: {integrity: sha512-vTN+alJiWwK0Pax6POqrmevbtFW2dXhjwWiW/MW4f48eDYPLdyURWcr8TixO7EN/nHsUBj2udT7igFKPtjyAKg==} - dependencies: - '@volar/source-map': 1.0.24 - muggle-string: 0.1.0 - dev: true - - /@volar/source-map@1.0.19: - resolution: {integrity: sha512-5fYKsl1evR/QAZ9LADto3kzbYKfpjZLWS9reNpxGR3ODPFTpaJgYk4lqghFyq4yU7/e/ZPZ1zLXjEsnL526URw==} - dependencies: - muggle-string: 0.1.0 - dev: true - - /@volar/source-map@1.0.24: - resolution: {integrity: sha512-Qsv/tkplx18pgBr8lKAbM1vcDqgkGKQzbChg6NW+v0CZc3G7FLmK+WrqEPzKlN7Cwdc6XVL559Nod8WKAfKr4A==} - dependencies: - muggle-string: 0.1.0 - dev: true - - /@volar/vue-language-core@1.0.19: - resolution: {integrity: sha512-3mIjJvQ+0tNOp+U9+Nggy92HYIqnltf882UMG9RuNHrd0Jn/rdvjRBs0jNTzwYDV9tn3tjDHGIfQak9XrUCaRg==} - dependencies: - '@volar/language-core': 1.0.19 - '@volar/source-map': 1.0.19 - '@vue/compiler-dom': 3.2.45 - '@vue/compiler-sfc': 3.2.45 - '@vue/reactivity': 3.2.45 - '@vue/shared': 3.2.45 - minimatch: 5.1.2 - vue-template-compiler: 2.7.14 - dev: true - - /@volar/vue-language-core@1.0.24: - resolution: {integrity: sha512-2NTJzSgrwKu6uYwPqLiTMuAzi7fAY3yFy5PJ255bGJc82If0Xr+cW8pC80vpjG0D/aVLmlwAdO4+Ya2BI8GdDg==} - dependencies: - '@volar/language-core': 1.0.24 - '@volar/source-map': 1.0.24 - '@vue/compiler-dom': 3.2.45 - '@vue/compiler-sfc': 3.2.45 - '@vue/reactivity': 3.2.45 - '@vue/shared': 3.2.45 - minimatch: 5.1.2 - vue-template-compiler: 2.7.14 - dev: true - - /@vue/babel-helper-vue-transform-on@1.0.2: - resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} - dev: true - - /@vue/babel-plugin-jsx@1.1.1(@babel/core@7.20.7): - resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==} - dependencies: - '@babel/helper-module-imports': 7.18.6 - '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.7) - '@babel/template': 7.20.7 - '@babel/traverse': 7.20.10 - '@babel/types': 7.20.7 - '@vue/babel-helper-vue-transform-on': 1.0.2 - camelcase: 6.3.0 - html-tags: 3.2.0 - svg-tags: 1.0.0 + + '@volar/language-core@1.4.1': + dependencies: + '@volar/source-map': 1.4.1 + + '@volar/language-core@2.4.15': + dependencies: + '@volar/source-map': 2.4.15 + + '@volar/language-core@2.4.28': + dependencies: + '@volar/source-map': 2.4.28 + + '@volar/source-map@1.4.1': + dependencies: + muggle-string: 0.2.2 + + '@volar/source-map@2.4.15': {} + + '@volar/source-map@2.4.28': {} + + '@volar/typescript@2.4.15': + dependencies: + '@volar/language-core': 2.4.15 + path-browserify: 1.0.1 + vscode-uri: 3.1.0 + + '@volar/vue-language-core@1.6.5': + dependencies: + '@volar/language-core': 1.4.1 + '@volar/source-map': 1.4.1 + '@vue/compiler-dom': 3.5.31 + '@vue/compiler-sfc': 3.5.31 + '@vue/reactivity': 3.5.31 + '@vue/shared': 3.5.31 + minimatch: 9.0.9 + muggle-string: 0.2.2 + vue-template-compiler: 2.7.16 + + '@vue-macros/common@3.1.2(vue@3.5.31(typescript@5.3.3))': + dependencies: + '@vue/compiler-sfc': 3.5.31 + ast-kit: 2.2.0 + local-pkg: 1.1.2 + magic-string-ast: 1.0.3 + unplugin-utils: 0.3.1 + optionalDependencies: + vue: 3.5.31(typescript@5.3.3) + + '@vue/babel-helper-vue-transform-on@2.0.1': {} + + '@vue/babel-plugin-jsx@2.0.1(@babel/core@7.29.0)': + dependencies: + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.0) + '@babel/template': 7.28.6 + '@babel/traverse': 7.29.0 + '@babel/types': 7.29.0 + '@vue/babel-helper-vue-transform-on': 2.0.1 + '@vue/babel-plugin-resolve-type': 2.0.1(@babel/core@7.29.0) + '@vue/shared': 3.5.31 + optionalDependencies: + '@babel/core': 7.29.0 + transitivePeerDependencies: + - supports-color + + '@vue/babel-plugin-resolve-type@2.0.1(@babel/core@7.29.0)': + dependencies: + '@babel/code-frame': 7.29.0 + '@babel/core': 7.29.0 + '@babel/helper-module-imports': 7.28.6 + '@babel/helper-plugin-utils': 7.28.6 + '@babel/parser': 7.29.2 + '@vue/compiler-sfc': 3.5.31 transitivePeerDependencies: - - '@babel/core' - supports-color - dev: true - /@vue/compiler-core@3.2.45: - resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==} + '@vue/compiler-core@3.5.31': dependencies: - '@babel/parser': 7.20.7 - '@vue/shared': 3.2.45 + '@babel/parser': 7.29.2 + '@vue/shared': 3.5.31 + entities: 7.0.1 estree-walker: 2.0.2 - source-map: 0.6.1 - dev: true + source-map-js: 1.2.1 - /@vue/compiler-dom@3.2.45: - resolution: {integrity: sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==} + '@vue/compiler-dom@3.5.31': dependencies: - '@vue/compiler-core': 3.2.45 - '@vue/shared': 3.2.45 - dev: true + '@vue/compiler-core': 3.5.31 + '@vue/shared': 3.5.31 - /@vue/compiler-sfc@3.2.45: - resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==} + '@vue/compiler-sfc@3.5.31': dependencies: - '@babel/parser': 7.20.7 - '@vue/compiler-core': 3.2.45 - '@vue/compiler-dom': 3.2.45 - '@vue/compiler-ssr': 3.2.45 - '@vue/reactivity-transform': 3.2.45 - '@vue/shared': 3.2.45 + '@babel/parser': 7.29.2 + '@vue/compiler-core': 3.5.31 + '@vue/compiler-dom': 3.5.31 + '@vue/compiler-ssr': 3.5.31 + '@vue/shared': 3.5.31 estree-walker: 2.0.2 - magic-string: 0.25.9 - postcss: 8.4.20 - source-map: 0.6.1 - dev: true + magic-string: 0.30.21 + postcss: 8.5.8 + source-map-js: 1.2.1 + + '@vue/compiler-ssr@3.5.31': + dependencies: + '@vue/compiler-dom': 3.5.31 + '@vue/shared': 3.5.31 + + '@vue/compiler-vue2@2.7.16': + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + '@vue/devtools-api@6.6.4': {} + + '@vue/devtools-core@8.1.1(vue@3.5.31(typescript@5.3.3))': + dependencies: + '@vue/devtools-kit': 8.1.1 + '@vue/devtools-shared': 8.1.1 + vue: 3.5.31(typescript@5.3.3) - /@vue/compiler-ssr@3.2.45: - resolution: {integrity: sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==} + '@vue/devtools-kit@8.1.1': dependencies: - '@vue/compiler-dom': 3.2.45 - '@vue/shared': 3.2.45 - dev: true + '@vue/devtools-shared': 8.1.1 + birpc: 2.9.0 + hookable: 5.5.3 + perfect-debounce: 2.1.0 + + '@vue/devtools-shared@8.1.1': {} - /@vue/devtools-api@6.4.5: - resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==} - dev: true + '@vue/language-core@2.2.12(typescript@5.9.3)': + dependencies: + '@volar/language-core': 2.4.15 + '@vue/compiler-dom': 3.5.31 + '@vue/compiler-vue2': 2.7.16 + '@vue/shared': 3.5.31 + alien-signals: 1.0.13 + minimatch: 9.0.9 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + optionalDependencies: + typescript: 5.9.3 - /@vue/reactivity-transform@3.2.45: - resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==} + '@vue/language-core@3.2.6': dependencies: - '@babel/parser': 7.20.7 - '@vue/compiler-core': 3.2.45 - '@vue/shared': 3.2.45 - estree-walker: 2.0.2 - magic-string: 0.25.9 - dev: true + '@volar/language-core': 2.4.28 + '@vue/compiler-dom': 3.5.31 + '@vue/shared': 3.5.31 + alien-signals: 3.1.2 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + picomatch: 4.0.4 - /@vue/reactivity@3.2.45: - resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==} + '@vue/reactivity@3.5.31': dependencies: - '@vue/shared': 3.2.45 - dev: true + '@vue/shared': 3.5.31 - /@vue/runtime-core@3.2.45: - resolution: {integrity: sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==} + '@vue/runtime-core@3.5.31': dependencies: - '@vue/reactivity': 3.2.45 - '@vue/shared': 3.2.45 - dev: true + '@vue/reactivity': 3.5.31 + '@vue/shared': 3.5.31 - /@vue/runtime-dom@3.2.45: - resolution: {integrity: sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==} + '@vue/runtime-dom@3.5.31': dependencies: - '@vue/runtime-core': 3.2.45 - '@vue/shared': 3.2.45 - csstype: 2.6.21 - dev: true + '@vue/reactivity': 3.5.31 + '@vue/runtime-core': 3.5.31 + '@vue/shared': 3.5.31 + csstype: 3.2.3 - /@vue/server-renderer@3.2.45(vue@3.2.45): - resolution: {integrity: sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==} - peerDependencies: - vue: 3.2.45 + '@vue/server-renderer@3.5.31(vue@3.5.31(typescript@5.3.3))': dependencies: - '@vue/compiler-ssr': 3.2.45 - '@vue/shared': 3.2.45 - vue: 3.2.45 - dev: true + '@vue/compiler-ssr': 3.5.31 + '@vue/shared': 3.5.31 + vue: 3.5.31(typescript@5.3.3) - /@vue/shared@3.2.45: - resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==} - dev: true + '@vue/shared@3.5.31': {} + + '@vueuse/core@11.3.0(vue@3.5.31(typescript@5.3.3))': + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 11.3.0 + '@vueuse/shared': 11.3.0(vue@3.5.31(typescript@5.3.3)) + vue-demi: 0.14.10(vue@3.5.31(typescript@5.3.3)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue - /@vueuse/core@9.11.1: - resolution: {integrity: sha512-E/cizD1w9ILkq4axYjZrXLkKaBfzloaby2n3NMjUfd6yI/jkfTVgc6iwy/Cw2e++Ld4LphGbO+3MhzizvwUslQ==} + '@vueuse/core@9.13.0(vue@3.5.31(typescript@5.3.3))': dependencies: '@types/web-bluetooth': 0.0.16 - '@vueuse/metadata': 9.11.1 - '@vueuse/shared': 9.11.1 - vue-demi: 0.13.11 + '@vueuse/metadata': 9.13.0 + '@vueuse/shared': 9.13.0(vue@3.5.31(typescript@5.3.3)) + vue-demi: 0.14.10(vue@3.5.31(typescript@5.3.3)) transitivePeerDependencies: - '@vue/composition-api' - vue - dev: true - /@vueuse/head@1.0.22(vue@3.2.45): - resolution: {integrity: sha512-YmUdbzNdCnhmrAFxGnJS+Rixj+swE+TQC9OEaYDHIro6gE7W11jugcdwVP00HrA4WRQhg+TOQ4YcY2oL/PP1hw==} - peerDependencies: - vue: '>=2.7 || >=3' + '@vueuse/head@2.0.0(vue@3.5.31(typescript@5.3.3))': dependencies: - '@unhead/dom': 1.0.14 - '@unhead/schema': 1.0.14 - '@unhead/ssr': 1.0.14 - '@unhead/vue': 1.0.14(vue@3.2.45) - vue: 3.2.45 - dev: true + '@unhead/dom': 1.11.20 + '@unhead/schema': 1.11.20 + '@unhead/ssr': 1.11.20 + '@unhead/vue': 1.11.20(vue@3.5.31(typescript@5.3.3)) + vue: 3.5.31(typescript@5.3.3) - /@vueuse/metadata@9.11.1: - resolution: {integrity: sha512-ABjkrG+VXggNhjfGyw5e/sekxTZfXTwjrYXkkWQmQ7Biyv+Gq9UD6IDNfeGvQZEINI0Qzw6nfuO2UFCd3hlrxQ==} - dev: true + '@vueuse/integrations@11.3.0(focus-trap@7.8.0)(fuse.js@6.6.2)(vue@3.5.31(typescript@5.3.3))': + dependencies: + '@vueuse/core': 11.3.0(vue@3.5.31(typescript@5.3.3)) + '@vueuse/shared': 11.3.0(vue@3.5.31(typescript@5.3.3)) + vue-demi: 0.14.10(vue@3.5.31(typescript@5.3.3)) + optionalDependencies: + focus-trap: 7.8.0 + fuse.js: 6.6.2 + transitivePeerDependencies: + - '@vue/composition-api' + - vue - /@vueuse/nuxt@9.11.1(nuxt@3.0.0): - resolution: {integrity: sha512-hiiRzLgsH5nTAb2TChyFc6nykIyTB3MnCEhILg44Ug9ILC3vG/qnHnv3zRtIu4bXNOhDQN5shfnchgGPJFf8PA==} - peerDependencies: - nuxt: ^3.0.0 + '@vueuse/metadata@11.3.0': {} + + '@vueuse/metadata@9.13.0': {} + + '@vueuse/nuxt@11.3.0(magicast@0.5.2)(nuxt@3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3))(vue@3.5.31(typescript@5.3.3))': dependencies: - '@nuxt/kit': 3.0.0 - '@vueuse/core': 9.11.1 - '@vueuse/metadata': 9.11.1 - local-pkg: 0.4.2 - nuxt: 3.0.0(@types/node@18.11.9)(typescript@5.3.3) - vue-demi: 0.13.11 + '@nuxt/kit': 3.21.2(magicast@0.5.2) + '@vueuse/core': 11.3.0(vue@3.5.31(typescript@5.3.3)) + '@vueuse/metadata': 11.3.0 + local-pkg: 0.5.1 + nuxt: 3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3) + vue-demi: 0.14.10(vue@3.5.31(typescript@5.3.3)) transitivePeerDependencies: - '@vue/composition-api' - - rollup - - supports-color + - magicast - vue - dev: true - /@vueuse/shared@9.11.1: - resolution: {integrity: sha512-UTZYGAjT96hWn4buf4wstZbeheBVNcKPQuej6qpoSkjF1atdaeCD6kqm9uGL2waHfisSgH9mq0qCRiBOk5C/2w==} + '@vueuse/shared@11.3.0(vue@3.5.31(typescript@5.3.3))': dependencies: - vue-demi: 0.13.11 + vue-demi: 0.14.10(vue@3.5.31(typescript@5.3.3)) transitivePeerDependencies: - '@vue/composition-api' - vue - dev: true - /@zhead/schema@1.0.9: - resolution: {integrity: sha512-MBubVXXEJX86ZBL6CDK0rYi1mC82zuben1MwwAEe98EFN1w4Oy0l2roJaM51MwQEvZ+WTi6o4lCxUShtLQJk8A==} - dev: true + '@vueuse/shared@9.13.0(vue@3.5.31(typescript@5.3.3))': + dependencies: + vue-demi: 0.14.10(vue@3.5.31(typescript@5.3.3)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue - /abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - dev: true + abbrev@3.0.1: {} - /acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} - dev: true + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 - /acorn@8.8.1: - resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true + acorn-import-attributes@1.9.5(acorn@8.16.0): + dependencies: + acorn: 8.16.0 - /agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} + acorn-walk@8.3.5: dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: true + acorn: 8.16.0 - /ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - dev: false + acorn@8.16.0: {} - /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.21.3 - dev: true + agent-base@7.1.4: {} - /ansi-escapes@6.0.0: - resolution: {integrity: sha512-IG23inYII3dWlU2EyiAiGj6Bwal5GzsgPMwjYGvc1HPE2dgbj4ZB5ToWBKSquKw74nB3TIuOwaI6/jSULzfgrw==} - engines: {node: '>=14.16'} - dependencies: - type-fest: 3.5.0 - dev: true + alien-signals@1.0.13: {} - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + alien-signals@3.1.2: {} - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - dev: true + ansi-colors@4.1.3: {} - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true + ansi-styles@5.2.0: {} - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - dev: true + ansi-styles@6.2.3: {} - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + ansis@4.2.0: {} + + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: true + picomatch: 2.3.2 - /aproba@2.0.0: - resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - dev: true - - /arch@2.2.0: - resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} - dev: true - - /archiver-utils@2.1.0: - resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} - engines: {node: '>= 6'} + archiver-utils@5.0.2: dependencies: - glob: 7.2.3 - graceful-fs: 4.2.10 + glob: 10.5.0 + graceful-fs: 4.2.11 + is-stream: 2.0.1 lazystream: 1.0.1 - lodash.defaults: 4.2.0 - lodash.difference: 4.5.0 - lodash.flatten: 4.4.0 - lodash.isplainobject: 4.0.6 - lodash.union: 4.6.0 + lodash: 4.17.23 normalize-path: 3.0.0 - readable-stream: 2.3.7 - dev: true - - /archiver@5.3.1: - resolution: {integrity: sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==} - engines: {node: '>= 10'} - dependencies: - archiver-utils: 2.1.0 - async: 3.2.4 - buffer-crc32: 0.2.13 - readable-stream: 3.6.0 - readdir-glob: 1.1.2 - tar-stream: 2.2.0 - zip-stream: 4.1.0 - dev: true - - /are-we-there-yet@2.0.0: - resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} - engines: {node: '>=10'} + readable-stream: 4.7.0 + + archiver@7.0.1: dependencies: - delegates: 1.0.0 - readable-stream: 3.6.0 - dev: true + archiver-utils: 5.0.2 + async: 3.2.6 + buffer-crc32: 1.0.0 + readable-stream: 4.7.0 + readdir-glob: 1.1.3 + tar-stream: 3.1.8 + zip-stream: 6.0.1 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a - /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true + arg@4.1.3: {} - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 - dev: false - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: false + argparse@2.0.1: {} - /array.prototype.flat@1.3.1: - resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} - engines: {node: '>= 0.4'} + array-buffer-byte-length@1.0.2: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.21.1 - es-shim-unscopables: 1.0.0 - dev: false + call-bound: 1.0.4 + is-array-buffer: 3.0.5 - /arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - dev: false + array-union@2.1.0: {} + + arraybuffer.prototype.slice@1.0.4: + dependencies: + array-buffer-byte-length: 1.0.2 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + is-array-buffer: 3.0.5 - /assert@2.0.0: - resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==} + assert@2.1.0: dependencies: - es6-object-assign: 1.1.0 + call-bind: 1.0.8 is-nan: 1.3.2 - object-is: 1.1.5 + object-is: 1.1.6 + object.assign: 4.1.7 util: 0.12.5 - dev: true - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true + assertion-error@1.1.0: {} - /ast-types@0.15.2: - resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} - engines: {node: '>=4'} + ast-kit@2.2.0: dependencies: - tslib: 2.4.1 - dev: true + '@babel/parser': 7.29.2 + pathe: 2.0.3 - /async-sema@3.1.1: - resolution: {integrity: sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==} - dev: true + ast-types@0.15.2: + dependencies: + tslib: 2.8.1 - /async@3.2.4: - resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} - dev: true + ast-walker-scope@0.8.3: + dependencies: + '@babel/parser': 7.29.2 + ast-kit: 2.2.0 - /autoprefixer@10.4.13(postcss@8.4.20): - resolution: {integrity: sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 + async-function@1.0.0: {} + + async-sema@3.1.1: {} + + async@3.2.6: {} + + autoprefixer@10.4.27(postcss@8.5.8): dependencies: - browserslist: 4.21.4 - caniuse-lite: 1.0.30001441 - fraction.js: 4.2.0 - normalize-range: 0.1.2 - picocolors: 1.0.0 - postcss: 8.4.20 + browserslist: 4.28.1 + caniuse-lite: 1.0.30001781 + fraction.js: 5.3.4 + picocolors: 1.1.1 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 - /bail@2.0.2: - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - dev: true + b4a@1.8.0: {} - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true + bail@2.0.2: {} - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true + balanced-match@1.0.2: {} - /better-path-resolve@1.0.0: - resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} - engines: {node: '>=4'} + balanced-match@4.0.4: {} + + bare-events@2.8.2: {} + + bare-fs@4.5.6: dependencies: - is-windows: 1.0.2 - dev: false + bare-events: 2.8.2 + bare-path: 3.0.0 + bare-stream: 2.11.0(bare-events@2.8.2) + bare-url: 2.4.0 + fast-fifo: 1.3.2 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - dev: true + bare-os@3.8.0: {} - /bindings@1.5.0: - resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + bare-path@3.0.0: dependencies: - file-uri-to-path: 1.0.0 - dev: true + bare-os: 3.8.0 - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + bare-stream@2.11.0(bare-events@2.8.2): dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.0 - dev: true + streamx: 2.25.0 + teex: 1.0.1 + optionalDependencies: + bare-events: 2.8.2 + transitivePeerDependencies: + - react-native-b4a - /bl@5.1.0: - resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} + bare-url@2.4.0: dependencies: - buffer: 6.0.3 - inherits: 2.0.4 - readable-stream: 3.6.0 - dev: true + bare-path: 3.0.0 - /boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - dev: true + base64-js@1.5.1: {} + + baseline-browser-mapping@2.10.11: {} + + better-path-resolve@1.0.0: + dependencies: + is-windows: 1.0.2 + + binary-extensions@2.3.0: {} + + bindings@1.5.0: + dependencies: + file-uri-to-path: 1.0.0 - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + birpc@2.9.0: {} + + birpc@4.0.0: {} + + boolbase@1.0.0: {} + + brace-expansion@1.1.13: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - dev: true - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.3: dependencies: balanced-match: 1.0.2 - dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + brace-expansion@5.0.5: dependencies: - fill-range: 7.0.1 + balanced-match: 4.0.4 - /breakword@1.0.5: - resolution: {integrity: sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==} + braces@3.0.3: dependencies: - wcwidth: 1.0.1 - dev: false + fill-range: 7.1.1 - /browserslist@4.21.4: - resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + browserslist@4.28.1: dependencies: - caniuse-lite: 1.0.30001441 - electron-to-chromium: 1.4.284 - node-releases: 2.0.8 - update-browserslist-db: 1.0.10(browserslist@4.21.4) - dev: true + baseline-browser-mapping: 2.10.11 + caniuse-lite: 1.0.30001781 + electron-to-chromium: 1.5.328 + node-releases: 2.0.36 + update-browserslist-db: 1.2.3(browserslist@4.28.1) - /buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - dev: true + buffer-crc32@1.0.0: {} - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true + buffer-from@1.1.2: {} - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + buffer@6.0.3: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + bundle-name@4.1.0: dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: true + run-applescript: 7.1.0 - /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true - - /busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} - dependencies: - streamsearch: 1.1.0 - dev: true - - /c12@1.1.0: - resolution: {integrity: sha512-9KRFWEng+TH8sGST4NNdiKzZGw1Z1CHnPGAmNqAyVP7suluROmBjD8hsiR34f94DdlrvtGvvmiGDsoFXlCBWIw==} - dependencies: - defu: 6.1.1 - dotenv: 16.0.3 - giget: 1.0.0 - jiti: 1.16.0 - mlly: 1.0.0 - pathe: 1.0.0 - pkg-types: 1.0.1 - rc9: 2.0.0 - transitivePeerDependencies: - - supports-color - dev: true + c12@3.3.3(magicast@0.5.2): + dependencies: + chokidar: 5.0.0 + confbox: 0.2.4 + defu: 6.1.4 + dotenv: 17.3.1 + exsolve: 1.0.8 + giget: 2.0.0 + jiti: 2.6.1 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.0 + rc9: 2.1.2 + optionalDependencies: + magicast: 0.5.2 - /c8@7.13.0: - resolution: {integrity: sha512-/NL4hQTv1gBL6J6ei80zu3IiTrmePDKXKXOTLpHvcIWZTVYQlDhVWjjWvkhICylE8EwwnMVzDZugCvdx0/DIIA==} - engines: {node: '>=10.12.0'} - hasBin: true + c8@7.14.0: dependencies: '@bcoe/v8-coverage': 0.2.3 '@istanbuljs/schema': 0.1.3 find-up: 5.0.0 foreground-child: 2.0.0 - istanbul-lib-coverage: 3.2.0 - istanbul-lib-report: 3.0.0 - istanbul-reports: 3.1.5 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-reports: 3.2.0 rimraf: 3.0.2 test-exclude: 6.0.0 - v8-to-istanbul: 9.0.1 + v8-to-istanbul: 9.3.0 yargs: 16.2.0 yargs-parser: 20.2.9 - dev: true - /cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - dev: true + cac@6.7.14: {} - /call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + call-bind-apply-helpers@1.0.2: dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.1.3 + es-errors: 1.3.0 + function-bind: 1.1.2 - /camel-case@4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + call-bind@1.0.8: dependencies: - pascal-case: 3.1.2 - tslib: 2.4.1 - dev: true + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 - /camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} + call-bound@1.0.4: dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - dev: false - - /camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - dev: false + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 - /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: true + camel-case@4.1.2: + dependencies: + pascal-case: 3.1.2 + tslib: 2.8.1 - /caniuse-api@3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + caniuse-api@3.0.0: dependencies: - browserslist: 4.21.4 - caniuse-lite: 1.0.30001441 + browserslist: 4.28.1 + caniuse-lite: 1.0.30001781 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - dev: true - /caniuse-lite@1.0.30001441: - resolution: {integrity: sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==} - dev: true + caniuse-lite@1.0.30001781: {} - /capital-case@1.0.4: - resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} + capital-case@1.0.4: dependencies: no-case: 3.0.4 - tslib: 2.4.1 + tslib: 2.8.1 upper-case-first: 2.0.2 - dev: true - /ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - dev: true + ccount@2.0.1: {} - /chai@4.3.7: - resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} - engines: {node: '>=4'} + chai@4.5.0: dependencies: assertion-error: 1.1.0 - check-error: 1.0.2 - deep-eql: 4.1.3 - get-func-name: 2.0.0 - loupe: 2.3.6 + check-error: 1.0.3 + deep-eql: 4.1.4 + get-func-name: 2.0.2 + loupe: 2.3.7 pathval: 1.1.1 - type-detect: 4.0.8 - dev: true + type-detect: 4.1.0 - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - /chalk@5.2.0: - resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chalk@5.6.2: {} - /change-case@4.1.2: - resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} + change-case@4.1.2: dependencies: camel-case: 4.1.2 capital-case: 1.0.4 @@ -2664,1811 +8695,1145 @@ packages: path-case: 3.0.4 sentence-case: 3.0.4 snake-case: 3.0.4 - tslib: 2.4.1 - dev: true + tslib: 2.8.1 - /changelogen@0.4.1: - resolution: {integrity: sha512-p1dJO1Z995odIxdypzAykHIaUu+XnEvwYPSTyKJsbpL82o99sxN1G24tbecoMxTsV4PI+ZId82GJXRL2hhOeJA==} - hasBin: true - dependencies: - c12: 1.1.0 - consola: 2.15.3 - convert-gitmoji: 0.1.3 - execa: 6.1.0 - mri: 1.2.0 - node-fetch-native: 1.0.1 - pkg-types: 1.0.1 - scule: 1.0.0 - semver: 7.3.8 - transitivePeerDependencies: - - supports-color - dev: true + char-regex@1.0.2: {} - /character-entities-html4@2.1.0: - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} - dev: true + character-entities-html4@2.1.0: {} - /character-entities-legacy@3.0.0: - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - dev: true + character-entities-legacy@3.0.0: {} - /character-entities@2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - dev: true + character-entities@2.0.2: {} - /character-reference-invalid@2.0.1: - resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - dev: true + character-reference-invalid@2.0.1: {} - /chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + chardet@2.1.1: {} - /check-error@1.0.2: - resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} - dev: true + check-error@1.0.3: + dependencies: + get-func-name: 2.0.2 - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} + chokidar@3.6.0: dependencies: anymatch: 3.1.3 - braces: 3.0.2 + 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.2 - dev: true + fsevents: 2.3.3 - /chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} - dev: true + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 - /chroma-js@2.4.2: - resolution: {integrity: sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==} - dev: true + chokidar@5.0.0: + dependencies: + readdirp: 5.0.0 - /ci-info@3.7.1: - resolution: {integrity: sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==} - engines: {node: '>=8'} + chownr@3.0.0: {} - /cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + chroma-js@2.6.0: {} + + citty@0.1.6: dependencies: - restore-cursor: 4.0.0 - dev: true + consola: 3.4.2 - /cli-spinners@2.7.0: - resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} - engines: {node: '>=6'} - dev: true + citty@0.2.1: {} - /cli-truncate@3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-truncate@3.1.0: dependencies: slice-ansi: 5.0.0 string-width: 5.1.2 - dev: true - - /cli-width@4.0.0: - resolution: {integrity: sha512-ZksGS2xpa/bYkNzN3BAw1wEjsLV/ZKOf/CCrJ/QOBsxx6fOARIkwTutxp1XIOIohi6HKmOFjMoK/XaqDVUpEEw==} - engines: {node: '>= 12'} - dev: true - - /clipboardy@3.0.0: - resolution: {integrity: sha512-Su+uU5sr1jkUy1sGRpLKjKrvEOVXgSgiSInwa/qeID6aJ07yh+5NWc3h2QfjHjBnfX4LhtFcuAWKUsJ3r+fjbg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - arch: 2.2.0 - execa: 5.1.1 - is-wsl: 2.2.0 - dev: true - /cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + clipboardy@4.0.0: dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 - dev: false + execa: 8.0.1 + is-wsl: 3.1.1 + is64bit: 2.0.0 - /cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + cliui@7.0.4: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + cliui@9.0.1: dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} + string-width: 7.2.0 + strip-ansi: 7.2.0 + wrap-ansi: 9.0.2 - /cluster-key-slot@1.1.2: - resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} - engines: {node: '>=0.10.0'} - dev: true + cluster-key-slot@1.1.2: {} - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + color-convert@1.9.3: dependencies: color-name: 1.1.3 - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + color-convert@2.0.1: dependencies: color-name: 1.1.4 - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - - /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 - dev: true - - /colord@2.9.3: - resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} - dev: true + color-name@1.1.3: {} - /colorette@2.0.19: - resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} - dev: true + color-name@1.1.4: {} - /comma-separated-tokens@2.0.3: - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - dev: true + colord@2.9.3: {} - /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - dev: true + comma-separated-tokens@2.0.3: {} - /commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - dev: true + commander@11.1.0: {} - /commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} - dev: true + commander@2.20.3: {} - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - dev: true + commondir@1.0.1: {} - /commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: true + compatx@0.2.0: {} - /compress-commons@4.1.1: - resolution: {integrity: sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==} - engines: {node: '>= 10'} + compress-commons@6.0.2: dependencies: - buffer-crc32: 0.2.13 - crc32-stream: 4.0.2 + crc-32: 1.2.2 + crc32-stream: 6.0.0 + is-stream: 2.0.1 normalize-path: 3.0.0 - readable-stream: 3.6.0 - dev: true + readable-stream: 4.7.0 - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true + concat-map@0.0.1: {} - /consola@2.15.3: - resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} - dev: true + confbox@0.1.8: {} - /console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - dev: true + confbox@0.2.4: {} - /constant-case@3.0.4: - resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} + consola@2.15.3: {} + + consola@3.4.2: {} + + constant-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.4.1 + tslib: 2.8.1 upper-case: 2.0.2 - dev: true - /convert-gitmoji@0.1.3: - resolution: {integrity: sha512-t5yxPyI8h8KPvRwrS/sRrfIpT2gJbmBAY0TFokyUBy3PM44RuFRpZwHdACz+GTSPLRLo3s4qsscOMLjHiXBwzw==} - dev: true + convert-source-map@2.0.0: {} - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: true + cookie-es@1.2.2: {} - /cookie-es@0.5.0: - resolution: {integrity: sha512-RyZrFi6PNpBFbIaQjXDlFIhFVqV42QeKSZX1yQIl6ihImq6vcHNGMtqQ/QzY3RMPuYSkvsRwtnt5M9NeYxKt0g==} - dev: true + cookie-es@2.0.0: {} - /core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - dev: true + cookie-es@3.1.1: {} - /crc-32@1.2.2: - resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} - engines: {node: '>=0.8'} - hasBin: true - dev: true + core-util-is@1.0.3: {} - /crc32-stream@4.0.2: - resolution: {integrity: sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==} - engines: {node: '>= 10'} + crc-32@1.2.2: {} + + crc32-stream@6.0.0: dependencies: crc-32: 1.2.2 - readable-stream: 3.6.0 - dev: true + readable-stream: 4.7.0 - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true + create-require@1.1.1: {} - /cross-env@7.0.3: - resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} - engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} - hasBin: true - dependencies: - cross-spawn: 7.0.3 - dev: true + croner@10.0.1: {} - /cross-spawn@5.1.0: - resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + cross-env@7.0.3: dependencies: - lru-cache: 4.1.5 - shebang-command: 1.2.0 - which: 1.3.1 - dev: false + cross-spawn: 7.0.6 - /cross-spawn@6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} + cross-spawn@6.0.6: dependencies: nice-try: 1.0.5 path-key: 2.0.1 - semver: 5.7.1 + semver: 5.7.2 shebang-command: 1.2.0 which: 1.3.1 - dev: true - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: true - /css-declaration-sorter@6.3.1(postcss@8.4.20): - resolution: {integrity: sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==} - engines: {node: ^10 || ^12 || >=14} - peerDependencies: - postcss: ^8.0.9 + crossws@0.3.5: + dependencies: + uncrypto: 0.1.3 + + css-declaration-sorter@7.3.1(postcss@8.5.8): dependencies: - postcss: 8.4.20 - dev: true + postcss: 8.5.8 - /css-select@4.3.0: - resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + css-select@5.2.2: dependencies: boolbase: 1.0.0 - css-what: 6.1.0 - domhandler: 4.3.1 - domutils: 2.8.0 + css-what: 6.2.2 + domhandler: 5.0.3 + domutils: 3.2.2 nth-check: 2.1.1 - dev: true - /css-tree@1.1.3: - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} - engines: {node: '>=8.0.0'} + css-tree@2.2.1: dependencies: - mdn-data: 2.0.14 - source-map: 0.6.1 - dev: true + mdn-data: 2.0.28 + source-map-js: 1.2.1 - /css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} - dev: true + css-tree@3.2.1: + dependencies: + mdn-data: 2.27.1 + source-map-js: 1.2.1 - /cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true - dev: true + css-what@6.2.2: {} - /cssnano-preset-default@5.2.13(postcss@8.4.20): - resolution: {integrity: sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - css-declaration-sorter: 6.3.1(postcss@8.4.20) - cssnano-utils: 3.1.0(postcss@8.4.20) - postcss: 8.4.20 - postcss-calc: 8.2.4(postcss@8.4.20) - postcss-colormin: 5.3.0(postcss@8.4.20) - postcss-convert-values: 5.1.3(postcss@8.4.20) - postcss-discard-comments: 5.1.2(postcss@8.4.20) - postcss-discard-duplicates: 5.1.0(postcss@8.4.20) - postcss-discard-empty: 5.1.1(postcss@8.4.20) - postcss-discard-overridden: 5.1.0(postcss@8.4.20) - postcss-merge-longhand: 5.1.7(postcss@8.4.20) - postcss-merge-rules: 5.1.3(postcss@8.4.20) - postcss-minify-font-values: 5.1.0(postcss@8.4.20) - postcss-minify-gradients: 5.1.1(postcss@8.4.20) - postcss-minify-params: 5.1.4(postcss@8.4.20) - postcss-minify-selectors: 5.2.1(postcss@8.4.20) - postcss-normalize-charset: 5.1.0(postcss@8.4.20) - postcss-normalize-display-values: 5.1.0(postcss@8.4.20) - postcss-normalize-positions: 5.1.1(postcss@8.4.20) - postcss-normalize-repeat-style: 5.1.1(postcss@8.4.20) - postcss-normalize-string: 5.1.0(postcss@8.4.20) - postcss-normalize-timing-functions: 5.1.0(postcss@8.4.20) - postcss-normalize-unicode: 5.1.1(postcss@8.4.20) - postcss-normalize-url: 5.1.0(postcss@8.4.20) - postcss-normalize-whitespace: 5.1.1(postcss@8.4.20) - postcss-ordered-values: 5.1.3(postcss@8.4.20) - postcss-reduce-initial: 5.1.1(postcss@8.4.20) - postcss-reduce-transforms: 5.1.0(postcss@8.4.20) - postcss-svgo: 5.1.0(postcss@8.4.20) - postcss-unique-selectors: 5.1.1(postcss@8.4.20) - dev: true - - /cssnano-utils@3.1.0(postcss@8.4.20): - resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.20 - dev: true + cssesc@3.0.0: {} - /cssnano@5.1.14(postcss@8.4.20): - resolution: {integrity: sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + cssnano-preset-default@7.0.11(postcss@8.5.8): dependencies: - cssnano-preset-default: 5.2.13(postcss@8.4.20) - lilconfig: 2.0.6 - postcss: 8.4.20 - yaml: 1.10.2 - dev: true + browserslist: 4.28.1 + css-declaration-sorter: 7.3.1(postcss@8.5.8) + cssnano-utils: 5.0.1(postcss@8.5.8) + postcss: 8.5.8 + postcss-calc: 10.1.1(postcss@8.5.8) + postcss-colormin: 7.0.6(postcss@8.5.8) + postcss-convert-values: 7.0.9(postcss@8.5.8) + postcss-discard-comments: 7.0.6(postcss@8.5.8) + postcss-discard-duplicates: 7.0.2(postcss@8.5.8) + postcss-discard-empty: 7.0.1(postcss@8.5.8) + postcss-discard-overridden: 7.0.1(postcss@8.5.8) + postcss-merge-longhand: 7.0.5(postcss@8.5.8) + postcss-merge-rules: 7.0.8(postcss@8.5.8) + postcss-minify-font-values: 7.0.1(postcss@8.5.8) + postcss-minify-gradients: 7.0.1(postcss@8.5.8) + postcss-minify-params: 7.0.6(postcss@8.5.8) + postcss-minify-selectors: 7.0.6(postcss@8.5.8) + postcss-normalize-charset: 7.0.1(postcss@8.5.8) + postcss-normalize-display-values: 7.0.1(postcss@8.5.8) + postcss-normalize-positions: 7.0.1(postcss@8.5.8) + postcss-normalize-repeat-style: 7.0.1(postcss@8.5.8) + postcss-normalize-string: 7.0.1(postcss@8.5.8) + postcss-normalize-timing-functions: 7.0.1(postcss@8.5.8) + postcss-normalize-unicode: 7.0.6(postcss@8.5.8) + postcss-normalize-url: 7.0.1(postcss@8.5.8) + postcss-normalize-whitespace: 7.0.1(postcss@8.5.8) + postcss-ordered-values: 7.0.2(postcss@8.5.8) + postcss-reduce-initial: 7.0.6(postcss@8.5.8) + postcss-reduce-transforms: 7.0.1(postcss@8.5.8) + postcss-svgo: 7.1.1(postcss@8.5.8) + postcss-unique-selectors: 7.0.5(postcss@8.5.8) - /csso@4.2.0: - resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} - engines: {node: '>=8.0.0'} + cssnano-utils@5.0.1(postcss@8.5.8): dependencies: - css-tree: 1.1.3 - dev: true - - /csstype@2.6.21: - resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} - dev: true - - /csstype@3.1.1: - resolution: {integrity: sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==} - dev: true - - /csv-generate@3.4.3: - resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} - dev: false + postcss: 8.5.8 - /csv-parse@4.16.3: - resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} - dev: false - - /csv-stringify@5.6.5: - resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} - dev: false - - /csv@5.5.3: - resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} - engines: {node: '>= 0.1.90'} + cssnano@7.1.3(postcss@8.5.8): dependencies: - csv-generate: 3.4.3 - csv-parse: 4.16.3 - csv-stringify: 5.6.5 - stream-transform: 2.1.3 - dev: false + cssnano-preset-default: 7.0.11(postcss@8.5.8) + lilconfig: 3.1.3 + postcss: 8.5.8 - /cuint@0.2.2: - resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==} - dev: true + csso@5.0.5: + dependencies: + css-tree: 2.2.1 - /data-uri-to-buffer@4.0.0: - resolution: {integrity: sha512-Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==} - engines: {node: '>= 12'} - dev: true + csstype@3.2.3: {} - /de-indent@1.0.2: - resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} - dev: true + data-view-buffer@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 - /debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - 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 + + data-view-byte-offset@1.0.1: dependencies: - ms: 2.0.0 - dev: true + call-bound: 1.0.4 + es-errors: 1.3.0 + is-data-view: 1.0.2 - /debug@3.2.7(supports-color@5.5.0): - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + db0@0.3.4: {} + + de-indent@1.0.2: {} + + debug@3.2.7(supports-color@5.5.0): dependencies: ms: 2.1.3 + optionalDependencies: supports-color: 5.5.0 - dev: true - - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - /decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} + debug@4.4.3: dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 - dev: false - - /decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - dev: false + ms: 2.1.3 - /decode-named-character-reference@1.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + decode-named-character-reference@1.3.0: dependencies: character-entities: 2.0.2 - dev: true - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} + deep-eql@4.1.4: dependencies: - type-detect: 4.0.8 - dev: true + type-detect: 4.1.0 - /deepmerge@4.2.2: - resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==} - engines: {node: '>=0.10.0'} - dev: true + deepmerge@4.3.1: {} - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + default-browser-id@5.0.1: {} + + default-browser@5.5.0: dependencies: - clone: 1.0.4 + bundle-name: 4.1.0 + default-browser-id: 5.0.1 - /define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - dev: true + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 - /define-properties@1.1.4: - resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} - engines: {node: '>= 0.4'} + define-lazy-prop@3.0.0: {} + + define-properties@1.2.1: dependencies: - has-property-descriptors: 1.0.0 + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 object-keys: 1.1.1 - /defu@6.1.1: - resolution: {integrity: sha512-aA964RUCsBt0FGoNIlA3uFgo2hO+WWC0fiC6DBps/0SFzkKcYoM/3CzVLIa5xSsrFjdioMdYgAIbwo80qp2MoA==} - dev: true + defu@6.1.4: {} - /delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - dev: true + denque@2.1.0: {} - /denque@2.1.0: - resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} - engines: {node: '>=0.10'} - dev: true + depd@2.0.0: {} - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: true + dequal@2.0.3: {} - /dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - dev: true + destr@2.0.5: {} - /destr@1.2.2: - resolution: {integrity: sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==} - dev: true + detab@3.0.2: {} - /destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: true + detect-indent@6.1.0: {} - /detab@3.0.2: - resolution: {integrity: sha512-7Bp16Bk8sk0Y6gdXiCtnpGbghn8atnTJdd/82aWvS5ESnlcNvgUc10U2NYS0PAiDSGjWiI8qs/Cv1b2uSGdQ8w==} - dev: true + detect-libc@2.1.2: {} - /detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} - dev: false + devalue@5.6.4: {} - /detect-libc@2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==} - engines: {node: '>=8'} - dev: true + devlop@1.1.0: + dependencies: + dequal: 2.0.3 - /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true + diff@4.0.4: {} - /diff@5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} - engines: {node: '>=0.3.1'} - dev: true + diff@5.2.2: {} - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + diff@8.0.4: {} + + dir-glob@3.0.1: dependencies: path-type: 4.0.0 - /dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dom-serializer@2.0.0: dependencies: domelementtype: 2.3.0 - domhandler: 4.3.1 - entities: 2.2.0 - dev: true + domhandler: 5.0.3 + entities: 4.5.0 - /domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} - dev: true + domelementtype@2.3.0: {} - /domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} + domhandler@5.0.3: dependencies: domelementtype: 2.3.0 - dev: true - /domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + domutils@3.2.2: dependencies: - dom-serializer: 1.4.1 + dom-serializer: 2.0.0 domelementtype: 2.3.0 - domhandler: 4.3.1 - dev: true + domhandler: 5.0.3 - /dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dot-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.4.1 - dev: true + tslib: 2.8.1 - /dot-prop@7.2.0: - resolution: {integrity: sha512-Ol/IPXUARn9CSbkrdV4VJo7uCy1I3VuSiWCaFSg+8BdUOzF9n3jefIpcgAydvUZbTdEBZs2vEiTiS9m61ssiDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dot-prop@10.1.0: dependencies: - type-fest: 2.19.0 - dev: true + type-fest: 5.5.0 - /dotenv@16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} - engines: {node: '>=12'} - dev: true + dotenv@17.3.1: {} - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: true + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true + duplexer@0.1.2: {} - /ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: true + eastasianwidth@0.2.0: {} - /electron-to-chromium@1.4.284: - resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} - dev: true + ee-first@1.1.1: {} - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + electron-to-chromium@1.5.328: {} - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true + emoji-regex-xs@1.0.0: {} - /emoticon@4.0.1: - resolution: {integrity: sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==} - dev: true + emoji-regex@10.6.0: {} - /encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - dev: true + emoji-regex@8.0.0: {} - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - dev: true + emoji-regex@9.2.2: {} - /engine.io-client@6.2.3: - resolution: {integrity: sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==} + emojilib@2.4.0: {} + + emoticon@4.1.0: {} + + encodeurl@2.0.0: {} + + engine.io-client@6.6.4: dependencies: - '@socket.io/component-emitter': 3.1.0 - debug: 4.3.4 - engine.io-parser: 5.0.4 - ws: 8.2.3 - xmlhttprequest-ssl: 2.0.0 + '@socket.io/component-emitter': 3.1.2 + debug: 4.4.3 + engine.io-parser: 5.2.3 + ws: 8.18.3 + xmlhttprequest-ssl: 2.1.2 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - dev: true - - /engine.io-parser@5.0.4: - resolution: {integrity: sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==} - engines: {node: '>=10.0.0'} - dev: true - /enhanced-resolve@4.5.0: - resolution: {integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==} - engines: {node: '>=6.9.0'} - dependencies: - graceful-fs: 4.2.10 - memory-fs: 0.5.0 - tapable: 1.1.3 - dev: true + engine.io-parser@5.2.3: {} - /enhanced-resolve@5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} - engines: {node: '>=10.13.0'} + enhanced-resolve@5.20.1: dependencies: - graceful-fs: 4.2.10 - tapable: 2.2.1 - dev: true + graceful-fs: 4.2.11 + tapable: 2.3.2 - /enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} + enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 - dev: false + strip-ansi: 6.0.1 - /entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} - dev: true + entities@4.5.0: {} - /errno@0.1.8: - resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} - hasBin: true - dependencies: - prr: 1.0.1 - dev: true + entities@6.0.1: {} - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + entities@7.0.1: {} + + error-ex@1.3.4: dependencies: is-arrayish: 0.2.1 - /es-abstract@1.21.1: - resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 - es-to-primitive: 1.2.1 - function-bind: 1.1.1 - function.prototype.name: 1.1.5 - get-intrinsic: 1.1.3 - get-symbol-description: 1.0.0 - globalthis: 1.0.3 - gopd: 1.0.1 - has: 1.0.3 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 - has-symbols: 1.0.3 - internal-slot: 1.0.4 - is-array-buffer: 3.0.1 + error-stack-parser-es@1.0.5: {} + + errx@0.1.0: {} + + es-abstract@1.24.1: + dependencies: + array-buffer-byte-length: 1.0.2 + arraybuffer.prototype.slice: 1.0.4 + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + data-view-buffer: 1.0.2 + data-view-byte-length: 1.0.2 + data-view-byte-offset: 1.0.1 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + es-set-tostringtag: 2.1.0 + es-to-primitive: 1.3.0 + function.prototype.name: 1.1.8 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + get-symbol-description: 1.1.0 + globalthis: 1.0.4 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + has-proto: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + internal-slot: 1.1.0 + is-array-buffer: 3.0.5 is-callable: 1.2.7 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-typed-array: 1.1.10 - is-weakref: 1.0.2 - object-inspect: 1.12.3 + is-data-view: 1.0.2 + is-negative-zero: 2.0.3 + is-regex: 1.2.1 + is-set: 2.0.3 + is-shared-array-buffer: 1.0.4 + is-string: 1.1.1 + is-typed-array: 1.1.15 + is-weakref: 1.1.1 + math-intrinsics: 1.1.0 + object-inspect: 1.13.4 object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 - safe-regex-test: 1.0.0 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 - typed-array-length: 1.0.4 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.9 - - /es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.1.3 - has: 1.0.3 - has-tostringtag: 1.0.0 - - /es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} - dependencies: - has: 1.0.3 - dev: false - - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - - /es6-object-assign@1.1.0: - resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==} - dev: true - - /esbuild-android-64@0.15.18: - resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-android-arm64@0.15.18: - resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-64@0.15.18: - resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-darwin-arm64@0.15.18: - resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-64@0.15.18: - resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-freebsd-arm64@0.15.18: - resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-32@0.15.18: - resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-64@0.15.18: - resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm64@0.15.18: - resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-arm@0.15.18: - resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /esbuild-linux-mips64le@0.15.18: - resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true + object.assign: 4.1.7 + own-keys: 1.0.1 + regexp.prototype.flags: 1.5.4 + safe-array-concat: 1.1.3 + safe-push-apply: 1.0.0 + safe-regex-test: 1.1.0 + set-proto: 1.0.0 + stop-iteration-iterator: 1.1.0 + string.prototype.trim: 1.2.10 + string.prototype.trimend: 1.0.9 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.3 + typed-array-byte-length: 1.0.3 + typed-array-byte-offset: 1.0.4 + typed-array-length: 1.0.7 + unbox-primitive: 1.1.0 + which-typed-array: 1.1.20 - /esbuild-linux-ppc64le@0.15.18: - resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true + es-define-property@1.0.1: {} - /esbuild-linux-riscv64@0.15.18: - resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true + es-errors@1.3.0: {} - /esbuild-linux-s390x@0.15.18: - resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true + es-module-lexer@2.0.0: {} - /esbuild-netbsd-64@0.15.18: - resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 - /esbuild-openbsd-64@0.15.18: - resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 - /esbuild-sunos-64@0.15.18: - resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - 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 - /esbuild-windows-32@0.15.18: - resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true + esbuild@0.17.19: + optionalDependencies: + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + + esbuild@0.18.20: + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + + esbuild@0.24.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.2 + '@esbuild/android-arm': 0.24.2 + '@esbuild/android-arm64': 0.24.2 + '@esbuild/android-x64': 0.24.2 + '@esbuild/darwin-arm64': 0.24.2 + '@esbuild/darwin-x64': 0.24.2 + '@esbuild/freebsd-arm64': 0.24.2 + '@esbuild/freebsd-x64': 0.24.2 + '@esbuild/linux-arm': 0.24.2 + '@esbuild/linux-arm64': 0.24.2 + '@esbuild/linux-ia32': 0.24.2 + '@esbuild/linux-loong64': 0.24.2 + '@esbuild/linux-mips64el': 0.24.2 + '@esbuild/linux-ppc64': 0.24.2 + '@esbuild/linux-riscv64': 0.24.2 + '@esbuild/linux-s390x': 0.24.2 + '@esbuild/linux-x64': 0.24.2 + '@esbuild/netbsd-arm64': 0.24.2 + '@esbuild/netbsd-x64': 0.24.2 + '@esbuild/openbsd-arm64': 0.24.2 + '@esbuild/openbsd-x64': 0.24.2 + '@esbuild/sunos-x64': 0.24.2 + '@esbuild/win32-arm64': 0.24.2 + '@esbuild/win32-ia32': 0.24.2 + '@esbuild/win32-x64': 0.24.2 + + esbuild@0.27.4: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.4 + '@esbuild/android-arm': 0.27.4 + '@esbuild/android-arm64': 0.27.4 + '@esbuild/android-x64': 0.27.4 + '@esbuild/darwin-arm64': 0.27.4 + '@esbuild/darwin-x64': 0.27.4 + '@esbuild/freebsd-arm64': 0.27.4 + '@esbuild/freebsd-x64': 0.27.4 + '@esbuild/linux-arm': 0.27.4 + '@esbuild/linux-arm64': 0.27.4 + '@esbuild/linux-ia32': 0.27.4 + '@esbuild/linux-loong64': 0.27.4 + '@esbuild/linux-mips64el': 0.27.4 + '@esbuild/linux-ppc64': 0.27.4 + '@esbuild/linux-riscv64': 0.27.4 + '@esbuild/linux-s390x': 0.27.4 + '@esbuild/linux-x64': 0.27.4 + '@esbuild/netbsd-arm64': 0.27.4 + '@esbuild/netbsd-x64': 0.27.4 + '@esbuild/openbsd-arm64': 0.27.4 + '@esbuild/openbsd-x64': 0.27.4 + '@esbuild/openharmony-arm64': 0.27.4 + '@esbuild/sunos-x64': 0.27.4 + '@esbuild/win32-arm64': 0.27.4 + '@esbuild/win32-ia32': 0.27.4 + '@esbuild/win32-x64': 0.27.4 - /esbuild-windows-64@0.15.18: - resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true + escalade@3.2.0: {} - /esbuild-windows-arm64@0.15.18: - resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true + escape-html@1.0.3: {} - /esbuild@0.15.18: - resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.15.18 - '@esbuild/linux-loong64': 0.15.18 - esbuild-android-64: 0.15.18 - esbuild-android-arm64: 0.15.18 - esbuild-darwin-64: 0.15.18 - esbuild-darwin-arm64: 0.15.18 - esbuild-freebsd-64: 0.15.18 - esbuild-freebsd-arm64: 0.15.18 - esbuild-linux-32: 0.15.18 - esbuild-linux-64: 0.15.18 - esbuild-linux-arm: 0.15.18 - esbuild-linux-arm64: 0.15.18 - esbuild-linux-mips64le: 0.15.18 - esbuild-linux-ppc64le: 0.15.18 - esbuild-linux-riscv64: 0.15.18 - esbuild-linux-s390x: 0.15.18 - esbuild-netbsd-64: 0.15.18 - esbuild-openbsd-64: 0.15.18 - esbuild-sunos-64: 0.15.18 - esbuild-windows-32: 0.15.18 - esbuild-windows-64: 0.15.18 - esbuild-windows-arm64: 0.15.18 - dev: true - - /esbuild@0.16.17: - resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.16.17 - '@esbuild/android-arm64': 0.16.17 - '@esbuild/android-x64': 0.16.17 - '@esbuild/darwin-arm64': 0.16.17 - '@esbuild/darwin-x64': 0.16.17 - '@esbuild/freebsd-arm64': 0.16.17 - '@esbuild/freebsd-x64': 0.16.17 - '@esbuild/linux-arm': 0.16.17 - '@esbuild/linux-arm64': 0.16.17 - '@esbuild/linux-ia32': 0.16.17 - '@esbuild/linux-loong64': 0.16.17 - '@esbuild/linux-mips64el': 0.16.17 - '@esbuild/linux-ppc64': 0.16.17 - '@esbuild/linux-riscv64': 0.16.17 - '@esbuild/linux-s390x': 0.16.17 - '@esbuild/linux-x64': 0.16.17 - '@esbuild/netbsd-x64': 0.16.17 - '@esbuild/openbsd-x64': 0.16.17 - '@esbuild/sunos-x64': 0.16.17 - '@esbuild/win32-arm64': 0.16.17 - '@esbuild/win32-ia32': 0.16.17 - '@esbuild/win32-x64': 0.16.17 - dev: true - - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} + escape-string-regexp@1.0.5: {} - /escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: true + escape-string-regexp@5.0.0: {} - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} + esprima@4.0.1: {} - /escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - dev: true + estree-walker@2.0.2: {} - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.8 - /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true + etag@1.8.1: {} - /estree-walker@3.0.1: - resolution: {integrity: sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==} - dev: true + event-target-shim@5.0.1: {} - /etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - dev: true + events-universal@1.0.1: + dependencies: + bare-events: 2.8.2 + transitivePeerDependencies: + - bare-abort-controller - /eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - dev: true + events@3.3.0: {} - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + execa@6.1.0: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 + human-signals: 3.0.1 + is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 + npm-run-path: 5.3.0 + onetime: 6.0.0 signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - dev: true + strip-final-newline: 3.0.0 - /execa@6.1.0: - resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + execa@8.0.1: dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 3.0.1 + cross-spawn: 7.0.6 + get-stream: 8.0.1 + human-signals: 5.0.0 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.1.0 + npm-run-path: 5.3.0 onetime: 6.0.0 - signal-exit: 3.0.7 + signal-exit: 4.1.0 strip-final-newline: 3.0.0 - dev: true - /extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - dev: true + exsolve@1.0.8: {} - /extendable-error@0.1.7: - resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} - dev: false + extend@3.0.2: {} - /external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 + extendable-error@0.1.7: {} - /externality@1.0.0: - resolution: {integrity: sha512-MAU9ci3XdpqOX1aoIoyL2DMzW97P8LYeJxIUkfXhOfsrkH4KLHFaYDwKN0B2l6tqedVJWiTIJtWmxmZfa05vOQ==} + externality@1.0.2: dependencies: - enhanced-resolve: 5.12.0 - mlly: 1.0.0 - pathe: 1.0.0 - ufo: 1.0.1 - dev: true + enhanced-resolve: 5.20.1 + mlly: 1.8.2 + pathe: 1.1.2 + ufo: 1.6.3 - /fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} - engines: {node: '>=8.6.0'} + fast-fifo@1.3.2: {} + + fast-glob@3.3.3: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.8 - /fastest-levenshtein@1.0.16: - resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} - engines: {node: '>= 4.9.1'} - dev: false + fast-npm-meta@1.4.2: {} - /fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - dependencies: - reusify: 1.0.4 + fastest-levenshtein@1.0.16: {} - /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + fastq@1.20.1: dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.2.1 - dev: true + reusify: 1.1.0 - /figures@5.0.0: - resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} - engines: {node: '>=14'} - dependencies: - escape-string-regexp: 5.0.0 - is-unicode-supported: 1.3.0 - dev: true + fdir@6.5.0(picomatch@4.0.4): + optionalDependencies: + picomatch: 4.0.4 - /file-uri-to-path@1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - dev: true + file-uri-to-path@1.0.0: {} - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 - /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + find-up@4.1.0: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - dev: false - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - /find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + find-up@6.3.0: dependencies: - locate-path: 7.1.1 + locate-path: 7.2.0 path-exists: 5.0.0 - dev: false - - /find-yarn-workspace-root2@1.2.16: - resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - dependencies: - micromatch: 4.0.5 - pkg-dir: 4.2.0 - dev: false - - /flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - dev: true - - /follow-redirects@1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: true - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - dependencies: - is-callable: 1.2.7 + flat@6.0.1: {} - /foreground-child@2.0.0: - resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} - engines: {node: '>=8.0.0'} + focus-trap@7.8.0: dependencies: - cross-spawn: 7.0.3 - signal-exit: 3.0.7 - dev: true + tabbable: 6.4.0 - /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + for-each@0.3.5: dependencies: - fetch-blob: 3.2.0 - dev: true - - /fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} - dev: true - - /fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - dev: true + is-callable: 1.2.7 - /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: true + foreground-child@2.0.0: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 3.0.7 - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} + foreground-child@3.3.1: dependencies: - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true + cross-spawn: 7.0.6 + signal-exit: 4.1.0 - /fs-extra@11.1.0: - resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} - engines: {node: '>=14.14'} + fraction.js@5.3.4: {} + + fresh@2.0.0: {} + + fs-extra@11.3.4: dependencies: - graceful-fs: 4.2.10 - jsonfile: 6.1.0 - universalify: 2.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 - /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} + fs-extra@7.0.1: dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 - dev: false - /fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} + fs-extra@8.1.0: dependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 - dev: false - - /fs-memo@1.2.0: - resolution: {integrity: sha512-YEexkCpL4j03jn5SxaMHqcO6IuWuqm8JFUYhyCep7Ao89JIYmB8xoKhK7zXXJ9cCaNXpyNH5L3QtAmoxjoHW2w==} - dev: true - - /fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: true - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true + fs.realpath@1.0.0: {} - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true + fsevents@2.3.3: optional: true - /function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + function-bind@1.1.2: {} - /function.prototype.name@1.1.5: - resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} - engines: {node: '>= 0.4'} + function.prototype.name@1.1.8: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.21.1 + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + functions-have-names@1.2.3: {} - /gauge@3.0.2: - resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} - engines: {node: '>=10'} - dependencies: - aproba: 2.0.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - object-assign: 4.1.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - dev: true + fuse.js@6.6.2: {} - /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: true + fuse.js@7.1.0: {} - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + fzf@0.5.2: {} + + generator-function@2.0.1: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} - /get-func-name@2.0.0: - resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} - dev: true + get-east-asian-width@1.5.0: {} - /get-intrinsic@1.1.3: - resolution: {integrity: sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==} + get-func-name@2.0.2: {} + + get-intrinsic@1.3.0: dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.3 + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-port-please@3.2.0: {} - /get-port-please@2.6.1: - resolution: {integrity: sha512-4PDSrL6+cuMM1xs6w36ZIkaKzzE0xzfVBCfebHIJ3FE8iB9oic/ECwPw3iNiD4h1AoJ5XLLBhEviFAVrZsDC5A==} + get-proto@1.0.1: dependencies: - fs-memo: 1.2.0 - dev: true + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true + get-stream@6.0.1: {} - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} + get-stream@8.0.1: {} + + get-symbol-description@1.1.0: dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.3 + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 - /giget@1.0.0: - resolution: {integrity: sha512-KWELZn3Nxq5+0So485poHrFriK9Bn3V/x9y+wgqrHkbmnGbjfLmZ685/SVA/ovW+ewoqW0gVI47pI4yW/VNobQ==} - hasBin: true + get-tsconfig@4.13.7: dependencies: - colorette: 2.0.19 - defu: 6.1.1 - https-proxy-agent: 5.0.1 - mri: 1.2.0 - node-fetch-native: 1.0.1 - pathe: 1.0.0 - tar: 6.1.13 - transitivePeerDependencies: - - supports-color - dev: true + resolve-pkg-maps: 1.0.0 - /git-config-path@2.0.0: - resolution: {integrity: sha512-qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==} - engines: {node: '>=4'} - dev: true + giget@2.0.0: + dependencies: + citty: 0.1.6 + consola: 3.4.2 + defu: 6.1.4 + node-fetch-native: 1.6.7 + nypm: 0.6.5 + pathe: 2.0.3 - /git-up@7.0.0: - resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} + giget@3.2.0: {} + + git-config-path@2.0.0: {} + + git-up@7.0.0: dependencies: - is-ssh: 1.4.0 + is-ssh: 1.4.1 parse-url: 8.1.0 - dev: true - /git-url-parse@13.1.0: - resolution: {integrity: sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==} + git-url-parse@15.0.0: dependencies: git-up: 7.0.0 - dev: true - /github-slugger@2.0.0: - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - dev: true + github-slugger@2.0.0: {} - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + glob@10.5.0: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.9 + minipass: 7.1.3 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@13.0.6: + dependencies: + minimatch: 10.2.4 + minipass: 7.1.3 + path-scurry: 2.0.2 + + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.2 + minimatch: 3.1.5 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /glob@8.0.3: - resolution: {integrity: sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==} - engines: {node: '>=12'} + glob@8.1.0: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.1.2 + minimatch: 5.1.9 once: 1.4.0 - dev: true - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true + global-directory@4.0.1: + dependencies: + ini: 4.1.1 - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} + globalthis@1.0.4: dependencies: - define-properties: 1.1.4 + define-properties: 1.2.1 + gopd: 1.2.0 - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.2.12 - ignore: 5.2.4 + fast-glob: 3.3.3 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 - dev: false - /globby@13.1.3: - resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + globby@13.2.2: dependencies: dir-glob: 3.0.1 - fast-glob: 3.2.12 - ignore: 5.2.4 + fast-glob: 3.3.3 + ignore: 5.3.2 merge2: 1.4.1 slash: 4.0.0 - dev: true - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + globby@16.2.0: dependencies: - get-intrinsic: 1.1.3 + '@sindresorhus/merge-streams': 4.0.0 + fast-glob: 3.3.3 + ignore: 7.0.5 + is-path-inside: 4.0.0 + slash: 5.1.0 + unicorn-magic: 0.4.0 - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + gopd@1.2.0: {} - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - dev: false + graceful-fs@4.2.11: {} - /gzip-size@7.0.0: - resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + gzip-size@7.0.0: dependencies: duplexer: 0.1.2 - dev: true - /h3@1.0.2: - resolution: {integrity: sha512-25QqjQMz8pX1NI2rZ/ziNT9B8Aog7jmu2a0o8Qm9kKoH3zOhE+2icVs069h6DEp0g1Dst1+zKfRdRYcK0MogJA==} + h3@1.15.10: dependencies: - cookie-es: 0.5.0 - destr: 1.2.2 - radix3: 1.0.0 - ufo: 1.0.1 - dev: true - - /hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - dev: false + cookie-es: 1.2.2 + crossws: 0.3.5 + defu: 6.1.4 + destr: 2.0.5 + iron-webcrypto: 1.2.1 + node-mock-http: 1.0.4 + radix3: 1.1.2 + ufo: 1.6.3 + uncrypto: 0.1.3 - /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + has-bigints@1.1.0: {} - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} + has-flag@3.0.0: {} - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + has-flag@4.0.0: {} - /has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + has-property-descriptors@1.0.2: dependencies: - get-intrinsic: 1.1.3 - - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} - - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} + es-define-property: 1.0.1 - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} + has-proto@1.2.0: dependencies: - has-symbols: 1.0.3 + dunder-proto: 1.0.1 - /has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - dev: true + has-symbols@1.1.0: {} - /has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + has-tostringtag@1.0.2: dependencies: - function-bind: 1.1.1 + has-symbols: 1.1.0 - /hash-sum@2.0.0: - resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} - dev: true + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 - /hast-to-hyperscript@10.0.1: - resolution: {integrity: sha512-dhIVGoKCQVewFi+vz3Vt567E4ejMppS1haBRL6TEmeLeJVB1i/FJIIg/e6s1Bwn0g5qtYojHEKvyGA+OZuyifw==} + hast-util-from-parse5@8.0.3: dependencies: - '@types/unist': 2.0.6 - comma-separated-tokens: 2.0.3 - property-information: 6.2.0 - space-separated-tokens: 2.0.2 - style-to-object: 0.3.0 - unist-util-is: 5.1.1 - web-namespaces: 2.0.1 - dev: true - - /hast-util-from-parse5@7.1.0: - resolution: {integrity: sha512-m8yhANIAccpU4K6+121KpPP55sSl9/samzQSQGpb0mTExcNh2WlvjtMwSWFhg6uqD4Rr6Nfa8N6TMypQM51rzQ==} - dependencies: - '@types/hast': 2.3.4 - '@types/parse5': 6.0.3 - '@types/unist': 2.0.6 - hastscript: 7.1.0 - property-information: 6.2.0 - vfile: 5.3.6 - vfile-location: 4.0.1 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + devlop: 1.1.0 + hastscript: 9.0.1 + property-information: 7.1.0 + vfile: 6.0.3 + vfile-location: 5.0.3 web-namespaces: 2.0.1 - dev: true - /hast-util-has-property@2.0.0: - resolution: {integrity: sha512-4Qf++8o5v14us4Muv3HRj+Er6wTNGA/N9uCaZMty4JWvyFKLdhULrv4KE1b65AthsSO9TXSZnjuxS8ecIyhb0w==} - dev: true - - /hast-util-heading-rank@2.1.0: - resolution: {integrity: sha512-w+Rw20Q/iWp2Bcnr6uTrYU6/ftZLbHKhvc8nM26VIWpDqDMlku2iXUVTeOlsdoih/UKQhY7PHQ+vZ0Aqq8bxtQ==} + hast-util-heading-rank@3.0.0: dependencies: - '@types/hast': 2.3.4 - dev: true + '@types/hast': 3.0.4 - /hast-util-is-element@2.1.2: - resolution: {integrity: sha512-thjnlGAnwP8ef/GSO1Q8BfVk2gundnc2peGQqEg2kUt/IqesiGg/5mSwN2fE7nLzy61pg88NG6xV+UrGOrx9EA==} + hast-util-is-element@3.0.0: dependencies: - '@types/hast': 2.3.4 - '@types/unist': 2.0.6 - dev: true + '@types/hast': 3.0.4 - /hast-util-parse-selector@3.1.0: - resolution: {integrity: sha512-AyjlI2pTAZEOeu7GeBPZhROx0RHBnydkQIXlhnFzDi0qfXTmGUWoCYZtomHbrdrheV4VFUlPcfJ6LMF5T6sQzg==} + hast-util-parse-selector@4.0.0: dependencies: - '@types/hast': 2.3.4 - dev: true + '@types/hast': 3.0.4 - /hast-util-raw@7.2.3: - resolution: {integrity: sha512-RujVQfVsOrxzPOPSzZFiwofMArbQke6DJjnFfceiEbFh7S05CbPt0cYN+A5YeD3pso0JQk6O1aHBnx9+Pm2uqg==} + hast-util-raw@9.1.0: dependencies: - '@types/hast': 2.3.4 - '@types/parse5': 6.0.3 - hast-util-from-parse5: 7.1.0 - hast-util-to-parse5: 7.0.0 - html-void-elements: 2.0.1 - parse5: 6.0.1 - unist-util-position: 4.0.3 - unist-util-visit: 4.1.1 - vfile: 5.3.6 + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + '@ungap/structured-clone': 1.3.0 + hast-util-from-parse5: 8.0.3 + hast-util-to-parse5: 8.0.1 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + parse5: 7.3.0 + unist-util-position: 5.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 web-namespaces: 2.0.1 zwitch: 2.0.4 - dev: true - /hast-util-to-parse5@7.0.0: - resolution: {integrity: sha512-YHiS6aTaZ3N0Q3nxaY/Tj98D6kM8QX5Q8xqgg8G45zR7PvWnPGPP0vcKCgb/moIydEJ/QWczVrX0JODCVeoV7A==} + hast-util-to-html@9.0.5: + dependencies: + '@types/hast': 3.0.4 + '@types/unist': 3.0.3 + ccount: 2.0.1 + comma-separated-tokens: 2.0.3 + hast-util-whitespace: 3.0.0 + html-void-elements: 3.0.0 + mdast-util-to-hast: 13.2.1 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 + stringify-entities: 4.0.4 + zwitch: 2.0.4 + + hast-util-to-parse5@8.0.1: dependencies: - '@types/hast': 2.3.4 - '@types/parse5': 6.0.3 - hast-to-hyperscript: 10.0.1 - property-information: 6.2.0 + '@types/hast': 3.0.4 + comma-separated-tokens: 2.0.3 + devlop: 1.1.0 + property-information: 7.1.0 + space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 - dev: true - /hast-util-to-string@2.0.0: - resolution: {integrity: sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==} + hast-util-to-string@3.0.1: + dependencies: + '@types/hast': 3.0.4 + + hast-util-whitespace@3.0.0: dependencies: - '@types/hast': 2.3.4 - dev: true + '@types/hast': 3.0.4 - /hastscript@7.1.0: - resolution: {integrity: sha512-uBjaTTLN0MkCZxY/R2fWUOcu7FRtUVzKRO5P/RAfgsu3yFiMB1JWCO4AjeVkgHxAira1f2UecHK5WfS9QurlWA==} + hastscript@9.0.1: dependencies: - '@types/hast': 2.3.4 + '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 - hast-util-parse-selector: 3.1.0 - property-information: 6.2.0 + hast-util-parse-selector: 4.0.0 + property-information: 7.1.0 space-separated-tokens: 2.0.2 - dev: true - /he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - dev: true + he@1.2.0: {} - /header-case@2.0.4: - resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} + header-case@2.0.4: dependencies: capital-case: 1.0.4 - tslib: 2.4.1 - dev: true + tslib: 2.8.1 - /hookable@5.4.2: - resolution: {integrity: sha512-6rOvaUiNKy9lET1X0ECnyZ5O5kSV0PJbtA5yZUgdEF7fGJEVwSLSislltyt7nFwVVALYHQJtfGeAR2Y0A0uJkg==} - dev: true + hookable@5.5.3: {} - /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + hookable@6.1.0: {} - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true + hosted-git-info@2.8.9: {} - /html-tags@3.2.0: - resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==} - engines: {node: '>=8'} - dev: true + html-escaper@2.0.2: {} - /html-void-elements@2.0.1: - resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} - dev: true + html-void-elements@3.0.0: {} - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} + http-errors@2.0.1: dependencies: depd: 2.0.0 inherits: 2.0.4 setprototypeof: 1.2.0 - statuses: 2.0.1 + statuses: 2.0.2 toidentifier: 1.0.1 - dev: true - - /http-proxy@1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} - dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.15.2 - requires-port: 1.0.0 - transitivePeerDependencies: - - debug - dev: true - /http-shutdown@1.2.2: - resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true + http-shutdown@1.2.2: {} - /https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + https-proxy-agent@7.0.6: dependencies: - agent-base: 6.0.2 - debug: 4.3.4 + agent-base: 7.1.4 + debug: 4.4.3 transitivePeerDependencies: - supports-color - dev: true - /human-id@1.0.2: - resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} - dev: false + httpxy@0.3.1: {} - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true + human-id@4.1.3: {} - /human-signals@3.0.1: - resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} - engines: {node: '>=12.20.0'} - dev: true + human-signals@3.0.1: {} - /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} + human-signals@5.0.0: {} + + iconv-lite@0.7.2: dependencies: safer-buffer: 2.1.2 - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: true + ieee754@1.2.1: {} - /ignore-by-default@1.0.1: - resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} - dev: true + ignore-by-default@1.0.1: {} - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} + ignore@5.3.2: {} - /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - dev: false + ignore@7.0.5: {} - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + image-meta@0.2.2: {} + + impound@1.1.5: + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + es-module-lexer: 2.0.0 + pathe: 2.0.3 + unplugin: 3.0.0 + unplugin-utils: 0.3.1 + + inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - /ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - dev: true + inherits@2.0.4: {} - /inline-style-parser@0.1.1: - resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} - dev: true + ini@1.3.8: {} - /inquirer@9.1.4: - resolution: {integrity: sha512-9hiJxE5gkK/cM2d1mTEnuurGTAoHebbkX0BYl3h7iEg7FYfuNIom+nDfBCSWtvSnoSrWCeBxqqBZu26xdlJlXA==} - engines: {node: '>=12.0.0'} - dependencies: - ansi-escapes: 6.0.0 - chalk: 5.2.0 - cli-cursor: 4.0.0 - cli-width: 4.0.0 - external-editor: 3.1.0 - figures: 5.0.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - ora: 6.1.2 - run-async: 2.4.1 - rxjs: 7.8.0 - string-width: 5.1.2 - strip-ansi: 7.0.1 - through: 2.3.8 - wrap-ansi: 8.0.1 - dev: true + ini@4.1.1: {} - /internal-slot@1.0.4: - resolution: {integrity: sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==} - engines: {node: '>= 0.4'} + internal-slot@1.1.0: dependencies: - get-intrinsic: 1.1.3 - has: 1.0.3 - side-channel: 1.0.4 + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.1.0 - /ioredis@5.2.4: - resolution: {integrity: sha512-qIpuAEt32lZJQ0XyrloCRdlEdUUNGG9i0UOk6zgzK6igyudNWqEBxfH6OlbnOOoBBvr1WB02mm8fR55CnikRng==} - engines: {node: '>=12.22.0'} + ioredis@5.10.1: dependencies: - '@ioredis/commands': 1.2.0 + '@ioredis/commands': 1.5.1 cluster-key-slot: 1.1.2 - debug: 4.3.4 + debug: 4.4.3 denque: 2.1.0 lodash.defaults: 4.2.0 lodash.isarguments: 3.1.0 @@ -4477,2494 +9842,1752 @@ packages: standard-as-callback: 2.1.0 transitivePeerDependencies: - supports-color - dev: true - /ip-regex@5.0.0: - resolution: {integrity: sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + iron-webcrypto@1.2.1: {} - /is-absolute-url@4.0.1: - resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + is-absolute-url@4.0.1: {} - /is-alphabetical@2.0.1: - resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} - dev: true + is-alphabetical@2.0.1: {} - /is-alphanumerical@2.0.1: - resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + is-alphanumerical@2.0.1: dependencies: is-alphabetical: 2.0.1 is-decimal: 2.0.1 - dev: true - /is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} + is-arguments@1.2.0: dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - dev: true + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - /is-array-buffer@3.0.1: - resolution: {integrity: sha512-ASfLknmY8Xa2XtB4wmbz13Wu202baeA18cJBCeCy0wXUHZF0IPyVEXqKEcd+t2fNSLLL1vC6k7lxZEojNbISXQ==} + is-array-buffer@3.0.5: dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.3 - is-typed-array: 1.1.10 + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-arrayish@0.2.1: {} - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-async-function@2.1.1: dependencies: - has-bigints: 1.0.2 + async-function: 1.0.0 + call-bound: 1.0.4 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + is-bigint@1.1.0: dependencies: - binary-extensions: 2.2.0 - dev: true + has-bigints: 1.1.0 - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + is-binary-path@2.1.0: dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - - /is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} - dev: true + binary-extensions: 2.3.0 - /is-builtin-module@3.2.0: - resolution: {integrity: sha512-phDA4oSGt7vl1n5tJvTWooWWAsXLY+2xCnxNqvKhGEzujg+A43wPlPOyDg3C8XQHN+6k/JTQWJ/j0dQh/qr+Hw==} - engines: {node: '>=6'} + is-boolean-object@1.2.2: dependencies: - builtin-modules: 3.3.0 - dev: true + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} + is-callable@1.2.7: {} - /is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true + is-core-module@2.16.1: dependencies: - ci-info: 3.7.1 - dev: false + hasown: 2.0.2 - /is-core-module@2.11.0: - resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + is-data-view@1.0.2: dependencies: - has: 1.0.3 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + is-typed-array: 1.1.15 - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + is-date-object@1.1.0: dependencies: - has-tostringtag: 1.0.0 + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - /is-decimal@2.0.1: - resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - dev: true + is-decimal@2.0.1: {} - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: true + is-docker@3.0.0: {} - /is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - dev: true + is-extglob@2.1.1: {} - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + is-finalizationregistry@1.1.1: + dependencies: + call-bound: 1.0.4 - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + is-fullwidth-code-point@3.0.0: {} - /is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - dev: true + is-fullwidth-code-point@4.0.0: {} - /is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} + is-generator-function@1.1.2: dependencies: - has-tostringtag: 1.0.0 - dev: true + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - /is-hexadecimal@2.0.1: - resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - dev: true + is-hexadecimal@2.0.1: {} - /is-interactive@2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} - dev: true + is-in-ssh@1.0.0: {} - /is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - dev: true + is-inside-container@1.0.0: + dependencies: + is-docker: 3.0.0 - /is-nan@1.3.2: - resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} - engines: {node: '>= 0.4'} + is-installed-globally@1.0.0: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - dev: true + global-directory: 4.0.1 + is-path-inside: 4.0.0 - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} + is-map@2.0.3: {} - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} + is-module@1.0.0: {} + + is-nan@1.3.2: dependencies: - has-tostringtag: 1.0.0 + call-bind: 1.0.8 + define-properties: 1.2.1 - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + is-negative-zero@2.0.3: {} - /is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - dev: false + is-number-object@1.1.1: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - /is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - dev: true + is-number@7.0.0: {} - /is-primitive@3.0.1: - resolution: {integrity: sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==} - engines: {node: '>=0.10.0'} - dev: true + is-path-inside@4.0.0: {} - /is-promise@4.0.0: - resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - dev: true + is-plain-obj@4.1.0: {} - /is-reference@1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + is-reference@1.2.1: dependencies: - '@types/estree': 1.0.0 - dev: true + '@types/estree': 1.0.8 - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + is-regex@1.2.1: dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + is-set@2.0.3: {} - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + is-shared-array-buffer@1.0.4: dependencies: - call-bind: 1.0.2 + call-bound: 1.0.4 - /is-ssh@1.4.0: - resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} + is-ssh@1.4.1: dependencies: - protocols: 2.0.1 - dev: true + protocols: 2.0.2 - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true + is-stream@2.0.1: {} - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + is-stream@3.0.0: {} - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} + is-string@1.1.1: dependencies: - has-tostringtag: 1.0.0 + call-bound: 1.0.4 + has-tostringtag: 1.0.2 - /is-subdir@1.2.0: - resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} - engines: {node: '>=4'} + is-subdir@1.2.0: dependencies: better-path-resolve: 1.0.0 - dev: false - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} + is-symbol@1.1.1: dependencies: - has-symbols: 1.0.3 + call-bound: 1.0.4 + has-symbols: 1.1.0 + safe-regex-test: 1.1.0 - /is-typed-array@1.1.10: - resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} - engines: {node: '>= 0.4'} + is-typed-array@1.1.15: dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 + which-typed-array: 1.1.20 - /is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} + is-unicode-supported@1.3.0: {} + + is-weakmap@2.0.2: {} - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + is-weakref@1.1.1: dependencies: - call-bind: 1.0.2 + call-bound: 1.0.4 - /is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - dev: false + is-weakset@2.0.4: + dependencies: + call-bound: 1.0.4 + get-intrinsic: 1.3.0 - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} + is-windows@1.0.2: {} + + is-wsl@3.1.1: dependencies: - is-docker: 2.2.1 - dev: true + is-inside-container: 1.0.0 - /isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - dev: true + is64bit@2.0.0: + dependencies: + system-architecture: 0.1.0 - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isarray@1.0.0: {} - /istanbul-lib-coverage@3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} - engines: {node: '>=8'} - dev: true + isarray@2.0.5: {} - /istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} - engines: {node: '>=8'} + isexe@2.0.0: {} + + isexe@4.0.0: {} + + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-report@3.0.1: dependencies: - istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 supports-color: 7.2.0 - dev: true - /istanbul-reports@3.1.5: - resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} - engines: {node: '>=8'} + istanbul-reports@3.2.0: dependencies: html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 - dev: true + istanbul-lib-report: 3.0.1 - /jest-worker@26.6.2: - resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} - engines: {node: '>= 10.13.0'} + jackspeak@3.4.3: dependencies: - '@types/node': 18.16.2 - merge-stream: 2.0.0 - supports-color: 7.2.0 - dev: true + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 - /jiti@1.16.0: - resolution: {integrity: sha512-L3BJStEf5NAqNuzrpfbN71dp43mYIcBUlCRea/vdyv5dW/AYa1d4bpelko4SHdY3I6eN9Wzyasxirj1/vv5kmg==} - hasBin: true - dev: true + jiti@1.21.7: {} - /jiti@1.16.2: - resolution: {integrity: sha512-OKBOVWmU3FxDt/UH4zSwiKPuc1nihFZiOD722FuJlngvLz2glX1v2/TJIgoA4+mrpnXxHV6dSAoCvPcYQtoG5A==} - hasBin: true - dev: true + jiti@2.6.1: {} - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-tokens@4.0.0: {} - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true + js-tokens@9.0.1: {} + + js-yaml@3.14.2: dependencies: argparse: 1.0.10 esprima: 4.0.1 - dev: false - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-yaml@4.1.1: dependencies: argparse: 2.0.1 - dev: true - - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: true - /json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} - dev: true - - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: false + jsesc@3.1.0: {} - /json5@2.2.1: - resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} - engines: {node: '>=6'} - hasBin: true - dev: true + json-parse-better-errors@1.0.2: {} - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: true + json5@2.2.3: {} - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: true + jsonc-parser@3.3.1: {} - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + jsonfile@4.0.0: optionalDependencies: - graceful-fs: 4.2.10 - dev: false + graceful-fs: 4.2.11 - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.2.0: dependencies: - universalify: 2.0.0 + universalify: 2.0.1 optionalDependencies: - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 - /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - dev: false - - /kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} + kleur@4.1.5: {} - /klona@2.0.5: - resolution: {integrity: sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==} - engines: {node: '>= 8'} - dev: true + klona@2.0.6: {} - /knitwork@1.0.0: - resolution: {integrity: sha512-dWl0Dbjm6Xm+kDxhPQJsCBTxrJzuGl0aP9rhr+TG8D3l+GL90N8O8lYUi7dTSAN2uuDqCtNgb6aEuQH5wsiV8Q==} - dev: true + knitwork@1.3.0: {} - /lazystream@1.0.1: - resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} - engines: {node: '>= 0.6.3'} + launch-editor@2.13.2: dependencies: - readable-stream: 2.3.7 - dev: true + picocolors: 1.1.1 + shell-quote: 1.8.3 - /lilconfig@2.0.6: - resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} - engines: {node: '>=10'} - dev: true + lazystream@1.0.1: + dependencies: + readable-stream: 2.3.8 - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: false + lilconfig@3.1.3: {} - /listhen@1.0.1: - resolution: {integrity: sha512-RBzBGHMCc5wP8J5Vf8WgF4CAJH8dWHi9LaKB7vfzZt54CiH/0dp01rudy2hFD9wCrTM+UfxFVnn5wTIiY+Qhiw==} + listhen@1.9.0: dependencies: - clipboardy: 3.0.0 - colorette: 2.0.19 - defu: 6.1.1 - get-port-please: 2.6.1 + '@parcel/watcher': 2.5.6 + '@parcel/watcher-wasm': 2.5.6 + citty: 0.1.6 + clipboardy: 4.0.0 + consola: 3.4.2 + crossws: 0.3.5 + defu: 6.1.4 + get-port-please: 3.2.0 + h3: 1.15.10 http-shutdown: 1.2.2 - ip-regex: 5.0.0 - node-forge: 1.3.1 - ufo: 1.0.1 - dev: true - - /load-json-file@4.0.0: - resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} - engines: {node: '>=4'} - dependencies: - graceful-fs: 4.2.10 + jiti: 2.6.1 + mlly: 1.8.2 + node-forge: 1.4.0 + pathe: 1.1.2 + std-env: 3.10.0 + ufo: 1.6.3 + untun: 0.1.3 + uqr: 0.1.2 + + load-json-file@4.0.0: + dependencies: + graceful-fs: 4.2.11 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 - dev: true - - /load-yaml-file@0.2.0: - resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} - engines: {node: '>=6'} - dependencies: - graceful-fs: 4.2.10 - js-yaml: 3.14.1 - pify: 4.0.1 - strip-bom: 3.0.0 - dev: false - - /local-pkg@0.4.2: - resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==} - engines: {node: '>=14'} - dev: true - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - dependencies: - p-locate: 4.1.0 - dev: false + local-pkg@0.4.3: {} - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + local-pkg@0.5.1: dependencies: - p-locate: 5.0.0 + mlly: 1.8.2 + pkg-types: 1.3.1 - /locate-path@7.1.1: - resolution: {integrity: sha512-vJXaRMJgRVD3+cUZs3Mncj2mxpt5mP0EmNOsxRSZRMlbqjvxzDEOIUWXGmavo0ZC9+tNZCBLQ66reA11nbpHZg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + local-pkg@1.1.2: dependencies: - p-locate: 6.0.0 - dev: false - - /lodash._reinterpolate@3.0.0: - resolution: {integrity: sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA==} - dev: true - - /lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - dev: true + mlly: 1.8.2 + pkg-types: 2.3.0 + quansync: 0.2.11 - /lodash.defaults@4.2.0: - resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - dev: true + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 - /lodash.difference@4.5.0: - resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} - dev: true + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 - /lodash.flatten@4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - dev: true + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 - /lodash.groupby@4.6.0: - resolution: {integrity: sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==} - dev: false + lodash._reinterpolate@3.0.0: {} - /lodash.isarguments@3.1.0: - resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} - dev: true + lodash.defaults@4.2.0: {} - /lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - dev: true + lodash.groupby@4.6.0: {} - /lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - dev: true + lodash.isarguments@3.1.0: {} - /lodash.pick@4.4.0: - resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} - dev: true + lodash.memoize@4.1.2: {} - /lodash.startcase@4.4.0: - resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - dev: false + lodash.startcase@4.4.0: {} - /lodash.template@4.5.0: - resolution: {integrity: sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==} + lodash.template@4.5.0: dependencies: lodash._reinterpolate: 3.0.0 lodash.templatesettings: 4.2.0 - dev: true - /lodash.templatesettings@4.2.0: - resolution: {integrity: sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==} + lodash.templatesettings@4.2.0: dependencies: lodash._reinterpolate: 3.0.0 - dev: true - - /lodash.union@4.6.0: - resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} - dev: true - /lodash.uniq@4.5.0: - resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} - dev: true + lodash.uniq@4.5.0: {} - /lodash.uniqby@4.7.0: - resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} - dev: false + lodash.uniqby@4.7.0: {} - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true + lodash@4.17.23: {} - /log-symbols@5.1.0: - resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} - engines: {node: '>=12'} + log-symbols@5.1.0: dependencies: - chalk: 5.2.0 + chalk: 5.6.2 is-unicode-supported: 1.3.0 - /longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - dev: true + longest-streak@3.1.0: {} - /loupe@2.3.6: - resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} + loupe@2.3.7: dependencies: - get-func-name: 2.0.0 - dev: true + get-func-name: 2.0.2 - /lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + lower-case@2.0.2: dependencies: - tslib: 2.4.1 - dev: true + tslib: 2.8.1 - /lru-cache@4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} - dependencies: - pseudomap: 1.0.2 - yallist: 2.1.2 - dev: false + lru-cache@10.4.3: {} - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@11.2.7: {} + + lru-cache@5.1.1: dependencies: yallist: 3.1.1 - dev: true - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + magic-regexp@0.10.0: dependencies: - yallist: 4.0.0 - dev: true + estree-walker: 3.0.3 + magic-string: 0.30.21 + mlly: 1.8.2 + regexp-tree: 0.1.27 + type-level-regexp: 0.1.17 + ufo: 1.6.3 + unplugin: 2.3.11 - /magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + magic-string-ast@1.0.3: dependencies: - sourcemap-codec: 1.4.8 - dev: true + magic-string: 0.30.21 - /magic-string@0.26.7: - resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} - engines: {node: '>=12'} + magic-string@0.27.0: dependencies: - sourcemap-codec: 1.4.8 - dev: true + '@jridgewell/sourcemap-codec': 1.5.5 - /magic-string@0.27.0: - resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} - engines: {node: '>=12'} + magic-string@0.30.21: dependencies: - '@jridgewell/sourcemap-codec': 1.4.14 - dev: true + '@jridgewell/sourcemap-codec': 1.5.5 - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + magicast@0.5.2: dependencies: - semver: 6.3.0 - dev: true - - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true - - /map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} - dev: false + '@babel/parser': 7.29.2 + '@babel/types': 7.29.0 + source-map-js: 1.2.1 - /map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} - dev: false + make-dir@4.0.0: + dependencies: + semver: 7.7.4 - /markdown-table@3.0.3: - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - dev: true + make-error@1.3.6: {} - /mdast-squeeze-paragraphs@5.2.0: - resolution: {integrity: sha512-uqPZ2smyXe0gNjweQaDkm7eK/KgvcS0u9X9yu28Yj/UOmK6CN6JRs/puzAGQw72vZcxWxs05LxkUTwZIsQZvrw==} - dependencies: - '@types/mdast': 3.0.10 - unist-util-remove: 3.1.0 - dev: true + markdown-table@3.0.4: {} - /mdast-util-definitions@5.1.1: - resolution: {integrity: sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==} - dependencies: - '@types/mdast': 3.0.10 - '@types/unist': 2.0.6 - unist-util-visit: 4.1.1 - dev: true + math-intrinsics@1.1.0: {} - /mdast-util-find-and-replace@2.2.1: - resolution: {integrity: sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==} + mdast-util-find-and-replace@3.0.2: dependencies: + '@types/mdast': 4.0.4 escape-string-regexp: 5.0.0 - unist-util-is: 5.1.1 - unist-util-visit-parents: 5.1.1 - dev: true - - /mdast-util-from-markdown@1.2.0: - resolution: {integrity: sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==} - dependencies: - '@types/mdast': 3.0.10 - '@types/unist': 2.0.6 - decode-named-character-reference: 1.0.2 - mdast-util-to-string: 3.1.0 - micromark: 3.1.0 - micromark-util-decode-numeric-character-reference: 1.0.0 - micromark-util-decode-string: 1.0.2 - micromark-util-normalize-identifier: 1.0.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - unist-util-stringify-position: 3.0.2 - uvu: 0.5.6 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + + mdast-util-from-markdown@2.0.3: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.2 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-decode-string: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + unist-util-stringify-position: 4.0.0 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-gfm-autolink-literal@1.0.2: - resolution: {integrity: sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==} + mdast-util-gfm-autolink-literal@2.0.1: dependencies: - '@types/mdast': 3.0.10 + '@types/mdast': 4.0.4 ccount: 2.0.1 - mdast-util-find-and-replace: 2.2.1 - micromark-util-character: 1.1.0 - dev: true + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.2 + micromark-util-character: 2.1.1 - /mdast-util-gfm-footnote@1.0.1: - resolution: {integrity: sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==} + mdast-util-gfm-footnote@2.1.0: dependencies: - '@types/mdast': 3.0.10 - mdast-util-to-markdown: 1.4.0 - micromark-util-normalize-identifier: 1.0.0 - dev: true + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + micromark-util-normalize-identifier: 2.0.1 + transitivePeerDependencies: + - supports-color - /mdast-util-gfm-strikethrough@1.0.2: - resolution: {integrity: sha512-T/4DVHXcujH6jx1yqpcAYYwd+z5lAYMw4Ls6yhTfbMMtCt0PHY4gEfhW9+lKsLBtyhUGKRIzcUA2FATVqnvPDA==} + mdast-util-gfm-strikethrough@2.0.0: dependencies: - '@types/mdast': 3.0.10 - mdast-util-to-markdown: 1.4.0 - dev: true + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - /mdast-util-gfm-table@1.0.6: - resolution: {integrity: sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag==} + mdast-util-gfm-table@2.0.0: dependencies: - '@types/mdast': 3.0.10 - markdown-table: 3.0.3 - mdast-util-from-markdown: 1.2.0 - mdast-util-to-markdown: 1.4.0 + '@types/mdast': 4.0.4 + devlop: 1.1.0 + markdown-table: 3.0.4 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-gfm-task-list-item@1.0.1: - resolution: {integrity: sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==} + mdast-util-gfm-task-list-item@2.0.0: dependencies: - '@types/mdast': 3.0.10 - mdast-util-to-markdown: 1.4.0 - dev: true + '@types/mdast': 4.0.4 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + transitivePeerDependencies: + - supports-color - /mdast-util-gfm@2.0.1: - resolution: {integrity: sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==} + mdast-util-gfm@3.1.0: dependencies: - mdast-util-from-markdown: 1.2.0 - mdast-util-gfm-autolink-literal: 1.0.2 - mdast-util-gfm-footnote: 1.0.1 - mdast-util-gfm-strikethrough: 1.0.2 - mdast-util-gfm-table: 1.0.6 - mdast-util-gfm-task-list-item: 1.0.1 - mdast-util-to-markdown: 1.4.0 + mdast-util-from-markdown: 2.0.3 + mdast-util-gfm-autolink-literal: 2.0.1 + mdast-util-gfm-footnote: 2.1.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-to-hast@12.2.4: - resolution: {integrity: sha512-a21xoxSef1l8VhHxS1Dnyioz6grrJkoaCUgGzMD/7dWHvboYX3VW53esRUfB5tgTyz4Yos1n25SPcj35dJqmAg==} + mdast-util-phrasing@4.1.0: + dependencies: + '@types/mdast': 4.0.4 + unist-util-is: 6.0.1 + + mdast-util-to-hast@13.2.1: dependencies: - '@types/hast': 2.3.4 - '@types/mdast': 3.0.10 - mdast-util-definitions: 5.1.1 - micromark-util-sanitize-uri: 1.1.0 + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + '@ungap/structured-clone': 1.3.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 - unist-builder: 3.0.0 - unist-util-generated: 2.0.0 - unist-util-position: 4.0.3 - unist-util-visit: 4.1.1 - dev: true + unist-util-position: 5.0.0 + unist-util-visit: 5.1.0 + vfile: 6.0.3 - /mdast-util-to-markdown@1.4.0: - resolution: {integrity: sha512-IjXARf/O8VGx/pc5SZ7syfydq1DYL9vd92orsG5U0b4GNCmAvXzu+n7sbzfIKrXwB0AVrYk3NV2kXl0AIi9LCA==} + mdast-util-to-markdown@2.1.2: dependencies: - '@types/mdast': 3.0.10 - '@types/unist': 2.0.6 + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 longest-streak: 3.1.0 - mdast-util-to-string: 3.1.0 - micromark-util-decode-string: 1.0.2 - unist-util-visit: 4.1.1 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.1 + micromark-util-decode-string: 2.0.1 + unist-util-visit: 5.1.0 zwitch: 2.0.4 - dev: true - /mdast-util-to-string@3.1.0: - resolution: {integrity: sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==} - dev: true + mdast-util-to-string@4.0.0: + dependencies: + '@types/mdast': 4.0.4 + + mdn-data@2.0.28: {} + + mdn-data@2.27.1: {} + + mdurl@2.0.0: {} - /mdn-data@2.0.14: - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} - dev: true + memorystream@0.3.1: {} - /mdurl@1.0.1: - resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - dev: true + merge-stream@2.0.0: {} - /memory-fs@0.5.0: - resolution: {integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==} - engines: {node: '>=4.3.0 <5.0.0 || >=5.10'} + merge2@1.4.1: {} + + micromark-core-commonmark@2.0.3: dependencies: - errno: 0.1.8 - readable-stream: 2.3.7 - dev: true + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-factory-destination: 2.0.1 + micromark-factory-label: 2.0.1 + micromark-factory-space: 2.0.1 + micromark-factory-title: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-html-tag-name: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - /memorystream@0.3.1: - resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} - engines: {node: '>= 0.10.0'} - dev: true + micromark-extension-gfm-autolink-literal@2.1.0: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - /meow@6.1.1: - resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} - engines: {node: '>=8'} + micromark-extension-gfm-footnote@2.1.0: dependencies: - '@types/minimist': 1.2.2 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 2.5.0 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.13.1 - yargs-parser: 18.1.3 - dev: false - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + micromark-extension-gfm-strikethrough@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-classify-character: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - /micromark-core-commonmark@1.0.6: - resolution: {integrity: sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==} - dependencies: - decode-named-character-reference: 1.0.2 - micromark-factory-destination: 1.0.0 - micromark-factory-label: 1.0.2 - micromark-factory-space: 1.0.0 - micromark-factory-title: 1.0.2 - micromark-factory-whitespace: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-chunked: 1.0.0 - micromark-util-classify-character: 1.0.0 - micromark-util-html-tag-name: 1.1.0 - micromark-util-normalize-identifier: 1.0.0 - micromark-util-resolve-all: 1.0.0 - micromark-util-subtokenize: 1.0.2 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-extension-gfm-autolink-literal@1.0.3: - resolution: {integrity: sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==} - dependencies: - micromark-util-character: 1.1.0 - micromark-util-sanitize-uri: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-extension-gfm-footnote@1.0.4: - resolution: {integrity: sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==} - dependencies: - micromark-core-commonmark: 1.0.6 - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-normalize-identifier: 1.0.0 - micromark-util-sanitize-uri: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-extension-gfm-strikethrough@1.0.4: - resolution: {integrity: sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==} - dependencies: - micromark-util-chunked: 1.0.0 - micromark-util-classify-character: 1.0.0 - micromark-util-resolve-all: 1.0.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-extension-gfm-table@1.0.5: - resolution: {integrity: sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==} - dependencies: - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-extension-gfm-tagfilter@1.0.1: - resolution: {integrity: sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==} - dependencies: - micromark-util-types: 1.0.2 - dev: true - - /micromark-extension-gfm-task-list-item@1.0.3: - resolution: {integrity: sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==} - dependencies: - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-extension-gfm@2.0.1: - resolution: {integrity: sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==} - dependencies: - micromark-extension-gfm-autolink-literal: 1.0.3 - micromark-extension-gfm-footnote: 1.0.4 - micromark-extension-gfm-strikethrough: 1.0.4 - micromark-extension-gfm-table: 1.0.5 - micromark-extension-gfm-tagfilter: 1.0.1 - micromark-extension-gfm-task-list-item: 1.0.3 - micromark-util-combine-extensions: 1.0.0 - micromark-util-types: 1.0.2 - dev: true - - /micromark-factory-destination@1.0.0: - resolution: {integrity: sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==} - dependencies: - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - dev: true - - /micromark-factory-label@1.0.2: - resolution: {integrity: sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==} - dependencies: - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-factory-space@1.0.0: - resolution: {integrity: sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==} - dependencies: - micromark-util-character: 1.1.0 - micromark-util-types: 1.0.2 - dev: true - - /micromark-factory-title@1.0.2: - resolution: {integrity: sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==} - dependencies: - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-factory-whitespace@1.0.0: - resolution: {integrity: sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==} - dependencies: - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - dev: true - - /micromark-util-character@1.1.0: - resolution: {integrity: sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==} - dependencies: - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - dev: true - - /micromark-util-chunked@1.0.0: - resolution: {integrity: sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==} - dependencies: - micromark-util-symbol: 1.0.1 - dev: true - - /micromark-util-classify-character@1.0.0: - resolution: {integrity: sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==} - dependencies: - micromark-util-character: 1.1.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - dev: true - - /micromark-util-combine-extensions@1.0.0: - resolution: {integrity: sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==} - dependencies: - micromark-util-chunked: 1.0.0 - micromark-util-types: 1.0.2 - dev: true - - /micromark-util-decode-numeric-character-reference@1.0.0: - resolution: {integrity: sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==} - dependencies: - micromark-util-symbol: 1.0.1 - dev: true - - /micromark-util-decode-string@1.0.2: - resolution: {integrity: sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==} - dependencies: - decode-named-character-reference: 1.0.2 - micromark-util-character: 1.1.0 - micromark-util-decode-numeric-character-reference: 1.0.0 - micromark-util-symbol: 1.0.1 - dev: true - - /micromark-util-encode@1.0.1: - resolution: {integrity: sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==} - dev: true - - /micromark-util-html-tag-name@1.1.0: - resolution: {integrity: sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==} - dev: true - - /micromark-util-normalize-identifier@1.0.0: - resolution: {integrity: sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==} - dependencies: - micromark-util-symbol: 1.0.1 - dev: true - - /micromark-util-resolve-all@1.0.0: - resolution: {integrity: sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==} - dependencies: - micromark-util-types: 1.0.2 - dev: true - - /micromark-util-sanitize-uri@1.1.0: - resolution: {integrity: sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==} - dependencies: - micromark-util-character: 1.1.0 - micromark-util-encode: 1.0.1 - micromark-util-symbol: 1.0.1 - dev: true - - /micromark-util-subtokenize@1.0.2: - resolution: {integrity: sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==} - dependencies: - micromark-util-chunked: 1.0.0 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - dev: true - - /micromark-util-symbol@1.0.1: - resolution: {integrity: sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==} - dev: true - - /micromark-util-types@1.0.2: - resolution: {integrity: sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==} - dev: true - - /micromark@3.1.0: - resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==} - dependencies: - '@types/debug': 4.1.7 - debug: 4.3.4 - decode-named-character-reference: 1.0.2 - micromark-core-commonmark: 1.0.6 - micromark-factory-space: 1.0.0 - micromark-util-character: 1.1.0 - micromark-util-chunked: 1.0.0 - micromark-util-combine-extensions: 1.0.0 - micromark-util-decode-numeric-character-reference: 1.0.0 - micromark-util-encode: 1.0.1 - micromark-util-normalize-identifier: 1.0.0 - micromark-util-resolve-all: 1.0.0 - micromark-util-sanitize-uri: 1.1.0 - micromark-util-subtokenize: 1.0.2 - micromark-util-symbol: 1.0.1 - micromark-util-types: 1.0.2 - uvu: 0.5.6 - transitivePeerDependencies: - - supports-color - dev: true + micromark-extension-gfm-table@2.1.1: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + micromark-extension-gfm-tagfilter@2.0.0: dependencies: - braces: 3.0.2 - picomatch: 2.3.1 + micromark-util-types: 2.0.2 - /mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - dev: true + micromark-extension-gfm-task-list-item@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - /mime@2.5.2: - resolution: {integrity: sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==} - engines: {node: '>=4.0.0'} - hasBin: true - dev: true + micromark-extension-gfm@3.0.0: + dependencies: + micromark-extension-gfm-autolink-literal: 2.1.0 + micromark-extension-gfm-footnote: 2.1.0 + micromark-extension-gfm-strikethrough: 2.1.0 + micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-tagfilter: 2.0.0 + micromark-extension-gfm-task-list-item: 2.1.0 + micromark-util-combine-extensions: 2.0.1 + micromark-util-types: 2.0.2 - /mime@3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} - hasBin: true - dev: true + micromark-factory-destination@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true + micromark-factory-label@2.0.1: + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true + micromark-factory-space@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 - /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: false + micromark-factory-title@2.0.1: + dependencies: + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - /minimatch@3.0.8: - resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} + micromark-factory-whitespace@2.0.1: dependencies: - brace-expansion: 1.1.11 - dev: true + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + micromark-util-character@2.1.1: dependencies: - brace-expansion: 1.1.11 - dev: true + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - /minimatch@5.1.2: - resolution: {integrity: sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg==} - engines: {node: '>=10'} + micromark-util-chunked@2.0.1: dependencies: - brace-expansion: 2.0.1 - dev: true + micromark-util-symbol: 2.0.1 - /minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} + micromark-util-classify-character@2.0.1: dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 - dev: false + micromark-util-character: 2.1.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - /minimist@1.2.7: - resolution: {integrity: sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==} - dev: true + micromark-util-combine-extensions@2.0.1: + dependencies: + micromark-util-chunked: 2.0.1 + micromark-util-types: 2.0.2 - /minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} + micromark-util-decode-numeric-character-reference@2.0.2: dependencies: - yallist: 4.0.0 - dev: true + micromark-util-symbol: 2.0.1 - /minipass@4.0.0: - resolution: {integrity: sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==} - engines: {node: '>=8'} + micromark-util-decode-string@2.0.1: dependencies: - yallist: 4.0.0 - dev: true + decode-named-character-reference: 1.3.0 + micromark-util-character: 2.1.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-symbol: 2.0.1 - /minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} + micromark-util-encode@2.0.1: {} + + micromark-util-html-tag-name@2.0.1: {} + + micromark-util-normalize-identifier@2.0.1: dependencies: - minipass: 3.3.6 - yallist: 4.0.0 - dev: true + micromark-util-symbol: 2.0.1 - /mixme@0.5.5: - resolution: {integrity: sha512-/6IupbRx32s7jjEwHcycXikJwFD5UujbVNuJFkeKLYje+92OvtuPniF6JhnFm5JCTDUhS+kYK3W/4BWYQYXz7w==} - engines: {node: '>= 8.0.0'} - dev: false + micromark-util-resolve-all@2.0.1: + dependencies: + micromark-util-types: 2.0.2 - /mkdir@0.0.2: - resolution: {integrity: sha512-98OnjcWaNEIRUJJe9rFoWlbkQ5n9z8F86wIPCrI961YEViiVybTuJln919WuuSHSnlrqXy0ELKCntoPy8C7lqg==} - engines: {node: '>=0.4.0'} - dev: true + micromark-util-sanitize-uri@2.0.1: + dependencies: + micromark-util-character: 2.1.1 + micromark-util-encode: 2.0.1 + micromark-util-symbol: 2.0.1 - /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: true + micromark-util-subtokenize@2.1.0: + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.1 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 - /mkdist@1.1.0(typescript@4.9.4): - resolution: {integrity: sha512-eTw467KIfd/ilsY/yS6N/fjCe/glP99bTU+ydVJFRUZYaZ3UnL09Q5SGVhMrHLr4Q5qL1pDVDgitQTmLLpUa2A==} - hasBin: true - peerDependencies: - sass: ^1.57.1 - typescript: '>=4.9.4' - peerDependenciesMeta: - sass: - optional: true - typescript: - optional: true + micromark-util-symbol@2.0.1: {} + + micromark-util-types@2.0.2: {} + + micromark@4.0.2: dependencies: - defu: 6.1.1 - esbuild: 0.16.17 - fs-extra: 11.1.0 - globby: 13.1.3 - jiti: 1.16.2 - mri: 1.2.0 - pathe: 1.0.0 - typescript: 4.9.4 - dev: true + '@types/debug': 4.1.13 + debug: 4.4.3 + decode-named-character-reference: 1.3.0 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-chunked: 2.0.1 + micromark-util-combine-extensions: 2.0.1 + micromark-util-decode-numeric-character-reference: 2.0.2 + micromark-util-encode: 2.0.1 + micromark-util-normalize-identifier: 2.0.1 + micromark-util-resolve-all: 2.0.1 + micromark-util-sanitize-uri: 2.0.1 + micromark-util-subtokenize: 2.1.0 + micromark-util-symbol: 2.0.1 + micromark-util-types: 2.0.2 + transitivePeerDependencies: + - supports-color - /mlly@1.0.0: - resolution: {integrity: sha512-QL108Hwt+u9bXdWgOI0dhzZfACovn5Aen4Xvc8Jasd9ouRH4NjnrXEiyP3nVvJo91zPlYjVRckta0Nt2zfoR6g==} + micromatch@4.0.8: dependencies: - acorn: 8.8.1 - pathe: 1.0.0 - pkg-types: 1.0.1 - ufo: 1.0.1 - dev: true + braces: 3.0.3 + picomatch: 2.3.2 + + mime-db@1.54.0: {} - /mlly@1.1.0: - resolution: {integrity: sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ==} + mime-types@3.0.2: dependencies: - acorn: 8.8.1 - pathe: 1.1.0 - pkg-types: 1.0.1 - ufo: 1.0.1 - dev: true + mime-db: 1.54.0 - /mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} + mime@4.1.0: {} - /ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: true + mimic-fn@4.0.0: {} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + minimatch@10.2.4: + dependencies: + brace-expansion: 5.0.5 - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true + minimatch@3.1.5: + dependencies: + brace-expansion: 1.1.13 - /muggle-string@0.1.0: - resolution: {integrity: sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg==} - dev: true + minimatch@5.1.9: + dependencies: + brace-expansion: 2.0.3 - /mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: true + minimatch@9.0.9: + dependencies: + brace-expansion: 2.0.3 - /nanoid@3.3.4: - resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true + minimist@1.2.8: {} - /nanoid@4.0.0: - resolution: {integrity: sha512-IgBP8piMxe/gf73RTQx7hmnhwz0aaEXYakvqZyE302IXW3HyVNhdNGC+O2MwMAVhLEnvXlvKtGbtJf6wvHihCg==} - engines: {node: ^14 || ^16 || >=18} - hasBin: true - dev: true + minipass@7.1.3: {} - /nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - dev: true + minisearch@7.2.0: {} - /nitropack@1.0.0: - resolution: {integrity: sha512-788lHgNgC+NKqecwFgMkAQTuTXwuh2hEgOk2sLwV3qPVUogxrl6P3m5eKdt6Mtzx+mlXIw0G/P90B5TNWEqDSQ==} - engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} - hasBin: true + minizlib@3.1.0: dependencies: - '@cloudflare/kv-asset-handler': 0.2.0 - '@netlify/functions': 1.3.0 - '@rollup/plugin-alias': 4.0.2(rollup@2.79.1) - '@rollup/plugin-commonjs': 23.0.7(rollup@2.79.1) - '@rollup/plugin-inject': 5.0.3(rollup@2.79.1) - '@rollup/plugin-json': 5.0.2(rollup@2.79.1) - '@rollup/plugin-node-resolve': 15.0.1(rollup@2.79.1) - '@rollup/plugin-replace': 5.0.2(rollup@2.79.1) - '@rollup/plugin-wasm': 6.1.1(rollup@2.79.1) - '@rollup/pluginutils': 5.0.2(rollup@2.79.1) - '@vercel/nft': 0.22.6 - archiver: 5.3.1 - c12: 1.1.0 - chalk: 5.2.0 - chokidar: 3.5.3 - consola: 2.15.3 - cookie-es: 0.5.0 - defu: 6.1.1 - destr: 1.2.2 - dot-prop: 7.2.0 - esbuild: 0.15.18 + minipass: 7.1.3 + + mkdist@1.6.0(typescript@5.3.3): + dependencies: + autoprefixer: 10.4.27(postcss@8.5.8) + citty: 0.1.6 + cssnano: 7.1.3(postcss@8.5.8) + defu: 6.1.4 + esbuild: 0.24.2 + jiti: 1.21.7 + mlly: 1.8.2 + pathe: 1.1.2 + pkg-types: 1.3.1 + postcss: 8.5.8 + postcss-nested: 6.2.0(postcss@8.5.8) + semver: 7.7.4 + tinyglobby: 0.2.15 + optionalDependencies: + typescript: 5.3.3 + + mlly@1.8.2: + dependencies: + acorn: 8.16.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.3 + + mocked-exports@0.1.1: {} + + mri@1.2.0: {} + + mrmime@2.0.1: {} + + ms@2.1.3: {} + + muggle-string@0.2.2: {} + + muggle-string@0.4.1: {} + + nanoid@3.3.11: {} + + nanoid@4.0.2: {} + + nanotar@0.3.0: {} + + nice-try@1.0.5: {} + + nitropack@2.13.2: + dependencies: + '@cloudflare/kv-asset-handler': 0.4.2 + '@rollup/plugin-alias': 6.0.0(rollup@4.60.0) + '@rollup/plugin-commonjs': 29.0.2(rollup@4.60.0) + '@rollup/plugin-inject': 5.0.5(rollup@4.60.0) + '@rollup/plugin-json': 6.1.0(rollup@4.60.0) + '@rollup/plugin-node-resolve': 16.0.3(rollup@4.60.0) + '@rollup/plugin-replace': 6.0.3(rollup@4.60.0) + '@rollup/plugin-terser': 1.0.0(rollup@4.60.0) + '@vercel/nft': 1.5.0(rollup@4.60.0) + archiver: 7.0.1 + c12: 3.3.3(magicast@0.5.2) + chokidar: 5.0.0 + citty: 0.2.1 + compatx: 0.2.0 + confbox: 0.2.4 + consola: 3.4.2 + cookie-es: 2.0.0 + croner: 10.0.1 + crossws: 0.3.5 + db0: 0.3.4 + defu: 6.1.4 + destr: 2.0.5 + dot-prop: 10.1.0 + esbuild: 0.27.4 escape-string-regexp: 5.0.0 etag: 1.8.1 - fs-extra: 10.1.0 - globby: 13.1.3 + exsolve: 1.0.8 + globby: 16.2.0 gzip-size: 7.0.0 - h3: 1.0.2 - hookable: 5.4.2 - http-proxy: 1.18.1 - is-primitive: 3.0.1 - jiti: 1.16.0 - klona: 2.0.5 - knitwork: 1.0.0 - listhen: 1.0.1 - mime: 3.0.0 - mlly: 1.0.0 - mri: 1.2.0 - node-fetch-native: 1.0.1 - ofetch: 1.0.0 - ohash: 1.0.0 - pathe: 1.0.0 - perfect-debounce: 0.1.3 - pkg-types: 1.0.1 - pretty-bytes: 6.0.0 - radix3: 1.0.0 - rollup: 2.79.1 - rollup-plugin-terser: 7.0.2(rollup@2.79.1) - rollup-plugin-visualizer: 5.9.0(rollup@2.79.1) - scule: 1.0.0 - semver: 7.3.8 - serve-placeholder: 2.0.1 - serve-static: 1.15.0 - source-map-support: 0.5.21 - std-env: 3.3.1 - ufo: 1.0.1 - unenv: 1.0.0 - unimport: 1.1.0(rollup@2.79.1) - unstorage: 1.0.1 + h3: 1.15.10 + hookable: 5.5.3 + httpxy: 0.3.1 + ioredis: 5.10.1 + jiti: 2.6.1 + klona: 2.0.6 + knitwork: 1.3.0 + listhen: 1.9.0 + magic-string: 0.30.21 + magicast: 0.5.2 + mime: 4.1.0 + mlly: 1.8.2 + node-fetch-native: 1.6.7 + node-mock-http: 1.0.4 + ofetch: 1.5.1 + ohash: 2.0.11 + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.0 + pretty-bytes: 7.1.0 + radix3: 1.1.2 + rollup: 4.60.0 + rollup-plugin-visualizer: 7.0.1(rollup@4.60.0) + scule: 1.3.0 + semver: 7.7.4 + serve-placeholder: 2.0.2 + serve-static: 2.2.1 + source-map: 0.7.6 + std-env: 4.0.0 + ufo: 1.6.3 + ultrahtml: 1.6.0 + uncrypto: 0.1.3 + unctx: 2.5.0 + unenv: 2.0.0-rc.24 + unimport: 6.0.2 + unplugin-utils: 0.3.1 + unstorage: 1.17.5(db0@0.3.4)(ioredis@5.10.1) + untyped: 2.0.0 + unwasm: 0.5.3 + youch: 4.1.1 + youch-core: 0.3.3 transitivePeerDependencies: - - bufferutil - - debug + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - aws4fetch + - bare-abort-controller + - bare-buffer + - better-sqlite3 + - drizzle-orm - encoding + - idb-keyval + - mysql2 + - react-native-b4a + - rolldown + - sqlite3 - supports-color - - utf-8-validate - dev: true + - uploadthing - /no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + no-case@3.0.4: dependencies: lower-case: 2.0.2 - tslib: 2.4.1 - dev: true + tslib: 2.8.1 - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: true + node-addon-api@7.1.1: {} - /node-emoji@1.11.0: - resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} + node-emoji@2.2.0: dependencies: - lodash: 4.17.21 - dev: true - - /node-fetch-native@0.1.8: - resolution: {integrity: sha512-ZNaury9r0NxaT2oL65GvdGDy+5PlSaHTovT6JV5tOW07k1TQmgC0olZETa4C9KZg0+6zBr99ctTYa3Utqj9P/Q==} - dev: true + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 - /node-fetch-native@1.0.1: - resolution: {integrity: sha512-VzW+TAk2wE4X9maiKMlT+GsPU4OMmR1U9CrHSmd3DFLn2IcZ9VJ6M6BBugGfYUnPCLSYxXdZy17M0BEJyhUTwg==} - dev: true + node-fetch-native@1.6.7: {} - /node-fetch@2.6.7: - resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 - dev: true - /node-fetch@3.3.0: - resolution: {integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - data-uri-to-buffer: 4.0.0 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - dev: true - - /node-forge@1.3.1: - resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} - engines: {node: '>= 6.13.0'} - dev: true + node-forge@1.4.0: {} - /node-gyp-build@4.5.0: - resolution: {integrity: sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==} - hasBin: true - dev: true + node-gyp-build@4.8.4: {} - /node-releases@2.0.8: - resolution: {integrity: sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==} - dev: true + node-mock-http@1.0.4: {} - /nodemon@2.0.20: - resolution: {integrity: sha512-Km2mWHKKY5GzRg6i1j5OxOHQtuvVsgskLfigG25yTtbyfRGn/GNvIbRyOf1PSCKJ2aT/58TiuUsuOU5UToVViw==} - engines: {node: '>=8.10.0'} - hasBin: true - dependencies: - chokidar: 3.5.3 - debug: 3.2.7(supports-color@5.5.0) - ignore-by-default: 1.0.1 - minimatch: 3.1.2 - pstree.remy: 1.1.8 - semver: 5.7.1 - simple-update-notifier: 1.1.0 - supports-color: 5.5.0 - touch: 3.1.0 - undefsafe: 2.0.5 - dev: true + node-releases@2.0.36: {} - /nodemon@2.0.22: - resolution: {integrity: sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==} - engines: {node: '>=8.10.0'} - hasBin: true + nodemon@2.0.22: dependencies: - chokidar: 3.5.3 + chokidar: 3.6.0 debug: 3.2.7(supports-color@5.5.0) ignore-by-default: 1.0.1 - minimatch: 3.1.2 + minimatch: 3.1.5 pstree.remy: 1.1.8 - semver: 5.7.1 + semver: 5.7.2 simple-update-notifier: 1.1.0 supports-color: 5.5.0 - touch: 3.1.0 + touch: 3.1.1 undefsafe: 2.0.5 - dev: true - - /nopt@1.0.10: - resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} - hasBin: true - dependencies: - abbrev: 1.1.1 - dev: true - /nopt@5.0.0: - resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} - engines: {node: '>=6'} - hasBin: true + nopt@8.1.0: dependencies: - abbrev: 1.1.1 - dev: true + abbrev: 3.0.1 - /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 - resolve: 1.22.1 - semver: 5.7.1 + resolve: 1.22.11 + semver: 5.7.2 validate-npm-package-license: 3.0.4 - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true - - /normalize-range@0.1.2: - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} - engines: {node: '>=0.10.0'} - dev: true - - /normalize-url@6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} - dev: true + normalize-path@3.0.0: {} - /npm-run-all@4.1.5: - resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} - engines: {node: '>= 4'} - hasBin: true + npm-run-all@4.1.5: dependencies: ansi-styles: 3.2.1 chalk: 2.4.2 - cross-spawn: 6.0.5 + cross-spawn: 6.0.6 memorystream: 0.3.1 - minimatch: 3.1.2 + minimatch: 3.1.5 pidtree: 0.3.1 read-pkg: 3.0.0 - shell-quote: 1.7.4 - string.prototype.padend: 3.1.4 - dev: true - - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true + shell-quote: 1.8.3 + string.prototype.padend: 3.1.6 - /npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@5.3.0: dependencies: path-key: 4.0.0 - dev: true - /npmlog@5.0.1: - resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + npm-run-path@6.0.0: dependencies: - are-we-there-yet: 2.0.0 - console-control-strings: 1.1.0 - gauge: 3.0.2 - set-blocking: 2.0.0 - dev: true + path-key: 4.0.0 + unicorn-magic: 0.3.0 - /nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + nth-check@2.1.1: dependencies: boolbase: 1.0.0 - dev: true - - /nuxi@3.0.0: - resolution: {integrity: sha512-VWh1kKFffxD2yadZWcQSd6eTf9okXRr7d3HsjLiI4B3Q1/8iKdIUiodGo7X71OZ+gPVnX6Oh/XFzcb7mr+8TbQ==} - engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 - dev: true - /nuxt-component-meta@0.4.3: - resolution: {integrity: sha512-40wsnbCh2neNdKVrwSiqV/ea7QshYjp3kpfk8JZaxSW/XcgNg2tzka4L+M8caOvQalyAKi6AaENPLaTYOZDbQg==} + nuxt-component-meta@0.9.0(magicast@0.5.2): dependencies: - '@nuxt/kit': 3.0.0 - scule: 1.0.0 - typescript: 4.9.4 - vue-component-meta: 1.0.19(typescript@4.9.4) + '@nuxt/kit': 3.21.2(magicast@0.5.2) + citty: 0.1.6 + mlly: 1.8.2 + scule: 1.3.0 + typescript: 5.9.3 + ufo: 1.6.3 + vue-component-meta: 2.2.12(typescript@5.9.3) transitivePeerDependencies: - - rollup - - supports-color - dev: true + - magicast - /nuxt-config-schema@0.4.3: - resolution: {integrity: sha512-E2FJitdLOMvRYUgajtysDOwYY4+3k+Gp4Zw2uV32WMice/UY0LYq9aqYc6rbkvtSJYbiT6OX98/XhrqIzbL6Dw==} + nuxt-config-schema@0.4.7(magicast@0.5.2): dependencies: - '@nuxt/kit': 3.0.0 - changelogen: 0.4.1 - defu: 6.1.1 - jiti: 1.16.2 - pathe: 1.0.0 - untyped: 1.2.2 + '@nuxt/kit': 3.21.2(magicast@0.5.2) + defu: 6.1.4 + jiti: 2.6.1 + pathe: 1.1.2 + untyped: 1.5.2 transitivePeerDependencies: - - rollup + - magicast - supports-color - dev: true - /nuxt-icon@0.2.7: - resolution: {integrity: sha512-Tv1oh33oLJfFDhQ5nMZ8I5vspbg7A8JTW7sVtD58gDkHfFzEHXBcXz7OesFZZQvKPwBWSKhBLgIenbFu5Jkzlw==} + nuxt-icon@0.3.3(magicast@0.5.2)(vue@3.5.31(typescript@5.3.3)): dependencies: - '@iconify/vue': 4.0.2 - '@nuxt/kit': 3.0.0 - nuxt-config-schema: 0.4.3 + '@iconify/vue': 4.3.0(vue@3.5.31(typescript@5.3.3)) + '@nuxt/kit': 3.21.2(magicast@0.5.2) + nuxt-config-schema: 0.4.7(magicast@0.5.2) transitivePeerDependencies: - - rollup + - magicast - supports-color - vue - dev: true - /nuxt@3.0.0(@types/node@18.11.9)(typescript@5.3.3): - resolution: {integrity: sha512-RNlD78uv04ZiXWmlx9f1tnJfrqsYAWHU+4gbgOTQpIBmQzHWPWiox+fm/1m93iKfEd5sJi9TJUoXX5yBObVZYw==} - engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} - hasBin: true - dependencies: - '@nuxt/devalue': 2.0.0 - '@nuxt/kit': 3.0.0 - '@nuxt/schema': 3.0.0 - '@nuxt/telemetry': 2.1.8 - '@nuxt/ui-templates': 1.0.0 - '@nuxt/vite-builder': 3.0.0(@types/node@18.11.9)(typescript@5.3.3)(vue@3.2.45) - '@unhead/ssr': 1.0.14 - '@vue/reactivity': 3.2.45 - '@vue/shared': 3.2.45 - '@vueuse/head': 1.0.22(vue@3.2.45) - chokidar: 3.5.3 - cookie-es: 0.5.0 - defu: 6.1.1 - destr: 1.2.2 + nuxt@3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3): + dependencies: + '@dxup/nuxt': 0.4.0(magicast@0.5.2)(typescript@5.3.3) + '@nuxt/cli': 3.34.0(@nuxt/schema@3.21.2)(cac@6.7.14)(magicast@0.5.2) + '@nuxt/devtools': 3.2.4(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vue@3.5.31(typescript@5.3.3)) + '@nuxt/kit': 3.21.2(magicast@0.5.2) + '@nuxt/nitro-server': 3.21.2(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(nuxt@3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3))(typescript@5.3.3) + '@nuxt/schema': 3.21.2 + '@nuxt/telemetry': 2.7.0(@nuxt/kit@3.21.2(magicast@0.5.2)) + '@nuxt/vite-builder': 3.21.2(@types/node@18.19.130)(magicast@0.5.2)(nuxt@3.21.2(@parcel/watcher@2.5.6)(@types/node@18.19.130)(@vue/compiler-sfc@3.5.31)(cac@6.7.14)(db0@0.3.4)(ioredis@5.10.1)(magicast@0.5.2)(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(yaml@2.8.3))(rollup-plugin-visualizer@7.0.1(rollup@4.60.0))(rollup@4.60.0)(terser@5.46.1)(tsx@4.21.0)(typescript@5.3.3)(vue@3.5.31(typescript@5.3.3))(yaml@2.8.3) + '@unhead/vue': 2.1.12(vue@3.5.31(typescript@5.3.3)) + '@vue/shared': 3.5.31 + c12: 3.3.3(magicast@0.5.2) + chokidar: 5.0.0 + compatx: 0.2.0 + consola: 3.4.2 + cookie-es: 2.0.0 + defu: 6.1.4 + destr: 2.0.5 + devalue: 5.6.4 + errx: 0.1.0 escape-string-regexp: 5.0.0 - estree-walker: 3.0.1 - fs-extra: 10.1.0 - globby: 13.1.3 - h3: 1.0.2 - hash-sum: 2.0.0 - hookable: 5.4.2 - knitwork: 1.0.0 - magic-string: 0.26.7 - mlly: 1.0.0 - nitropack: 1.0.0 - nuxi: 3.0.0 - ofetch: 1.0.0 - ohash: 1.0.0 - pathe: 1.0.0 - perfect-debounce: 0.1.3 - scule: 1.0.0 - strip-literal: 1.0.0 - ufo: 1.0.1 - ultrahtml: 1.2.0 - unctx: 2.1.1 - unenv: 1.0.0 - unhead: 1.0.14 - unimport: 1.1.0 - unplugin: 1.0.1 - untyped: 1.2.0 - vue: 3.2.45 - vue-bundle-renderer: 1.0.0 - vue-devtools-stub: 0.1.0 - vue-router: 4.1.6(vue@3.2.45) + exsolve: 1.0.8 + h3: 1.15.10 + hookable: 5.5.3 + ignore: 7.0.5 + impound: 1.1.5 + jiti: 2.6.1 + klona: 2.0.6 + knitwork: 1.3.0 + magic-string: 0.30.21 + mlly: 1.8.2 + nanotar: 0.3.0 + nypm: 0.6.5 + ofetch: 1.5.1 + ohash: 2.0.11 + on-change: 6.0.2 + oxc-minify: 0.117.0 + oxc-parser: 0.117.0 + oxc-transform: 0.117.0 + oxc-walker: 0.7.0(oxc-parser@0.117.0) + pathe: 2.0.3 + perfect-debounce: 2.1.0 + pkg-types: 2.3.0 + rou3: 0.8.1 + scule: 1.3.0 + semver: 7.7.4 + std-env: 4.0.0 + tinyglobby: 0.2.15 + ufo: 1.6.3 + ultrahtml: 1.6.0 + uncrypto: 0.1.3 + unctx: 2.5.0 + unimport: 6.0.2 + unplugin: 3.0.0 + unplugin-vue-router: 0.19.2(@vue/compiler-sfc@3.5.31)(vue-router@4.6.4(vue@3.5.31(typescript@5.3.3)))(vue@3.5.31(typescript@5.3.3)) + untyped: 2.0.0 + vue: 3.5.31(typescript@5.3.3) + vue-router: 4.6.4(vue@3.5.31(typescript@5.3.3)) + optionalDependencies: + '@parcel/watcher': 2.5.6 + '@types/node': 18.19.130 transitivePeerDependencies: - - '@types/node' + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@biomejs/biome' + - '@capacitor/preferences' + - '@deno/kv' + - '@electric-sql/pglite' + - '@libsql/client' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/functions' + - '@vercel/kv' + - '@vitejs/devtools' + - '@vue/compiler-sfc' + - aws4fetch + - bare-abort-controller + - bare-buffer + - better-sqlite3 - bufferutil - - debug + - cac + - commander + - db0 + - drizzle-orm - encoding - eslint + - idb-keyval + - ioredis - less + - lightningcss + - magicast - meow + - mysql2 - optionator + - oxlint + - react-native-b4a + - rolldown - rollup + - rollup-plugin-visualizer - sass + - sass-embedded + - sqlite3 - stylelint - stylus - sugarss - supports-color - terser + - tsx - typescript + - uploadthing - utf-8-validate + - vite - vls - vti - dev: true + - vue-tsc + - xml2js + - yaml - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - dev: true + nypm@0.6.5: + dependencies: + citty: 0.2.1 + pathe: 2.0.3 + tinyexec: 1.0.4 - /object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + object-inspect@1.13.4: {} - /object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} - engines: {node: '>= 0.4'} + object-is@1.1.6: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - dev: true + call-bind: 1.0.8 + define-properties: 1.2.1 - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} + object-keys@1.1.1: {} - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} - engines: {node: '>= 0.4'} + object.assign@4.1.7: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - has-symbols: 1.0.3 + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + has-symbols: 1.1.0 object-keys: 1.1.1 - /ofetch@1.0.0: - resolution: {integrity: sha512-d40aof8czZFSQKJa4+F7Ch3UC5D631cK1TTUoK+iNEut9NoiCL+u0vykl/puYVUS2df4tIQl5upQcolIcEzQjQ==} + obug@2.1.1: {} + + ofetch@1.5.1: dependencies: - destr: 1.2.2 - node-fetch-native: 1.0.1 - ufo: 1.0.1 - dev: true + destr: 2.0.5 + node-fetch-native: 1.6.7 + ufo: 1.6.3 - /ohash@1.0.0: - resolution: {integrity: sha512-kxSyzq6tt+6EE/xCnD1XaFhCCjUNUaz3X30rJp6mnjGLXAAvuPFqohMdv0aScWzajR45C29HyBaXZ8jXBwnh9A==} - dev: true + ofetch@2.0.0-alpha.3: {} - /ohmyfetch@0.4.21: - resolution: {integrity: sha512-VG7f/JRvqvBOYvL0tHyEIEG7XHWm7OqIfAs6/HqwWwDfjiJ1g0huIpe5sFEmyb+7hpFa1EGNH2aERWR72tlClw==} - dependencies: - destr: 1.2.2 - node-fetch-native: 0.1.8 - ufo: 0.8.6 - undici: 5.14.0 - dev: true + ohash@1.1.6: {} - /on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} + ohash@2.0.11: {} + + on-change@6.0.2: {} + + on-finished@2.4.1: dependencies: ee-first: 1.1.1 - dev: true - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + once@1.4.0: dependencies: wrappy: 1.0.2 - dev: true - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + onetime@6.0.0: dependencies: - mimic-fn: 2.1.0 - dev: true + mimic-fn: 4.0.0 - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} + oniguruma-to-es@2.3.0: dependencies: - mimic-fn: 4.0.0 - dev: true + emoji-regex-xs: 1.0.0 + regex: 5.1.1 + regex-recursion: 5.1.1 - /open@8.4.0: - resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} - engines: {node: '>=12'} + open@10.2.0: dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: true + default-browser: 5.5.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + wsl-utils: 0.1.0 - /ora@6.1.2: - resolution: {integrity: sha512-EJQ3NiP5Xo94wJXIzAyOtSb0QEIAUu7m8t6UZ9krbz0vAJqr92JpcK/lEXg91q6B9pEGqrykkd2EQplnifDSBw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + open@11.0.0: dependencies: - bl: 5.1.0 - chalk: 5.2.0 - cli-cursor: 4.0.0 - cli-spinners: 2.7.0 - is-interactive: 2.0.0 - is-unicode-supported: 1.3.0 - log-symbols: 5.1.0 - strip-ansi: 7.0.1 - wcwidth: 1.0.1 - dev: true + default-browser: 5.5.0 + define-lazy-prop: 3.0.0 + is-in-ssh: 1.0.0 + is-inside-container: 1.0.0 + powershell-utils: 0.1.0 + wsl-utils: 0.3.1 - /os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} + outdent@0.5.0: {} - /outdent@0.5.0: - resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} - dev: false + own-keys@1.0.1: + dependencies: + get-intrinsic: 1.3.0 + object-keys: 1.1.1 + safe-push-apply: 1.0.0 - /p-filter@2.1.0: - resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} - engines: {node: '>=8'} + oxc-minify@0.117.0: + optionalDependencies: + '@oxc-minify/binding-android-arm-eabi': 0.117.0 + '@oxc-minify/binding-android-arm64': 0.117.0 + '@oxc-minify/binding-darwin-arm64': 0.117.0 + '@oxc-minify/binding-darwin-x64': 0.117.0 + '@oxc-minify/binding-freebsd-x64': 0.117.0 + '@oxc-minify/binding-linux-arm-gnueabihf': 0.117.0 + '@oxc-minify/binding-linux-arm-musleabihf': 0.117.0 + '@oxc-minify/binding-linux-arm64-gnu': 0.117.0 + '@oxc-minify/binding-linux-arm64-musl': 0.117.0 + '@oxc-minify/binding-linux-ppc64-gnu': 0.117.0 + '@oxc-minify/binding-linux-riscv64-gnu': 0.117.0 + '@oxc-minify/binding-linux-riscv64-musl': 0.117.0 + '@oxc-minify/binding-linux-s390x-gnu': 0.117.0 + '@oxc-minify/binding-linux-x64-gnu': 0.117.0 + '@oxc-minify/binding-linux-x64-musl': 0.117.0 + '@oxc-minify/binding-openharmony-arm64': 0.117.0 + '@oxc-minify/binding-wasm32-wasi': 0.117.0 + '@oxc-minify/binding-win32-arm64-msvc': 0.117.0 + '@oxc-minify/binding-win32-ia32-msvc': 0.117.0 + '@oxc-minify/binding-win32-x64-msvc': 0.117.0 + + oxc-parser@0.117.0: + dependencies: + '@oxc-project/types': 0.117.0 + optionalDependencies: + '@oxc-parser/binding-android-arm-eabi': 0.117.0 + '@oxc-parser/binding-android-arm64': 0.117.0 + '@oxc-parser/binding-darwin-arm64': 0.117.0 + '@oxc-parser/binding-darwin-x64': 0.117.0 + '@oxc-parser/binding-freebsd-x64': 0.117.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.117.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.117.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.117.0 + '@oxc-parser/binding-linux-arm64-musl': 0.117.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.117.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.117.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.117.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.117.0 + '@oxc-parser/binding-linux-x64-gnu': 0.117.0 + '@oxc-parser/binding-linux-x64-musl': 0.117.0 + '@oxc-parser/binding-openharmony-arm64': 0.117.0 + '@oxc-parser/binding-wasm32-wasi': 0.117.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.117.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.117.0 + '@oxc-parser/binding-win32-x64-msvc': 0.117.0 + + oxc-transform@0.117.0: + optionalDependencies: + '@oxc-transform/binding-android-arm-eabi': 0.117.0 + '@oxc-transform/binding-android-arm64': 0.117.0 + '@oxc-transform/binding-darwin-arm64': 0.117.0 + '@oxc-transform/binding-darwin-x64': 0.117.0 + '@oxc-transform/binding-freebsd-x64': 0.117.0 + '@oxc-transform/binding-linux-arm-gnueabihf': 0.117.0 + '@oxc-transform/binding-linux-arm-musleabihf': 0.117.0 + '@oxc-transform/binding-linux-arm64-gnu': 0.117.0 + '@oxc-transform/binding-linux-arm64-musl': 0.117.0 + '@oxc-transform/binding-linux-ppc64-gnu': 0.117.0 + '@oxc-transform/binding-linux-riscv64-gnu': 0.117.0 + '@oxc-transform/binding-linux-riscv64-musl': 0.117.0 + '@oxc-transform/binding-linux-s390x-gnu': 0.117.0 + '@oxc-transform/binding-linux-x64-gnu': 0.117.0 + '@oxc-transform/binding-linux-x64-musl': 0.117.0 + '@oxc-transform/binding-openharmony-arm64': 0.117.0 + '@oxc-transform/binding-wasm32-wasi': 0.117.0 + '@oxc-transform/binding-win32-arm64-msvc': 0.117.0 + '@oxc-transform/binding-win32-ia32-msvc': 0.117.0 + '@oxc-transform/binding-win32-x64-msvc': 0.117.0 + + oxc-walker@0.7.0(oxc-parser@0.117.0): + dependencies: + magic-regexp: 0.10.0 + oxc-parser: 0.117.0 + + p-filter@2.1.0: dependencies: p-map: 2.1.0 - dev: false - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + p-limit@2.3.0: dependencies: p-try: 2.2.0 - dev: false - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-limit@4.0.0: dependencies: - yocto-queue: 1.0.0 + yocto-queue: 1.2.2 - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + p-locate@4.1.0: dependencies: p-limit: 2.3.0 - dev: false - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - /p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + p-locate@6.0.0: dependencies: p-limit: 4.0.0 - dev: false - /p-map@2.1.0: - resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} - engines: {node: '>=6'} - dev: false + p-map@2.1.0: {} - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: false + p-try@2.2.0: {} - /param-case@3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + package-json-from-dist@1.0.1: {} + + package-manager-detector@0.2.11: + dependencies: + quansync: 0.2.11 + + packrup@0.1.2: {} + + paneer@0.1.0: + dependencies: + '@babel/parser': 7.29.2 + '@types/estree': 1.0.8 + recast: 0.22.0 + + param-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.4.1 - dev: true + tslib: 2.8.1 - /parse-entities@4.0.0: - resolution: {integrity: sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==} + parse-entities@4.0.2: dependencies: - '@types/unist': 2.0.6 - character-entities: 2.0.2 + '@types/unist': 2.0.11 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.3.0 is-alphanumerical: 2.0.1 is-decimal: 2.0.1 is-hexadecimal: 2.0.1 - dev: true - /parse-git-config@3.0.0: - resolution: {integrity: sha512-wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==} - engines: {node: '>=8'} + parse-git-config@3.0.0: dependencies: git-config-path: 2.0.0 ini: 1.3.8 - dev: true - /parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} + parse-json@4.0.0: dependencies: - error-ex: 1.3.2 + error-ex: 1.3.4 json-parse-better-errors: 1.0.2 - dev: true - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + parse-path@7.1.0: dependencies: - '@babel/code-frame': 7.18.6 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - dev: false + protocols: 2.0.2 - /parse-path@7.0.0: - resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} + parse-url@8.1.0: dependencies: - protocols: 2.0.1 - dev: true + parse-path: 7.1.0 - /parse-url@8.1.0: - resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} + parse5@7.3.0: dependencies: - parse-path: 7.0.0 - dev: true + entities: 6.0.1 - /parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - dev: true + parseurl@1.3.3: {} - /parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - dev: true - - /pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + pascal-case@3.1.2: dependencies: no-case: 3.0.4 - tslib: 2.4.1 - dev: true + tslib: 2.8.1 - /path-case@3.0.4: - resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} + path-browserify@1.0.1: {} + + path-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.4.1 - dev: true + tslib: 2.8.1 - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} + path-exists@4.0.0: {} - /path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false + path-exists@5.0.0: {} - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true + path-is-absolute@1.0.1: {} - /path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - dev: true + path-key@2.0.1: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true + path-key@3.1.1: {} - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true + path-key@4.0.0: {} - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-parse@1.0.7: {} - /path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} + path-scurry@1.11.1: dependencies: - pify: 3.0.0 - dev: true + lru-cache: 10.4.3 + minipass: 7.1.3 - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + path-scurry@2.0.2: + dependencies: + lru-cache: 11.2.7 + minipass: 7.1.3 - /pathe@0.2.0: - resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} - dev: true + path-type@3.0.0: + dependencies: + pify: 3.0.0 - /pathe@1.0.0: - resolution: {integrity: sha512-nPdMG0Pd09HuSsr7QOKUXO2Jr9eqaDiZvDwdyIhNG5SHYujkQHYKDfGQkulBxvbDHz8oHLsTgKN86LSwYzSHAg==} - dev: true + path-type@4.0.0: {} - /pathe@1.1.0: - resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==} - dev: true + pathe@1.1.2: {} - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true + pathe@2.0.3: {} - /perfect-debounce@0.1.3: - resolution: {integrity: sha512-NOT9AcKiDGpnV/HBhI22Str++XWcErO/bALvHCuhv33owZW/CjH8KAFLZDCmu3727sihe0wTxpDhyGc6M8qacQ==} - dev: true + pathval@1.1.1: {} - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true + perfect-debounce@2.1.0: {} - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + picocolors@1.1.1: {} - /pidtree@0.3.1: - resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} - engines: {node: '>=0.10'} - hasBin: true - dev: true + picomatch@2.3.2: {} - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} - dev: true + picomatch@4.0.4: {} - /pify@3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} - dev: true + pidtree@0.3.1: {} - /pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - dev: false + pify@3.0.0: {} + + pify@4.0.1: {} - /pinceau@0.10.11: - resolution: {integrity: sha512-+sskRfIrlgb2jBiBppfl0Qj/mN8gLaT4hM96q+ztAdOCWn/C8E7hUPAfoWsqHJHA3BNb3GKQHGmn9MIxKW0YcA==} + pinceau@0.18.10(postcss@8.5.8): dependencies: - '@unocss/reset': 0.48.4 - '@volar/vue-language-core': 1.0.24 - acorn: 8.8.1 - chroma-js: 2.4.2 + '@unocss/reset': 0.50.8 + '@volar/vue-language-core': 1.6.5 + acorn: 8.16.0 + chroma-js: 2.6.0 consola: 2.15.3 - csstype: 3.1.1 - defu: 6.1.1 - magic-string: 0.27.0 - nanoid: 4.0.0 - ohash: 1.0.0 - postcss-custom-properties: 12.1.11 - postcss-dark-theme-class: 0.7.3 - postcss-nested: 6.0.0 + csstype: 3.2.3 + defu: 6.1.4 + jiti: 1.21.7 + magic-string: 0.30.21 + nanoid: 4.0.2 + ohash: 1.1.6 + paneer: 0.1.0 + pathe: 1.1.2 + postcss-custom-properties: 13.1.4(postcss@8.5.8) + postcss-dark-theme-class: 0.7.3(postcss@8.5.8) + postcss-nested: 6.2.0(postcss@8.5.8) recast: 0.22.0 - scule: 1.0.0 - style-dictionary-esm: 1.1.1 - unbuild: 1.1.1 - unplugin: 1.0.1 + scule: 1.3.0 + style-dictionary-esm: 1.9.2 + unbuild: 1.2.1 + unplugin: 1.16.1 transitivePeerDependencies: - postcss - sass - supports-color - dev: true + - vue-tsc - /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + pkg-types@1.3.1: dependencies: - find-up: 4.1.0 - dev: false + confbox: 0.1.8 + mlly: 1.8.2 + pathe: 2.0.3 - /pkg-types@1.0.1: - resolution: {integrity: sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==} + pkg-types@2.3.0: dependencies: - jsonc-parser: 3.2.0 - mlly: 1.1.0 - pathe: 1.1.0 - dev: true + confbox: 0.2.4 + exsolve: 1.0.8 + pathe: 2.0.3 - /postcss-calc@8.2.4(postcss@8.4.20): - resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} - peerDependencies: - postcss: ^8.2.2 + possible-typed-array-names@1.1.0: {} + + postcss-calc@10.1.1(postcss@8.5.8): dependencies: - postcss: 8.4.20 - postcss-selector-parser: 6.0.11 + postcss: 8.5.8 + postcss-selector-parser: 7.1.1 postcss-value-parser: 4.2.0 - dev: true - /postcss-colormin@5.3.0(postcss@8.4.20): - resolution: {integrity: sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-colormin@7.0.6(postcss@8.5.8): dependencies: - browserslist: 4.21.4 + browserslist: 4.28.1 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.20 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /postcss-convert-values@5.1.3(postcss@8.4.20): - resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-convert-values@7.0.9(postcss@8.5.8): dependencies: - browserslist: 4.21.4 - postcss: 8.4.20 + browserslist: 4.28.1 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /postcss-custom-properties@12.1.11: - resolution: {integrity: sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-custom-properties@13.1.4(postcss@8.5.8): dependencies: + '@csstools/cascade-layer-name-parser': 1.0.13(@csstools/css-parser-algorithms@2.7.1(@csstools/css-tokenizer@2.4.1))(@csstools/css-tokenizer@2.4.1) + '@csstools/css-parser-algorithms': 2.7.1(@csstools/css-tokenizer@2.4.1) + '@csstools/css-tokenizer': 2.4.1 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - - /postcss-dark-theme-class@0.7.3: - resolution: {integrity: sha512-M9vtfh8ORzQsVdT9BWb+xpEDAzC7nHBn7wVc988/JkEVLPupKcUnV0jw7RZ8sSj0ovpqN1POf6PLdt19JCHfhQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 - dev: true - - /postcss-discard-comments@5.1.2(postcss@8.4.20): - resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - postcss: 8.4.20 - dev: true - /postcss-discard-duplicates@5.1.0(postcss@8.4.20): - resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-dark-theme-class@0.7.3(postcss@8.5.8): dependencies: - postcss: 8.4.20 - dev: true + postcss: 8.5.8 - /postcss-discard-empty@5.1.1(postcss@8.4.20): - resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-discard-comments@7.0.6(postcss@8.5.8): dependencies: - postcss: 8.4.20 - dev: true + postcss: 8.5.8 + postcss-selector-parser: 7.1.1 - /postcss-discard-overridden@5.1.0(postcss@8.4.20): - resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-discard-duplicates@7.0.2(postcss@8.5.8): dependencies: - postcss: 8.4.20 - dev: true + postcss: 8.5.8 - /postcss-import-resolver@2.0.0: - resolution: {integrity: sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==} + postcss-discard-empty@7.0.1(postcss@8.5.8): dependencies: - enhanced-resolve: 4.5.0 - dev: true + postcss: 8.5.8 - /postcss-import@15.1.0(postcss@8.4.20): - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.0.0 + postcss-discard-overridden@7.0.1(postcss@8.5.8): dependencies: - postcss: 8.4.20 - postcss-value-parser: 4.2.0 - read-cache: 1.0.0 - resolve: 1.22.1 - dev: true + postcss: 8.5.8 - /postcss-merge-longhand@5.1.7(postcss@8.4.20): - resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-merge-longhand@7.0.5(postcss@8.5.8): dependencies: - postcss: 8.4.20 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - stylehacks: 5.1.1(postcss@8.4.20) - dev: true + stylehacks: 7.0.8(postcss@8.5.8) - /postcss-merge-rules@5.1.3(postcss@8.4.20): - resolution: {integrity: sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-merge-rules@7.0.8(postcss@8.5.8): dependencies: - browserslist: 4.21.4 + browserslist: 4.28.1 caniuse-api: 3.0.0 - cssnano-utils: 3.1.0(postcss@8.4.20) - postcss: 8.4.20 - postcss-selector-parser: 6.0.11 - dev: true - - /postcss-minify-font-values@5.1.0(postcss@8.4.20): - resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + cssnano-utils: 5.0.1(postcss@8.5.8) + postcss: 8.5.8 + postcss-selector-parser: 7.1.1 + + postcss-minify-font-values@7.0.1(postcss@8.5.8): dependencies: - postcss: 8.4.20 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /postcss-minify-gradients@5.1.1(postcss@8.4.20): - resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-minify-gradients@7.0.1(postcss@8.5.8): dependencies: colord: 2.9.3 - cssnano-utils: 3.1.0(postcss@8.4.20) - postcss: 8.4.20 + cssnano-utils: 5.0.1(postcss@8.5.8) + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /postcss-minify-params@5.1.4(postcss@8.4.20): - resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-minify-params@7.0.6(postcss@8.5.8): dependencies: - browserslist: 4.21.4 - cssnano-utils: 3.1.0(postcss@8.4.20) - postcss: 8.4.20 + browserslist: 4.28.1 + cssnano-utils: 5.0.1(postcss@8.5.8) + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /postcss-minify-selectors@5.2.1(postcss@8.4.20): - resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-minify-selectors@7.0.6(postcss@8.5.8): dependencies: - postcss: 8.4.20 - postcss-selector-parser: 6.0.11 - dev: true + cssesc: 3.0.0 + postcss: 8.5.8 + postcss-selector-parser: 7.1.1 - /postcss-nested@6.0.0: - resolution: {integrity: sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 + postcss-nested@6.2.0(postcss@8.5.8): dependencies: - postcss-selector-parser: 6.0.11 - dev: true + postcss: 8.5.8 + postcss-selector-parser: 6.1.2 - /postcss-normalize-charset@5.1.0(postcss@8.4.20): - resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-charset@7.0.1(postcss@8.5.8): dependencies: - postcss: 8.4.20 - dev: true + postcss: 8.5.8 - /postcss-normalize-display-values@5.1.0(postcss@8.4.20): - resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-display-values@7.0.1(postcss@8.5.8): dependencies: - postcss: 8.4.20 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /postcss-normalize-positions@5.1.1(postcss@8.4.20): - resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-positions@7.0.1(postcss@8.5.8): dependencies: - postcss: 8.4.20 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /postcss-normalize-repeat-style@5.1.1(postcss@8.4.20): - resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-repeat-style@7.0.1(postcss@8.5.8): dependencies: - postcss: 8.4.20 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /postcss-normalize-string@5.1.0(postcss@8.4.20): - resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-string@7.0.1(postcss@8.5.8): dependencies: - postcss: 8.4.20 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /postcss-normalize-timing-functions@5.1.0(postcss@8.4.20): - resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-timing-functions@7.0.1(postcss@8.5.8): dependencies: - postcss: 8.4.20 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /postcss-normalize-unicode@5.1.1(postcss@8.4.20): - resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-unicode@7.0.6(postcss@8.5.8): dependencies: - browserslist: 4.21.4 - postcss: 8.4.20 + browserslist: 4.28.1 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /postcss-normalize-url@5.1.0(postcss@8.4.20): - resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-url@7.0.1(postcss@8.5.8): dependencies: - normalize-url: 6.1.0 - postcss: 8.4.20 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /postcss-normalize-whitespace@5.1.1(postcss@8.4.20): - resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-whitespace@7.0.1(postcss@8.5.8): dependencies: - postcss: 8.4.20 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /postcss-ordered-values@5.1.3(postcss@8.4.20): - resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-ordered-values@7.0.2(postcss@8.5.8): dependencies: - cssnano-utils: 3.1.0(postcss@8.4.20) - postcss: 8.4.20 + cssnano-utils: 5.0.1(postcss@8.5.8) + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /postcss-reduce-initial@5.1.1(postcss@8.4.20): - resolution: {integrity: sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-reduce-initial@7.0.6(postcss@8.5.8): dependencies: - browserslist: 4.21.4 + browserslist: 4.28.1 caniuse-api: 3.0.0 - postcss: 8.4.20 - dev: true + postcss: 8.5.8 - /postcss-reduce-transforms@5.1.0(postcss@8.4.20): - resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-reduce-transforms@7.0.1(postcss@8.5.8): dependencies: - postcss: 8.4.20 + postcss: 8.5.8 postcss-value-parser: 4.2.0 - dev: true - /postcss-selector-parser@6.0.11: - resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} - engines: {node: '>=4'} + postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - dev: true - /postcss-svgo@5.1.0(postcss@8.4.20): - resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-selector-parser@7.1.1: dependencies: - postcss: 8.4.20 - postcss-value-parser: 4.2.0 - svgo: 2.8.0 - dev: true + cssesc: 3.0.0 + util-deprecate: 1.0.2 - /postcss-unique-selectors@5.1.1(postcss@8.4.20): - resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-svgo@7.1.1(postcss@8.5.8): dependencies: - postcss: 8.4.20 - postcss-selector-parser: 6.0.11 - dev: true + postcss: 8.5.8 + postcss-value-parser: 4.2.0 + svgo: 4.0.1 - /postcss-url@10.1.3(postcss@8.4.20): - resolution: {integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==} - engines: {node: '>=10'} - peerDependencies: - postcss: ^8.0.0 + postcss-unique-selectors@7.0.5(postcss@8.5.8): dependencies: - make-dir: 3.1.0 - mime: 2.5.2 - minimatch: 3.0.8 - postcss: 8.4.20 - xxhashjs: 0.2.2 - dev: true + postcss: 8.5.8 + postcss-selector-parser: 7.1.1 - /postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: true + postcss-value-parser@4.2.0: {} - /postcss@8.4.20: - resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.5.8: dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 - /preferred-pm@3.0.3: - resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} - engines: {node: '>=10'} - dependencies: - find-up: 5.0.0 - find-yarn-workspace-root2: 1.2.16 - path-exists: 4.0.0 - which-pm: 2.0.0 - dev: false + powershell-utils@0.1.0: {} - /prettier@2.8.3: - resolution: {integrity: sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: false + prettier@2.8.8: {} - /pretty-bytes@6.0.0: - resolution: {integrity: sha512-6UqkYefdogmzqAZWzJ7laYeJnaXDy2/J+ZqiiMtS7t7OfpXWTlaeGMwX8U6EFvPV/YWWEKRkS8hKS4k60WHTOg==} - engines: {node: ^14.13.1 || >=16.0.0} - dev: true + pretty-bytes@6.1.1: {} - /pretty-format@27.5.1: - resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + pretty-bytes@7.1.0: {} + + pretty-format@27.5.1: dependencies: ansi-regex: 5.0.1 ansi-styles: 5.2.0 react-is: 17.0.2 - dev: true - /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: true - - /property-information@6.2.0: - resolution: {integrity: sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==} - dev: true + process-nextick-args@2.0.1: {} - /protocols@2.0.1: - resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} - dev: true + process@0.11.10: {} - /prr@1.0.1: - resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} - dev: true + property-information@6.5.0: {} - /pseudomap@1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - dev: false + property-information@7.1.0: {} - /pstree.remy@1.1.8: - resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} - dev: true + protocols@2.0.2: {} - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + pstree.remy@1.1.8: {} - /quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - dev: false + quansync@0.2.11: {} - /radix3@1.0.0: - resolution: {integrity: sha512-6n3AEXth91ASapMVKiEh2wrbFJmI+NBilrWE0AbiGgfm0xet0QXC8+a3K19r1UVYjUjctUgB053c3V/J6V0kCQ==} - dev: true + queue-microtask@1.2.3: {} - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - dependencies: - safe-buffer: 5.2.1 - dev: true + radix3@1.1.2: {} - /range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - dev: true + range-parser@1.2.1: {} - /rc9@2.0.0: - resolution: {integrity: sha512-yVeYJHOpJLOhs3V6RKwz7RPPwPurrx3JjwK264sPgvo/lFdhuUrLien7iSvAO6STVkN0gSMk/MehQNHQhflqZw==} + rc9@2.1.2: dependencies: - defu: 6.1.1 - destr: 1.2.2 - flat: 5.0.2 - dev: true - - /react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - dev: true + defu: 6.1.4 + destr: 2.0.5 - /read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + rc9@3.0.0: dependencies: - pify: 2.3.0 - dev: true + defu: 6.1.4 + destr: 2.0.5 - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - dev: false + react-is@17.0.2: {} - /read-pkg@3.0.0: - resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} - engines: {node: '>=4'} + read-pkg@3.0.0: dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 path-type: 3.0.0 - dev: true - - /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - dependencies: - '@types/normalize-package-data': 2.4.1 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - dev: false - /read-yaml-file@1.1.0: - resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} - engines: {node: '>=6'} + read-yaml-file@1.1.0: dependencies: - graceful-fs: 4.2.10 - js-yaml: 3.14.1 + graceful-fs: 4.2.11 + js-yaml: 3.14.2 pify: 4.0.1 strip-bom: 3.0.0 - dev: false - /readable-stream@2.3.7: - resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -6973,2119 +11596,1480 @@ packages: safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 - dev: true - /readable-stream@3.6.0: - resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} - engines: {node: '>= 6'} + readable-stream@4.7.0: dependencies: - inherits: 2.0.4 + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: true - /readdir-glob@1.1.2: - resolution: {integrity: sha512-6RLVvwJtVwEDfPdn6X6Ille4/lxGl0ATOY4FN/B9nxQcgOazvvI0nodiD19ScKq0PvA/29VpaOQML36o5IzZWA==} + readdir-glob@1.1.3: dependencies: - minimatch: 5.1.2 - dev: true + minimatch: 5.1.9 - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@3.6.0: dependencies: - picomatch: 2.3.1 - dev: true + picomatch: 2.3.2 - /recast@0.22.0: - resolution: {integrity: sha512-5AAx+mujtXijsEavc5lWXBPQqrM4+Dl5qNH96N2aNeuJFUzpiiToKPsxQD/zAIJHspz7zz0maX0PCtCTFVlixQ==} - engines: {node: '>= 4'} + readdirp@4.1.2: {} + + readdirp@5.0.0: {} + + recast@0.22.0: dependencies: - assert: 2.0.0 + assert: 2.1.0 ast-types: 0.15.2 esprima: 4.0.1 source-map: 0.6.1 - tslib: 2.4.1 - dev: true + tslib: 2.8.1 - /redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} + redis-errors@1.2.0: {} + + redis-parser@3.0.0: dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - dev: false + redis-errors: 1.2.0 - /redis-errors@1.2.0: - resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} - engines: {node: '>=4'} - dev: true + reflect.getprototypeof@1.0.10: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + get-intrinsic: 1.3.0 + get-proto: 1.0.1 + which-builtin-type: 1.2.1 - /redis-parser@3.0.0: - resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} - engines: {node: '>=4'} + regex-recursion@5.1.1: dependencies: - redis-errors: 1.2.0 - dev: true + regex: 5.1.1 + regex-utilities: 2.3.0 - /regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - dev: false + regex-utilities@2.3.0: {} - /regexp.prototype.flags@1.4.3: - resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} - engines: {node: '>= 0.4'} + regex@5.1.1: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - functions-have-names: 1.2.3 + regex-utilities: 2.3.0 + + regexp-tree@0.1.27: {} - /rehype-external-links@2.0.1: - resolution: {integrity: sha512-u2dNypma+ps12SJWlS23zvbqwNx0Hl24t0YHXSM/6FCZj/pqWETCO3WyyrvALv4JYvRtuPjhiv2Lpen15ESqbA==} + regexp.prototype.flags@1.5.4: dependencies: - '@types/hast': 2.3.4 - extend: 3.0.2 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-errors: 1.3.0 + get-proto: 1.0.1 + gopd: 1.2.0 + set-function-name: 2.0.2 + + rehype-external-links@3.0.0: + dependencies: + '@types/hast': 3.0.4 + '@ungap/structured-clone': 1.3.0 + hast-util-is-element: 3.0.0 is-absolute-url: 4.0.1 space-separated-tokens: 2.0.2 - unified: 10.1.2 - unist-util-visit: 4.1.1 - dev: true + unist-util-visit: 5.1.0 - /rehype-raw@6.1.1: - resolution: {integrity: sha512-d6AKtisSRtDRX4aSPsJGTfnzrX2ZkHQLE5kiUuGOeEoLpbEulFF4hj0mLPbsa+7vmguDKOVVEQdHKDSwoaIDsQ==} + rehype-raw@7.0.0: dependencies: - '@types/hast': 2.3.4 - hast-util-raw: 7.2.3 - unified: 10.1.2 - dev: true + '@types/hast': 3.0.4 + hast-util-raw: 9.1.0 + vfile: 6.0.3 - /rehype-slug@5.1.0: - resolution: {integrity: sha512-Gf91dJoXneiorNEnn+Phx97CO7oRMrpi+6r155tTxzGuLtm+QrI4cTwCa9e1rtePdL4i9tSO58PeSS6HWfgsiw==} + rehype-slug@6.0.0: dependencies: - '@types/hast': 2.3.4 + '@types/hast': 3.0.4 github-slugger: 2.0.0 - hast-util-has-property: 2.0.0 - hast-util-heading-rank: 2.1.0 - hast-util-to-string: 2.0.0 - unified: 10.1.2 - unist-util-visit: 4.1.1 - dev: true - - /rehype-sort-attribute-values@4.0.0: - resolution: {integrity: sha512-+Y3OWTbbxSIutbXMVY7+aWFmcRyEvdz6HkghXAyVPjee1Y8HUi+/vryBL1UdEI9VknVBiGvphXAf5n6MDNOXOA==} - dependencies: - '@types/hast': 2.3.4 - hast-util-is-element: 2.1.2 - unified: 10.1.2 - unist-util-visit: 4.1.1 - dev: true - - /rehype-sort-attributes@4.0.0: - resolution: {integrity: sha512-sCT58e12F+fJL8ZmvpEP2vAK7cpYffUAf0cMQjNfLIewWjMHMGo0Io+H8eztJoI1S9dvEm2XZT5zzchqe8gYJw==} - dependencies: - '@types/hast': 2.3.4 - unified: 10.1.2 - unist-util-visit: 4.1.1 - dev: true - - /remark-emoji@3.0.2: - resolution: {integrity: sha512-hEgxEv2sBtvhT3tNG/tQeeFY3EbslftaOoG14dDZndLo25fWJ6Fbg4ukFbIotOWWrfXyASjXjyHT+6n366k3mg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hast-util-heading-rank: 3.0.0 + hast-util-to-string: 3.0.1 + unist-util-visit: 5.1.0 + + rehype-sort-attribute-values@5.0.1: + dependencies: + '@types/hast': 3.0.4 + hast-util-is-element: 3.0.0 + unist-util-visit: 5.1.0 + + rehype-sort-attributes@5.0.1: + dependencies: + '@types/hast': 3.0.4 + unist-util-visit: 5.1.0 + + remark-emoji@5.0.2: dependencies: - emoticon: 4.0.1 - node-emoji: 1.11.0 - unist-util-visit: 4.1.1 - dev: true + '@types/mdast': 4.0.4 + emoticon: 4.1.0 + mdast-util-find-and-replace: 3.0.2 + node-emoji: 2.2.0 + unified: 11.0.5 - /remark-gfm@3.0.1: - resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} + remark-gfm@4.0.1: dependencies: - '@types/mdast': 3.0.10 - mdast-util-gfm: 2.0.1 - micromark-extension-gfm: 2.0.1 - unified: 10.1.2 + '@types/mdast': 4.0.4 + mdast-util-gfm: 3.1.0 + micromark-extension-gfm: 3.0.0 + remark-parse: 11.0.0 + remark-stringify: 11.0.0 + unified: 11.0.5 transitivePeerDependencies: - supports-color - dev: true - - /remark-mdc@1.1.3: - resolution: {integrity: sha512-ilYSkkQJhu5cUCEE2CJEncoMDoarP32ugfJpFWghXbnv3sWI3j2HtJuArc9tZzxN4ID6fngio3d8N87QfQAnRQ==} - dependencies: - flat: 5.0.2 - js-yaml: 4.1.0 - mdast-util-from-markdown: 1.2.0 - mdast-util-to-markdown: 1.4.0 - micromark: 3.1.0 - micromark-core-commonmark: 1.0.6 - micromark-factory-space: 1.0.0 - micromark-factory-whitespace: 1.0.0 - micromark-util-character: 1.1.0 - parse-entities: 4.0.0 - scule: 1.0.0 - stringify-entities: 4.0.3 - unist-util-visit: 4.1.1 - unist-util-visit-parents: 5.1.1 + + remark-mdc@3.10.0: + dependencies: + '@types/mdast': 4.0.4 + '@types/unist': 3.0.3 + flat: 6.0.1 + mdast-util-from-markdown: 2.0.3 + mdast-util-to-markdown: 2.1.2 + micromark: 4.0.2 + micromark-core-commonmark: 2.0.3 + micromark-factory-space: 2.0.1 + micromark-factory-whitespace: 2.0.1 + micromark-util-character: 2.1.1 + micromark-util-types: 2.0.2 + parse-entities: 4.0.2 + scule: 1.3.0 + stringify-entities: 4.0.4 + unified: 11.0.5 + unist-util-visit: 5.1.0 + unist-util-visit-parents: 6.0.2 + yaml: 2.8.3 transitivePeerDependencies: - supports-color - dev: true - /remark-parse@10.0.1: - resolution: {integrity: sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==} + remark-parse@11.0.0: dependencies: - '@types/mdast': 3.0.10 - mdast-util-from-markdown: 1.2.0 - unified: 10.1.2 + '@types/mdast': 4.0.4 + mdast-util-from-markdown: 2.0.3 + micromark-util-types: 2.0.2 + unified: 11.0.5 transitivePeerDependencies: - supports-color - dev: true - /remark-rehype@10.1.0: - resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} + remark-rehype@11.1.2: dependencies: - '@types/hast': 2.3.4 - '@types/mdast': 3.0.10 - mdast-util-to-hast: 12.2.4 - unified: 10.1.2 - dev: true + '@types/hast': 3.0.4 + '@types/mdast': 4.0.4 + mdast-util-to-hast: 13.2.1 + unified: 11.0.5 + vfile: 6.0.3 - /remark-squeeze-paragraphs@5.0.1: - resolution: {integrity: sha512-VWPAoa1bAAtU/aQfSLRZ7vOrwH9I02RhZTSo+e0LT3fVO9RKNCq/bwobIEBhxvNCt00JoQ7GwR3sYGhmD2/y6Q==} + remark-stringify@11.0.0: dependencies: - '@types/mdast': 3.0.10 - mdast-squeeze-paragraphs: 5.2.0 - unified: 10.1.2 - dev: true - - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + '@types/mdast': 4.0.4 + mdast-util-to-markdown: 2.1.2 + unified: 11.0.5 - /require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - dev: false + require-directory@2.1.1: {} - /requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - dev: true + resolve-from@5.0.0: {} - /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} + resolve-pkg-maps@1.0.0: {} - /resolve@1.22.1: - resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} - hasBin: true + resolve@1.22.11: dependencies: - is-core-module: 2.11.0 + is-core-module: 2.16.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + reusify@1.1.0: {} - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true + rimraf@3.0.2: dependencies: glob: 7.2.3 - dev: true - /rollup-plugin-dts@5.1.1(rollup@3.10.1)(typescript@4.9.4): - resolution: {integrity: sha512-zpgo52XmnLg8w4k3MScinFHZK1+ro6r7uVe34fJ0Ee8AM45FvgvTuvfWWaRgIpA4pQ1BHJuu2ospncZhkcJVeA==} - engines: {node: '>=v14'} - peerDependencies: - rollup: ^3.0.0 - typescript: ^4.1 + rollup-plugin-dts@5.3.1(rollup@3.30.0)(typescript@5.3.3): dependencies: - magic-string: 0.27.0 - rollup: 3.10.1 - typescript: 4.9.4 + magic-string: 0.30.21 + rollup: 3.30.0 + typescript: 5.3.3 optionalDependencies: - '@babel/code-frame': 7.18.6 - dev: true - - /rollup-plugin-terser@7.0.2(rollup@2.79.1): - resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser - peerDependencies: - rollup: ^2.0.0 - dependencies: - '@babel/code-frame': 7.18.6 - jest-worker: 26.6.2 - rollup: 2.79.1 - serialize-javascript: 4.0.0 - terser: 5.16.1 - dev: true + '@babel/code-frame': 7.29.0 - /rollup-plugin-visualizer@5.9.0(rollup@2.79.1): - resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==} - engines: {node: '>=14'} - hasBin: true - peerDependencies: - rollup: 2.x || 3.x - peerDependenciesMeta: - rollup: - optional: true + rollup-plugin-visualizer@7.0.1(rollup@4.60.0): dependencies: - open: 8.4.0 - picomatch: 2.3.1 - rollup: 2.79.1 - source-map: 0.7.4 - yargs: 17.6.2 - dev: true - - /rollup@2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} - hasBin: true + open: 11.0.0 + picomatch: 4.0.4 + source-map: 0.7.6 + yargs: 18.0.0 optionalDependencies: - fsevents: 2.3.2 - dev: true + rollup: 4.60.0 - /rollup@3.10.1: - resolution: {integrity: sha512-3Er+yel3bZbZX1g2kjVM+FW+RUWDxbG87fcqFM5/9HbPCTpbVp6JOLn7jlxnNlbu7s/N/uDA4EV/91E2gWnxzw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true + rollup@3.30.0: optionalDependencies: - fsevents: 2.3.2 - dev: true + fsevents: 2.3.3 - /run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - dev: true - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + rollup@4.60.0: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.60.0 + '@rollup/rollup-android-arm64': 4.60.0 + '@rollup/rollup-darwin-arm64': 4.60.0 + '@rollup/rollup-darwin-x64': 4.60.0 + '@rollup/rollup-freebsd-arm64': 4.60.0 + '@rollup/rollup-freebsd-x64': 4.60.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.60.0 + '@rollup/rollup-linux-arm-musleabihf': 4.60.0 + '@rollup/rollup-linux-arm64-gnu': 4.60.0 + '@rollup/rollup-linux-arm64-musl': 4.60.0 + '@rollup/rollup-linux-loong64-gnu': 4.60.0 + '@rollup/rollup-linux-loong64-musl': 4.60.0 + '@rollup/rollup-linux-ppc64-gnu': 4.60.0 + '@rollup/rollup-linux-ppc64-musl': 4.60.0 + '@rollup/rollup-linux-riscv64-gnu': 4.60.0 + '@rollup/rollup-linux-riscv64-musl': 4.60.0 + '@rollup/rollup-linux-s390x-gnu': 4.60.0 + '@rollup/rollup-linux-x64-gnu': 4.60.0 + '@rollup/rollup-linux-x64-musl': 4.60.0 + '@rollup/rollup-openbsd-x64': 4.60.0 + '@rollup/rollup-openharmony-arm64': 4.60.0 + '@rollup/rollup-win32-arm64-msvc': 4.60.0 + '@rollup/rollup-win32-ia32-msvc': 4.60.0 + '@rollup/rollup-win32-x64-gnu': 4.60.0 + '@rollup/rollup-win32-x64-msvc': 4.60.0 + fsevents: 2.3.3 + + rou3@0.8.1: {} + + run-applescript@7.1.0: {} + + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - /rxjs@7.8.0: - resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} + safe-array-concat@1.1.3: dependencies: - tslib: 2.4.1 - dev: true + call-bind: 1.0.8 + call-bound: 1.0.4 + get-intrinsic: 1.3.0 + has-symbols: 1.1.0 + isarray: 2.0.5 - /sade@1.8.1: - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} - engines: {node: '>=6'} - dependencies: - mri: 1.2.0 - dev: true + safe-buffer@5.1.2: {} - /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: true + safe-buffer@5.2.1: {} - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true + safe-push-apply@1.0.0: + dependencies: + es-errors: 1.3.0 + isarray: 2.0.5 - /safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + safe-regex-test@1.1.0: dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.3 - is-regex: 1.1.4 + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + safer-buffer@2.1.2: {} - /scule@1.0.0: - resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==} - dev: true + sax@1.6.0: {} - /semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true + scule@1.3.0: {} - /semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true - dev: true + semver@5.7.2: {} - /semver@7.0.0: - resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} - hasBin: true - dev: true + semver@6.3.1: {} - /semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true + semver@7.0.0: {} + + semver@7.7.4: {} - /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} + send@1.2.1: dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 + debug: 4.4.3 + encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 + fresh: 2.0.0 + http-errors: 2.0.1 + mime-types: 3.0.2 ms: 2.1.3 on-finished: 2.4.1 range-parser: 1.2.1 - statuses: 2.0.1 + statuses: 2.0.2 transitivePeerDependencies: - supports-color - dev: true - /sentence-case@3.0.4: - resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} + sentence-case@3.0.4: dependencies: no-case: 3.0.4 - tslib: 2.4.1 + tslib: 2.8.1 upper-case-first: 2.0.2 - dev: true - /serialize-javascript@4.0.0: - resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} - dependencies: - randombytes: 2.1.0 - dev: true + serialize-javascript@7.0.5: {} + + seroval@1.5.1: {} - /serve-placeholder@2.0.1: - resolution: {integrity: sha512-rUzLlXk4uPFnbEaIz3SW8VISTxMuONas88nYWjAWaM2W9VDbt9tyFOr3lq8RhVOFrT3XISoBw8vni5una8qMnQ==} + serve-placeholder@2.0.2: dependencies: - defu: 6.1.1 - dev: true + defu: 6.1.4 - /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} + serve-static@2.2.1: dependencies: - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.18.0 + send: 1.2.1 transitivePeerDependencies: - supports-color - dev: true - /set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: true + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 - /shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} + set-proto@1.0.0: + dependencies: + dunder-proto: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + + setprototypeof@1.2.0: {} + + shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - dev: true - /shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} + shebang-regex@1.0.0: {} - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true + shebang-regex@3.0.0: {} + + shell-quote@1.8.3: {} - /shell-quote@1.7.4: - resolution: {integrity: sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==} - dev: true + shiki@1.29.2: + dependencies: + '@shikijs/core': 1.29.2 + '@shikijs/engine-javascript': 1.29.2 + '@shikijs/engine-oniguruma': 1.29.2 + '@shikijs/langs': 1.29.2 + '@shikijs/themes': 1.29.2 + '@shikijs/types': 1.29.2 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 - /shiki-es@0.1.2: - resolution: {integrity: sha512-eqtfk8idlYlSLAn0gp0Ly2+FbKc2d78IddigHSS4iHAnpXoY2kdRzyFGZOdi6TvemYMnRhZBi1HsSqZc5eNKqg==} - dev: true + side-channel-list@1.0.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel-map@1.0.1: dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.3 - object-inspect: 1.12.3 + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 - /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true + side-channel-weakmap@1.0.2: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + object-inspect: 1.13.4 + side-channel-map: 1.0.1 - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + side-channel@1.1.0: + dependencies: + es-errors: 1.3.0 + object-inspect: 1.13.4 + side-channel-list: 1.0.0 + side-channel-map: 1.0.1 + side-channel-weakmap: 1.0.2 - /simple-update-notifier@1.1.0: - resolution: {integrity: sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==} - engines: {node: '>=8.10.0'} + siginfo@2.0.0: {} + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + simple-git@3.33.0: + dependencies: + '@kwsites/file-exists': 1.1.1 + '@kwsites/promise-deferred': 1.1.1 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + simple-update-notifier@1.1.0: dependencies: semver: 7.0.0 - dev: true - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: false + sirv@3.0.2: + dependencies: + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 - /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - dev: true + sisteransi@1.0.5: {} + + skin-tone@2.0.0: + dependencies: + unicode-emoji-modifier-base: 1.0.0 + + slash@3.0.0: {} + + slash@4.0.0: {} - /slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} + slash@5.1.0: {} + + slice-ansi@5.0.0: dependencies: - ansi-styles: 6.2.1 + ansi-styles: 6.2.3 is-fullwidth-code-point: 4.0.0 - dev: true - /slugify@1.6.5: - resolution: {integrity: sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ==} - engines: {node: '>=8.0.0'} - dev: true + slugify@1.6.8: {} - /smartwrap@2.0.2: - resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} - engines: {node: '>=6'} - hasBin: true - dependencies: - array.prototype.flat: 1.3.1 - breakword: 1.0.5 - grapheme-splitter: 1.0.4 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - yargs: 15.4.1 - dev: false + smob@1.6.1: {} - /snake-case@3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + snake-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.4.1 - dev: true + tslib: 2.8.1 - /socket.io-client@4.5.4: - resolution: {integrity: sha512-ZpKteoA06RzkD32IbqILZ+Cnst4xewU7ZYK12aS1mzHftFFjpoMz69IuhP/nL25pJfao/amoPI527KnuhFm01g==} - engines: {node: '>=10.0.0'} + socket.io-client@4.8.3: dependencies: - '@socket.io/component-emitter': 3.1.0 - debug: 4.3.4 - engine.io-client: 6.2.3 - socket.io-parser: 4.2.1 + '@socket.io/component-emitter': 3.1.2 + debug: 4.4.3 + engine.io-client: 6.6.4 + socket.io-parser: 4.2.6 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - dev: true - /socket.io-parser@4.2.1: - resolution: {integrity: sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==} - engines: {node: '>=10.0.0'} + socket.io-parser@4.2.6: dependencies: - '@socket.io/component-emitter': 3.1.0 - debug: 4.3.4 + '@socket.io/component-emitter': 3.1.2 + debug: 4.4.3 transitivePeerDependencies: - supports-color - dev: true - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - dev: true + source-map-js@1.2.1: {} - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true - - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true - /source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} - dev: true + source-map@0.6.1: {} - /sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead - dev: true + source-map@0.7.6: {} - /space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - dev: true + space-separated-tokens@2.0.2: {} - /spawndamnit@2.0.0: - resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + spawndamnit@3.0.1: dependencies: - cross-spawn: 5.1.0 - signal-exit: 3.0.7 - dev: false + cross-spawn: 7.0.6 + signal-exit: 4.1.0 - /spdx-correct@3.1.1: - resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.12 + spdx-license-ids: 3.0.23 - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + spdx-exceptions@2.5.0: {} - /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + spdx-expression-parse@3.0.1: dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.12 + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.23 - /spdx-license-ids@3.0.12: - resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} + spdx-license-ids@3.0.23: {} - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: false + sprintf-js@1.0.3: {} - /stable@0.1.8: - resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} - deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' - dev: true + srvx@0.11.13: {} - /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true + stackback@0.0.2: {} - /standard-as-callback@2.1.0: - resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} - dev: true + standard-as-callback@2.1.0: {} - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: true + statuses@2.0.2: {} - /std-env@3.3.1: - resolution: {integrity: sha512-3H20QlwQsSm2OvAxWIYhs+j01MzzqwMwGiiO1NQaJYZgJZFPuAbf95/DiKRBSTYIJ2FeGUc+B/6mPGcWP9dO3Q==} - dev: true + std-env@3.10.0: {} - /stream-transform@2.1.3: - resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + std-env@4.0.0: {} + + stop-iteration-iterator@1.1.0: dependencies: - mixme: 0.5.5 - dev: false + es-errors: 1.3.0 + internal-slot: 1.1.0 - /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - dev: true + streamx@2.25.0: + dependencies: + events-universal: 1.0.1 + fast-fifo: 1.3.2 + text-decoder: 1.2.7 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + string-width@5.1.2: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 - strip-ansi: 7.0.1 - dev: true + strip-ansi: 7.2.0 - /string.prototype.padend@3.1.4: - resolution: {integrity: sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==} - engines: {node: '>= 0.4'} + string-width@7.2.0: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.21.1 - dev: true + emoji-regex: 10.6.0 + get-east-asian-width: 1.5.0 + strip-ansi: 7.2.0 - /string.prototype.trimend@1.0.6: - resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + string.prototype.padend@3.1.6: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.21.1 + call-bind: 1.0.8 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-object-atoms: 1.1.1 - /string.prototype.trimstart@1.0.6: - resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + string.prototype.trim@1.2.10: dependencies: - call-bind: 1.0.2 - define-properties: 1.1.4 - es-abstract: 1.21.1 + call-bind: 1.0.8 + call-bound: 1.0.4 + define-data-property: 1.1.4 + define-properties: 1.2.1 + es-abstract: 1.24.1 + es-object-atoms: 1.1.1 + has-property-descriptors: 1.0.2 - /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string.prototype.trimend@1.0.9: + dependencies: + call-bind: 1.0.8 + call-bound: 1.0.4 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.8 + define-properties: 1.2.1 + es-object-atoms: 1.1.1 + + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 - dev: true - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - dev: true - /stringify-entities@4.0.3: - resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} + stringify-entities@4.0.4: dependencies: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 - dev: true - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - /strip-ansi@7.0.1: - resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} - engines: {node: '>=12'} + strip-ansi@7.2.0: dependencies: - ansi-regex: 6.0.1 - dev: true - - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} + ansi-regex: 6.2.2 - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true + strip-bom@3.0.0: {} - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true + strip-final-newline@3.0.0: {} - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + strip-literal@1.3.0: dependencies: - min-indent: 1.0.1 - dev: false + acorn: 8.16.0 - /strip-literal@1.0.0: - resolution: {integrity: sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==} + strip-literal@3.1.0: dependencies: - acorn: 8.8.1 - dev: true + js-tokens: 9.0.1 - /style-dictionary-esm@1.1.1: - resolution: {integrity: sha512-Xt9Dgdeb1D4ENVGfyS6V3CAzWKq2AIebM3ODD3nSoTwN0D5cRaIqBm8kido1XM5gyAeyVbTCWOgZJR9YXwIFEw==} - engines: {node: '>=12.0.0'} - hasBin: true + structured-clone-es@2.0.0: {} + + style-dictionary-esm@1.9.2: dependencies: - chalk: 4.1.2 + chalk: 5.6.2 change-case: 4.1.2 - commander: 9.5.0 - consola: 2.15.3 - fs-extra: 11.1.0 - glob: 8.0.3 - jiti: 1.16.2 + commander: 11.1.0 + consola: 3.4.2 + fast-glob: 3.3.3 + glob: 10.5.0 + jiti: 1.21.7 json5: 2.2.3 - jsonc-parser: 3.2.0 + jsonc-parser: 3.3.1 lodash.template: 4.5.0 - tinycolor2: 1.5.2 - dev: true + tinycolor2: 1.6.0 - /style-to-object@0.3.0: - resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} + stylehacks@7.0.8(postcss@8.5.8): dependencies: - inline-style-parser: 0.1.1 - dev: true + browserslist: 4.28.1 + postcss: 8.5.8 + postcss-selector-parser: 7.1.1 - /stylehacks@5.1.1(postcss@8.4.20): - resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 - dependencies: - browserslist: 4.21.4 - postcss: 8.4.20 - postcss-selector-parser: 6.0.11 - dev: true + supports-color@10.2.2: {} - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - /svg-tags@1.0.0: - resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} - dev: true + supports-preserve-symlinks-flag@1.0.0: {} - /svgo@2.8.0: - resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} - engines: {node: '>=10.13.0'} - hasBin: true + svgo@4.0.1: dependencies: - '@trysound/sax': 0.2.0 - commander: 7.2.0 - css-select: 4.3.0 - css-tree: 1.1.3 - csso: 4.2.0 - picocolors: 1.0.0 - stable: 0.1.8 - dev: true - - /tapable@1.1.3: - resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} - engines: {node: '>=6'} - dev: true + commander: 11.1.0 + css-select: 5.2.2 + css-tree: 3.2.1 + css-what: 6.2.2 + csso: 5.0.5 + picocolors: 1.1.1 + sax: 1.6.0 - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: true + system-architecture@0.1.0: {} - /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} + tabbable@6.4.0: {} + + tagged-tag@1.0.0: {} + + tapable@2.3.2: {} + + tar-stream@3.1.8: dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.0 - dev: true + b4a: 1.8.0 + bare-fs: 4.5.6 + fast-fifo: 1.3.2 + streamx: 2.25.0 + transitivePeerDependencies: + - bare-abort-controller + - bare-buffer + - react-native-b4a - /tar@6.1.13: - resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} - engines: {node: '>=10'} + tar@7.5.13: dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 4.0.0 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 - dev: true + '@isaacs/fs-minipass': 4.0.1 + chownr: 3.0.0 + minipass: 7.1.3 + minizlib: 3.1.0 + yallist: 5.0.0 - /term-size@2.2.1: - resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} - engines: {node: '>=8'} - dev: false + teex@1.0.1: + dependencies: + streamx: 2.25.0 + transitivePeerDependencies: + - bare-abort-controller + - react-native-b4a - /terser@5.16.1: - resolution: {integrity: sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==} - engines: {node: '>=10'} - hasBin: true + term-size@2.2.1: {} + + terser@5.46.1: dependencies: - '@jridgewell/source-map': 0.3.2 - acorn: 8.8.1 + '@jridgewell/source-map': 0.3.11 + acorn: 8.16.0 commander: 2.20.3 source-map-support: 0.5.21 - dev: true - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} + test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 - minimatch: 3.1.2 - dev: true + minimatch: 3.1.5 - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - - /tiny-invariant@1.3.1: - resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} - dev: true + text-decoder@1.2.7: + dependencies: + b4a: 1.8.0 + transitivePeerDependencies: + - react-native-b4a - /tinybench@2.3.1: - resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==} - dev: true + tiny-invariant@1.3.3: {} - /tinycolor2@1.5.2: - resolution: {integrity: sha512-h80m9GPFGbcLzZByXlNSEhp1gf8Dy+VX/2JCGUZsWLo7lV1mnE/XlxGYgRBoMLJh1lIDXP0EMC4RPTjlRaV+Bg==} - dev: true + tinybench@2.9.0: {} - /tinypool@0.3.1: - resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==} - engines: {node: '>=14.0.0'} - dev: true + tinyclip@0.1.12: {} - /tinyspy@1.0.2: - resolution: {integrity: sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q==} - engines: {node: '>=14.0.0'} - dev: true + tinycolor2@1.6.0: {} - /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - dependencies: - os-tmpdir: 1.0.2 + tinyexec@1.0.4: {} - /tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} + tinyglobby@0.2.15: dependencies: - rimraf: 3.0.2 - dev: true + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true + tinypool@0.4.0: {} - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 + tinyspy@1.1.1: {} - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: true + tmp@0.2.5: {} - /touch@3.1.0: - resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==} - hasBin: true + to-regex-range@5.0.1: dependencies: - nopt: 1.0.10 - dev: true - - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: true + is-number: 7.0.0 - /trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - dev: true + toidentifier@1.0.1: {} - /trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - dev: false + totalist@3.0.1: {} - /trough@2.1.0: - resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} - dev: true + touch@3.1.1: {} - /ts-node@10.9.1(@types/node@18.11.17)(typescript@5.3.3): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 18.11.17 - acorn: 8.8.1 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.3.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true + tr46@0.0.3: {} - /ts-node@10.9.1(@types/node@18.11.9)(typescript@5.3.3): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 18.11.9 - acorn: 8.8.1 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.3.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true + trim-lines@3.0.1: {} - /ts-node@10.9.1(@types/node@18.15.0)(typescript@5.3.3): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 18.15.0 - acorn: 8.8.1 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.3.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true + trough@2.2.0: {} - /ts-node@10.9.1(@types/node@18.16.2)(typescript@5.3.3): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true + ts-node@10.9.2(@types/node@18.19.130)(typescript@5.3.3): dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 + '@tsconfig/node10': 1.0.12 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 18.16.2 - acorn: 8.8.1 - acorn-walk: 8.2.0 + '@tsconfig/node16': 1.0.4 + '@types/node': 18.19.130 + acorn: 8.16.0 + acorn-walk: 8.3.5 arg: 4.1.3 create-require: 1.1.1 - diff: 4.0.2 + diff: 4.0.4 make-error: 1.3.6 typescript: 5.3.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true - /tsconfig-paths@4.1.0: - resolution: {integrity: sha512-AHx4Euop/dXFC+Vx589alFba8QItjF+8hf8LtmuiCwHyI4rHXQtOOENaM8kvYf5fR0dRChy3wzWIZ9WbB7FWow==} - engines: {node: '>=6'} - dependencies: - json5: 2.2.1 - minimist: 1.2.7 - strip-bom: 3.0.0 - dev: true - - /tsconfig-paths@4.1.1: - resolution: {integrity: sha512-VgPrtLKpRgEAJsMj5Q/I/mXouC6A/7eJ/X4Nuk6o0cRPwBtznYxTCU4FodbexbzH9somBPEXYi0ZkUViUpJ21Q==} - engines: {node: '>=6'} - dependencies: - json5: 2.2.3 - minimist: 1.2.7 - strip-bom: 3.0.0 - dev: true - - /tsconfig-paths@4.2.0: - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} - engines: {node: '>=6'} + tsconfig-paths@4.2.0: dependencies: json5: 2.2.3 - minimist: 1.2.7 + minimist: 1.2.8 strip-bom: 3.0.0 - dev: true - /tslib@2.4.1: - resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} - dev: true + tslib@2.8.1: {} - /tty-table@4.1.6: - resolution: {integrity: sha512-kRj5CBzOrakV4VRRY5kUWbNYvo/FpOsz65DzI5op9P+cHov3+IqPbo1JE1ZnQGkHdZgNFDsrEjrfqqy/Ply9fw==} - engines: {node: '>=8.0.0'} - hasBin: true + tsx@4.21.0: dependencies: - chalk: 4.1.2 - csv: 5.5.3 - kleur: 4.1.5 - smartwrap: 2.0.2 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - yargs: 17.6.2 - dev: false - - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - - /type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - dev: false - - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - dev: true + esbuild: 0.27.4 + get-tsconfig: 4.13.7 + optionalDependencies: + fsevents: 2.3.3 - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: false + type-detect@4.1.0: {} - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: false + type-fest@5.5.0: + dependencies: + tagged-tag: 1.0.0 - /type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} - dev: true + type-level-regexp@0.1.17: {} - /type-fest@3.5.0: - resolution: {integrity: sha512-bI3zRmZC8K0tUz1HjbIOAGQwR2CoPQG68N5IF7gm0LBl8QSNXzkmaWnkWccCUL5uG9mCsp4sBwC8SBrNSISWew==} - engines: {node: '>=14.16'} - dev: true + typed-array-buffer@1.0.3: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-typed-array: 1.1.15 - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + typed-array-byte-length@1.0.3: dependencies: - call-bind: 1.0.2 - for-each: 0.3.3 - is-typed-array: 1.1.10 + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 - /typesafe-path@0.2.2: - resolution: {integrity: sha512-OJabfkAg1WLZSqJAJ0Z6Sdt3utnbzr/jh+NAHoyWHJe8CMSy79Gm085094M9nvTPy22KzTVn5Zq5mbapCI/hPA==} - dev: true + typed-array-byte-offset@1.0.4: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + has-proto: 1.2.0 + is-typed-array: 1.1.15 + reflect.getprototypeof: 1.0.10 - /typescript@4.9.4: - resolution: {integrity: sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true + typed-array-length@1.0.7: + dependencies: + call-bind: 1.0.8 + for-each: 0.3.5 + gopd: 1.2.0 + is-typed-array: 1.1.15 + possible-typed-array-names: 1.1.0 + reflect.getprototypeof: 1.0.10 - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - dev: true + typescript@5.3.3: {} - /ufo@0.8.6: - resolution: {integrity: sha512-fk6CmUgwKCfX79EzcDQQpSCMxrHstvbLswFChHS0Vump+kFkw7nJBfTZoC1j0bOGoY9I7R3n2DGek5ajbcYnOw==} - dev: true + typescript@5.9.3: {} - /ufo@1.0.1: - resolution: {integrity: sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==} - dev: true + ufo@1.6.3: {} - /ultrahtml@1.2.0: - resolution: {integrity: sha512-vxZM2yNvajRmCj/SknRYGNXk2tqiy6kRNvZjJLaleG3zJbSh/aNkOqD1/CVzypw8tyHyhpzYuwQgMMhUB4ZVNQ==} - dev: true + ultrahtml@1.6.0: {} - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unbox-primitive@1.1.0: dependencies: - call-bind: 1.0.2 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 + call-bound: 1.0.4 + has-bigints: 1.1.0 + has-symbols: 1.1.0 + which-boxed-primitive: 1.1.1 - /unbuild@1.1.1: - resolution: {integrity: sha512-HlhHj6cUPBQJmhoczQoU6dzdTFO0Jr9EiGWEZ1EwHGXlGRR6LXcKyfX3PMrkM48uWJjBWiCgTQdkFOAk3tlK6Q==} - hasBin: true + unbuild@1.2.1: dependencies: - '@rollup/plugin-alias': 4.0.2(rollup@3.10.1) - '@rollup/plugin-commonjs': 24.0.1(rollup@3.10.1) - '@rollup/plugin-json': 6.0.0(rollup@3.10.1) - '@rollup/plugin-node-resolve': 15.0.1(rollup@3.10.1) - '@rollup/plugin-replace': 5.0.2(rollup@3.10.1) - '@rollup/pluginutils': 5.0.2(rollup@3.10.1) - chalk: 5.2.0 - consola: 2.15.3 - defu: 6.1.1 - esbuild: 0.16.17 - globby: 13.1.3 - hookable: 5.4.2 - jiti: 1.16.2 - magic-string: 0.27.0 - mkdirp: 1.0.4 - mkdist: 1.1.0(typescript@4.9.4) - mlly: 1.1.0 + '@rollup/plugin-alias': 5.1.1(rollup@3.30.0) + '@rollup/plugin-commonjs': 24.1.0(rollup@3.30.0) + '@rollup/plugin-json': 6.1.0(rollup@3.30.0) + '@rollup/plugin-node-resolve': 15.3.1(rollup@3.30.0) + '@rollup/plugin-replace': 5.0.7(rollup@3.30.0) + '@rollup/pluginutils': 5.3.0(rollup@3.30.0) + chalk: 5.6.2 + consola: 3.4.2 + defu: 6.1.4 + esbuild: 0.17.19 + globby: 13.2.2 + hookable: 5.5.3 + jiti: 1.21.7 + magic-string: 0.30.21 + mkdist: 1.6.0(typescript@5.3.3) + mlly: 1.8.2 mri: 1.2.0 - pathe: 1.0.0 - pkg-types: 1.0.1 - pretty-bytes: 6.0.0 - rollup: 3.10.1 - rollup-plugin-dts: 5.1.1(rollup@3.10.1)(typescript@4.9.4) - scule: 1.0.0 - typescript: 4.9.4 - untyped: 1.2.2 + pathe: 1.1.2 + pkg-types: 1.3.1 + pretty-bytes: 6.1.1 + rollup: 3.30.0 + rollup-plugin-dts: 5.3.1(rollup@3.30.0)(typescript@5.3.3) + scule: 1.3.0 + typescript: 5.3.3 + untyped: 1.5.2 transitivePeerDependencies: - sass - supports-color - dev: true + - vue-tsc - /unctx@2.1.1: - resolution: {integrity: sha512-RffJlpvLOtolWsn0fxXsuSDfwiWcR6cyuykw2e0+zAggvGW1SesXt9WxIWlWpJhwVCZD/WlxxLqKLS50Q0CkWA==} + uncrypto@0.1.3: {} + + unctx@2.5.0: dependencies: - acorn: 8.8.1 - estree-walker: 3.0.1 - magic-string: 0.26.7 - unplugin: 1.0.1 - dev: true + acorn: 8.16.0 + estree-walker: 3.0.3 + magic-string: 0.30.21 + unplugin: 2.3.11 - /undefsafe@2.0.5: - resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} - dev: true + undefsafe@2.0.5: {} - /undici@5.14.0: - resolution: {integrity: sha512-yJlHYw6yXPPsuOH0x2Ib1Km61vu4hLiRRQoafs+WUgX1vO64vgnxiCEN9dpIrhZyHFsai3F0AEj4P9zy19enEQ==} - engines: {node: '>=12.18'} + undici-types@5.26.5: {} + + unenv@2.0.0-rc.24: dependencies: - busboy: 1.6.0 - dev: true + pathe: 2.0.3 - /unenv@1.0.0: - resolution: {integrity: sha512-vlyi2Rzj4CNlA1JsEXufX+ItkGr3Z5DfLzKniYEneMlBVtuxS+57f1LwTPj2eiBPSPaGHMUVzEnjSCGE7l8JQg==} + unhead@1.11.20: dependencies: - defu: 6.1.1 - mime: 3.0.0 - node-fetch-native: 1.0.1 - pathe: 1.0.0 - dev: true + '@unhead/dom': 1.11.20 + '@unhead/schema': 1.11.20 + '@unhead/shared': 1.11.20 + hookable: 5.5.3 - /unhead@1.0.14: - resolution: {integrity: sha512-0i0UA6DS44ul0QN4ibP389EiykjHCe3B9gM5eg40O4O8KfDyXgFJ5osdGdfwkmzWR8uWUMLwauNE4FIEFk5NGg==} + unhead@2.1.12: dependencies: - '@unhead/dom': 1.0.14 - '@unhead/schema': 1.0.14 - hookable: 5.4.2 - dev: true + hookable: 6.1.0 + + unicode-emoji-modifier-base@1.0.0: {} + + unicorn-magic@0.3.0: {} + + unicorn-magic@0.4.0: {} - /unified@10.1.2: - resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + unified@11.0.5: dependencies: - '@types/unist': 2.0.6 + '@types/unist': 3.0.3 bail: 2.0.2 + devlop: 1.1.0 extend: 3.0.2 - is-buffer: 2.0.5 is-plain-obj: 4.1.0 - trough: 2.1.0 - vfile: 5.3.6 - dev: true + trough: 2.2.0 + vfile: 6.0.3 - /unimport@1.1.0: - resolution: {integrity: sha512-dSufi3POQWUVAMU6DxXu39U0cWzz5m3FtQBUbgDJTkCpeRfyiYhDg+BOz6UPKfDPtEhkbshV8JoMV3I8i/mQ+A==} + unimport@6.0.2: dependencies: - '@rollup/pluginutils': 5.0.2 + acorn: 8.16.0 escape-string-regexp: 5.0.0 - fast-glob: 3.2.12 - local-pkg: 0.4.2 - magic-string: 0.27.0 - mlly: 1.0.0 - pathe: 1.0.0 - pkg-types: 1.0.1 - scule: 1.0.0 - strip-literal: 1.0.0 - unplugin: 1.0.1 - transitivePeerDependencies: - - rollup - dev: true + estree-walker: 3.0.3 + local-pkg: 1.1.2 + magic-string: 0.30.21 + mlly: 1.8.2 + pathe: 2.0.3 + picomatch: 4.0.4 + pkg-types: 2.3.0 + scule: 1.3.0 + strip-literal: 3.1.0 + tinyglobby: 0.2.15 + unplugin: 3.0.0 + unplugin-utils: 0.3.1 - /unimport@1.1.0(rollup@2.79.1): - resolution: {integrity: sha512-dSufi3POQWUVAMU6DxXu39U0cWzz5m3FtQBUbgDJTkCpeRfyiYhDg+BOz6UPKfDPtEhkbshV8JoMV3I8i/mQ+A==} + unist-builder@4.0.0: dependencies: - '@rollup/pluginutils': 5.0.2(rollup@2.79.1) - escape-string-regexp: 5.0.0 - fast-glob: 3.2.12 - local-pkg: 0.4.2 - magic-string: 0.27.0 - mlly: 1.0.0 - pathe: 1.0.0 - pkg-types: 1.0.1 - scule: 1.0.0 - strip-literal: 1.0.0 - unplugin: 1.0.1 - transitivePeerDependencies: - - rollup - dev: true + '@types/unist': 3.0.3 - /unist-builder@3.0.0: - resolution: {integrity: sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==} + unist-util-is@6.0.1: dependencies: - '@types/unist': 2.0.6 - dev: true - - /unist-util-generated@2.0.0: - resolution: {integrity: sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==} - dev: true + '@types/unist': 3.0.3 - /unist-util-is@5.1.1: - resolution: {integrity: sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==} - dev: true + unist-util-position@5.0.0: + dependencies: + '@types/unist': 3.0.3 - /unist-util-position@4.0.3: - resolution: {integrity: sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==} + unist-util-stringify-position@4.0.0: dependencies: - '@types/unist': 2.0.6 - dev: true + '@types/unist': 3.0.3 - /unist-util-remove@3.1.0: - resolution: {integrity: sha512-rO/sIghl13eN8irs5OBN2a4RC10MsJdiePCfwrvnzGtgIbHcDXr2REr0qi9F2r/CIb1r9FyyFmcMRIGs+EyUFw==} + unist-util-visit-parents@6.0.2: dependencies: - '@types/unist': 2.0.6 - unist-util-is: 5.1.1 - unist-util-visit-parents: 5.1.1 - dev: true + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 - /unist-util-stringify-position@3.0.2: - resolution: {integrity: sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==} + unist-util-visit@5.1.0: dependencies: - '@types/unist': 2.0.6 - dev: true + '@types/unist': 3.0.3 + unist-util-is: 6.0.1 + unist-util-visit-parents: 6.0.2 + + universalify@0.1.2: {} - /unist-util-visit-parents@5.1.1: - resolution: {integrity: sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==} + universalify@2.0.1: {} + + unplugin-utils@0.3.1: dependencies: - '@types/unist': 2.0.6 - unist-util-is: 5.1.1 - dev: true + pathe: 2.0.3 + picomatch: 4.0.4 - /unist-util-visit@4.1.1: - resolution: {integrity: sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==} + unplugin-vue-router@0.19.2(@vue/compiler-sfc@3.5.31)(vue-router@4.6.4(vue@3.5.31(typescript@5.3.3)))(vue@3.5.31(typescript@5.3.3)): dependencies: - '@types/unist': 2.0.6 - unist-util-is: 5.1.1 - unist-util-visit-parents: 5.1.1 - dev: true + '@babel/generator': 7.29.1 + '@vue-macros/common': 3.1.2(vue@3.5.31(typescript@5.3.3)) + '@vue/compiler-sfc': 3.5.31 + '@vue/language-core': 3.2.6 + ast-walker-scope: 0.8.3 + chokidar: 5.0.0 + json5: 2.2.3 + local-pkg: 1.1.2 + magic-string: 0.30.21 + mlly: 1.8.2 + muggle-string: 0.4.1 + pathe: 2.0.3 + picomatch: 4.0.4 + scule: 1.3.0 + tinyglobby: 0.2.15 + unplugin: 2.3.11 + unplugin-utils: 0.3.1 + yaml: 2.8.3 + optionalDependencies: + vue-router: 4.6.4(vue@3.5.31(typescript@5.3.3)) + transitivePeerDependencies: + - vue - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: false + unplugin@1.16.1: + dependencies: + acorn: 8.16.0 + webpack-virtual-modules: 0.6.2 - /universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} + unplugin@2.3.11: + dependencies: + '@jridgewell/remapping': 2.3.5 + acorn: 8.16.0 + picomatch: 4.0.4 + webpack-virtual-modules: 0.6.2 - /unplugin@1.0.1: - resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==} + unplugin@3.0.0: dependencies: - acorn: 8.8.1 - chokidar: 3.5.3 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.5.0 - dev: true + '@jridgewell/remapping': 2.3.5 + picomatch: 4.0.4 + webpack-virtual-modules: 0.6.2 - /unstorage@1.0.1: - resolution: {integrity: sha512-J1c4b8K2KeihHrQtdgl/ybIapArUbPaPb+TyJy/nGSauDwDYqciZsEKdkee568P3c8SSH4TIgnGRHDWMPGw+Lg==} + unstorage@1.17.5(db0@0.3.4)(ioredis@5.10.1): dependencies: anymatch: 3.1.3 - chokidar: 3.5.3 - destr: 1.2.2 - h3: 1.0.2 - ioredis: 5.2.4 - listhen: 1.0.1 - mkdir: 0.0.2 - mri: 1.2.0 - ofetch: 1.0.0 - ufo: 1.0.1 - ws: 8.11.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true + chokidar: 5.0.0 + destr: 2.0.5 + h3: 1.15.10 + lru-cache: 11.2.7 + node-fetch-native: 1.6.7 + ofetch: 1.5.1 + ufo: 1.6.3 + optionalDependencies: + db0: 0.3.4 + ioredis: 5.10.1 - /untyped@1.2.0: - resolution: {integrity: sha512-nG0A55YEhUU5UCEM+nhIhCVkA8a4L1spIVtzO0937WDjEA6jrKpu184O2K9iv5UuJNHnwhu+Q3TXiSJh/JrjlQ==} + untun@0.1.3: dependencies: - '@babel/core': 7.20.7 - '@babel/standalone': 7.20.11 - '@babel/types': 7.20.7 - scule: 1.0.0 - transitivePeerDependencies: - - supports-color - dev: true + citty: 0.1.6 + consola: 3.4.2 + pathe: 1.1.2 - /untyped@1.2.2: - resolution: {integrity: sha512-EANYd5L6AdpgfldlgMcmvOOnj092nWhy0ybhc7uhEH12ipytDYz89EOegBQKj8qWL3u1wgYnmFjADhsuCJs5Aw==} + untyped@1.5.2: dependencies: - '@babel/core': 7.20.12 - '@babel/standalone': 7.20.13 - '@babel/types': 7.20.7 - scule: 1.0.0 + '@babel/core': 7.29.0 + '@babel/standalone': 7.29.2 + '@babel/types': 7.29.0 + citty: 0.1.6 + defu: 6.1.4 + jiti: 2.6.1 + knitwork: 1.3.0 + scule: 1.3.0 transitivePeerDependencies: - supports-color - dev: true - /update-browserslist-db@1.0.10(browserslist@4.21.4): - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + untyped@2.0.0: + dependencies: + citty: 0.1.6 + defu: 6.1.4 + jiti: 2.6.1 + knitwork: 1.3.0 + scule: 1.3.0 + + unwasm@0.3.11: + dependencies: + knitwork: 1.3.0 + magic-string: 0.30.21 + mlly: 1.8.2 + pathe: 2.0.3 + pkg-types: 2.3.0 + unplugin: 2.3.11 + + unwasm@0.5.3: + dependencies: + exsolve: 1.0.8 + knitwork: 1.3.0 + magic-string: 0.30.21 + mlly: 1.8.2 + pathe: 2.0.3 + pkg-types: 2.3.0 + + update-browserslist-db@1.2.3(browserslist@4.28.1): dependencies: - browserslist: 4.21.4 - escalade: 3.1.1 - picocolors: 1.0.0 - dev: true + browserslist: 4.28.1 + escalade: 3.2.0 + picocolors: 1.1.1 - /upper-case-first@2.0.2: - resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} + upper-case-first@2.0.2: dependencies: - tslib: 2.4.1 - dev: true + tslib: 2.8.1 - /upper-case@2.0.2: - resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + upper-case@2.0.2: dependencies: - tslib: 2.4.1 - dev: true + tslib: 2.8.1 - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true + uqr@0.1.2: {} - /util@0.12.5: - resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + util-deprecate@1.0.2: {} + + util@0.12.5: dependencies: inherits: 2.0.4 - is-arguments: 1.1.1 - is-generator-function: 1.0.10 - is-typed-array: 1.1.10 - which-typed-array: 1.1.9 - dev: true - - /uvu@0.5.6: - resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - dequal: 2.0.3 - diff: 5.1.0 - kleur: 4.1.5 - sade: 1.8.1 - dev: true + is-arguments: 1.2.0 + is-generator-function: 1.1.2 + is-typed-array: 1.1.15 + which-typed-array: 1.1.20 - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true + v8-compile-cache-lib@3.0.1: {} - /v8-to-istanbul@9.0.1: - resolution: {integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==} - engines: {node: '>=10.12.0'} + v8-to-istanbul@9.3.0: dependencies: - '@jridgewell/trace-mapping': 0.3.17 - '@types/istanbul-lib-coverage': 2.0.4 - convert-source-map: 1.9.0 - dev: true + '@jridgewell/trace-mapping': 0.3.31 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 - /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validate-npm-package-license@3.0.4: dependencies: - spdx-correct: 3.1.1 + spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - /vfile-location@4.0.1: - resolution: {integrity: sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==} + vfile-location@5.0.3: dependencies: - '@types/unist': 2.0.6 - vfile: 5.3.6 - dev: true + '@types/unist': 3.0.3 + vfile: 6.0.3 - /vfile-message@3.1.3: - resolution: {integrity: sha512-0yaU+rj2gKAyEk12ffdSbBfjnnj+b1zqTBv3OQCTn8yEB02bsPizwdBPrLJjHnK+cU9EMMcUnNv938XcZIkmdA==} + vfile-message@4.0.3: dependencies: - '@types/unist': 2.0.6 - unist-util-stringify-position: 3.0.2 - dev: true + '@types/unist': 3.0.3 + unist-util-stringify-position: 4.0.0 - /vfile@5.3.6: - resolution: {integrity: sha512-ADBsmerdGBs2WYckrLBEmuETSPyTD4TuLxTrw0DvjirxW1ra4ZwkbzG8ndsv3Q57smvHxo677MHaQrY9yxH8cA==} + vfile@6.0.3: dependencies: - '@types/unist': 2.0.6 - is-buffer: 2.0.5 - unist-util-stringify-position: 3.0.2 - vfile-message: 3.1.3 - dev: true + '@types/unist': 3.0.3 + vfile-message: 4.0.3 - /vite-node@0.25.8(@types/node@18.11.9): - resolution: {integrity: sha512-o1GsPZcq4ce7ZUUALnOfYP/bjaHQYtLDLuirOMvYCdsuvDMb2tggib2RZRfHIhTEF2QnIgyQEoyaOjAMHGPRiw==} - engines: {node: '>=v14.16.0'} - hasBin: true + vite-dev-rpc@1.1.0(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)): dependencies: - debug: 4.3.4 - mlly: 1.0.0 - pathe: 0.2.0 - source-map: 0.6.1 - source-map-support: 0.5.21 - vite: 4.0.1(@types/node@18.11.9) + birpc: 2.9.0 + vite: 7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) + vite-hot-client: 2.1.0(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)) + + vite-hot-client@2.1.0(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)): + dependencies: + vite: 7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) + + vite-node@0.29.8(@types/node@18.19.130)(terser@5.46.1): + dependencies: + cac: 6.7.14 + debug: 4.4.3 + mlly: 1.8.2 + pathe: 1.1.2 + picocolors: 1.1.1 + vite: 4.5.14(@types/node@18.19.130)(terser@5.46.1) transitivePeerDependencies: - '@types/node' - less + - lightningcss - sass - stylus - sugarss - supports-color - terser - dev: true - /vite-node@0.29.3(@types/node@18.15.0): - resolution: {integrity: sha512-QYzYSA4Yt2IiduEjYbccfZQfxKp+T1Do8/HEpSX/G5WIECTFKJADwLs9c94aQH4o0A+UtCKU61lj1m5KvbxxQA==} - engines: {node: '>=v14.16.0'} - hasBin: true + vite-node@5.3.0(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3): dependencies: cac: 6.7.14 - debug: 4.3.4 - mlly: 1.1.0 - pathe: 1.1.0 - picocolors: 1.0.0 - vite: 4.0.1(@types/node@18.15.0) + es-module-lexer: 2.0.0 + obug: 2.1.1 + pathe: 2.0.3 + vite: 7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) transitivePeerDependencies: - '@types/node' + - jiti - less + - lightningcss - sass + - sass-embedded - stylus - sugarss - - supports-color - terser - dev: true - - /vite-plugin-checker@0.5.3(typescript@5.3.3)(vite@3.2.5): - resolution: {integrity: sha512-upPESKsQTypC2S7LPjxu9HknOymNSToAAHTYSFHb0at5GKLcN1QGMAR5Hb+7KqZclGMVniXAj7QdhZv+fTx83Q==} - engines: {node: '>=14.16'} - peerDependencies: - eslint: '>=7' - meow: ^9.0.0 - optionator: ^0.9.1 - stylelint: '>=13' - typescript: '*' - vite: '>=2.0.0' - vls: '*' - vti: '*' - peerDependenciesMeta: - eslint: - optional: true - meow: - optional: true - optionator: - optional: true - stylelint: - optional: true - typescript: - optional: true - vls: - optional: true - vti: - optional: true - dependencies: - '@babel/code-frame': 7.18.6 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - chokidar: 3.5.3 - commander: 8.3.0 - fast-glob: 3.2.12 - lodash.debounce: 4.0.8 - lodash.pick: 4.4.0 - npm-run-path: 4.0.1 - strip-ansi: 6.0.1 - tiny-invariant: 1.3.1 - typescript: 5.3.3 - vite: 3.2.5(@types/node@18.11.9) - vscode-languageclient: 7.0.0 - vscode-languageserver: 7.0.0 - vscode-languageserver-textdocument: 1.0.8 - vscode-uri: 3.0.7 - dev: true - - /vite@3.2.5(@types/node@18.11.9): - resolution: {integrity: sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 18.11.9 - esbuild: 0.15.18 - postcss: 8.4.20 - resolve: 1.22.1 - rollup: 2.79.1 + - tsx + - yaml + + vite-plugin-checker@0.12.0(typescript@5.3.3)(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)): + dependencies: + '@babel/code-frame': 7.29.0 + chokidar: 4.0.3 + npm-run-path: 6.0.0 + picocolors: 1.1.1 + picomatch: 4.0.4 + tiny-invariant: 1.3.3 + tinyglobby: 0.2.15 + vite: 7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) + vscode-uri: 3.1.0 optionalDependencies: - fsevents: 2.3.2 - dev: true + typescript: 5.3.3 - /vite@4.0.1(@types/node@18.11.9): - resolution: {integrity: sha512-kZQPzbDau35iWOhy3CpkrRC7It+HIHtulAzBhMqzGHKRf/4+vmh8rPDDdv98SWQrFWo6//3ozwsRmwQIPZsK9g==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 18.11.9 - esbuild: 0.16.17 - postcss: 8.4.20 - resolve: 1.22.1 - rollup: 3.10.1 + vite-plugin-inspect@11.3.3(@nuxt/kit@4.4.2(magicast@0.5.2))(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)): + dependencies: + ansis: 4.2.0 + debug: 4.4.3 + error-stack-parser-es: 1.0.5 + ohash: 2.0.11 + open: 10.2.0 + perfect-debounce: 2.1.0 + sirv: 3.0.2 + unplugin-utils: 0.3.1 + vite: 7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) + vite-dev-rpc: 1.1.0(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3)) optionalDependencies: - fsevents: 2.3.2 - dev: true + '@nuxt/kit': 4.4.2(magicast@0.5.2) + transitivePeerDependencies: + - supports-color - /vite@4.0.1(@types/node@18.15.0): - resolution: {integrity: sha512-kZQPzbDau35iWOhy3CpkrRC7It+HIHtulAzBhMqzGHKRf/4+vmh8rPDDdv98SWQrFWo6//3ozwsRmwQIPZsK9g==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true + vite-plugin-vue-tracer@1.3.0(vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3))(vue@3.5.31(typescript@5.3.3)): dependencies: - '@types/node': 18.15.0 - esbuild: 0.16.17 - postcss: 8.4.20 - resolve: 1.22.1 - rollup: 3.10.1 - optionalDependencies: - fsevents: 2.3.2 - dev: true + estree-walker: 3.0.3 + exsolve: 1.0.8 + magic-string: 0.30.21 + pathe: 2.0.3 + source-map-js: 1.2.1 + vite: 7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3) + vue: 3.5.31(typescript@5.3.3) - /vitest@0.29.3: - resolution: {integrity: sha512-muMsbXnZsrzDGiyqf/09BKQsGeUxxlyLeLK/sFFM4EXdURPQRv8y7dco32DXaRORYP0bvyN19C835dT23mL0ow==} - engines: {node: '>=v14.16.0'} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@vitest/browser': '*' - '@vitest/ui': '*' - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true + vite@4.5.14(@types/node@18.19.130)(terser@5.46.1): dependencies: - '@types/chai': 4.3.4 - '@types/chai-subset': 1.3.3 - '@types/node': 18.15.0 - '@vitest/expect': 0.29.3 - '@vitest/runner': 0.29.3 - '@vitest/spy': 0.29.3 - '@vitest/utils': 0.29.3 - acorn: 8.8.1 - acorn-walk: 8.2.0 + esbuild: 0.18.20 + postcss: 8.5.8 + rollup: 3.30.0 + optionalDependencies: + '@types/node': 18.19.130 + fsevents: 2.3.3 + terser: 5.46.1 + + vite@7.3.1(@types/node@18.19.130)(jiti@2.6.1)(terser@5.46.1)(tsx@4.21.0)(yaml@2.8.3): + dependencies: + esbuild: 0.27.4 + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 + postcss: 8.5.8 + rollup: 4.60.0 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 18.19.130 + fsevents: 2.3.3 + jiti: 2.6.1 + terser: 5.46.1 + tsx: 4.21.0 + yaml: 2.8.3 + + vitest@0.29.8(terser@5.46.1): + dependencies: + '@types/chai': 4.3.20 + '@types/chai-subset': 1.3.6(@types/chai@4.3.20) + '@types/node': 18.19.130 + '@vitest/expect': 0.29.8 + '@vitest/runner': 0.29.8 + '@vitest/spy': 0.29.8 + '@vitest/utils': 0.29.8 + acorn: 8.16.0 + acorn-walk: 8.3.5 cac: 6.7.14 - chai: 4.3.7 - debug: 4.3.4 - local-pkg: 0.4.2 - pathe: 1.1.0 - picocolors: 1.0.0 + chai: 4.5.0 + debug: 4.4.3 + local-pkg: 0.4.3 + pathe: 1.1.2 + picocolors: 1.1.1 source-map: 0.6.1 - std-env: 3.3.1 - strip-literal: 1.0.0 - tinybench: 2.3.1 - tinypool: 0.3.1 - tinyspy: 1.0.2 - vite: 4.0.1(@types/node@18.15.0) - vite-node: 0.29.3(@types/node@18.15.0) - why-is-node-running: 2.2.2 + std-env: 3.10.0 + strip-literal: 1.3.0 + tinybench: 2.9.0 + tinypool: 0.4.0 + tinyspy: 1.1.1 + vite: 4.5.14(@types/node@18.19.130)(terser@5.46.1) + vite-node: 0.29.8(@types/node@18.19.130)(terser@5.46.1) + why-is-node-running: 2.3.0 transitivePeerDependencies: - less + - lightningcss - sass - stylus - sugarss - supports-color - terser - dev: true - - /vscode-jsonrpc@6.0.0: - resolution: {integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==} - engines: {node: '>=8.0.0 || >=10.0.0'} - dev: true - /vscode-languageclient@7.0.0: - resolution: {integrity: sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==} - engines: {vscode: ^1.52.0} - dependencies: - minimatch: 3.1.2 - semver: 7.3.8 - vscode-languageserver-protocol: 3.16.0 - dev: true + vscode-uri@3.1.0: {} - /vscode-languageserver-protocol@3.16.0: - resolution: {integrity: sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==} + vue-bundle-renderer@2.2.0: dependencies: - vscode-jsonrpc: 6.0.0 - vscode-languageserver-types: 3.16.0 - dev: true - - /vscode-languageserver-textdocument@1.0.8: - resolution: {integrity: sha512-1bonkGqQs5/fxGT5UchTgjGVnfysL0O8v1AYMBjqTbWQTFn721zaPGDYFkOKtfDgFiSgXM3KwaG3FMGfW4Ed9Q==} - dev: true + ufo: 1.6.3 - /vscode-languageserver-types@3.16.0: - resolution: {integrity: sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==} - dev: true - - /vscode-languageserver@7.0.0: - resolution: {integrity: sha512-60HTx5ID+fLRcgdHfmz0LDZAXYEV68fzwG0JWwEPBode9NuMYTIxuYXPg4ngO8i8+Ou0lM7y6GzaYWbiDL0drw==} - hasBin: true + vue-component-meta@2.2.12(typescript@5.9.3): dependencies: - vscode-languageserver-protocol: 3.16.0 - dev: true - - /vscode-uri@3.0.7: - resolution: {integrity: sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==} - dev: true + '@volar/typescript': 2.4.15 + '@vue/language-core': 2.2.12(typescript@5.9.3) + path-browserify: 1.0.1 + vue-component-type-helpers: 2.2.12 + optionalDependencies: + typescript: 5.9.3 - /vue-bundle-renderer@1.0.0: - resolution: {integrity: sha512-43vCqTgaMXfHhtR8/VcxxWD1DgtzyvNc4wNyG5NKCIH19O1z5G9ZCRXTGEA2wifVec5PU82CkRLD2sTK9NkTdA==} - dependencies: - ufo: 1.0.1 - dev: true + vue-component-type-helpers@2.2.12: {} - /vue-component-meta@1.0.19(typescript@4.9.4): - resolution: {integrity: sha512-cfUzk90j12psrbe7DMG9HNG/+nwvjVfSbBwC6Pg9cVZmczfq2KiT3IKYqgzFiVjhslawoRWUWe07J6mVXYgBng==} - peerDependencies: - typescript: '*' + vue-demi@0.14.10(vue@3.5.31(typescript@5.3.3)): dependencies: - '@volar/language-core': 1.0.19 - '@volar/vue-language-core': 1.0.19 - typesafe-path: 0.2.2 - typescript: 4.9.4 - dev: true - - /vue-demi@0.13.11: - resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - dev: true + vue: 3.5.31(typescript@5.3.3) - /vue-devtools-stub@0.1.0: - resolution: {integrity: sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==} - dev: true + vue-devtools-stub@0.1.0: {} - /vue-router@4.1.6(vue@3.2.45): - resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==} - peerDependencies: - vue: ^3.2.0 + vue-router@4.6.4(vue@3.5.31(typescript@5.3.3)): dependencies: - '@vue/devtools-api': 6.4.5 - vue: 3.2.45 - dev: true + '@vue/devtools-api': 6.6.4 + vue: 3.5.31(typescript@5.3.3) - /vue-template-compiler@2.7.14: - resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} + vue-template-compiler@2.7.16: dependencies: de-indent: 1.0.2 he: 1.2.0 - dev: true - /vue@3.2.45: - resolution: {integrity: sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==} + vue@3.5.31(typescript@5.3.3): dependencies: - '@vue/compiler-dom': 3.2.45 - '@vue/compiler-sfc': 3.2.45 - '@vue/runtime-dom': 3.2.45 - '@vue/server-renderer': 3.2.45(vue@3.2.45) - '@vue/shared': 3.2.45 - dev: true - - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.4 - - /web-namespaces@2.0.1: - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - dev: true - - /web-streams-polyfill@3.2.1: - resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} - engines: {node: '>= 8'} - dev: true + '@vue/compiler-dom': 3.5.31 + '@vue/compiler-sfc': 3.5.31 + '@vue/runtime-dom': 3.5.31 + '@vue/server-renderer': 3.5.31(vue@3.5.31(typescript@5.3.3)) + '@vue/shared': 3.5.31 + optionalDependencies: + typescript: 5.3.3 - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: true + web-namespaces@2.0.1: {} - /webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - dev: true + webidl-conversions@3.0.1: {} - /webpack-virtual-modules@0.5.0: - resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} - dev: true + webpack-virtual-modules@0.6.2: {} - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - dev: true - - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - - /which-module@2.0.0: - resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} - dev: false - - /which-pm@2.0.0: - resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} - engines: {node: '>=8.15'} - dependencies: - load-yaml-file: 0.2.0 - path-exists: 4.0.0 - dev: false - /which-typed-array@1.1.9: - resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} - engines: {node: '>= 0.4'} + which-boxed-primitive@1.1.1: + dependencies: + is-bigint: 1.1.0 + is-boolean-object: 1.2.2 + is-number-object: 1.1.1 + is-string: 1.1.1 + is-symbol: 1.1.1 + + which-builtin-type@1.2.1: + dependencies: + call-bound: 1.0.4 + function.prototype.name: 1.1.8 + has-tostringtag: 1.0.2 + is-async-function: 2.1.1 + is-date-object: 1.1.0 + is-finalizationregistry: 1.1.1 + is-generator-function: 1.1.2 + is-regex: 1.2.1 + is-weakref: 1.1.1 + isarray: 2.0.5 + which-boxed-primitive: 1.1.1 + which-collection: 1.0.2 + which-typed-array: 1.1.20 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.4 + + which-typed-array@1.1.20: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@1.3.1: dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - is-typed-array: 1.1.10 + isexe: 2.0.0 - /which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true + which@2.0.2: dependencies: isexe: 2.0.0 - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + which@6.0.1: dependencies: - isexe: 2.0.0 - dev: true + isexe: 4.0.0 - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true + why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0 stackback: 0.0.2 - dev: true - - /wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - dependencies: - string-width: 4.2.3 - dev: true - - /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: false - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - /wrap-ansi@8.0.1: - resolution: {integrity: sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==} - engines: {node: '>=12'} + wrap-ansi@8.1.0: dependencies: - ansi-styles: 6.2.1 + ansi-styles: 6.2.3 string-width: 5.1.2 - strip-ansi: 7.0.1 - dev: true + strip-ansi: 7.2.0 - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true + wrap-ansi@9.0.2: + dependencies: + ansi-styles: 6.2.3 + string-width: 7.2.0 + strip-ansi: 7.2.0 - /ws@8.11.0: - resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true + wrappy@1.0.2: {} - /ws@8.2.3: - resolution: {integrity: sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true + ws@8.18.3: {} - /xmlhttprequest-ssl@2.0.0: - resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==} - engines: {node: '>=0.4.0'} - dev: true + ws@8.20.0: {} - /xxhashjs@0.2.2: - resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==} + wsl-utils@0.1.0: dependencies: - cuint: 0.2.2 - dev: true + is-wsl: 3.1.1 - /y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - dev: false - - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + wsl-utils@0.3.1: + dependencies: + is-wsl: 3.1.1 + powershell-utils: 0.1.0 - /yallist@2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - dev: false + xmlhttprequest-ssl@2.1.2: {} - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: true + y18n@5.0.8: {} - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true + yallist@3.1.1: {} - /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - dev: true + yallist@5.0.0: {} - /yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - dev: false + yaml@2.8.3: {} - /yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - dev: true + yargs-parser@20.2.9: {} - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + yargs-parser@21.1.1: {} - /yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} - dependencies: - cliui: 6.0.0 - decamelize: 1.2.0 - find-up: 4.1.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - require-main-filename: 2.0.0 - set-blocking: 2.0.0 - string-width: 4.2.3 - which-module: 2.0.0 - y18n: 4.0.3 - yargs-parser: 18.1.3 - dev: false + yargs-parser@22.0.0: {} - /yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} + yargs@16.2.0: dependencies: cliui: 7.0.4 - escalade: 3.1.1 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 20.2.9 - dev: true - /yargs@17.6.2: - resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==} - engines: {node: '>=12'} + yargs@18.0.0: dependencies: - cliui: 8.0.1 - escalade: 3.1.1 + cliui: 9.0.1 + escalade: 3.2.0 get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 + string-width: 7.2.0 y18n: 5.0.8 - yargs-parser: 21.1.1 + yargs-parser: 22.0.0 - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true + yn@3.1.1: {} - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + yocto-queue@0.1.0: {} - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} + yocto-queue@1.2.2: {} - /zip-stream@4.1.0: - resolution: {integrity: sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==} - engines: {node: '>= 10'} + youch-core@0.3.3: dependencies: - archiver-utils: 2.1.0 - compress-commons: 4.1.1 - readable-stream: 3.6.0 - dev: true + '@poppinss/exception': 1.2.3 + error-stack-parser-es: 1.0.5 - /zod@3.20.2: - resolution: {integrity: sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==} - dev: false + youch@4.1.1: + dependencies: + '@poppinss/colors': 4.1.6 + '@poppinss/dumper': 0.7.0 + '@speed-highlight/core': 1.2.15 + cookie-es: 3.1.1 + youch-core: 0.3.3 - /zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - dev: true + zhead@2.2.4: {} + + zip-stream@6.0.1: + dependencies: + archiver-utils: 5.0.2 + compress-commons: 6.0.2 + readable-stream: 4.7.0 + + zod@3.25.76: {} + + zwitch@2.0.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index b98b4fa..12b43a8 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,9 +1,18 @@ packages: - packages/** - experimentals/** - - "!**/test/**" - - "!**/template-**" + - '!**/test/**' + - '!**/template-**' + link-workspace-packages: false + +onlyBuiltDependencies: + - '@parcel/watcher' + - esbuild + - vue-demi + prefer-workspace-packages: false -shared-workspace-lockfile: true + save-workspace-protocol: true + +shared-workspace-lockfile: true From f590b38488372d78a6aed4ef1821aea289f70d8f Mon Sep 17 00:00:00 2001 From: linbudu599 Date: Sat, 28 Mar 2026 23:41:06 +0800 Subject: [PATCH 02/10] xxx --- PLAN.md | 323 +++++++++++++++++++++ ai-friendly_cli_builder_16db0ea7.plan.md | 345 +++++++++++++++++++++++ 2 files changed, 668 insertions(+) create mode 100644 PLAN.md create mode 100644 ai-friendly_cli_builder_16db0ea7.plan.md diff --git a/PLAN.md b/PLAN.md new file mode 100644 index 0000000..89d6633 --- /dev/null +++ b/PLAN.md @@ -0,0 +1,323 @@ +AI-Friendly CLI App Builder 计划 + +核心思路 + +AI 代理(Claude Code / Codex CLI / Cursor Agent 等)使用 CLI 工具的典型链路是: + +读取 --help → 理解参数/约束 → 构造命令 → 执行 → 解析 stdout/stderr → 决策下一步 + +Mustard 作为 框架层,应在每个环节都提供"对 AI 更友好"的默认行为,而不需要下游开发者额外编码。 + +一、增强 --help 输出:让 AI 一次读懂命令全貌 + +当前 UsageInfoGenerator 输出的信息不完整(缺少校验规则、约束值、必填标记、类型提示、示例),AI 代理需要多次试错才能推断参数约束。 + +1.1 在 Option 行展示类型与校验约束 + +当前输出: + +Options: +--port, -p, server port, default: 3000 + +目标输出: + +Options: +--port, -p server port [default: 3000] [required] [>= 1, <= 65535] +--host server host [default: "localhost"] [startsWith: "http"] +--dry, -d dry run mode [default: false] + +实现思路: + +在 collectSpecificCommandUsage 阶段,从 OptionInitializerPlaceHolder 上提取 schema(Zod schema)和 restrictValues。 + +新增工具函数 describeSchema(schema: ZodType): string,递归遍历 Zod 内部 \_def.checks 数组,提取 min/max/startsWith/endsWith/email/int/positive 等约束并格式化为 [>= 1, <= 65535] 风格的人类/AI 可读文本。 + +从 schema.isOptional() 推断必填,输出 [required] 标记。 + +类型推断:String/Number/Boolean/Enum 各 validator 创建时可在 schema 上挂元数据标签,或在 ValidatorFactory 里记录 \_typeName,格式化时输出 / / / 。 + +关键文件: + +新建 source/Components/SchemaDescriber.ts + +修改 source/Components/UsageGenerator.ts(collectSpecificCommandUsage 和格式化函数) + +修改 source/Validators/PrimitiveValidators.ts 和 source/Validators/EnumValidators.ts(附加类型标签到 schema) + +1.2 展示 @Restrict 约束值 + +当前:不展示。目标: + +--env target environment [default: "dev"] [allowed: "dev" | "staging" | "prod"] + +实现思路:collectSpecificCommandUsage 阶段读取字段占位上的 restrictValues,格式化为 [allowed: ...]。 + +1.3 展示 @VariadicOption 的可重复语义 + +--files, -f files to process [default: []] [repeatable] + +1.4 自动生成 Examples 段落 + +在 @Command / @RootCommand 上新增可选 examples 配置: + +@Command({ +name: "deploy", +alias: "d", +description: "deploy to cloud", +examples: [ +"deploy --env staging --dry", +"deploy --env prod --files a.ts b.ts", +], +}) + +格式化时在 Options 段之后附加: + +Examples: +$ mm deploy --env staging --dry +$ mm deploy --env prod --files a.ts b.ts + +若开发者未提供 examples,框架可基于已声明的 Option 默认值 自动拼一条("auto-example"):将所有有默认值或 restrict 的选项组装成一行命令示例。 + +关键类型:扩展 CommandConfiguration(source/Typings/Command.struct.ts)增加 examples?: string[]。 + +1.5 有 Root 时顶层 --help 同时列出并列子命令 + +当前 formatRootCommandUsage 不展示子命令列表,AI 代理在 mm --help 时看不到有哪些子命令可用。 + +修改 printHelp 逻辑:当 registration 为 root 时,额外从 MustardRegistry.provide() 收集非 root 的命令一并附在 Root usage 下方,形如: + +Commands: +deploy, d deploy to cloud +config, c manage configuration + +Run 'mm --help' for more information on a specific command. + +二、自动注册 --ai 全局 Flag 与机器可读输出模式 + +AI 代理更擅长处理结构化输出。Mustard 框架层可以内置一个 --ai 全局 flag,切换输出格式。 + +2.1 --ai Flag 激活结构化帮助 + +当同时传入 --help --ai 时,不走人类友好的文本格式,而是输出一段 JSON Schema 风格 的结构化描述: + +{ +"name": "deploy", +"description": "deploy to cloud", +"options": [ +{ +"name": "env", +"alias": "e", +"type": "string", +"required": true, +"default": "dev", +"allowed": ["dev", "staging", "prod"], +"description": "target environment" +}, +{ +"name": "port", +"type": "number", +"constraints": { "gte": 1, "lte": 65535 }, +"default": 3000 +} +], +"examples": ["deploy --env staging --dry"], +"subcommands": ["config", "migrate"] +} + +实现思路: + +在 MustardConstanst 新增 InternalAIFlag = "MUSTARD_AI_FLAG"。 + +BuiltInCommands 检测到 --ai 时,收集完整 usage 数据结构,JSON.stringify 输出到 stdout,process.exit(0)。 + +这样 AI 代理可以 mm --help --ai | jq .options 精准获取参数信息。 + +2.2 --ai Flag 激活结构化错误 + +当 --ai 存在时,所有框架层错误(ValidationError、CommandNotFoundError 等)改为输出 JSON: + +{ +"error": "ValidationError", +"field": "port", +"received": "abc", +"expected": "number", +"constraints": { "gte": 1, "lte": 65535 }, +"suggestion": "Provide a number between 1 and 65535" +} + +这比当前的 throw + Node 默认堆栈对 AI 代理有用得多。 + +三、自动添加 install-skills 子命令 + +Claude Code / Cursor 等支持 Skills / AGENTS.md 机制。Mustard 框架可以内置一个 install-skills 命令,为当前工作目录生成一份 Skill 描述文件(Markdown),让 AI 代理在使用该 CLI 工具前自动"学会"它。 + +3.1 Skill 文件内容 + +自动生成的 Skill 文件应包含: + +工具名称、版本、简介 + +所有命令及其完整参数签名(复用 1.1 的增强信息) + +每个命令的 examples + +典型 workflow(如果开发者通过配置提供了的话) + +错误码与含义 + +安装/配置前置条件 + +3.2 实现思路 + +新增内置命令类 InstallSkillsCommand,注册为 install-skills。 + +运行时收集 MustardRegistry 中所有命令元数据 + UsageInfoGenerator 增强后的结构化信息。 + +生成 Markdown 写入 .cursor/skills//SKILL.md 或 .claude/AGENTS.md(可通过参数选择目标格式)。 + +在 @App 配置中新增 aiSkills?: { version?: string; workflows?: string[] } 允许开发者补充高阶信息。 + +3.3 配置扩展 + +@App({ +name: "my-cli", +commands: [...], +configurations: { +aiSkills: { +version: "1.2.0", +description: "A deployment tool for cloud infrastructure", +workflows: [ +"To deploy: first run `my-cli config set-env staging`, then `my-cli deploy --dry`, review output, then `my-cli deploy`", +], +}, +}, +}) + +四、AI 友好的错误系统增强 + +4.1 错误信息结构化与建议 + +当前错误类只有 message。扩展所有 Error 类增加 suggestion 字段: + +Error + +当前 message + +增加 suggestion + +ValidationError + +"Expected string, received number" + +"Option --port expects a number. Run mm deploy --help to see valid values." + +CommandNotFoundError + +"Command not found with parsed args: ..." + +"Available commands: deploy, config. Run mm --help to see all commands." + +DidYouMeanError + +"Unknown option --helo, did you mean --help?" + +已有建议,保持 + +UnknownOptionsError + +"Unknown options: foo" + +"Run mm --help to see available options." + +4.2 exitCode 规范化 + +定义不同错误类别的 exit code(而非统一 exit 1),便于 AI 代理按 exit code 分类处理: + +0:成功 + +1:运行时错误(handler.run 抛出) + +2:参数校验错误(ValidationError) + +3:命令未找到(CommandNotFoundError) + +4:配置错误(NullishFactoryOptionError 等) + +在 CLI.handleCommandExecution 的 catch 和 dispatchRootHandler/dispatchCommand 中统一 process.exit(code)。 + +五、自省命令 --inspect + +新增内置全局 flag --inspect,输出当前 CLI 的完整元数据(JSON),供 AI 代理在首次交互时一次性获取全部信息: + +mm --inspect + +输出: + +{ +"name": "my-cli", +"version": "1.2.0", +"commands": [ +{ +"name": "deploy", +"alias": "d", +"root": false, +"description": "deploy to cloud", +"options": [...], +"subcommands": [...], +"examples": [...] +} +], +"globalFlags": ["--help", "--version", "--ai", "--inspect"], +"skills": { ... } +} + +和 --help --ai 的区别:--inspect 是 全应用级一次性 dump,适合 AI 首次"学习"整个工具;--help --ai 是 单命令级,适合执行前精确查询。 + +六、其他值得支持的 AI 友好特性 + +6.1 --output-format 全局 flag + +让开发者的命令 handler 也能感知 AI 模式。框架在 @Ctx() 注入的 Context 中增加 aiMode: boolean 和 outputFormat: "text" | "json" 字段,开发者可据此在 run() 中切换输出格式: + +public run(): void { +if (this.ctx.aiMode) { +console.log(JSON.stringify(this.result)); +} else { +console.log(formatTable(this.result)); +} +} + +6.2 命令执行的 dry-run 协议 + +在框架层约定 --dry-run 全局 flag,开发者在 run() 中可通过 this.ctx.dryRun 获取。AI 代理在不确定时可先 --dry-run 试探,再决定是否真正执行。 + +6.3 命令发现接口 --commands + +类似 --inspect 但更轻量,只输出命令名列表(一行一个),AI 代理可快速枚举可用命令: + +mm --commands + +# deploy + +# config + +# migrate + +优先级建议 + +graph LR +P1["P1: 增强 help 输出"] --> P2["P2: --ai 结构化模式"] +P2 --> P3["P3: AI 友好错误"] +P3 --> P4["P4: install-skills"] +P4 --> P5["P5: --inspect 自省"] +P5 --> P6["P6: Context.aiMode / dryRun"] + +P1(增强 help) 是基础,后续所有结构化输出都复用同一份"增强后的元数据收集"。 + +P2(--ai flag) 依赖 P1 的数据结构。 + +P3(错误增强) 可独立推进,但 --ai 模式下的 JSON 错误输出依赖 P2。 + +P4(install-skills) 依赖 P1+P2 的完整元数据。 + +P5/P6 为锦上添花,优先级可后置。 diff --git a/ai-friendly_cli_builder_16db0ea7.plan.md b/ai-friendly_cli_builder_16db0ea7.plan.md new file mode 100644 index 0000000..4be2254 --- /dev/null +++ b/ai-friendly_cli_builder_16db0ea7.plan.md @@ -0,0 +1,345 @@ +--- +name: AI-Friendly CLI Builder +overview: 在 Mustard CLI App Builder 层面提供一套"AI-native"能力,使基于 Mustard 构建的 CLI 应用天生适配 Claude Code、Codex CLI 等 AI 代理场景,涵盖结构化帮助信息、AI Skills 安装、机器可读输出模式、以及 AI 友好的错误与自省机制。 +todos: + - id: enhance-help + content: "P1: 增强 --help 输出 — 类型标签、校验约束、Restrict 值、VariadicOption 标记、auto-example、Root 级子命令列表" + status: pending + - id: ai-flag + content: "P2: 新增 --ai 全局 flag — 结构化 JSON 帮助输出与结构化错误输出" + status: pending + - id: error-enhance + content: "P3: 错误系统增强 — suggestion 字段、规范化 exitCode、AI 模式下 JSON 错误" + status: pending + - id: install-skills + content: "P4: 内置 install-skills 子命令 — 自动生成 Cursor Skills / AGENTS.md" + status: pending + - id: inspect + content: "P5: 新增 --inspect 全局 flag — 全应用级元数据 JSON dump" + status: pending + - id: context-ai + content: "P6: Context 注入 aiMode / dryRun / outputFormat — 让开发者 handler 感知 AI 场景" + status: pending +isProject: false +--- + +# AI-Friendly CLI App Builder 计划 + +## 核心思路 + +AI 代理(Claude Code / Codex CLI / Cursor Agent 等)使用 CLI 工具的典型链路是: + +``` +读取 --help → 理解参数/约束 → 构造命令 → 执行 → 解析 stdout/stderr → 决策下一步 +``` + +Mustard 作为 **框架层**,应在每个环节都提供"对 AI 更友好"的默认行为,而不需要下游开发者额外编码。 + +--- + +## 一、增强 `--help` 输出:让 AI 一次读懂命令全貌 + +当前 `UsageInfoGenerator` 输出的信息**不完整**(缺少校验规则、约束值、必填标记、类型提示、示例),AI 代理需要多次试错才能推断参数约束。 + +### 1.1 在 Option 行展示类型与校验约束 + +当前输出: + +``` +Options: + --port, -p, server port, default: 3000 +``` + +目标输出: + +``` +Options: + --port, -p server port [default: 3000] [required] [>= 1, <= 65535] + --host server host [default: "localhost"] [startsWith: "http"] + --dry, -d dry run mode [default: false] +``` + +**实现思路**: + +- 在 `collectSpecificCommandUsage` 阶段,从 `OptionInitializerPlaceHolder` 上提取 `schema`(Zod schema)和 `restrictValues`。 +- 新增工具函数 `describeSchema(schema: ZodType): string`,递归遍历 Zod 内部 `_def.checks` 数组,提取 `min/max/startsWith/endsWith/email/int/positive` 等约束并格式化为 `[>= 1, <= 65535]` 风格的人类/AI 可读文本。 +- 从 `schema.isOptional()` 推断必填,输出 `[required]` 标记。 +- 类型推断:String/Number/Boolean/Enum 各 validator 创建时可在 schema 上挂元数据标签,或在 `ValidatorFactory` 里记录 `_typeName`,格式化时输出 `` / `` / `` / ``。 + +**关键文件**: + +- 新建 `source/Components/SchemaDescriber.ts` +- 修改 `source/Components/UsageGenerator.ts`(`collectSpecificCommandUsage` 和格式化函数) +- 修改 `source/Validators/PrimitiveValidators.ts` 和 `source/Validators/EnumValidators.ts`(附加类型标签到 schema) + +### 1.2 展示 `@Restrict` 约束值 + +当前:不展示。目标: + +``` + --env target environment [default: "dev"] [allowed: "dev" | "staging" | "prod"] +``` + +**实现思路**:`collectSpecificCommandUsage` 阶段读取字段占位上的 `restrictValues`,格式化为 `[allowed: ...]`。 + +### 1.3 展示 `@VariadicOption` 的可重复语义 + +``` + --files, -f files to process [default: []] [repeatable] +``` + +### 1.4 自动生成 Examples 段落 + +在 `@Command` / `@RootCommand` 上新增可选 `examples` 配置: + +```typescript +@Command({ + name: "deploy", + alias: "d", + description: "deploy to cloud", + examples: [ + "deploy --env staging --dry", + "deploy --env prod --files a.ts b.ts", + ], +}) +``` + +格式化时在 Options 段之后附加: + +``` +Examples: + $ mm deploy --env staging --dry + $ mm deploy --env prod --files a.ts b.ts +``` + +若开发者未提供 `examples`,框架可基于已声明的 Option 默认值 **自动拼一条**("auto-example"):将所有有默认值或 restrict 的选项组装成一行命令示例。 + +**关键类型**:扩展 `CommandConfiguration`(`source/Typings/Command.struct.ts`)增加 `examples?: string[]`。 + +### 1.5 有 Root 时顶层 `--help` 同时列出并列子命令 + +当前 `formatRootCommandUsage` **不展示子命令列表**,AI 代理在 `mm --help` 时看不到有哪些子命令可用。 + +修改 `printHelp` 逻辑:当 registration 为 root 时,额外从 `MustardRegistry.provide()` 收集非 root 的命令一并附在 Root usage 下方,形如: + +``` +Commands: + deploy, d deploy to cloud + config, c manage configuration + +Run 'mm --help' for more information on a specific command. +``` + +--- + +## 二、自动注册 `--ai` 全局 Flag 与机器可读输出模式 + +AI 代理更擅长处理**结构化**输出。Mustard 框架层可以内置一个 `--ai` 全局 flag,切换输出格式。 + +### 2.1 `--ai` Flag 激活结构化帮助 + +当同时传入 `--help --ai` 时,不走人类友好的文本格式,而是输出一段 **JSON Schema 风格** 的结构化描述: + +```json +{ + "name": "deploy", + "description": "deploy to cloud", + "options": [ + { + "name": "env", + "alias": "e", + "type": "string", + "required": true, + "default": "dev", + "allowed": ["dev", "staging", "prod"], + "description": "target environment" + }, + { + "name": "port", + "type": "number", + "constraints": { "gte": 1, "lte": 65535 }, + "default": 3000 + } + ], + "examples": ["deploy --env staging --dry"], + "subcommands": ["config", "migrate"] +} +``` + +**实现思路**: + +- 在 `MustardConstanst` 新增 `InternalAIFlag = "MUSTARD_AI_FLAG"`。 +- `BuiltInCommands` 检测到 `--ai` 时,收集完整 usage 数据结构,`JSON.stringify` 输出到 stdout,`process.exit(0)`。 +- 这样 AI 代理可以 `mm --help --ai | jq .options` 精准获取参数信息。 + +### 2.2 `--ai` Flag 激活结构化错误 + +当 `--ai` 存在时,所有框架层错误(ValidationError、CommandNotFoundError 等)改为输出 JSON: + +```json +{ + "error": "ValidationError", + "field": "port", + "received": "abc", + "expected": "number", + "constraints": { "gte": 1, "lte": 65535 }, + "suggestion": "Provide a number between 1 and 65535" +} +``` + +这比当前的 `throw` + Node 默认堆栈对 AI 代理有用得多。 + +--- + +## 三、自动添加 `install-skills` 子命令 + +Claude Code / Cursor 等支持 Skills / AGENTS.md 机制。Mustard 框架可以内置一个 `install-skills` 命令,为当前工作目录生成一份 **Skill 描述文件**(Markdown),让 AI 代理在使用该 CLI 工具前自动"学会"它。 + +### 3.1 Skill 文件内容 + +自动生成的 Skill 文件应包含: + +- 工具名称、版本、简介 +- 所有命令及其完整参数签名(复用 1.1 的增强信息) +- 每个命令的 examples +- 典型 workflow(如果开发者通过配置提供了的话) +- 错误码与含义 +- 安装/配置前置条件 + +### 3.2 实现思路 + +- 新增内置命令类 `InstallSkillsCommand`,注册为 `install-skills`。 +- 运行时收集 `MustardRegistry` 中所有命令元数据 + `UsageInfoGenerator` 增强后的结构化信息。 +- 生成 Markdown 写入 `.cursor/skills//SKILL.md` 或 `.claude/AGENTS.md`(可通过参数选择目标格式)。 +- 在 `@App` 配置中新增 `aiSkills?: { version?: string; workflows?: string[] }` 允许开发者补充高阶信息。 + +### 3.3 配置扩展 + +```typescript +@App({ + name: "my-cli", + commands: [...], + configurations: { + aiSkills: { + version: "1.2.0", + description: "A deployment tool for cloud infrastructure", + workflows: [ + "To deploy: first run `my-cli config set-env staging`, then `my-cli deploy --dry`, review output, then `my-cli deploy`", + ], + }, + }, +}) +``` + +--- + +## 四、AI 友好的错误系统增强 + +### 4.1 错误信息结构化与建议 + +当前错误类只有 `message`。扩展所有 Error 类增加 `suggestion` 字段: + +| Error | 当前 message | 增加 suggestion | +| ---------------------- | --------------------------------------------- | ----------------------------------------------------------------------------- | +| `ValidationError` | "Expected string, received number" | "Option --port expects a number. Run `mm deploy --help` to see valid values." | +| `CommandNotFoundError` | "Command not found with parsed args: ..." | "Available commands: deploy, config. Run `mm --help` to see all commands." | +| `DidYouMeanError` | "Unknown option --helo, did you mean --help?" | 已有建议,保持 | +| `UnknownOptionsError` | "Unknown options: foo" | "Run `mm --help` to see available options." | + +### 4.2 exitCode 规范化 + +定义不同错误类别的 exit code(而非统一 exit 1),便于 AI 代理按 exit code 分类处理: + +- `0`:成功 +- `1`:运行时错误(handler.run 抛出) +- `2`:参数校验错误(ValidationError) +- `3`:命令未找到(CommandNotFoundError) +- `4`:配置错误(NullishFactoryOptionError 等) + +在 `CLI.handleCommandExecution` 的 catch 和 `dispatchRootHandler/dispatchCommand` 中统一 `process.exit(code)`。 + +--- + +## 五、自省命令 `--inspect` + +新增内置全局 flag `--inspect`,输出当前 CLI 的完整元数据(JSON),供 AI 代理在首次交互时一次性获取全部信息: + +```bash +mm --inspect +``` + +输出: + +```json +{ + "name": "my-cli", + "version": "1.2.0", + "commands": [ + { + "name": "deploy", + "alias": "d", + "root": false, + "description": "deploy to cloud", + "options": [...], + "subcommands": [...], + "examples": [...] + } + ], + "globalFlags": ["--help", "--version", "--ai", "--inspect"], + "skills": { ... } +} +``` + +和 `--help --ai` 的区别:`--inspect` 是 **全应用级**一次性 dump,适合 AI 首次"学习"整个工具;`--help --ai` 是 **单命令级**,适合执行前精确查询。 + +--- + +## 六、其他值得支持的 AI 友好特性 + +### 6.1 `--output-format` 全局 flag + +让**开发者的命令 handler** 也能感知 AI 模式。框架在 `@Ctx()` 注入的 Context 中增加 `aiMode: boolean` 和 `outputFormat: "text" | "json"` 字段,开发者可据此在 `run()` 中切换输出格式: + +```typescript +public run(): void { + if (this.ctx.aiMode) { + console.log(JSON.stringify(this.result)); + } else { + console.log(formatTable(this.result)); + } +} +``` + +### 6.2 命令执行的 dry-run 协议 + +在框架层约定 `--dry-run` 全局 flag,开发者在 `run()` 中可通过 `this.ctx.dryRun` 获取。AI 代理在不确定时可先 `--dry-run` 试探,再决定是否真正执行。 + +### 6.3 命令发现接口 `--commands` + +类似 `--inspect` 但更轻量,只输出命令名列表(一行一个),AI 代理可快速枚举可用命令: + +```bash +mm --commands +# deploy +# config +# migrate +``` + +--- + +## 优先级建议 + +```mermaid +graph LR + P1["P1: 增强 help 输出"] --> P2["P2: --ai 结构化模式"] + P2 --> P3["P3: AI 友好错误"] + P3 --> P4["P4: install-skills"] + P4 --> P5["P5: --inspect 自省"] + P5 --> P6["P6: Context.aiMode / dryRun"] +``` + +- **P1(增强 help)** 是基础,后续所有结构化输出都复用同一份"增强后的元数据收集"。 +- **P2(--ai flag)** 依赖 P1 的数据结构。 +- **P3(错误增强)** 可独立推进,但 `--ai` 模式下的 JSON 错误输出依赖 P2。 +- **P4(install-skills)** 依赖 P1+P2 的完整元数据。 +- **P5/P6** 为锦上添花,优先级可后置。 From 2abb3a2d9a850311fb2e65821efbaf4abba4ff2f Mon Sep 17 00:00:00 2001 From: linbudu599 Date: Sun, 29 Mar 2026 11:25:46 +0800 Subject: [PATCH 03/10] xxx --- experimentals/MudtardContainer/package.json | 42 ------------------- .../MudtardContainer/source/Impls.ts | 9 ---- .../MudtardContainer/source/index.ts | 1 - experimentals/MudtardContainer/tsconfig.json | 36 ---------------- experimentals/PackageStarter/package.json | 42 ------------------- experimentals/PackageStarter/tsconfig.json | 36 ---------------- package.json | 2 +- packages/mustard-cli/README.md | 14 +++---- .../source/Components/MustardFactory.ts | 6 +-- .../mustard-cli/source/Decorators/BuiltIn.ts | 6 +-- .../mustard-cli/source/Decorators/Command.ts | 24 +++++------ .../source/Decorators/Controller.ts | 10 ++--- .../source/Decorators/DIService.ts | 10 ++--- .../mustard-cli/source/Decorators/Input.ts | 8 ++-- .../mustard-cli/source/Decorators/Option.ts | 42 +++++++++---------- packages/mustard-cli/source/Exports/index.ts | 2 +- .../source/Typings/Decorator.struct.ts | 25 +++++++++++ packages/mustard-cli/source/Typings/Temp.ts | 24 ----------- 18 files changed, 82 insertions(+), 257 deletions(-) delete mode 100644 experimentals/MudtardContainer/package.json delete mode 100644 experimentals/MudtardContainer/source/Impls.ts delete mode 100644 experimentals/MudtardContainer/source/index.ts delete mode 100644 experimentals/MudtardContainer/tsconfig.json delete mode 100644 experimentals/PackageStarter/package.json delete mode 100644 experimentals/PackageStarter/tsconfig.json create mode 100644 packages/mustard-cli/source/Typings/Decorator.struct.ts delete mode 100644 packages/mustard-cli/source/Typings/Temp.ts diff --git a/experimentals/MudtardContainer/package.json b/experimentals/MudtardContainer/package.json deleted file mode 100644 index 110dfac..0000000 --- a/experimentals/MudtardContainer/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "mustard-container", - "version": "0.0.1", - "publishConfig": { - "access": "public", - "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "local": "nodemon index.ts run sync --dry", - "dev": "tsc --watch", - "build": "tsc", - "prepublishOnly": "pnpm run build" - }, - "nodemonConfig": { - "delay": 500, - "env": { - "NODE_ENV": "development" - }, - "execMap": { - "ts": "tsx" - }, - "ext": "ts,json", - "ignore": [ - "**/test/**", - "**/docs/**", - "node_modules" - ], - "restartable": "rs", - "verbose": true, - "watch": [ - "*.ts" - ] - }, - "devDependencies": { - "@types/node": "^18.11.7", - "nodemon": "^2.0.20", - "ts-node": "^10.9.1", - "tsconfig-paths": "^4.1.0", - "tsx": "^4.20.6", - "typescript": "5.3.3" - } -} diff --git a/experimentals/MudtardContainer/source/Impls.ts b/experimentals/MudtardContainer/source/Impls.ts deleted file mode 100644 index bd1307f..0000000 --- a/experimentals/MudtardContainer/source/Impls.ts +++ /dev/null @@ -1,9 +0,0 @@ -export class Initializers { - public static CommonInitializer() {} -} - -export class Decorators { - public static Provide() {} - - public static Inject() {} -} diff --git a/experimentals/MudtardContainer/source/index.ts b/experimentals/MudtardContainer/source/index.ts deleted file mode 100644 index 8a9423b..0000000 --- a/experimentals/MudtardContainer/source/index.ts +++ /dev/null @@ -1 +0,0 @@ -console.log("first"); diff --git a/experimentals/MudtardContainer/tsconfig.json b/experimentals/MudtardContainer/tsconfig.json deleted file mode 100644 index 422e8e3..0000000 --- a/experimentals/MudtardContainer/tsconfig.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "ts-node": { - "swc": false, - "pretty": true, - "transpileOnly": true, - "require": ["tsconfig-paths/register"] - }, - "compilerOptions": { - "lib": [], - "target": "ES6", - "module": "CommonJS", - "outDir": "dist", - "skipLibCheck": true, - "strictNullChecks": true, - "declaration": true, - "strict": true, - "noImplicitAny": true, - "noEmitOnError": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "noPropertyAccessFromIndexSignature": true, - "noUncheckedIndexedAccess": true, - "noUnusedParameters": false, - "noImplicitThis": true, - "noUnusedLocals": false, - "strictPropertyInitialization": false, - "keyofStringsOnly": false, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "baseUrl": ".", - "rootDir": ".", - "paths": {} - }, - "include": ["./**/*.ts"], - "exclude": ["dist"] -} diff --git a/experimentals/PackageStarter/package.json b/experimentals/PackageStarter/package.json deleted file mode 100644 index 110dfac..0000000 --- a/experimentals/PackageStarter/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "mustard-container", - "version": "0.0.1", - "publishConfig": { - "access": "public", - "registry": "https://registry.npmjs.org/" - }, - "scripts": { - "local": "nodemon index.ts run sync --dry", - "dev": "tsc --watch", - "build": "tsc", - "prepublishOnly": "pnpm run build" - }, - "nodemonConfig": { - "delay": 500, - "env": { - "NODE_ENV": "development" - }, - "execMap": { - "ts": "tsx" - }, - "ext": "ts,json", - "ignore": [ - "**/test/**", - "**/docs/**", - "node_modules" - ], - "restartable": "rs", - "verbose": true, - "watch": [ - "*.ts" - ] - }, - "devDependencies": { - "@types/node": "^18.11.7", - "nodemon": "^2.0.20", - "ts-node": "^10.9.1", - "tsconfig-paths": "^4.1.0", - "tsx": "^4.20.6", - "typescript": "5.3.3" - } -} diff --git a/experimentals/PackageStarter/tsconfig.json b/experimentals/PackageStarter/tsconfig.json deleted file mode 100644 index 422e8e3..0000000 --- a/experimentals/PackageStarter/tsconfig.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "ts-node": { - "swc": false, - "pretty": true, - "transpileOnly": true, - "require": ["tsconfig-paths/register"] - }, - "compilerOptions": { - "lib": [], - "target": "ES6", - "module": "CommonJS", - "outDir": "dist", - "skipLibCheck": true, - "strictNullChecks": true, - "declaration": true, - "strict": true, - "noImplicitAny": true, - "noEmitOnError": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "noPropertyAccessFromIndexSignature": true, - "noUncheckedIndexedAccess": true, - "noUnusedParameters": false, - "noImplicitThis": true, - "noUnusedLocals": false, - "strictPropertyInitialization": false, - "keyofStringsOnly": false, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "baseUrl": ".", - "rootDir": ".", - "paths": {} - }, - "include": ["./**/*.ts"], - "exclude": ["dist"] -} diff --git a/package.json b/package.json index b0b5437..710afed 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "1.0.0", "private": true, "scripts": { - "build": "pnpm --filter mustard-* build", + "build": "pnpm --recursive --filter mustard-* build", "dev": "pnpm --filter mustard-cli dev", "release": "pnpm --filter mustard-cli publish --no-git-checks", "test": "pnpm --filter mustard-cli test -- -u" diff --git a/packages/mustard-cli/README.md b/packages/mustard-cli/README.md index b723e51..6175974 100644 --- a/packages/mustard-cli/README.md +++ b/packages/mustard-cli/README.md @@ -4,18 +4,14 @@ IoC & [Native ECMAScript Decorator](https://github.com/tc39/proposal-decorators) based command line app builder. -## Requires +## First-class agent support -- **Node.js >= 16.0.0** -- **TypeScript >= 5.0.0** +- -Before TypeScript 5.0 released, you may need to configure the used TypeScript version like below in `.vscode/settings.json`: +## Requires -```json -{ - "typescript.tsdk": "node_modules/typescript/lib" -} -``` +- **Node.js >= 24.0.0** +- **TypeScript >= 5.0.0** ## Features diff --git a/packages/mustard-cli/source/Components/MustardFactory.ts b/packages/mustard-cli/source/Components/MustardFactory.ts index 59d94c4..5499225 100644 --- a/packages/mustard-cli/source/Components/MustardFactory.ts +++ b/packages/mustard-cli/source/Components/MustardFactory.ts @@ -4,7 +4,7 @@ import { NullishFactoryOptionError } from "../Errors/NullishFactoryOptionError"; import type { MustardApp } from "../Typings/Factory.struct"; import type { AppFactoryOptions } from "../Typings/Configuration.struct"; import type { Constructable, Nullable } from "../Typings/Shared.struct"; -import type { AnyClassDecoratorReturnType } from "../Typings/Temp"; +import type { ClassDecoratorImpl } from "../Typings/Decorator.struct"; export class MustardFactory { private static FactoryOptions: Nullable = null; @@ -13,9 +13,7 @@ export class MustardFactory { * Register application entry handler * @returns */ - public static App( - configuration: AppFactoryOptions - ): AnyClassDecoratorReturnType { + public static App(configuration: AppFactoryOptions): ClassDecoratorImpl { return () => { MustardFactory.FactoryOptions = configuration; }; diff --git a/packages/mustard-cli/source/Decorators/BuiltIn.ts b/packages/mustard-cli/source/Decorators/BuiltIn.ts index c1447f1..a28a2fc 100644 --- a/packages/mustard-cli/source/Decorators/BuiltIn.ts +++ b/packages/mustard-cli/source/Decorators/BuiltIn.ts @@ -2,7 +2,7 @@ import type { ContextInitializerPlaceHolder, UtilsInitializerPlaceHolder, } from "../Typings/Context.struct"; -import type { AnyClassFieldDecoratorReturnType } from "../Typings/Temp"; +import type { ClassFieldDecoratorImpl } from "../Typings/Decorator.struct"; /** * Built-in providers related decorators @@ -20,7 +20,7 @@ export class BuiltInDecorators { * }; * } */ - public static Utils(): AnyClassFieldDecoratorReturnType { + public static Utils(): ClassFieldDecoratorImpl { return (_, context) => () => { type: "Utils", @@ -39,7 +39,7 @@ export class BuiltInDecorators { * }; * } */ - public static Ctx(): AnyClassFieldDecoratorReturnType { + public static Ctx(): ClassFieldDecoratorImpl { return (_, context) => () => { type: "Context", diff --git a/packages/mustard-cli/source/Decorators/Command.ts b/packages/mustard-cli/source/Decorators/Command.ts index c2a0b70..97d5a71 100644 --- a/packages/mustard-cli/source/Decorators/Command.ts +++ b/packages/mustard-cli/source/Decorators/Command.ts @@ -7,7 +7,7 @@ import { MultiRootCommandError } from "../Errors/MultiRootCommandError"; import type { CommandList } from "../Typings/Configuration.struct"; import type { ClassStruct, Nullable } from "../Typings/Shared.struct"; -import type { AnyClassDecoratorReturnType } from "../Typings/Temp"; +import type { ClassDecoratorImpl } from "../Typings/Decorator.struct"; import type { CommandConfiguration } from "../Typings/Command.struct"; const debug = _debug("mustard:decorator:command"); @@ -24,16 +24,14 @@ export class CommandDecorators { * \@Command('run') * class RunCommand {} */ - public static Command(commandName: string): AnyClassDecoratorReturnType; + public static Command(commandName: string): ClassDecoratorImpl; /** * Register command handler class * @example * \@Command({ name: 'run', alias: 'r' }) * class RunCommand {} */ - public static Command( - config: CommandConfiguration - ): AnyClassDecoratorReturnType; + public static Command(config: CommandConfiguration): ClassDecoratorImpl; /** * Register command handler class * @example @@ -46,7 +44,7 @@ export class CommandDecorators { public static Command( commandName: string, aliasOrDescription: string - ): AnyClassDecoratorReturnType; + ): ClassDecoratorImpl; /** * Register command handler class * @example @@ -59,7 +57,7 @@ export class CommandDecorators { public static Command( commandName: string, childCommandList: CommandList - ): AnyClassDecoratorReturnType; + ): ClassDecoratorImpl; /** * Register command handler class * @example @@ -70,7 +68,7 @@ export class CommandDecorators { commandName: string, alias: string, description: string - ): AnyClassDecoratorReturnType; + ): ClassDecoratorImpl; /** * Register command handler class * @example @@ -87,7 +85,7 @@ export class CommandDecorators { commandName: string, aliasOrDescription: string, childCommandList: CommandList - ): AnyClassDecoratorReturnType; + ): ClassDecoratorImpl; /** * Register command handler class * @example @@ -102,13 +100,13 @@ export class CommandDecorators { alias: string, description: string, childCommandList: CommandList - ): AnyClassDecoratorReturnType; + ): ClassDecoratorImpl; public static Command( commandNameOrConfig: string | CommandConfiguration, aliasOrDescriptionOrChildComnandList?: string | CommandList, descriptionOrChildComnandList?: string | CommandList, childCommandList?: CommandList - ): AnyClassDecoratorReturnType { + ): ClassDecoratorImpl { // @Command(config: CommandConfiguration) if (typeof commandNameOrConfig === "object") { const { name, alias, description, childCommandList } = @@ -212,7 +210,7 @@ export class CommandDecorators { * Register root command handler class * @returns */ - public static RootCommand(): AnyClassDecoratorReturnType { + public static RootCommand(): ClassDecoratorImpl { return (target, context) => { if (CommandDecorators.RootCommandTargetClass) { throw new MultiRootCommandError( @@ -236,7 +234,7 @@ export class CommandDecorators { commandAlias?: Nullable, description?: Nullable, childCommandList: CommandList = [] - ): AnyClassDecoratorReturnType { + ): ClassDecoratorImpl { return (target, context) => { debug("Command %s registered", commandInvokeName); diff --git a/packages/mustard-cli/source/Decorators/Controller.ts b/packages/mustard-cli/source/Decorators/Controller.ts index 524abfa..6c75795 100644 --- a/packages/mustard-cli/source/Decorators/Controller.ts +++ b/packages/mustard-cli/source/Decorators/Controller.ts @@ -1,7 +1,7 @@ import { MustardUtils } from "../Components/Utils"; import type { RestrictValueSet } from "../Typings/Controller.struct"; -import type { AnyClassFieldDecoratorReturnType } from "../Typings/Temp"; +import type { ClassFieldDecoratorImpl } from "../Typings/Decorator.struct"; export class ControllerDecorators { /** @@ -27,14 +27,14 @@ export class ControllerDecorators { */ public static Restrict( restrictValues: RestrictValueSet - ): AnyClassFieldDecoratorReturnType { - return (_, context) => { + ): ClassFieldDecoratorImpl { + return (_value, context) => { context.addInitializer(function () { const instanceField = String(context.name); - const currentValue = Reflect.get(this, instanceField); + const currentValue = Reflect.get(this as object, instanceField); if (MustardUtils.isOptionInitializer(currentValue)) { - Reflect.set(this, instanceField, { + Reflect.set(this as object, instanceField, { ...currentValue, restrictValues, }); diff --git a/packages/mustard-cli/source/Decorators/DIService.ts b/packages/mustard-cli/source/Decorators/DIService.ts index 87c1aa0..65a4893 100644 --- a/packages/mustard-cli/source/Decorators/DIService.ts +++ b/packages/mustard-cli/source/Decorators/DIService.ts @@ -2,15 +2,15 @@ import { MustardRegistry } from "../Components/Registry"; import type { InjectInitializerPlaceHolder } from "../Typings/Context.struct"; import type { - AnyClassDecoratorReturnType, - AnyClassFieldDecoratorReturnType, -} from "../Typings/Temp"; + ClassDecoratorImpl, + ClassFieldDecoratorImpl, +} from "../Typings/Decorator.struct"; /** * DI related decorators */ export class DIServiceDecorators { - public static Inject(identifier?: string): AnyClassFieldDecoratorReturnType { + public static Inject(identifier?: string): ClassFieldDecoratorImpl { return (_, context) => () => { type: "Inject", @@ -18,7 +18,7 @@ export class DIServiceDecorators { }; } - public static Provide(identifier?: string): AnyClassDecoratorReturnType { + public static Provide(identifier?: string): ClassDecoratorImpl { return (target, context) => () => { MustardRegistry.ExternalProviderRegistry.set( identifier ?? context.name, diff --git a/packages/mustard-cli/source/Decorators/Input.ts b/packages/mustard-cli/source/Decorators/Input.ts index 12eeab5..0285745 100644 --- a/packages/mustard-cli/source/Decorators/Input.ts +++ b/packages/mustard-cli/source/Decorators/Input.ts @@ -1,4 +1,4 @@ -import type { AnyClassFieldDecoratorReturnType } from "../Typings/Temp"; +import type { ClassFieldDecoratorImpl } from "../Typings/Decorator.struct"; import type { InputConfiguration } from "../Typings/Option.struct"; export class InputDecorator { @@ -15,7 +15,7 @@ export class InputDecorator { * public projects: string[]; * } */ - public static Input(description?: string): AnyClassFieldDecoratorReturnType; + public static Input(description?: string): ClassFieldDecoratorImpl; /** * Inject inputs after commands @@ -27,10 +27,10 @@ export class InputDecorator { */ public static Input( configuration?: InputConfiguration - ): AnyClassFieldDecoratorReturnType; + ): ClassFieldDecoratorImpl; public static Input( config?: string | InputConfiguration - ): AnyClassFieldDecoratorReturnType { + ): ClassFieldDecoratorImpl { const inputDescription = typeof config === "string" ? config : config?.description; diff --git a/packages/mustard-cli/source/Decorators/Option.ts b/packages/mustard-cli/source/Decorators/Option.ts index 6df3771..c30f2d9 100644 --- a/packages/mustard-cli/source/Decorators/Option.ts +++ b/packages/mustard-cli/source/Decorators/Option.ts @@ -8,7 +8,7 @@ import type { OptionConfiguration, VariadicOptionConfiguration, } from "../Typings/Option.struct"; -import type { AnyClassFieldDecoratorReturnType } from "../Typings/Temp"; +import type { ClassFieldDecoratorImpl } from "../Typings/Decorator.struct"; import type { Nullable } from "../Typings/Shared.struct"; const debug = _debug("mustard:decorator:option"); @@ -25,7 +25,7 @@ export class OptionDecorators { * public dry: boolean; * } */ - public static Option(): AnyClassFieldDecoratorReturnType; + public static Option(): ClassFieldDecoratorImpl; /** * Register option value inject * @example @@ -34,7 +34,7 @@ export class OptionDecorators { * public dry: boolean; * } */ - public static Option(optionName: string): AnyClassFieldDecoratorReturnType; + public static Option(optionName: string): ClassFieldDecoratorImpl; /** * Register option value inject * @example @@ -45,7 +45,7 @@ export class OptionDecorators { */ public static Option( validator: Partial - ): AnyClassFieldDecoratorReturnType; + ): ClassFieldDecoratorImpl; /** * Register option value inject * @example @@ -56,7 +56,7 @@ export class OptionDecorators { */ public static Option( optionConfig: OptionConfiguration - ): AnyClassFieldDecoratorReturnType; + ): ClassFieldDecoratorImpl; /** * Register option value inject * @example @@ -71,7 +71,7 @@ export class OptionDecorators { public static Option( optionName: string, aliasOrDescription: string - ): AnyClassFieldDecoratorReturnType; + ): ClassFieldDecoratorImpl; /** * Register option value inject * @example @@ -83,7 +83,7 @@ export class OptionDecorators { public static Option( optionName: string, validator: Partial - ): AnyClassFieldDecoratorReturnType; + ): ClassFieldDecoratorImpl; /** * Register option value inject * @example @@ -99,7 +99,7 @@ export class OptionDecorators { optionName: string, aliasOrDescription: string, validator: Partial - ): AnyClassFieldDecoratorReturnType; + ): ClassFieldDecoratorImpl; /** * Register option value inject * @example @@ -112,7 +112,7 @@ export class OptionDecorators { optionName: string, alias: string, description: string - ): AnyClassFieldDecoratorReturnType; + ): ClassFieldDecoratorImpl; /** * Register option value inject * @example @@ -126,7 +126,7 @@ export class OptionDecorators { alias: string, description: string, validator: Partial - ): AnyClassFieldDecoratorReturnType; + ): ClassFieldDecoratorImpl; public static Option( optionNameOrValidatorOrCompleteConfig?: | string @@ -135,7 +135,7 @@ export class OptionDecorators { aliasOrDescriptionOrValidator?: string | Partial, descriptionOrValidator?: string | Partial, validator?: Partial - ): AnyClassFieldDecoratorReturnType { + ): ClassFieldDecoratorImpl { if ( !optionNameOrValidatorOrCompleteConfig && !aliasOrDescriptionOrValidator && @@ -243,7 +243,7 @@ export class OptionDecorators { alias?: Nullable, description?: Nullable, validator?: Nullable> - ): AnyClassFieldDecoratorReturnType { + ): ClassFieldDecoratorImpl { return (_, { name }) => (initValue) => { const applyOptionName = optionName ?? String(name); @@ -273,7 +273,7 @@ export class OptionDecorators { * public packages: string[]; * } */ - public static VariadicOption(): AnyClassFieldDecoratorReturnType; + public static VariadicOption(): ClassFieldDecoratorImpl; /** * Register variadic option value inject * @example @@ -282,9 +282,7 @@ export class OptionDecorators { * public packages: string[]; * } */ - public static VariadicOption( - optionName: string - ): AnyClassFieldDecoratorReturnType; + public static VariadicOption(optionName: string): ClassFieldDecoratorImpl; /** * Register variadic option value inject * @example @@ -295,7 +293,7 @@ export class OptionDecorators { */ public static VariadicOption( config: VariadicOptionConfiguration - ): AnyClassFieldDecoratorReturnType; + ): ClassFieldDecoratorImpl; /** * Register variadic option value inject * @example @@ -310,7 +308,7 @@ export class OptionDecorators { public static VariadicOption( optionName: string, aliasOrDescription?: string - ): AnyClassFieldDecoratorReturnType; + ): ClassFieldDecoratorImpl; /** * Register variadic option value inject * @example @@ -323,12 +321,12 @@ export class OptionDecorators { optionName: string, alias: string, description: string - ): AnyClassFieldDecoratorReturnType; + ): ClassFieldDecoratorImpl; public static VariadicOption( optionNameOrCompleteConfig?: string | VariadicOptionConfiguration, aliasOrDescription?: string, description?: string - ): AnyClassFieldDecoratorReturnType { + ): ClassFieldDecoratorImpl { if (typeof optionNameOrCompleteConfig === "object") { const { name = null, @@ -371,7 +369,7 @@ export class OptionDecorators { optionName?: Nullable, alias?: Nullable, description?: Nullable - ): AnyClassFieldDecoratorReturnType { + ): ClassFieldDecoratorImpl { return (_, context) => (initValue) => { const applyOptionName = optionName ?? String(context.name); @@ -402,7 +400,7 @@ export class OptionDecorators { * } * @returns */ - public static Options(): AnyClassFieldDecoratorReturnType { + public static Options(): ClassFieldDecoratorImpl { return (_, context) => (initValue) => { debug("Options registered in %s field", context.name); return { diff --git a/packages/mustard-cli/source/Exports/index.ts b/packages/mustard-cli/source/Exports/index.ts index a560738..02d31c7 100644 --- a/packages/mustard-cli/source/Exports/index.ts +++ b/packages/mustard-cli/source/Exports/index.ts @@ -15,5 +15,5 @@ export type * from "../Typings/DIService.struct"; export type * from "../Typings/Factory.struct"; export type * from "../Typings/Option.struct"; export type * from "../Typings/Shared.struct"; -export type * from "../Typings/Temp"; +export type * from "../Typings/Decorator.struct"; export type * from "../Typings/Utils.struct"; diff --git a/packages/mustard-cli/source/Typings/Decorator.struct.ts b/packages/mustard-cli/source/Typings/Decorator.struct.ts new file mode 100644 index 0000000..952e6b7 --- /dev/null +++ b/packages/mustard-cli/source/Typings/Decorator.struct.ts @@ -0,0 +1,25 @@ +import type { Constructable } from "./Shared.struct"; + +/** + * ref: https://github.com/tc39/proposal-decorators?tab=readme-ov-file#classes + */ +export type ClassDecoratorImpl = ( + target: Constructable, + context: ClassDecoratorContext +) => void; + +/** + * ref: https://github.com/tc39/proposal-decorators?tab=readme-ov-file#class-methods + */ +export type ClassMethodDecoratorImpl = ( + self: Function, + context: ClassMethodDecoratorContext +) => Function | void; + +/** + * ref: https://github.com/tc39/proposal-decorators?tab=readme-ov-file#class-fields + */ +export type ClassFieldDecoratorImpl = ( + _value: undefined, + context: ClassFieldDecoratorContext +) => (initialValue: any) => any | void; diff --git a/packages/mustard-cli/source/Typings/Temp.ts b/packages/mustard-cli/source/Typings/Temp.ts deleted file mode 100644 index bd174ab..0000000 --- a/packages/mustard-cli/source/Typings/Temp.ts +++ /dev/null @@ -1,24 +0,0 @@ -export type AnyClassDecoratorReturnType = ( - target: any, - context: ClassDecoratorContext -) => void; - -export type AnyClassMethodDecoratorReturnType = ( - self: Function, - context: ClassMemberDecoratorContext -) => Function | void; - -export type AnyClassGetterDecoratorReturnType = ( - self: Function, - context: ClassMemberDecoratorContext -) => Function | void; - -export type AnyClassSetterDecoratorReturnType = ( - self: Function, - context: ClassMemberDecoratorContext -) => Function | void; - -export type AnyClassFieldDecoratorReturnType = ( - a1: undefined, - context: ClassFieldDecoratorContext -) => (initialValue: any) => any | void; From 55702e711c86ee40f3f46c53eaf0bf4f6535376d Mon Sep 17 00:00:00 2001 From: linbudu599 Date: Sun, 29 Mar 2026 14:22:05 +0800 Subject: [PATCH 04/10] sync changes --- packages/mustard-cli/.vscode/settings.json | 3 - .../source/Components/ConflictChecker.ts | 7 - .../{Commands => Core}/BuiltInCommands.ts | 4 +- .../source/{Commands => Core}/CommandLine.ts | 8 +- .../DecoratedFieldsNormalizer.ts | 6 +- .../{Components => Core}/MustardFactory.ts | 2 +- .../MustardUtilsProvider.ts | 0 .../source/{Components => Core}/Registry.ts | 2 +- .../mustard-cli/source/Decorators/Command.ts | 4 +- .../source/Decorators/Controller.ts | 2 +- .../source/Decorators/DIService.ts | 2 +- .../mustard-cli/source/Decorators/Option.ts | 2 +- .../source/Errors/MissingRequiredErrot.ts | 0 .../mustard-cli/source/Exports/ComanndLine.ts | 2 +- .../mustard-cli/source/Exports/Decorators.ts | 2 +- packages/mustard-cli/source/Exports/index.ts | 4 +- .../source/Schema/SchemaExtractor.ts | 64 ++ .../source/Typings/Utils.struct.ts | 2 +- .../UsageGenerator.ts | 4 +- .../source/{Components => Utils}/Constants.ts | 0 .../source/{Components => Utils}/Utils.ts | 2 +- .../BuiltInCommands.spec.ts | 8 +- .../__tests__ => tests}/CommandLine.spec.ts | 0 .../__tests__ => tests}/Decorators.spec.ts | 0 .../__tests__ => tests}/Errors.spec.ts | 0 .../FieldsNormalizer.spec.ts | 0 .../Fixtures/TestHelper.ts | 0 .../Fixtures/UsageFixtures.ts | 0 .../BuiltInCommands/BuiltInCommands.spec.ts | 0 .../Integrations/BuiltInCommands/Usage1.ts | 0 .../Integrations/BuiltInCommands/Usage2.ts | 0 .../Integrations/BuiltInCommands/Usage3.ts | 0 .../Integrations/Common/Common.spec.ts | 0 .../Integrations/Common/Usage.ts | 0 .../MultiRootCommands.spec.ts | 0 .../Integrations/MultiRootCommands/Usage.ts | 0 .../NonCompleteParse/NonCompleteParse.spec.ts | 0 .../Integrations/NonCompleteParse/Usage.ts | 0 .../RestrictValue/RestrictValue.spec.ts | 0 .../Integrations/RestrictValue/Usage.ts | 0 .../Integrations/Root/Root.spec.ts | 0 .../Integrations/Root/Usage.ts | 0 .../NoRootAndCommonCommandsProvided.usage.ts | 0 ...mmandsProvidedAndDisableUsageInfo.usage.ts | 0 ...mmandButAtLeastOneCommandProvided.usage.ts | 0 ...mandButMultipleCommandsRegistered.usage.ts | 0 .../RootAndNestedCommandsProvided.usage.ts | 0 ...tCommandAndCommonCommandsProvided.usage.ts | 0 .../UsageGenerator/RootCommandOnly.usage.ts | 0 .../UsageGeneratorIntegration.spec.ts | 0 .../MustardFactory.spec.ts | 0 .../__tests__ => tests}/Registry.spec.ts | 0 .../UsageGenerator.spec.ts | 0 .../{source/__tests__ => tests}/Utils.spec.ts | 0 .../__tests__ => tests}/UtilsProvider.spec.ts | 0 .../__tests__ => tests}/Validator.spec.ts | 0 packages/mustard-cli/tsconfig.json | 10 +- packages/sample/workflow.md | 695 ++++++++++++++++++ 58 files changed, 790 insertions(+), 45 deletions(-) delete mode 100644 packages/mustard-cli/.vscode/settings.json delete mode 100644 packages/mustard-cli/source/Components/ConflictChecker.ts rename packages/mustard-cli/source/{Commands => Core}/BuiltInCommands.ts (94%) rename packages/mustard-cli/source/{Commands => Core}/CommandLine.ts (96%) rename packages/mustard-cli/source/{Components => Core}/DecoratedFieldsNormalizer.ts (98%) rename packages/mustard-cli/source/{Components => Core}/MustardFactory.ts (96%) rename packages/mustard-cli/source/{Components => Core}/MustardUtilsProvider.ts (100%) rename packages/mustard-cli/source/{Components => Core}/Registry.ts (97%) create mode 100644 packages/mustard-cli/source/Errors/MissingRequiredErrot.ts create mode 100644 packages/mustard-cli/source/Schema/SchemaExtractor.ts rename packages/mustard-cli/source/{Components => UsageGenerator}/UsageGenerator.ts (98%) rename packages/mustard-cli/source/{Components => Utils}/Constants.ts (100%) rename packages/mustard-cli/source/{Components => Utils}/Utils.ts (99%) rename packages/mustard-cli/{source/__tests__ => tests}/BuiltInCommands.spec.ts (95%) rename packages/mustard-cli/{source/__tests__ => tests}/CommandLine.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Decorators.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Errors.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/FieldsNormalizer.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Fixtures/TestHelper.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Fixtures/UsageFixtures.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/BuiltInCommands/BuiltInCommands.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/BuiltInCommands/Usage1.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/BuiltInCommands/Usage2.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/BuiltInCommands/Usage3.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/Common/Common.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/Common/Usage.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/MultiRootCommands/MultiRootCommands.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/MultiRootCommands/Usage.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/NonCompleteParse/NonCompleteParse.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/NonCompleteParse/Usage.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/RestrictValue/RestrictValue.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/RestrictValue/Usage.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/Root/Root.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/Root/Usage.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/UsageGenerator/NoRootAndCommonCommandsProvided.usage.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/UsageGenerator/NoRootAndCommonCommandsProvidedAndDisableUsageInfo.usage.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/UsageGenerator/NoRootCommandButAtLeastOneCommandProvided.usage.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/UsageGenerator/NoRootCommandButMultipleCommandsRegistered.usage.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/UsageGenerator/RootAndNestedCommandsProvided.usage.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/UsageGenerator/RootCommandAndCommonCommandsProvided.usage.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/UsageGenerator/RootCommandOnly.usage.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Integrations/UsageGenerator/UsageGeneratorIntegration.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/MustardFactory.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Registry.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/UsageGenerator.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Utils.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/UtilsProvider.spec.ts (100%) rename packages/mustard-cli/{source/__tests__ => tests}/Validator.spec.ts (100%) create mode 100644 packages/sample/workflow.md diff --git a/packages/mustard-cli/.vscode/settings.json b/packages/mustard-cli/.vscode/settings.json deleted file mode 100644 index 25fa621..0000000 --- a/packages/mustard-cli/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "typescript.tsdk": "node_modules/typescript/lib" -} diff --git a/packages/mustard-cli/source/Components/ConflictChecker.ts b/packages/mustard-cli/source/Components/ConflictChecker.ts deleted file mode 100644 index 377aa43..0000000 --- a/packages/mustard-cli/source/Components/ConflictChecker.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { MustardRegistry } from "./Registry"; - -export class ConflictChecker { - public static beforeRegisterCommand(registryKey: string) {} - - public static beforeRegisterCommandAlias() {} -} diff --git a/packages/mustard-cli/source/Commands/BuiltInCommands.ts b/packages/mustard-cli/source/Core/BuiltInCommands.ts similarity index 94% rename from packages/mustard-cli/source/Commands/BuiltInCommands.ts rename to packages/mustard-cli/source/Core/BuiltInCommands.ts index 665658a..79490e2 100644 --- a/packages/mustard-cli/source/Commands/BuiltInCommands.ts +++ b/packages/mustard-cli/source/Core/BuiltInCommands.ts @@ -1,7 +1,7 @@ import chalk from "chalk"; -import { UsageInfoGenerator } from "../Components/UsageGenerator"; -import { MustardConstanst } from "../Components/Constants"; +import { UsageInfoGenerator } from "../UsageGenerator/UsageGenerator"; +import { MustardConstanst } from "../Utils/Constants"; import type { Configurations } from "../Typings/Configuration.struct"; import type { Arguments } from "yargs-parser"; diff --git a/packages/mustard-cli/source/Commands/CommandLine.ts b/packages/mustard-cli/source/Core/CommandLine.ts similarity index 96% rename from packages/mustard-cli/source/Commands/CommandLine.ts rename to packages/mustard-cli/source/Core/CommandLine.ts index 8311922..791e7d7 100644 --- a/packages/mustard-cli/source/Commands/CommandLine.ts +++ b/packages/mustard-cli/source/Core/CommandLine.ts @@ -1,9 +1,9 @@ import _debug from "debug"; -import { MustardRegistry } from "../Components/Registry"; -import { MustardConstanst } from "../Components/Constants"; -import { DecoratedClassFieldsNormalizer } from "../Components/DecoratedFieldsNormalizer"; -import { MustardUtils } from "../Components/Utils"; +import { MustardRegistry } from "./Registry"; +import { MustardConstanst } from "../Utils/Constants"; +import { DecoratedClassFieldsNormalizer } from "./DecoratedFieldsNormalizer"; +import { MustardUtils } from "../Utils/Utils"; import { BuiltInCommands } from "./BuiltInCommands"; diff --git a/packages/mustard-cli/source/Components/DecoratedFieldsNormalizer.ts b/packages/mustard-cli/source/Core/DecoratedFieldsNormalizer.ts similarity index 98% rename from packages/mustard-cli/source/Components/DecoratedFieldsNormalizer.ts rename to packages/mustard-cli/source/Core/DecoratedFieldsNormalizer.ts index 432b6be..8546f66 100644 --- a/packages/mustard-cli/source/Components/DecoratedFieldsNormalizer.ts +++ b/packages/mustard-cli/source/Core/DecoratedFieldsNormalizer.ts @@ -1,5 +1,5 @@ import { MustardRegistry } from "./Registry"; -import { MustardUtils } from "./Utils"; +import { MustardUtils } from "../Utils/Utils"; import { MustardUtilsProvider } from "./MustardUtilsProvider"; import groupBy from "lodash.groupby"; @@ -24,7 +24,7 @@ import type { TaggedDecoratedInstanceFields, } from "../Typings/Utils.struct"; import type { CLIInstantiationConfiguration } from "../Typings/Configuration.struct"; -import { z } from "zod"; +import { SchemaExtractor } from "../Schema/SchemaExtractor"; export class DecoratedClassFieldsNormalizer { public static throwOnUnknownOptions( @@ -201,6 +201,8 @@ export class DecoratedClassFieldsNormalizer { restrictValues, } = >value; + console.log(SchemaExtractor.extractOptionConstraints(schema)); + const isCurrentFieldRequired = schema ? !schema.isOptional() : false; // use value from parsed args diff --git a/packages/mustard-cli/source/Components/MustardFactory.ts b/packages/mustard-cli/source/Core/MustardFactory.ts similarity index 96% rename from packages/mustard-cli/source/Components/MustardFactory.ts rename to packages/mustard-cli/source/Core/MustardFactory.ts index 5499225..dd505d9 100644 --- a/packages/mustard-cli/source/Components/MustardFactory.ts +++ b/packages/mustard-cli/source/Core/MustardFactory.ts @@ -1,4 +1,4 @@ -import { CLI } from "../Commands/CommandLine"; +import { CLI } from "./CommandLine"; import { NullishFactoryOptionError } from "../Errors/NullishFactoryOptionError"; import type { MustardApp } from "../Typings/Factory.struct"; diff --git a/packages/mustard-cli/source/Components/MustardUtilsProvider.ts b/packages/mustard-cli/source/Core/MustardUtilsProvider.ts similarity index 100% rename from packages/mustard-cli/source/Components/MustardUtilsProvider.ts rename to packages/mustard-cli/source/Core/MustardUtilsProvider.ts diff --git a/packages/mustard-cli/source/Components/Registry.ts b/packages/mustard-cli/source/Core/Registry.ts similarity index 97% rename from packages/mustard-cli/source/Components/Registry.ts rename to packages/mustard-cli/source/Core/Registry.ts index e646729..15d5a82 100644 --- a/packages/mustard-cli/source/Components/Registry.ts +++ b/packages/mustard-cli/source/Core/Registry.ts @@ -1,4 +1,4 @@ -import { MustardConstanst } from "./Constants"; +import { MustardConstanst } from "../Utils/Constants"; import type { CommandRegistryPayload } from "../Typings/Command.struct"; import type { Dictionary } from "../Typings/Shared.struct"; diff --git a/packages/mustard-cli/source/Decorators/Command.ts b/packages/mustard-cli/source/Decorators/Command.ts index 97d5a71..064fd99 100644 --- a/packages/mustard-cli/source/Decorators/Command.ts +++ b/packages/mustard-cli/source/Decorators/Command.ts @@ -1,7 +1,7 @@ import _debug from "debug"; -import { MustardRegistry } from "../Components/Registry"; -import { MustardConstanst } from "../Components/Constants"; +import { MustardRegistry } from "../Core/Registry"; +import { MustardConstanst } from "../Utils/Constants"; import { MultiRootCommandError } from "../Errors/MultiRootCommandError"; diff --git a/packages/mustard-cli/source/Decorators/Controller.ts b/packages/mustard-cli/source/Decorators/Controller.ts index 6c75795..0ee74b5 100644 --- a/packages/mustard-cli/source/Decorators/Controller.ts +++ b/packages/mustard-cli/source/Decorators/Controller.ts @@ -1,4 +1,4 @@ -import { MustardUtils } from "../Components/Utils"; +import { MustardUtils } from "../Utils/Utils"; import type { RestrictValueSet } from "../Typings/Controller.struct"; import type { ClassFieldDecoratorImpl } from "../Typings/Decorator.struct"; diff --git a/packages/mustard-cli/source/Decorators/DIService.ts b/packages/mustard-cli/source/Decorators/DIService.ts index 65a4893..eab7dd6 100644 --- a/packages/mustard-cli/source/Decorators/DIService.ts +++ b/packages/mustard-cli/source/Decorators/DIService.ts @@ -1,4 +1,4 @@ -import { MustardRegistry } from "../Components/Registry"; +import { MustardRegistry } from "../Core/Registry"; import type { InjectInitializerPlaceHolder } from "../Typings/Context.struct"; import type { diff --git a/packages/mustard-cli/source/Decorators/Option.ts b/packages/mustard-cli/source/Decorators/Option.ts index c30f2d9..4d7411e 100644 --- a/packages/mustard-cli/source/Decorators/Option.ts +++ b/packages/mustard-cli/source/Decorators/Option.ts @@ -1,6 +1,6 @@ import _debug from "debug"; -import { MustardRegistry } from "../Components/Registry"; +import { MustardRegistry } from "../Core/Registry"; import { ValidatorFactory } from "../Validators/Factory"; import type { diff --git a/packages/mustard-cli/source/Errors/MissingRequiredErrot.ts b/packages/mustard-cli/source/Errors/MissingRequiredErrot.ts new file mode 100644 index 0000000..e69de29 diff --git a/packages/mustard-cli/source/Exports/ComanndLine.ts b/packages/mustard-cli/source/Exports/ComanndLine.ts index 0120e23..6ce480d 100644 --- a/packages/mustard-cli/source/Exports/ComanndLine.ts +++ b/packages/mustard-cli/source/Exports/ComanndLine.ts @@ -1,4 +1,4 @@ -export { CLI } from "../Commands/CommandLine"; +export { CLI } from "../Core/CommandLine"; export type { MustardApp } from "../Typings/Factory.struct"; export type { CommandStruct } from "../Typings/Command.struct"; diff --git a/packages/mustard-cli/source/Exports/Decorators.ts b/packages/mustard-cli/source/Exports/Decorators.ts index c2f5123..56c94f5 100644 --- a/packages/mustard-cli/source/Exports/Decorators.ts +++ b/packages/mustard-cli/source/Exports/Decorators.ts @@ -5,7 +5,7 @@ import { OptionDecorators } from "../Decorators/Option"; import { DIServiceDecorators } from "../Decorators/DIService"; import { ControllerDecorators } from "../Decorators/Controller"; -import { MustardFactory } from "../Components/MustardFactory"; +import { MustardFactory } from "../Core/MustardFactory"; export const { App } = MustardFactory; export const { Command, RootCommand } = CommandDecorators; diff --git a/packages/mustard-cli/source/Exports/index.ts b/packages/mustard-cli/source/Exports/index.ts index 02d31c7..33ea36d 100644 --- a/packages/mustard-cli/source/Exports/index.ts +++ b/packages/mustard-cli/source/Exports/index.ts @@ -1,9 +1,9 @@ -import { MustardUtilsProvider } from "../Components/MustardUtilsProvider"; +import { MustardUtilsProvider } from "../Core/MustardUtilsProvider"; export * from "./Decorators"; export * from "./ComanndLine"; export { Validator } from "./Validator"; -export { MustardFactory } from "../Components/MustardFactory"; +export { MustardFactory } from "../Core/MustardFactory"; export type MustardUtils = Omit; export type { Context } from "../Typings/Context.struct"; diff --git a/packages/mustard-cli/source/Schema/SchemaExtractor.ts b/packages/mustard-cli/source/Schema/SchemaExtractor.ts new file mode 100644 index 0000000..169da51 --- /dev/null +++ b/packages/mustard-cli/source/Schema/SchemaExtractor.ts @@ -0,0 +1,64 @@ +// @ts-nocheck +import { z } from "zod"; + +interface OptionConstraints { + required: boolean; + type: "string" | "number" | "boolean" | "enum" | "unknown"; + minLength?: number; + maxLength?: number; + min?: number; + max?: number; + int?: true; + enumValues?: readonly string[]; +} + +export class SchemaExtractor { + public static extractOptionConstraints( + schema?: z.ZodTypeAny + ): OptionConstraints | null { + if (!schema) return null; + const required = !schema.isOptional(); + const baseSchema = + schema instanceof z.ZodOptional ? schema.unwrap() : schema; + if (baseSchema instanceof z.ZodString) { + const checks = baseSchema._def.checks; + + console.log(checks); + + const min = checks.find((check) => check.kind === "min"); + const max = checks.find((check) => check.kind === "max"); + return { + required, + type: "string", + minLength: min?.value, + maxLength: max?.value, + }; + } + if (baseSchema instanceof z.ZodNumber) { + const checks = baseSchema._def.checks; + const gte = checks.find((check) => check.kind === "min"); + const lte = checks.find((check) => check.kind === "max"); + const isInt = checks.some((check) => check.kind === "int"); + return { + required, + type: "number", + min: gte?.value, + max: lte?.value, + int: isInt ? true : undefined, + }; + } + if (baseSchema instanceof z.ZodBoolean) { + return { required, type: "boolean" }; + } + if (baseSchema instanceof z.ZodNativeEnum) { + return { + required, + type: "enum", + enumValues: Object.values(baseSchema._def.values).filter( + (v): v is string => typeof v === "string" + ), + }; + } + return { required, type: "unknown" }; + } +} diff --git a/packages/mustard-cli/source/Typings/Utils.struct.ts b/packages/mustard-cli/source/Typings/Utils.struct.ts index 30caf76..97e448e 100644 --- a/packages/mustard-cli/source/Typings/Utils.struct.ts +++ b/packages/mustard-cli/source/Typings/Utils.struct.ts @@ -1,4 +1,4 @@ -import type { InstanceFieldDecorationTypesUnion } from "../Components/Constants"; +import type { InstanceFieldDecorationTypesUnion } from "../Utils/Constants"; export interface BasePlaceholder { type: InstanceFieldDecorationTypesUnion; diff --git a/packages/mustard-cli/source/Components/UsageGenerator.ts b/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts similarity index 98% rename from packages/mustard-cli/source/Components/UsageGenerator.ts rename to packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts index 800f62b..49d549b 100644 --- a/packages/mustard-cli/source/Components/UsageGenerator.ts +++ b/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts @@ -1,5 +1,5 @@ -import { MustardRegistry } from "./Registry"; -import { MustardUtils } from "./Utils"; +import { MustardRegistry } from "../Core/Registry"; +import { MustardUtils } from "../Utils/Utils"; import uniqBy from "lodash.uniqby"; import type { CommandRegistryPayload } from "../Typings/Command.struct"; diff --git a/packages/mustard-cli/source/Components/Constants.ts b/packages/mustard-cli/source/Utils/Constants.ts similarity index 100% rename from packages/mustard-cli/source/Components/Constants.ts rename to packages/mustard-cli/source/Utils/Constants.ts diff --git a/packages/mustard-cli/source/Components/Utils.ts b/packages/mustard-cli/source/Utils/Utils.ts similarity index 99% rename from packages/mustard-cli/source/Components/Utils.ts rename to packages/mustard-cli/source/Utils/Utils.ts index fe9776e..1932207 100644 --- a/packages/mustard-cli/source/Components/Utils.ts +++ b/packages/mustard-cli/source/Utils/Utils.ts @@ -2,7 +2,7 @@ import mri from "mri"; import uniqby from "lodash.uniqby"; import parse from "yargs-parser"; import { closest } from "fastest-levenshtein"; -import { MustardRegistry } from "./Registry"; +import { MustardRegistry } from "../Core/Registry"; import { MustardConstanst } from "./Constants"; import type { diff --git a/packages/mustard-cli/source/__tests__/BuiltInCommands.spec.ts b/packages/mustard-cli/tests/BuiltInCommands.spec.ts similarity index 95% rename from packages/mustard-cli/source/__tests__/BuiltInCommands.spec.ts rename to packages/mustard-cli/tests/BuiltInCommands.spec.ts index d6a78d0..2f8789c 100644 --- a/packages/mustard-cli/source/__tests__/BuiltInCommands.spec.ts +++ b/packages/mustard-cli/tests/BuiltInCommands.spec.ts @@ -1,11 +1,11 @@ import { CommandRegistryPayload, CommandStruct, -} from "../Typings/Command.struct"; +} from "../source/Typings/Command.struct"; import { describe, it, expect, vi, beforeEach } from "vitest"; -import { BuiltInCommands } from "../Commands/BuiltInCommands"; -import { MustardConstanst } from "../Components/Constants"; -import { UsageInfoGenerator } from "../Components/UsageGenerator"; +import { BuiltInCommands } from "../source/Commands/BuiltInCommands"; +import { MustardConstanst } from "../source/Components/Constants"; +import { UsageInfoGenerator } from "../source/Components/UsageGenerator/UsageGenerator"; vi.spyOn(UsageInfoGenerator, "printHelp").mockImplementation(() => {}); vi.spyOn(UsageInfoGenerator, "initGenerator").mockImplementation(() => {}); diff --git a/packages/mustard-cli/source/__tests__/CommandLine.spec.ts b/packages/mustard-cli/tests/CommandLine.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/CommandLine.spec.ts rename to packages/mustard-cli/tests/CommandLine.spec.ts diff --git a/packages/mustard-cli/source/__tests__/Decorators.spec.ts b/packages/mustard-cli/tests/Decorators.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Decorators.spec.ts rename to packages/mustard-cli/tests/Decorators.spec.ts diff --git a/packages/mustard-cli/source/__tests__/Errors.spec.ts b/packages/mustard-cli/tests/Errors.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Errors.spec.ts rename to packages/mustard-cli/tests/Errors.spec.ts diff --git a/packages/mustard-cli/source/__tests__/FieldsNormalizer.spec.ts b/packages/mustard-cli/tests/FieldsNormalizer.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/FieldsNormalizer.spec.ts rename to packages/mustard-cli/tests/FieldsNormalizer.spec.ts diff --git a/packages/mustard-cli/source/__tests__/Fixtures/TestHelper.ts b/packages/mustard-cli/tests/Fixtures/TestHelper.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Fixtures/TestHelper.ts rename to packages/mustard-cli/tests/Fixtures/TestHelper.ts diff --git a/packages/mustard-cli/source/__tests__/Fixtures/UsageFixtures.ts b/packages/mustard-cli/tests/Fixtures/UsageFixtures.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Fixtures/UsageFixtures.ts rename to packages/mustard-cli/tests/Fixtures/UsageFixtures.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/BuiltInCommands/BuiltInCommands.spec.ts b/packages/mustard-cli/tests/Integrations/BuiltInCommands/BuiltInCommands.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/BuiltInCommands/BuiltInCommands.spec.ts rename to packages/mustard-cli/tests/Integrations/BuiltInCommands/BuiltInCommands.spec.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/BuiltInCommands/Usage1.ts b/packages/mustard-cli/tests/Integrations/BuiltInCommands/Usage1.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/BuiltInCommands/Usage1.ts rename to packages/mustard-cli/tests/Integrations/BuiltInCommands/Usage1.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/BuiltInCommands/Usage2.ts b/packages/mustard-cli/tests/Integrations/BuiltInCommands/Usage2.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/BuiltInCommands/Usage2.ts rename to packages/mustard-cli/tests/Integrations/BuiltInCommands/Usage2.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/BuiltInCommands/Usage3.ts b/packages/mustard-cli/tests/Integrations/BuiltInCommands/Usage3.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/BuiltInCommands/Usage3.ts rename to packages/mustard-cli/tests/Integrations/BuiltInCommands/Usage3.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/Common/Common.spec.ts b/packages/mustard-cli/tests/Integrations/Common/Common.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/Common/Common.spec.ts rename to packages/mustard-cli/tests/Integrations/Common/Common.spec.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/Common/Usage.ts b/packages/mustard-cli/tests/Integrations/Common/Usage.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/Common/Usage.ts rename to packages/mustard-cli/tests/Integrations/Common/Usage.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/MultiRootCommands/MultiRootCommands.spec.ts b/packages/mustard-cli/tests/Integrations/MultiRootCommands/MultiRootCommands.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/MultiRootCommands/MultiRootCommands.spec.ts rename to packages/mustard-cli/tests/Integrations/MultiRootCommands/MultiRootCommands.spec.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/MultiRootCommands/Usage.ts b/packages/mustard-cli/tests/Integrations/MultiRootCommands/Usage.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/MultiRootCommands/Usage.ts rename to packages/mustard-cli/tests/Integrations/MultiRootCommands/Usage.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/NonCompleteParse/NonCompleteParse.spec.ts b/packages/mustard-cli/tests/Integrations/NonCompleteParse/NonCompleteParse.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/NonCompleteParse/NonCompleteParse.spec.ts rename to packages/mustard-cli/tests/Integrations/NonCompleteParse/NonCompleteParse.spec.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/NonCompleteParse/Usage.ts b/packages/mustard-cli/tests/Integrations/NonCompleteParse/Usage.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/NonCompleteParse/Usage.ts rename to packages/mustard-cli/tests/Integrations/NonCompleteParse/Usage.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/RestrictValue/RestrictValue.spec.ts b/packages/mustard-cli/tests/Integrations/RestrictValue/RestrictValue.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/RestrictValue/RestrictValue.spec.ts rename to packages/mustard-cli/tests/Integrations/RestrictValue/RestrictValue.spec.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/RestrictValue/Usage.ts b/packages/mustard-cli/tests/Integrations/RestrictValue/Usage.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/RestrictValue/Usage.ts rename to packages/mustard-cli/tests/Integrations/RestrictValue/Usage.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/Root/Root.spec.ts b/packages/mustard-cli/tests/Integrations/Root/Root.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/Root/Root.spec.ts rename to packages/mustard-cli/tests/Integrations/Root/Root.spec.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/Root/Usage.ts b/packages/mustard-cli/tests/Integrations/Root/Usage.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/Root/Usage.ts rename to packages/mustard-cli/tests/Integrations/Root/Usage.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/NoRootAndCommonCommandsProvided.usage.ts b/packages/mustard-cli/tests/Integrations/UsageGenerator/NoRootAndCommonCommandsProvided.usage.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/NoRootAndCommonCommandsProvided.usage.ts rename to packages/mustard-cli/tests/Integrations/UsageGenerator/NoRootAndCommonCommandsProvided.usage.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/NoRootAndCommonCommandsProvidedAndDisableUsageInfo.usage.ts b/packages/mustard-cli/tests/Integrations/UsageGenerator/NoRootAndCommonCommandsProvidedAndDisableUsageInfo.usage.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/NoRootAndCommonCommandsProvidedAndDisableUsageInfo.usage.ts rename to packages/mustard-cli/tests/Integrations/UsageGenerator/NoRootAndCommonCommandsProvidedAndDisableUsageInfo.usage.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/NoRootCommandButAtLeastOneCommandProvided.usage.ts b/packages/mustard-cli/tests/Integrations/UsageGenerator/NoRootCommandButAtLeastOneCommandProvided.usage.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/NoRootCommandButAtLeastOneCommandProvided.usage.ts rename to packages/mustard-cli/tests/Integrations/UsageGenerator/NoRootCommandButAtLeastOneCommandProvided.usage.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/NoRootCommandButMultipleCommandsRegistered.usage.ts b/packages/mustard-cli/tests/Integrations/UsageGenerator/NoRootCommandButMultipleCommandsRegistered.usage.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/NoRootCommandButMultipleCommandsRegistered.usage.ts rename to packages/mustard-cli/tests/Integrations/UsageGenerator/NoRootCommandButMultipleCommandsRegistered.usage.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/RootAndNestedCommandsProvided.usage.ts b/packages/mustard-cli/tests/Integrations/UsageGenerator/RootAndNestedCommandsProvided.usage.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/RootAndNestedCommandsProvided.usage.ts rename to packages/mustard-cli/tests/Integrations/UsageGenerator/RootAndNestedCommandsProvided.usage.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/RootCommandAndCommonCommandsProvided.usage.ts b/packages/mustard-cli/tests/Integrations/UsageGenerator/RootCommandAndCommonCommandsProvided.usage.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/RootCommandAndCommonCommandsProvided.usage.ts rename to packages/mustard-cli/tests/Integrations/UsageGenerator/RootCommandAndCommonCommandsProvided.usage.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/RootCommandOnly.usage.ts b/packages/mustard-cli/tests/Integrations/UsageGenerator/RootCommandOnly.usage.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/RootCommandOnly.usage.ts rename to packages/mustard-cli/tests/Integrations/UsageGenerator/RootCommandOnly.usage.ts diff --git a/packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/UsageGeneratorIntegration.spec.ts b/packages/mustard-cli/tests/Integrations/UsageGenerator/UsageGeneratorIntegration.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Integrations/UsageGenerator/UsageGeneratorIntegration.spec.ts rename to packages/mustard-cli/tests/Integrations/UsageGenerator/UsageGeneratorIntegration.spec.ts diff --git a/packages/mustard-cli/source/__tests__/MustardFactory.spec.ts b/packages/mustard-cli/tests/MustardFactory.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/MustardFactory.spec.ts rename to packages/mustard-cli/tests/MustardFactory.spec.ts diff --git a/packages/mustard-cli/source/__tests__/Registry.spec.ts b/packages/mustard-cli/tests/Registry.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Registry.spec.ts rename to packages/mustard-cli/tests/Registry.spec.ts diff --git a/packages/mustard-cli/source/__tests__/UsageGenerator.spec.ts b/packages/mustard-cli/tests/UsageGenerator.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/UsageGenerator.spec.ts rename to packages/mustard-cli/tests/UsageGenerator.spec.ts diff --git a/packages/mustard-cli/source/__tests__/Utils.spec.ts b/packages/mustard-cli/tests/Utils.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Utils.spec.ts rename to packages/mustard-cli/tests/Utils.spec.ts diff --git a/packages/mustard-cli/source/__tests__/UtilsProvider.spec.ts b/packages/mustard-cli/tests/UtilsProvider.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/UtilsProvider.spec.ts rename to packages/mustard-cli/tests/UtilsProvider.spec.ts diff --git a/packages/mustard-cli/source/__tests__/Validator.spec.ts b/packages/mustard-cli/tests/Validator.spec.ts similarity index 100% rename from packages/mustard-cli/source/__tests__/Validator.spec.ts rename to packages/mustard-cli/tests/Validator.spec.ts diff --git a/packages/mustard-cli/tsconfig.json b/packages/mustard-cli/tsconfig.json index 8c1ff80..7f8a4e4 100644 --- a/packages/mustard-cli/tsconfig.json +++ b/packages/mustard-cli/tsconfig.json @@ -28,12 +28,6 @@ "baseUrl": ".", "rootDir": "source" }, - "include": ["source"], - "exclude": [ - "dist", - "samples", - "source/__tests__", - "vitest.config.ts", - "sample.ts" - ] + "include": ["source", "__tests__"], + "exclude": ["dist", "samples", "__tests__", "vitest.config.ts", "sample.ts"] } diff --git a/packages/sample/workflow.md b/packages/sample/workflow.md new file mode 100644 index 0000000..5fcec32 --- /dev/null +++ b/packages/sample/workflow.md @@ -0,0 +1,695 @@ +# Mustard CLI 内部处理流程 + +本文档基于 `packages/sample` 下的几种 CLI 应用构建方式,梳理 mustard-cli 框架从装饰器元数据采集到命令执行的完整内部流程。 + +--- + +## 目录 + +- [总体架构](#总体架构) +- [阶段一:装饰器元数据采集](#阶段一装饰器元数据采集) + - [命令注册 @Command / @RootCommand](#命令注册) + - [选项注册 @Option / @VariadicOption / @Options](#选项注册) + - [输入注册 @Input](#输入注册) + - [依赖注入 @Inject / @Provide](#依赖注入装饰器) + - [控制器 @Restrict](#控制器装饰器) +- [阶段二:应用引导](#阶段二应用引导) +- [阶段三:命令分发与执行](#阶段三命令分发与执行) +- [阶段四:字段归一化](#阶段四字段归一化) +- [示例模式详解](#示例模式详解) + - [模式一:全功能应用 (index.mts)](#模式一全功能应用) + - [模式二:通用模式 (Common.ts)](#模式二通用模式) + - [模式三:嵌套子命令 (Nested.ts)](#模式三嵌套子命令) + - [模式四:依赖注入 (WithCustomProviders.ts)](#模式四依赖注入) + +--- + +## 总体架构 + +```mermaid +flowchart TB + subgraph Phase1["阶段一:类加载 · 装饰器元数据采集"] + D1["@Command / @RootCommand
→ MustardRegistry.registerInit()"] + D2["@Option / @VariadicOption
→ 返回占位对象 + 写入 AliasMap / VariadicOptions"] + D3["@Options / @Input
→ 返回占位对象"] + D4["@Inject
→ 返回 Inject 占位对象"] + D5["@Restrict
→ addInitializer 合并 restrictValues"] + end + + subgraph Phase2["阶段二:应用引导"] + A1["@App() 存储 FactoryOptions"] + A2["MustardFactory.init(Project)"] + A3["new CLI(name, commands, config)"] + A4["registerCommand → InitRegistry → CommandRegistry"] + A5["registerProvider → ExternalProviderRegistry"] + A6["configure lifeCycles"] + end + + subgraph Phase3["阶段三:启动 · 命令分发"] + S1["cli.start()"] + S2["onStart 生命周期"] + S3["instantiateWithParse:
new Class() + parseFromProcessArgs"] + S4{"parsedArgs._ 为空?"} + S5["dispatchRootHandler"] + S6["dispatchCommand:
findHandlerCommandWithInputs"] + end + + subgraph Phase4["阶段四:字段归一化 · 执行"] + N1["throwOnUnknownOptions
(可选)"] + N2["normalizeDecoratedFields"] + N3["handler.run()"] + N4["onComplete / onError"] + end + + Phase1 --> Phase2 + Phase2 --> Phase3 + + A1 --> A2 --> A3 + A3 --> A4 --> A5 --> A6 + + S1 --> S2 --> S3 --> S4 + S4 -->|是| S5 + S4 -->|否| S6 + S5 --> N1 + S6 --> N1 + + N1 --> N2 --> N3 --> N4 +``` + +--- + +## 阶段一:装饰器元数据采集 + +### 命令注册 + +`@Command` 和 `@RootCommand` 在类加载时将命令元数据写入 `MustardRegistry.InitCommandRegistry`。 + +```mermaid +flowchart LR + subgraph RootCommand["@RootCommand()"] + RC1["检查是否已有 Root"] + RC2{"重复?"} + RC3["MultiRootCommandError"] + RC4["registerInit(className,
{commandInvokeName: 'root',
Class, root: true})"] + end + + RC1 --> RC2 + RC2 -->|是| RC3 + RC2 -->|否| RC4 + + subgraph CommandDec["@Command(name, alias?, desc?, children?)"] + C1["解析重载参数
name / alias / description / childCommandList"] + C2["registerCommandImpl"] + C3["registerInit(className,
{commandInvokeName, commandAlias,
description, Class, childCommandList})"] + end + + C1 --> C2 --> C3 +``` + +**别名判定规则**:当第二个字符串参数长度 ≤ 2 时视为 alias,否则视为 description。 + +### 选项注册 + +`@Option` / `@VariadicOption` / `@Options` 都通过**字段装饰器初始化函数**返回带有 `type` 标记的占位对象,同时在全局注册表中记录别名和可变参数信息。 + +```mermaid +flowchart TB + subgraph OptionDec["@Option(name?, alias?, desc?, validator?)"] + O1["解析重载参数"] + O2["OptionImpl(name, alias, desc, validator)"] + O3["返回 field initializer"] + O4["alias → MustardRegistry.OptionAliasMap"] + O5["返回占位对象:
{type: 'Option', optionName,
optionAlias, initValue, schema, description}"] + end + + O1 --> O2 --> O3 + O3 --> O4 + O3 --> O5 + + subgraph VariadicDec["@VariadicOption(name?, alias?, desc?)"] + V1["解析重载参数"] + V2["VariadicOptionImpl"] + V3["MustardRegistry.VariadicOptions.add(name)"] + V4["alias → VariadicOptions.add(alias)"] + V5["返回占位对象:
{type: 'VariadicOption', optionName,
optionAlias, description, initValue}"] + end + + V1 --> V2 + V2 --> V3 + V2 --> V4 + V2 --> V5 + + subgraph OptionsDec["@Options()"] + OS1["返回 field initializer"] + OS2["返回占位对象:
{type: 'Options', initValue}"] + end + + OS1 --> OS2 +``` + +### 输入注册 + +```mermaid +flowchart LR + subgraph InputDec["@Input(description?)"] + I1["返回 field initializer"] + I2["返回占位对象:
{type: 'Input', initValue, description}"] + end + I1 --> I2 +``` + +### 依赖注入装饰器 + +```mermaid +flowchart LR + subgraph InjectDec["@Inject(identifier?)"] + IJ1["返回 field initializer"] + IJ2["返回占位对象:
{type: 'Inject',
identifier: identifier ?? context.name}"] + end + IJ1 --> IJ2 + + subgraph ProvideDec["@Provide(identifier?)"] + P1["ExternalProviderRegistry.set(
identifier ?? context.name, target)"] + end +``` + +### 控制器装饰器 + +```mermaid +flowchart LR + subgraph RestrictDec["@Restrict(restrictValues)"] + R1["context.addInitializer"] + R2["读取当前字段值"] + R3{"isOptionInitializer?"} + R4["合并 restrictValues 到占位对象"] + R5["跳过"] + end + R1 --> R2 --> R3 + R3 -->|是| R4 + R3 -->|否| R5 +``` + +--- + +## 阶段二:应用引导 + +`@App` 装饰器仅存储配置,`MustardFactory.init()` 才真正启动应用构建。 + +```mermaid +sequenceDiagram + participant User as 用户代码 + participant App as @App 装饰器 + participant Factory as MustardFactory + participant CLIClass as CLI + participant Registry as MustardRegistry + + User->>App: @App({ name, commands, configurations, providers }) + App->>Factory: 存储 FactoryOptions (静态变量) + + User->>Factory: MustardFactory.init(Project) + Factory->>Factory: new Project() (触发 @App 生效) + Factory->>Factory: 读取 FactoryOptions + + Factory->>CLIClass: new CLI(name, commands, config) + CLIClass->>CLIClass: normalizeConfigurations()
填充默认值 + + loop 每个 Command 类 + CLIClass->>Registry: provideInit(Class.name) + Registry-->>CLIClass: InitCommandRegistry 中的 payload + CLIClass->>Registry: register(commandInvokeName, payload) + alt 有 alias + CLIClass->>Registry: register(alias, payload) + end + alt 有 childCommandList + CLIClass->>CLIClass: 递归 registerCommand(children) + end + end + + Factory->>CLIClass: registerProvider(providers) + loop 每个 Provider + alt 是构造函数 + CLIClass->>Registry: ExternalProviderRegistry.set(name, provider) + else 是 {identifier, value} 对象 + CLIClass->>Registry: ExternalProviderRegistry.set(identifier, value) + end + end + + Factory->>CLIClass: configure({ lifeCycles: { onStart, onError, onComplete } }) + Factory->>Factory: flush() 清空 FactoryOptions + Factory-->>User: 返回 CLI 实例 +``` + +--- + +## 阶段三:命令分发与执行 + +```mermaid +flowchart TB + Start["cli.start()"] --> OnStart["lifeCycles.onStart?.()"] + OnStart --> Instantiate["instantiateWithParse()"] + + subgraph Instantiate_Detail["实例化与参数解析"] + Inst1["遍历 CommandRegistry"] + Inst2["new commandRegistration.Class()"] + Inst3["filterDecoratedInstanceFields(instance)
收集所有带 type 标记的占位字段"] + Inst4["MustardRegistry.upsert(key, { instance, decoratedInstanceFields })"] + Inst5["parseFromProcessArgs(VariadicOptions, OptionAliasMap)"] + Inst6{"存在 VariadicOptions
或 AliasMap?"} + Inst7["使用 yargs-parser
(array + alias + greedy-arrays)"] + Inst8["使用 mri
(轻量解析)"] + end + + Instantiate --> Inst1 --> Inst2 --> Inst3 --> Inst4 + Inst4 --> Inst5 --> Inst6 + Inst6 -->|是| Inst7 + Inst6 -->|否| Inst8 + + Inst7 --> Version + Inst8 --> Version + + Version["BuiltInCommands.useVersionCommand
(--version / -v)"] + Version --> CheckRoot{"parsedArgs._.length === 0?"} + + CheckRoot -->|是| RootPath + CheckRoot -->|否| CmdPath + + subgraph RootPath["根命令分发"] + R1["provideRootCommand()"] + R2{"有 RootCommand?"} + R3["useHelpCommand (--help)"] + R4["executeCommandFromRegistration"] + R5{"enableUsage?"} + R6["打印全局帮助"] + R7["NoRootHandlerError"] + end + + R1 --> R2 + R2 -->|是| R3 --> R4 + R2 -->|否| R5 + R5 -->|是| R6 + R5 -->|否| R7 + + subgraph CmdPath["子命令分发"] + C1["findHandlerCommandWithInputs(parsedArgs._)"] + C2{"命中命令?"} + C3["CommandNotFoundError"] + C4["useHelpCommand (--help)"] + C5["handleCommandExecution"] + end + + C1 --> C2 + C2 -->|否| C3 + C2 -->|是| C4 --> C5 +``` + +### 子命令匹配算法 + +```mermaid +flowchart TB + Input["parsedArgs._ = ['update', 'dep', 'extra']"] + Step1["取第一个 token: 'update'"] + Step2{"在 CommandRegistry 中查找 'update'"} + Step3["命中 → 检查 childCommandList"] + Step4{"childCommandList
不为空?"} + Step5["取下一个 token: 'dep'"] + Step6{"在 registry 中找到
子命令 'dep'?"} + Step7["命中子命令 'dep'
inputs = ['extra']"] + Step8["未命中子命令
当前命令 = 'update'
inputs = ['dep', 'extra']"] + Step9["未命中任何命令
回退 RootCommand
inputs = 全部 tokens"] + + Input --> Step1 --> Step2 + Step2 -->|命中| Step3 --> Step4 + Step4 -->|是| Step5 --> Step6 + Step6 -->|是| Step7 + Step6 -->|否| Step8 + Step2 -->|未命中| Step9 + Step4 -->|否| Step8 +``` + +--- + +## 阶段四:字段归一化 + +`DecoratedClassFieldsNormalizer.normalizeDecoratedFields` 根据占位对象的 `type` 分发到不同的归一化策略。 + +```mermaid +flowchart TB + Entry["normalizeDecoratedFields(command, inputs, parsedArgs)"] + Loop["遍历 decoratedInstanceFields"] + Entry --> Loop + + Loop --> Switch{"field.type"} + + Switch -->|Context| Ctx["normalizeContextField
注入 { cwd, argv, inputArgv, env }"] + Switch -->|Utils| Util["normalizeUtilField
注入 MustardUtilsProvider.produce()"] + Switch -->|Inject| Inj["normalizeInjectField"] + Switch -->|Input| Inp["normalizeInputField"] + Switch -->|Option / VariadicOption| Opt["normalizeOption"] + Switch -->|Options| Opts["normalizeOptions"] + + subgraph InjectFlow["Inject 归一化"] + IJ1["读取占位对象的 identifier"] + IJ2["ExternalProviderRegistry.get(identifier)"] + IJ3{"typeof providerFactory"} + IJ4["isConstructable → new factory()"] + IJ5["callable → factory()"] + IJ6["直接使用值"] + IJ7{"结果是 Promise?"} + IJ8["await 后赋值"] + IJ9["同步赋值"] + end + + Inj --> IJ1 --> IJ2 --> IJ3 + IJ3 -->|function| IJ4 + IJ3 -->|function| IJ5 + IJ3 -->|other| IJ6 + IJ4 --> IJ7 + IJ5 --> IJ7 + IJ6 --> IJ9 + IJ7 -->|是| IJ8 + IJ7 -->|否| IJ9 + + subgraph InputFlow["Input 归一化"] + IN1{"inputs 数量"} + IN2["0 → 使用 initValue"] + IN3["1 → 使用 inputs[0]"] + IN4[">1 → 使用 inputs 数组"] + end + + Inp --> IN1 + IN1 --> IN2 + IN1 --> IN3 + IN1 --> IN4 + + subgraph OptionFlow["Option 归一化"] + OP1{"parsedArgs 中存在
optionName 或 alias?"} + OP2["取值 argValue"] + OP3{"有 schema (Zod)?"} + OP4["schema.safeParse(argValue)"] + OP5{"校验通过?"} + OP6["使用校验后的值"] + OP7{"ignoreValidationErrors?"} + OP8["使用原始值"] + OP9["抛出 ValidationError"] + OP10["applyRestrictions
(若有 @Restrict)"] + OP11["赋值到实例字段"] + OP12{"是 required 字段?"} + OP13["抛出 ValidationError:
Required field not specified"] + OP14["使用 initValue ?? undefined"] + end + + Opt --> OP1 + OP1 -->|是| OP2 --> OP3 + OP3 -->|是| OP4 --> OP5 + OP5 -->|是| OP6 --> OP10 + OP5 -->|否| OP7 + OP7 -->|是| OP8 --> OP10 + OP7 -->|否| OP9 + OP3 -->|否| OP10 + OP10 --> OP11 + OP1 -->|否| OP12 + OP12 -->|是| OP13 + OP12 -->|否| OP14 + + subgraph OptionsFlow["Options 聚合归一化"] + OS1["收集所有 Option/VariadicOption
字段的 initValue"] + OS2["与 parsedArgs (去除 _) 合并"] + OS3["赋值到 @Options() 字段"] + end + + Opts --> OS1 --> OS2 --> OS3 +``` + +--- + +## 示例模式详解 + +### 模式一:全功能应用 + +**对应文件**: `index.mts` + +**特征**: RootCommand + 多个子命令 + Validator 校验链 + Input + VariadicOption + enableUsage/enableVersion + +```mermaid +flowchart TB + subgraph ClassLoad["类加载阶段"] + CL1["@RootCommand()
class RootCommandHandle"] + CL2["@Command('update', 'u', ...)
class UpdateCommand"] + CL3["@Command('sync', 's', ...)
class SyncCommand"] + + CL1 --> R1["InitRegistry.set('RootCommandHandle',
{root: true, commandInvokeName: 'root'})"] + + CL2 --> R2["InitRegistry.set('UpdateCommand',
{commandInvokeName: 'update',
commandAlias: 'u'})"] + + CL3 --> R3["InitRegistry.set('SyncCommand',
{commandInvokeName: 'sync',
commandAlias: 's'})"] + end + + subgraph FieldDec["字段装饰器"] + F1["@Option('msg', 'm',
Validator.Required().String().MinLength(5))
→ OptionAliasMap['msg'] = 'm'
→ 占位: {type: 'Option', schema: z.string().min(5)}"] + + F2["@Option('depth', ..., Validator.Number().Gte(1))
→ 占位: {type: 'Option', schema: z.number().gte(1)}"] + + F3["@Option(Validator.Boolean())
→ 占位: {type: 'Option', schema: z.boolean()}"] + + F4["@Option({ name: 'target', alias: 't' })
→ OptionAliasMap['target'] = 't'"] + + F5["@Input()
→ 占位: {type: 'Input'}"] + + F6["@VariadicOption()
→ VariadicOptions.add('packages')"] + end + + subgraph Bootstrap["引导阶段"] + B1["@App({
name: 'create-mustard-app',
commands: [Root, Update, Sync],
configurations: {
allowUnknownOptions: true,
enableUsage: true,
enableVersion: '1.0.0'
}
})"] + + B2["MustardFactory.init(Project).start()"] + end + + subgraph Runtime["运行时: bin update --depth=5 --dry pkg1 pkg2"] + RT1["parseFromProcessArgs
使用 yargs-parser
(因为有 VariadicOptions + AliasMap)"] + RT2["parsedArgs = {
_: ['update'],
depth: 5,
dry: true,
packages: ['pkg1', 'pkg2']
}"] + RT3["findHandlerCommandWithInputs
→ 命中 UpdateCommand"] + RT4["normalizeDecoratedFields"] + RT5["depth: schema.safeParse(5) ✓
dry: schema.safeParse(true) ✓
packages: ['pkg1', 'pkg2']
input: []"] + RT6["UpdateCommand.run()"] + end + + ClassLoad --> FieldDec --> Bootstrap --> Runtime + RT1 --> RT2 --> RT3 --> RT4 --> RT5 --> RT6 +``` + +### 模式二:通用模式 + +**对应文件**: `samples/Common.ts` + +**特征**: @Options() 聚合全部选项 + shebang 脚本入口 + +```mermaid +flowchart TB + subgraph Decorators["装饰器"] + D1["@RootCommand() → RootCommandHandle"] + D2["@Command('update', 'u', ...) → UpdateCommand"] + end + + subgraph Fields["UpdateCommand 字段"] + F1["@Option('depth', Validator.Number().Gte(1))
→ 占位 Option"] + F2["@Option(Validator.Boolean())
→ 占位 Option"] + F3["@Options()
→ 占位 Options (聚合)"] + F4["@Input()
→ 占位 Input"] + F5["@VariadicOption()
→ 占位 VariadicOption"] + end + + subgraph OptionsNormalize["@Options() 归一化流程"] + ON1["收集同级 @Option 字段的 initValue:
{ depth: 10, dry: false }"] + ON2["合并 parsedArgs (去除 _):
{ depth: 5, dry: true, packages: [...] }"] + ON3["赋值到 completeOptions 字段"] + end + + subgraph Runtime["运行时: bin update --depth=5 --dry"] + RT1["parsedArgs._ = ['update']"] + RT2["命中 UpdateCommand"] + RT3["normalizeDecoratedFields"] + RT4["单个 @Option 字段各自归一化"] + RT5["@Options() 字段执行聚合归一化"] + RT6["两者独立赋值,不冲突"] + end + + Decorators --> Fields --> Runtime + RT1 --> RT2 --> RT3 + RT3 --> RT4 + RT3 --> RT5 + RT5 --> OptionsNormalize + ON1 --> ON2 --> ON3 + RT4 --> RT6 + ON3 --> RT6 +``` + +### 模式三:嵌套子命令 + +**对应文件**: `samples/Nested.ts` + +**特征**: `@Command(name, childCommandList)` 构建命令树 + +```mermaid +flowchart TB + subgraph Registration["注册阶段"] + R1["@Command('dep', [])
class UpdateDepCommand"] + R2["@Command('update', [UpdateDepCommand])
class UpdateCommand"] + R3["InitRegistry:
'UpdateDepCommand' → {commandInvokeName: 'dep'}
'UpdateCommand' → {commandInvokeName: 'update',
childCommandList: [UpdateDepCommand]}"] + end + + subgraph CLIRegister["CLI.registerCommand 递归"] + CR1["register('update', payload)"] + CR2["childCommandList = [UpdateDepCommand]"] + CR3["递归: register('dep', depPayload)"] + end + + subgraph CommandTree["命令树"] + CT1["CommandRegistry"] + CT2["'update' → UpdateCommand (children: [dep])"] + CT3["'dep' → UpdateDepCommand"] + end + + Registration --> CLIRegister + CR1 --> CR2 --> CR3 + CLIRegister --> CommandTree + + subgraph Dispatch["分发: bin update dep --packages a b"] + DS1["parsedArgs._ = ['update', 'dep']"] + DS2["第一层: 'update' 命中"] + DS3["检查 childCommandList"] + DS4["第二层: 'dep' 在子命令中命中"] + DS5["最终 handler = UpdateDepCommand
inputs = []"] + DS6["normalizeDecoratedFields → run()"] + end + + DS1 --> DS2 --> DS3 --> DS4 --> DS5 --> DS6 + + subgraph DispatchFallback["分发: bin update foo"] + DF1["parsedArgs._ = ['update', 'foo']"] + DF2["第一层: 'update' 命中"] + DF3["检查 childCommandList"] + DF4["第二层: 'foo' 不在子命令中"] + DF5["回退 handler = UpdateCommand
inputs = ['foo']"] + end + + DF1 --> DF2 --> DF3 --> DF4 --> DF5 +``` + +### 模式四:依赖注入 + +**对应文件**: `samples/WithCustomProviders.ts` + +**特征**: `@Inject` + `providers` 配置实现服务注入 + +```mermaid +flowchart TB + subgraph ProviderSetup["Provider 注册"] + PS1["@App 配置中的 providers"] + PS2["SharedService (构造函数)
→ ExternalProviderRegistry.set(
'SharedService', SharedService)"] + PS3["{identifier: 'DataService', value: DataService}
→ ExternalProviderRegistry.set(
'DataService', DataService)"] + end + + PS1 --> PS2 + PS1 --> PS3 + + subgraph InjectSetup["@Inject 装饰器"] + IS1["@Inject('DataService')
public data: DataService
→ 占位: {type: 'Inject', identifier: 'DataService'}"] + IS2["@Inject('SharedService')
public shared: SharedService
→ 占位: {type: 'Inject', identifier: 'SharedService'}"] + end + + subgraph Resolution["归一化阶段: normalizeInjectField"] + R1["读取占位对象 identifier"] + R2["ExternalProviderRegistry.get(identifier)"] + R3{"返回值类型"} + R4["构造函数 → isConstructable"] + R5{"可 new?"} + R6["new providerFactory()"] + R7["providerFactory() 直接调用"] + R8["非函数 → 直接使用"] + R9["赋值到实例字段"] + end + + InjectSetup --> Resolution + R1 --> R2 --> R3 + R3 -->|function| R4 --> R5 + R5 -->|是| R6 --> R9 + R5 -->|否| R7 --> R9 + R3 -->|非 function| R8 --> R9 + + subgraph Example["示例: UpdateCommand.run()"] + E1["this.data → DataService 实例
this.data.fetch() → 'FetchedData'"] + E2["this.shared → SharedService 实例
this.shared.execute() → 'ExecuteSharedService'"] + end + + R9 --> Example +``` + +--- + +## 参数解析器选择策略 + +mustard-cli 内部根据是否注册了 `VariadicOption` 或 `OptionAlias` 来选择不同的参数解析器: + +```mermaid +flowchart LR + Check{"VariadicOptions.size > 0
或 OptionAliasMap 非空?"} + YP["yargs-parser
• 支持 array 展开
• 支持 alias 映射
• greedy-arrays 模式
• strip-aliased 去重"] + MRI["mri
• 轻量快速
• 基础 flag 解析"] + + Check -->|是| YP + Check -->|否| MRI +``` + +## 完整生命周期时序 + +```mermaid +sequenceDiagram + participant Dec as 装饰器 (类加载) + participant App as @App + participant Factory as MustardFactory + participant CLI as CLI + participant Registry as MustardRegistry + participant Normalizer as DecoratedFieldsNormalizer + participant Handler as CommandHandler + + Note over Dec: 阶段一:元数据采集 + Dec->>Registry: @Command → registerInit(className, payload) + Dec->>Dec: @Option → 返回占位 initializer + Dec->>Registry: @Option(alias) → OptionAliasMap + Dec->>Registry: @VariadicOption → VariadicOptions + Dec->>Dec: @Input → 返回占位 initializer + Dec->>Dec: @Inject → 返回占位 initializer + + Note over App, Factory: 阶段二:应用引导 + App->>Factory: 存储 FactoryOptions + Factory->>CLI: new CLI(name, commands, config) + CLI->>CLI: normalizeConfigurations() + CLI->>Registry: registerCommand (Init → Command) + CLI->>Registry: registerProvider → ExternalProviderRegistry + CLI->>CLI: configure({ lifeCycles }) + + Note over CLI, Handler: 阶段三:启动与分发 + CLI->>CLI: start() → onStart() + CLI->>CLI: instantiateWithParse() + CLI->>Registry: 遍历 CommandRegistry → new Class() + CLI->>CLI: parseFromProcessArgs() + CLI->>CLI: useVersionCommand (--version) + + alt 无子命令 token + CLI->>CLI: dispatchRootHandler() + else 有子命令 token + CLI->>CLI: findHandlerCommandWithInputs() + end + + Note over Normalizer, Handler: 阶段四:归一化与执行 + CLI->>Normalizer: throwOnUnknownOptions (可选) + CLI->>Normalizer: normalizeDecoratedFields(command, inputs, parsedArgs) + Normalizer->>Normalizer: Context → 注入进程信息 + Normalizer->>Normalizer: Utils → 注入工具实例 + Normalizer->>Registry: Inject → ExternalProviderRegistry 查找并实例化 + Normalizer->>Normalizer: Input → 注入位置参数 + Normalizer->>Normalizer: Option → 解析 + Zod 校验 + Restrict + Normalizer->>Normalizer: Options → 聚合所有选项 + CLI->>Handler: await handler.run() + Handler-->>CLI: onComplete() / onError() +``` From a5680b43a919a335ebedad39ce740dbb9080f2cd Mon Sep 17 00:00:00 2001 From: linbudu599 Date: Sun, 29 Mar 2026 15:51:23 +0800 Subject: [PATCH 05/10] sync changes --- Workflow.md | 0 packages/create-mustard-app/source/index.mts | 4 +- .../mustard-cli/source/Core/CommandLine.ts | 6 +- .../source/Core/DecoratedFieldsNormalizer.ts | 19 +- .../Core/{MustardFactory.ts => MustardApp.ts} | 24 +-- ...ror.ts => NullishAppFactoryOptionError.ts} | 4 +- .../mustard-cli/source/Exports/ComanndLine.ts | 4 +- .../mustard-cli/source/Exports/Decorators.ts | 4 +- packages/mustard-cli/source/Exports/index.ts | 4 +- .../source/Schema/SchemaExtractor.ts | 64 ------- .../source/Typings/Command.struct.ts | 6 +- .../source/Typings/Configuration.struct.ts | 4 +- ...{Factory.struct.ts => Lifecycle.struct.ts} | 2 +- .../source/Typings/Utils.struct.ts | 8 +- .../source/UsageGenerator/SchemaExtractor.ts | 88 ++++++++++ .../source/UsageGenerator/UsageGenerator.ts | 17 +- .../mustard-cli/source/Utils/Constants.ts | 29 +-- packages/mustard-cli/source/Utils/Utils.ts | 16 +- .../source/Validators/BooleanValidator.ts | 37 ++++ .../source/Validators/DateValidator.ts | 41 +++++ .../mustard-cli/source/Validators/Factory.ts | 25 +-- .../source/Validators/NumberValidator.ts | 77 ++++++++ .../source/Validators/PrimitiveValidators.ts | 165 ------------------ .../source/Validators/StringValidator.ts | 68 ++++++++ packages/mustard-cli/tsconfig.json | 4 +- packages/sample/index.mts | 34 ++-- 26 files changed, 431 insertions(+), 323 deletions(-) create mode 100644 Workflow.md rename packages/mustard-cli/source/Core/{MustardFactory.ts => MustardApp.ts} (56%) rename packages/mustard-cli/source/Errors/{NullishFactoryOptionError.ts => NullishAppFactoryOptionError.ts} (59%) delete mode 100644 packages/mustard-cli/source/Schema/SchemaExtractor.ts rename packages/mustard-cli/source/Typings/{Factory.struct.ts => Lifecycle.struct.ts} (72%) create mode 100644 packages/mustard-cli/source/UsageGenerator/SchemaExtractor.ts create mode 100644 packages/mustard-cli/source/Validators/BooleanValidator.ts create mode 100644 packages/mustard-cli/source/Validators/DateValidator.ts create mode 100644 packages/mustard-cli/source/Validators/NumberValidator.ts delete mode 100644 packages/mustard-cli/source/Validators/PrimitiveValidators.ts create mode 100644 packages/mustard-cli/source/Validators/StringValidator.ts diff --git a/Workflow.md b/Workflow.md new file mode 100644 index 0000000..e69de29 diff --git a/packages/create-mustard-app/source/index.mts b/packages/create-mustard-app/source/index.mts index a1f9a4b..fa2765e 100644 --- a/packages/create-mustard-app/source/index.mts +++ b/packages/create-mustard-app/source/index.mts @@ -7,7 +7,7 @@ import logSymbols from "log-symbols"; import { MustardFactory, MustardUtils } from "mustard-cli"; import { RootCommand, Option, App, Utils, Input } from "mustard-cli/decorator"; -import { CommandStruct, MustardApp } from "mustard-cli/cli"; +import { CommandStruct, MustardLifecycle } from "mustard-cli/cli"; const require = createRequire(import.meta.url); @@ -97,7 +97,7 @@ class RootCommandHandle implements CommandStruct { enableUsage: true, }, }) -class Project implements MustardApp { +class Project implements MustardLifecycle { onError(error: Error): void { console.log(error); } diff --git a/packages/mustard-cli/source/Core/CommandLine.ts b/packages/mustard-cli/source/Core/CommandLine.ts index 791e7d7..7646972 100644 --- a/packages/mustard-cli/source/Core/CommandLine.ts +++ b/packages/mustard-cli/source/Core/CommandLine.ts @@ -14,7 +14,7 @@ import type { Arguments } from "yargs-parser"; import type { CommandInput, CommandRegistryPayload, - CommandStruct, + MustardCommand, } from "../Typings/Command.struct"; import type { CLIInstantiationConfiguration, @@ -127,7 +127,7 @@ export class CLI { debug("parsed arguments: %O", this.parsedArgs); } - public start() { + public startCommandLine() { this.options?.lifeCycles?.onStart?.(); this.instantiateWithParse(); @@ -182,7 +182,7 @@ export class CLI { command: CommandRegistryPayload, inputs: string[] = [] ) { - const handler: CommandStruct = command.instance!; + const handler: MustardCommand = command.instance!; this.options?.allowUnknownOptions === false ? DecoratedClassFieldsNormalizer.throwOnUnknownOptions( diff --git a/packages/mustard-cli/source/Core/DecoratedFieldsNormalizer.ts b/packages/mustard-cli/source/Core/DecoratedFieldsNormalizer.ts index 8546f66..cdcc683 100644 --- a/packages/mustard-cli/source/Core/DecoratedFieldsNormalizer.ts +++ b/packages/mustard-cli/source/Core/DecoratedFieldsNormalizer.ts @@ -17,18 +17,17 @@ import type { OptionInitializerPlaceHolder } from "../Typings/Option.struct"; import type { Dictionary } from "../Typings/Shared.struct"; import type { CommandRegistryPayload, - CommandStruct, + MustardCommand, } from "../Typings/Command.struct"; import type { BasePlaceholder, TaggedDecoratedInstanceFields, } from "../Typings/Utils.struct"; import type { CLIInstantiationConfiguration } from "../Typings/Configuration.struct"; -import { SchemaExtractor } from "../Schema/SchemaExtractor"; export class DecoratedClassFieldsNormalizer { public static throwOnUnknownOptions( - instance: CommandStruct, + instance: MustardCommand, parsedArgs: Dictionary, useDidYouMean: boolean ) { @@ -115,7 +114,7 @@ export class DecoratedClassFieldsNormalizer { } public static normalizeInputField( - instance: CommandStruct, + instance: MustardCommand, instanceField: string, inputs: string[] = [], value: BasePlaceholder @@ -131,7 +130,7 @@ export class DecoratedClassFieldsNormalizer { } public static normalizeInjectField( - instance: CommandStruct, + instance: MustardCommand, instanceField: string ) { const injectValue = ( @@ -165,7 +164,7 @@ export class DecoratedClassFieldsNormalizer { } public static normalizeContextField( - instance: CommandStruct, + instance: MustardCommand, instanceField: string ) { MustardUtils.setInstanceFieldValue(instance, instanceField, { @@ -177,7 +176,7 @@ export class DecoratedClassFieldsNormalizer { } public static normalizeUtilField( - instance: CommandStruct, + instance: MustardCommand, instanceField: string ) { MustardUtils.setInstanceFieldValue( @@ -188,7 +187,7 @@ export class DecoratedClassFieldsNormalizer { } public static normalizeOption( - instance: CommandStruct, + instance: MustardCommand, instanceField: string, parsedArgs: Dictionary, value: BasePlaceholder @@ -201,8 +200,6 @@ export class DecoratedClassFieldsNormalizer { restrictValues, } = >value; - console.log(SchemaExtractor.extractOptionConstraints(schema)); - const isCurrentFieldRequired = schema ? !schema.isOptional() : false; // use value from parsed args @@ -275,7 +272,7 @@ export class DecoratedClassFieldsNormalizer { } public static normalizeOptions( - instance: CommandStruct, + instance: MustardCommand, instanceField: string, parsedArgs: Dictionary, commonFields: TaggedDecoratedInstanceFields[] diff --git a/packages/mustard-cli/source/Core/MustardFactory.ts b/packages/mustard-cli/source/Core/MustardApp.ts similarity index 56% rename from packages/mustard-cli/source/Core/MustardFactory.ts rename to packages/mustard-cli/source/Core/MustardApp.ts index dd505d9..269192d 100644 --- a/packages/mustard-cli/source/Core/MustardFactory.ts +++ b/packages/mustard-cli/source/Core/MustardApp.ts @@ -1,26 +1,26 @@ import { CLI } from "./CommandLine"; -import { NullishFactoryOptionError } from "../Errors/NullishFactoryOptionError"; +import { NullishAppFactoryOptionError } from "../Errors/NullishAppFactoryOptionError"; -import type { MustardApp } from "../Typings/Factory.struct"; +import type { MustardLifecycle } from "../Typings/Lifecycle.struct"; import type { AppFactoryOptions } from "../Typings/Configuration.struct"; import type { Constructable, Nullable } from "../Typings/Shared.struct"; import type { ClassDecoratorImpl } from "../Typings/Decorator.struct"; -export class MustardFactory { - private static FactoryOptions: Nullable = null; +export class MustardApp { + private static AppFactoryOptions: Nullable = null; /** * Register application entry handler * @returns */ - public static App(configuration: AppFactoryOptions): ClassDecoratorImpl { + public static App(appFactoryOptions: AppFactoryOptions): ClassDecoratorImpl { return () => { - MustardFactory.FactoryOptions = configuration; + MustardApp.AppFactoryOptions = appFactoryOptions; }; } private static flush(): void { - MustardFactory.FactoryOptions = null; + MustardApp.AppFactoryOptions = null; } /** @@ -28,8 +28,8 @@ export class MustardFactory { * @param Cls * @returns */ - public static init(Cls: Constructable): CLI { - if (!MustardFactory.FactoryOptions) throw new NullishFactoryOptionError(); + public static start(Cls: Constructable): CLI { + if (!MustardApp.AppFactoryOptions) throw new NullishAppFactoryOptionError(); const ins = new Cls(); @@ -39,7 +39,7 @@ export class MustardFactory { configurations = {}, providers = [], - } = MustardFactory.FactoryOptions; + } = MustardApp.AppFactoryOptions; const cli = new CLI(name ?? "", commands, configurations); @@ -53,7 +53,9 @@ export class MustardFactory { }, }); - MustardFactory.flush(); + MustardApp.flush(); + + cli.startCommandLine(); return cli; } diff --git a/packages/mustard-cli/source/Errors/NullishFactoryOptionError.ts b/packages/mustard-cli/source/Errors/NullishAppFactoryOptionError.ts similarity index 59% rename from packages/mustard-cli/source/Errors/NullishFactoryOptionError.ts rename to packages/mustard-cli/source/Errors/NullishAppFactoryOptionError.ts index 00cbc98..fcd371b 100644 --- a/packages/mustard-cli/source/Errors/NullishFactoryOptionError.ts +++ b/packages/mustard-cli/source/Errors/NullishAppFactoryOptionError.ts @@ -1,5 +1,5 @@ -export class NullishFactoryOptionError extends Error { - public name = "NullishFactoryOptionError"; +export class NullishAppFactoryOptionError extends Error { + public name = "NullishAppFactoryOptionError"; constructor() { super(); diff --git a/packages/mustard-cli/source/Exports/ComanndLine.ts b/packages/mustard-cli/source/Exports/ComanndLine.ts index 6ce480d..9a8c065 100644 --- a/packages/mustard-cli/source/Exports/ComanndLine.ts +++ b/packages/mustard-cli/source/Exports/ComanndLine.ts @@ -1,4 +1,4 @@ export { CLI } from "../Core/CommandLine"; -export type { MustardApp } from "../Typings/Factory.struct"; -export type { CommandStruct } from "../Typings/Command.struct"; +export type { MustardLifecycle } from "../Typings/Lifecycle.struct"; +export type { MustardCommand } from "../Typings/Command.struct"; diff --git a/packages/mustard-cli/source/Exports/Decorators.ts b/packages/mustard-cli/source/Exports/Decorators.ts index 56c94f5..321174c 100644 --- a/packages/mustard-cli/source/Exports/Decorators.ts +++ b/packages/mustard-cli/source/Exports/Decorators.ts @@ -5,9 +5,9 @@ import { OptionDecorators } from "../Decorators/Option"; import { DIServiceDecorators } from "../Decorators/DIService"; import { ControllerDecorators } from "../Decorators/Controller"; -import { MustardFactory } from "../Core/MustardFactory"; +import { MustardApp } from "../Core/MustardApp"; -export const { App } = MustardFactory; +export const { App } = MustardApp; export const { Command, RootCommand } = CommandDecorators; export const { Option, Options, VariadicOption } = OptionDecorators; export const { Input } = InputDecorator; diff --git a/packages/mustard-cli/source/Exports/index.ts b/packages/mustard-cli/source/Exports/index.ts index 33ea36d..8f23f82 100644 --- a/packages/mustard-cli/source/Exports/index.ts +++ b/packages/mustard-cli/source/Exports/index.ts @@ -3,7 +3,7 @@ import { MustardUtilsProvider } from "../Core/MustardUtilsProvider"; export * from "./Decorators"; export * from "./ComanndLine"; export { Validator } from "./Validator"; -export { MustardFactory } from "../Core/MustardFactory"; +export { MustardApp } from "../Core/MustardApp"; export type MustardUtils = Omit; export type { Context } from "../Typings/Context.struct"; @@ -12,7 +12,7 @@ export type * from "../Typings/Command.struct"; export type * from "../Typings/Configuration.struct"; export type * from "../Typings/Context.struct"; export type * from "../Typings/DIService.struct"; -export type * from "../Typings/Factory.struct"; +export type * from "../Typings/Lifecycle.struct"; export type * from "../Typings/Option.struct"; export type * from "../Typings/Shared.struct"; export type * from "../Typings/Decorator.struct"; diff --git a/packages/mustard-cli/source/Schema/SchemaExtractor.ts b/packages/mustard-cli/source/Schema/SchemaExtractor.ts deleted file mode 100644 index 169da51..0000000 --- a/packages/mustard-cli/source/Schema/SchemaExtractor.ts +++ /dev/null @@ -1,64 +0,0 @@ -// @ts-nocheck -import { z } from "zod"; - -interface OptionConstraints { - required: boolean; - type: "string" | "number" | "boolean" | "enum" | "unknown"; - minLength?: number; - maxLength?: number; - min?: number; - max?: number; - int?: true; - enumValues?: readonly string[]; -} - -export class SchemaExtractor { - public static extractOptionConstraints( - schema?: z.ZodTypeAny - ): OptionConstraints | null { - if (!schema) return null; - const required = !schema.isOptional(); - const baseSchema = - schema instanceof z.ZodOptional ? schema.unwrap() : schema; - if (baseSchema instanceof z.ZodString) { - const checks = baseSchema._def.checks; - - console.log(checks); - - const min = checks.find((check) => check.kind === "min"); - const max = checks.find((check) => check.kind === "max"); - return { - required, - type: "string", - minLength: min?.value, - maxLength: max?.value, - }; - } - if (baseSchema instanceof z.ZodNumber) { - const checks = baseSchema._def.checks; - const gte = checks.find((check) => check.kind === "min"); - const lte = checks.find((check) => check.kind === "max"); - const isInt = checks.some((check) => check.kind === "int"); - return { - required, - type: "number", - min: gte?.value, - max: lte?.value, - int: isInt ? true : undefined, - }; - } - if (baseSchema instanceof z.ZodBoolean) { - return { required, type: "boolean" }; - } - if (baseSchema instanceof z.ZodNativeEnum) { - return { - required, - type: "enum", - enumValues: Object.values(baseSchema._def.values).filter( - (v): v is string => typeof v === "string" - ), - }; - } - return { required, type: "unknown" }; - } -} diff --git a/packages/mustard-cli/source/Typings/Command.struct.ts b/packages/mustard-cli/source/Typings/Command.struct.ts index 15cb6bf..38d7f06 100644 --- a/packages/mustard-cli/source/Typings/Command.struct.ts +++ b/packages/mustard-cli/source/Typings/Command.struct.ts @@ -4,17 +4,17 @@ import type { TaggedDecoratedInstanceFields } from "./Utils.struct"; export type CommandRegistryPayload = { commandInvokeName: string; - Class: Constructable; + Class: Constructable; root: boolean; childCommandList: CommandList; commandAlias?: Nullable; description?: Nullable; - instance: CommandStruct; + instance: MustardCommand; decoratedInstanceFields: TaggedDecoratedInstanceFields[]; }; -export abstract class CommandStruct { +export abstract class MustardCommand { abstract example?: () => string; abstract run(): MaybePromise; diff --git a/packages/mustard-cli/source/Typings/Configuration.struct.ts b/packages/mustard-cli/source/Typings/Configuration.struct.ts index ba25007..a75cab0 100644 --- a/packages/mustard-cli/source/Typings/Configuration.struct.ts +++ b/packages/mustard-cli/source/Typings/Configuration.struct.ts @@ -1,4 +1,4 @@ -import type { CommandRegistryPayload, CommandStruct } from "./Command.struct"; +import type { CommandRegistryPayload, MustardCommand } from "./Command.struct"; import type { Provider } from "./DIService.struct"; import type { MaybeFactory } from "./Shared.struct"; @@ -23,7 +23,7 @@ export interface LifeCycles { export interface CLIInstantiationConfiguration extends Partial {} -export type CommandList = (typeof CommandStruct)[]; +export type CommandList = (typeof MustardCommand)[]; export interface AppFactoryOptions { name?: string; diff --git a/packages/mustard-cli/source/Typings/Factory.struct.ts b/packages/mustard-cli/source/Typings/Lifecycle.struct.ts similarity index 72% rename from packages/mustard-cli/source/Typings/Factory.struct.ts rename to packages/mustard-cli/source/Typings/Lifecycle.struct.ts index ac828ba..d37150c 100644 --- a/packages/mustard-cli/source/Typings/Factory.struct.ts +++ b/packages/mustard-cli/source/Typings/Lifecycle.struct.ts @@ -1,4 +1,4 @@ -export abstract class MustardApp { +export abstract class MustardLifecycle { abstract onStart?(): void; abstract onError?(error: unknown): void; abstract onComplete?(): void; diff --git a/packages/mustard-cli/source/Typings/Utils.struct.ts b/packages/mustard-cli/source/Typings/Utils.struct.ts index 97e448e..2ed9e85 100644 --- a/packages/mustard-cli/source/Typings/Utils.struct.ts +++ b/packages/mustard-cli/source/Typings/Utils.struct.ts @@ -1,15 +1,17 @@ -import type { InstanceFieldDecorationTypesUnion } from "../Utils/Constants"; +import type { z } from "zod"; +import type { InstanceFieldDecorationTypes } from "../Utils/Constants"; export interface BasePlaceholder { - type: InstanceFieldDecorationTypesUnion; + type: InstanceFieldDecorationTypes; optionName?: string; optionAlias?: string; description?: string; initValue?: unknown; + schema?: z.Schema; } export type TaggedDecoratedInstanceFields = { key: string; - type: InstanceFieldDecorationTypesUnion; + type: InstanceFieldDecorationTypes; value: BasePlaceholder; }; diff --git a/packages/mustard-cli/source/UsageGenerator/SchemaExtractor.ts b/packages/mustard-cli/source/UsageGenerator/SchemaExtractor.ts new file mode 100644 index 0000000..22faf5c --- /dev/null +++ b/packages/mustard-cli/source/UsageGenerator/SchemaExtractor.ts @@ -0,0 +1,88 @@ +import { z } from "zod"; + +import type { Nullable } from "../Typings/Shared.struct"; + +export interface ConstraintCheck { + kind: string; + value?: string; +} + +export type OptionConstraintType = + | "string" + | "number" + | "boolean" + | "date" + | "enum" + | "unknown"; + +export interface OptionConstraints { + required: boolean; + + type: OptionConstraintType; + + checks: Array; +} + +export class SchemaExtractor { + public static mapZodTypeName( + typeName: z.ZodFirstPartyTypeKind + ): OptionConstraintType { + switch (typeName) { + case "ZodString": + return "string"; + case "ZodNumber": + return "number"; + case "ZodBoolean": + return "boolean"; + case "ZodDate": + return "date"; + case "ZodUnknown": + return "unknown"; + default: + return "unknown"; + } + } + + public static parseSchemaConstraints( + schema?: z.Schema + ): Nullable { + if (!schema) return null; + + const required = !schema.isOptional(); + + const internalSchema: z.ZodType = + schema instanceof z.ZodOptional ? schema.unwrap() : schema; + + if ( + internalSchema instanceof z.ZodString || + internalSchema instanceof z.ZodNumber + ) { + const type = SchemaExtractor.mapZodTypeName(internalSchema._def.typeName); + const checks = internalSchema._def.checks; + + return { + type, + checks, + required, + }; + } + + if (internalSchema instanceof z.ZodBoolean) { + return { + type: "boolean", + checks: [], + required, + }; + } + + if (internalSchema instanceof z.ZodDate) { + return { + type: "date", + checks: [], + required, + }; + } + + return null; + } +} diff --git a/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts b/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts index 49d549b..af390f1 100644 --- a/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts +++ b/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts @@ -4,7 +4,8 @@ import uniqBy from "lodash.uniqby"; import type { CommandRegistryPayload } from "../Typings/Command.struct"; import type { Nullable } from "../Typings/Shared.struct"; -import { Arguments } from "yargs-parser"; +import { InstanceFieldDecorationTypes } from "../Utils/Constants"; +import { SchemaExtractor } from "./SchemaExtractor"; interface SharedInfo { name: string; @@ -83,25 +84,33 @@ export class UsageInfoGenerator { const decoratedFields = MustardUtils.filterDecoratedInstanceFields( instance! ).map((option) => { + // experimental + const schema = option.value.schema; + if (schema) { + const description = SchemaExtractor.parseSchemaConstraints(schema); + console.log("03-29 description: ", description); + } + return { name: option.key, alias: option.value.optionAlias, description: option.value.description, defaultValue: option.value.initValue, type: option.type, + schema: option.value.schema, }; }); const options: ParsedOptionInfo[] = decoratedFields.filter( - (o) => o.type === "Option" + (o) => o.type === InstanceFieldDecorationTypes.Option ) as ParsedOptionInfo[]; const variadicOptions: ParsedOptionInfo[] = decoratedFields.filter( - (o) => o.type === "VariadicOption" + (o) => o.type === InstanceFieldDecorationTypes.VariadicOption ) as ParsedOptionInfo[]; const input: ParsedOptionInfo = decoratedFields.find( - (o) => o.type === "Input" + (o) => o.type === InstanceFieldDecorationTypes.Input ) as ParsedOptionInfo; const command: ParsedCommandUsage = { diff --git a/packages/mustard-cli/source/Utils/Constants.ts b/packages/mustard-cli/source/Utils/Constants.ts index f51fd07..aac57b0 100644 --- a/packages/mustard-cli/source/Utils/Constants.ts +++ b/packages/mustard-cli/source/Utils/Constants.ts @@ -1,17 +1,22 @@ -export type InstanceFieldDecorationTypesUnion = - typeof MustardConstanst.InstanceFieldDecorationTypes[number]; +export enum InstanceFieldDecorationTypes { + Option = "Option", + Options = "Options", + VariadicOption = "VariadicOption", + Input = "Input", + Context = "Context", + Utils = "Utils", + Inject = "Inject", +} -export class MustardConstanst { - public static InstanceFieldDecorationTypes = [ - "Option", - "Options", - "VariadicOption", - "Input", - "Context", - "Utils", - "Inject", - ]; +export function isInstanceFieldDecorationType( + type: string +): type is InstanceFieldDecorationTypes { + return Object.values(InstanceFieldDecorationTypes).includes( + type as InstanceFieldDecorationTypes + ); +} +export class MustardConstanst { public static RootCommandRegistryKey = "root"; public static InternalHelpFlag = "MUSTARD_SPECIFIED_HELP_FLAG"; diff --git a/packages/mustard-cli/source/Utils/Utils.ts b/packages/mustard-cli/source/Utils/Utils.ts index 1932207..a9b67b7 100644 --- a/packages/mustard-cli/source/Utils/Utils.ts +++ b/packages/mustard-cli/source/Utils/Utils.ts @@ -3,12 +3,12 @@ import uniqby from "lodash.uniqby"; import parse from "yargs-parser"; import { closest } from "fastest-levenshtein"; import { MustardRegistry } from "../Core/Registry"; -import { MustardConstanst } from "./Constants"; +import { MustardConstanst, isInstanceFieldDecorationType } from "./Constants"; import type { CommandInput, CommandRegistryPayload, - CommandStruct, + MustardCommand, } from "../Typings/Command.struct"; import type { TaggedDecoratedInstanceFields } from "../Typings/Utils.struct"; import type { Constructable, Dictionary } from "../Typings/Shared.struct"; @@ -17,19 +17,19 @@ import type { RestrictValueSet } from "../Typings/Controller.struct"; import type { CommandList } from "../Typings/Configuration.struct"; export class MustardUtils { - public static getInstanceFields(instance: CommandStruct): string[] { + public static getInstanceFields(instance: MustardCommand): string[] { return Reflect.ownKeys(instance); } public static getInstanceFieldValue( - instance: CommandStruct, + instance: MustardCommand, field: string ): TExpected { return Reflect.get(instance, field); } public static setInstanceFieldValue( - instance: CommandStruct, + instance: MustardCommand, field: string, value: T ) { @@ -62,7 +62,7 @@ export class MustardUtils { } public static filterDecoratedInstanceFields( - instance: CommandStruct + instance: MustardCommand ): TaggedDecoratedInstanceFields[] { const fields = MustardUtils.getInstanceFields(instance); @@ -72,9 +72,7 @@ export class MustardUtils { MustardUtils.getInstanceFieldValue(instance, field) ); - if ( - MustardConstanst.InstanceFieldDecorationTypes.includes(value.type) - ) { + if (isInstanceFieldDecorationType(value.type)) { return { key: field, type: value.type, diff --git a/packages/mustard-cli/source/Validators/BooleanValidator.ts b/packages/mustard-cli/source/Validators/BooleanValidator.ts new file mode 100644 index 0000000..e8b5eda --- /dev/null +++ b/packages/mustard-cli/source/Validators/BooleanValidator.ts @@ -0,0 +1,37 @@ +import { z } from "zod"; + +import type { ZodType, ZodBoolean } from "zod"; + +import type { BaseValidator, MaybeOptionalZodType } from "./Typings"; +import type { ValidationTypes } from "../Typings/Shared.struct"; + +export class BooleanValidator + implements BaseValidator, boolean> +{ + _schema: ZodBoolean; + + constructor(public required: boolean = false) { + this._schema = z.boolean(); + } + + public get schema(): MaybeOptionalZodType { + return this.required ? this._schema : this._schema.optional(); + } + + public addValidation( + type: ValidationTypes, + args: unknown[] = [] + ) { + const validation = { + type, + args, + }; + + // @ts-expect-error + this._schema = this._schema[validation.type]?.(...validation.args); + } + + public validate(value: unknown) { + return this._schema.parse(value); + } +} diff --git a/packages/mustard-cli/source/Validators/DateValidator.ts b/packages/mustard-cli/source/Validators/DateValidator.ts new file mode 100644 index 0000000..f13dc32 --- /dev/null +++ b/packages/mustard-cli/source/Validators/DateValidator.ts @@ -0,0 +1,41 @@ +import { z } from "zod"; + +import type { ZodDate } from "zod"; +import type { BaseValidator, MaybeOptionalZodType } from "./Typings"; +import type { ValidationTypes } from "../Typings/Shared.struct"; + +export class DateValidator implements BaseValidator { + _schema: ZodDate; + + constructor(private required: boolean = false) { + this._schema = z.date(); + } + + public get schema(): MaybeOptionalZodType { + return this.required ? this._schema : this._schema.optional(); + } + + public addValidation(type: ValidationTypes, args: unknown[] = []) { + const validation = { + type, + args, + }; + + // @ts-expect-error + this._schema = this._schema[validation.type]?.(...validation.args); + } + + public validate(value: unknown) { + return this._schema.parse(value); + } + + public Min(date: Date): Omit { + this.addValidation("min", [date]); + return this; + } + + public Max(date: Date): Omit { + this.addValidation("max", [date]); + return this; + } +} diff --git a/packages/mustard-cli/source/Validators/Factory.ts b/packages/mustard-cli/source/Validators/Factory.ts index 3ed2186..25daf84 100644 --- a/packages/mustard-cli/source/Validators/Factory.ts +++ b/packages/mustard-cli/source/Validators/Factory.ts @@ -1,17 +1,16 @@ -import { NativeEnumValidator } from "./EnumValidators"; -import { - StringValidator, - BooleanValidator, - NumberValidator, -} from "./PrimitiveValidators"; - -import type { Dictionary, Nullable } from "../Typings/Shared.struct"; +import { StringValidator } from "./StringValidator"; +import { BooleanValidator } from "./BooleanValidator"; +import { NumberValidator } from "./NumberValidator"; +import { DateValidator } from "./DateValidator"; + import type { ZodType } from "zod"; +import type { Nullable } from "../Typings/Shared.struct"; + export class ValidatorFactory { public schema: Nullable = null; - constructor(public required: boolean = false) {} + constructor(private required: boolean = false) {} public Required() { return new ValidatorFactory(true); @@ -33,7 +32,11 @@ export class ValidatorFactory { return new NumberValidator(this.required); } - public Enum(input: Dictionary): NativeEnumValidator { - return new NativeEnumValidator(this.required, input); + public Date(): DateValidator { + return new DateValidator(this.required); } + + // public Enum(input: Dictionary): NativeEnumValidator { + // return new NativeEnumValidator(this.required, input); + // } } diff --git a/packages/mustard-cli/source/Validators/NumberValidator.ts b/packages/mustard-cli/source/Validators/NumberValidator.ts new file mode 100644 index 0000000..cc70353 --- /dev/null +++ b/packages/mustard-cli/source/Validators/NumberValidator.ts @@ -0,0 +1,77 @@ +import { z } from "zod"; + +import type { ZodType, ZodNumber } from "zod"; + +import type { BaseValidator, MaybeOptionalZodType } from "./Typings"; +import type { ValidationTypes } from "../Typings/Shared.struct"; + +export class NumberValidator implements BaseValidator, number> { + _schema: ZodNumber; + + constructor(public required: boolean = false) { + this._schema = z.number(); + } + + public get schema(): MaybeOptionalZodType { + return this.required ? this._schema : this._schema.optional(); + } + + public addValidation(type: ValidationTypes, args: unknown[] = []) { + const validation = { + type, + args, + }; + + // @ts-expect-error + this._schema = this._schema[validation.type]?.(...validation.args); + } + + public validate(value: unknown) { + return this._schema.parse(value); + } + + public Gt(compare: number): Omit { + this.addValidation("gt", [compare]); + return this; + } + + public Gte(compare: number): Omit { + this.addValidation("gte", [compare]); + return this; + } + + public Lt(compare: number): Omit { + this.addValidation("lt", [compare]); + return this; + } + + public Lte(compare: number): Omit { + this.addValidation("lte", [compare]); + return this; + } + + public Int(): Omit { + this.addValidation("int", []); + return this; + } + + public Positive(): Omit { + this.addValidation("positive", []); + return this; + } + + public NonPositive(): Omit { + this.addValidation("nonpositive", []); + return this; + } + + public Negative(): Omit { + this.addValidation("negative", []); + return this; + } + + public NonNegative(): Omit { + this.addValidation("nonnegative", []); + return this; + } +} diff --git a/packages/mustard-cli/source/Validators/PrimitiveValidators.ts b/packages/mustard-cli/source/Validators/PrimitiveValidators.ts deleted file mode 100644 index 4bd4946..0000000 --- a/packages/mustard-cli/source/Validators/PrimitiveValidators.ts +++ /dev/null @@ -1,165 +0,0 @@ -import { z } from "zod"; - -import type { ZodType, ZodBoolean, ZodNumber, ZodString } from "zod"; - -import type { BaseValidator, MaybeOptionalZodType } from "./Typings"; -import type { ValidationTypes } from "../Typings/Shared.struct"; - -export class StringValidator implements BaseValidator, string> { - _schema: ZodString; - - constructor(public required: boolean = false) { - this._schema = z.string(); - } - - public get schema(): MaybeOptionalZodType { - return this.required ? this._schema : this._schema.optional(); - } - - public addValidation(type: ValidationTypes, args: unknown[] = []) { - const validation = { - type, - args, - }; - - // @ts-expect-error - this._schema = this._schema[validation.type]?.(...validation.args); - } - - public validate(value: unknown) { - return this._schema.parse(value); - } - - public MinLength(len: number): Omit { - this.addValidation("min", [len]); - - return this; - } - - public MaxLength(len: number): Omit { - this.addValidation("max", [len]); - return this; - } - - public Length(len: number): Omit { - this.addValidation("length", [len]); - return this; - } - - public Email(): Omit { - this.addValidation("email", []); - return this; - } - - public StartsWith(arg: string): Omit { - this.addValidation("startsWith", [arg]); - return this; - } - - public EndsWith(arg: string): Omit { - this.addValidation("endsWith", [arg]); - return this; - } -} - -export class BooleanValidator - implements BaseValidator, boolean> -{ - _schema: ZodBoolean; - - constructor(public required: boolean = false) { - this._schema = z.boolean(); - } - - public get schema() { - return this.required ? this._schema : this._schema.optional(); - } - - public addValidation( - type: ValidationTypes, - args: unknown[] = [] - ) { - const validation = { - type, - args, - }; - - // @ts-expect-error - this._schema = this._schema[validation.type]?.(...validation.args); - } - - public validate(value: unknown) { - return this._schema.parse(value); - } -} - -export class NumberValidator implements BaseValidator, number> { - _schema: ZodNumber; - - constructor(public required: boolean = false) { - this._schema = z.number(); - } - - public get schema(): MaybeOptionalZodType { - return this.required ? this._schema : this._schema.optional(); - } - - public addValidation(type: ValidationTypes, args: unknown[] = []) { - const validation = { - type, - args, - }; - - // @ts-expect-error - this._schema = this._schema[validation.type]?.(...validation.args); - } - - public validate(value: unknown) { - return this._schema.parse(value); - } - - public Gt(compare: number): Omit { - this.addValidation("gt", [compare]); - return this; - } - - public Gte(compare: number): Omit { - this.addValidation("gte", [compare]); - return this; - } - - public Lt(compare: number): Omit { - this.addValidation("lt", [compare]); - return this; - } - - public Lte(compare: number): Omit { - this.addValidation("lte", [compare]); - return this; - } - - public Int(): Omit { - this.addValidation("int", []); - return this; - } - - public Positive(): Omit { - this.addValidation("positive", []); - return this; - } - - public NonPositive(): Omit { - this.addValidation("nonpositive", []); - return this; - } - - public Negative(): Omit { - this.addValidation("negative", []); - return this; - } - - public NonNegative(): Omit { - this.addValidation("nonnegative", []); - return this; - } -} diff --git a/packages/mustard-cli/source/Validators/StringValidator.ts b/packages/mustard-cli/source/Validators/StringValidator.ts new file mode 100644 index 0000000..247b878 --- /dev/null +++ b/packages/mustard-cli/source/Validators/StringValidator.ts @@ -0,0 +1,68 @@ +import { z } from "zod"; + +import type { ZodType, ZodString } from "zod"; + +import type { BaseValidator, MaybeOptionalZodType } from "./Typings"; +import type { ValidationTypes } from "../Typings/Shared.struct"; + +export class StringValidator implements BaseValidator, string> { + _schema: ZodString; + + constructor(public required: boolean = false) { + this._schema = z.string(); + } + + public get schema(): MaybeOptionalZodType { + return this.required ? this._schema : this._schema.optional(); + } + + public addValidation(type: ValidationTypes, args: unknown[] = []) { + const validation = { + type, + args, + }; + + // @ts-expect-error + this._schema = this._schema[validation.type]?.(...validation.args); + } + + public validate(value: unknown) { + return this._schema.parse(value); + } + + public MinLength(len: number): Omit { + this.addValidation("min", [len]); + + return this; + } + + public MaxLength(len: number): Omit { + this.addValidation("max", [len]); + return this; + } + + public Length(len: number): Omit { + this.addValidation("length", [len]); + return this; + } + + public Email(): Omit { + this.addValidation("email", []); + return this; + } + + public URL(): Omit { + this.addValidation("url", []); + return this; + } + + public StartsWith(arg: string): Omit { + this.addValidation("startsWith", [arg]); + return this; + } + + public EndsWith(arg: string): Omit { + this.addValidation("endsWith", [arg]); + return this; + } +} diff --git a/packages/mustard-cli/tsconfig.json b/packages/mustard-cli/tsconfig.json index 7f8a4e4..36a127d 100644 --- a/packages/mustard-cli/tsconfig.json +++ b/packages/mustard-cli/tsconfig.json @@ -28,6 +28,6 @@ "baseUrl": ".", "rootDir": "source" }, - "include": ["source", "__tests__"], - "exclude": ["dist", "samples", "__tests__", "vitest.config.ts", "sample.ts"] + "include": ["source"], + "exclude": ["dist", "tests"] } diff --git a/packages/sample/index.mts b/packages/sample/index.mts index b9bb766..817a871 100644 --- a/packages/sample/index.mts +++ b/packages/sample/index.mts @@ -1,6 +1,6 @@ import { createRequire } from "module"; -import { MustardFactory } from "mustard-cli"; +import { MustardApp } from "mustard-cli"; import { Command, RootCommand, @@ -10,24 +10,38 @@ import { Input, } from "mustard-cli/decorator"; import { Validator } from "mustard-cli/validator"; -import type { CommandStruct, MustardApp } from "mustard-cli/cli"; + +import type { MustardCommand } from "mustard-cli/cli"; import path from "path"; const require = createRequire(import.meta.url); @RootCommand() -class RootCommandHandle implements CommandStruct { - @Option("msg", "m", Validator.Required().String().MinLength(5)) +class RootCommandHandle implements MustardCommand { + @Option( + "msg", + "m", + Validator.Required().String().Email().MinLength(5).EndsWith(".com") + ) public msg = "default value of msg"; + @Option("msg2", Validator.Number()) + public msg2 = "default value of msg"; + + @Option("msg3", Validator.Boolean()) + public msg3 = false; + + @Option("msg4", Validator.Date()) + public msg4 = false; + public run(): void { console.log(`Root command executed with: msg: ${this.msg}`); } } @Command("update", "u", "update project dependencies") -class UpdateCommand implements CommandStruct { +class UpdateCommand implements MustardCommand { @Option("depth", "depth of packages to update", Validator.Number().Gte(1)) public depth = 10; @@ -55,7 +69,7 @@ class UpdateCommand implements CommandStruct { } @Command("sync", "s", "sync project") -class SyncCommand implements CommandStruct { +class SyncCommand implements MustardCommand { @Option("depth", "depth of packages to update", Validator.Number().Gte(1)) public depth = 10; @@ -83,10 +97,6 @@ class SyncCommand implements CommandStruct { enableVersion: require(path.resolve("./package.json")).version, }, }) -class Project implements MustardApp { - onStart() {} - - onComplete() {} -} +class SampleApp {} -MustardFactory.init(Project).start(); +MustardApp.start(SampleApp); From 47c79e99bb557286fe90dc88800bc05e3afa6e7c Mon Sep 17 00:00:00 2001 From: linbudu599 Date: Sun, 29 Mar 2026 15:52:35 +0800 Subject: [PATCH 06/10] sync changes --- .../mustard-cli/source/UsageGenerator/UsageGenerator.ts | 7 ------- packages/mustard-cli/source/Utils/Utils.ts | 1 + 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts b/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts index af390f1..487d30e 100644 --- a/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts +++ b/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts @@ -84,13 +84,6 @@ export class UsageInfoGenerator { const decoratedFields = MustardUtils.filterDecoratedInstanceFields( instance! ).map((option) => { - // experimental - const schema = option.value.schema; - if (schema) { - const description = SchemaExtractor.parseSchemaConstraints(schema); - console.log("03-29 description: ", description); - } - return { name: option.key, alias: option.value.optionAlias, diff --git a/packages/mustard-cli/source/Utils/Utils.ts b/packages/mustard-cli/source/Utils/Utils.ts index a9b67b7..7da032c 100644 --- a/packages/mustard-cli/source/Utils/Utils.ts +++ b/packages/mustard-cli/source/Utils/Utils.ts @@ -72,6 +72,7 @@ export class MustardUtils { MustardUtils.getInstanceFieldValue(instance, field) ); + console.log("03-29 value: ", value); if (isInstanceFieldDecorationType(value.type)) { return { key: field, From 0233884bff6f8e8833d53a9afd33155e8e4311c2 Mon Sep 17 00:00:00 2001 From: linbudu599 Date: Sun, 29 Mar 2026 16:03:23 +0800 Subject: [PATCH 07/10] sync changes --- packages/mustard-cli/source/Core/Diagnostic.ts | 8 ++++++++ packages/mustard-cli/source/Decorators/Relation.ts | 12 ++++++++++++ packages/mustard-cli/source/Exports/Decorators.ts | 2 ++ .../source/UsageGenerator/UsageGenerator.ts | 13 ++++++++----- packages/mustard-cli/source/Utils/Utils.ts | 1 - packages/sample/index.mts | 10 ++++++++++ 6 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 packages/mustard-cli/source/Core/Diagnostic.ts create mode 100644 packages/mustard-cli/source/Decorators/Relation.ts diff --git a/packages/mustard-cli/source/Core/Diagnostic.ts b/packages/mustard-cli/source/Core/Diagnostic.ts new file mode 100644 index 0000000..5aaa2b9 --- /dev/null +++ b/packages/mustard-cli/source/Core/Diagnostic.ts @@ -0,0 +1,8 @@ +export class MustardDiagnostic { + public static unmatchedDefaultForRestrict( + defaultValue: unknown, + restrictValues: unknown[] + ): boolean { + return false; + } +} diff --git a/packages/mustard-cli/source/Decorators/Relation.ts b/packages/mustard-cli/source/Decorators/Relation.ts new file mode 100644 index 0000000..dc716c2 --- /dev/null +++ b/packages/mustard-cli/source/Decorators/Relation.ts @@ -0,0 +1,12 @@ +import type { ClassFieldDecoratorImpl } from "../Typings/Decorator.struct"; + +export class RelationDecorators { + public static XOR(): ClassFieldDecoratorImpl { + return (_, context) => (initValue) => { + return { + type: "XOR", + initValue, + }; + }; + } +} diff --git a/packages/mustard-cli/source/Exports/Decorators.ts b/packages/mustard-cli/source/Exports/Decorators.ts index 321174c..a0414b6 100644 --- a/packages/mustard-cli/source/Exports/Decorators.ts +++ b/packages/mustard-cli/source/Exports/Decorators.ts @@ -4,6 +4,7 @@ import { InputDecorator } from "../Decorators/Input"; import { OptionDecorators } from "../Decorators/Option"; import { DIServiceDecorators } from "../Decorators/DIService"; import { ControllerDecorators } from "../Decorators/Controller"; +import { RelationDecorators } from "../Decorators/Relation"; import { MustardApp } from "../Core/MustardApp"; @@ -14,3 +15,4 @@ export const { Input } = InputDecorator; export const { Provide, Inject } = DIServiceDecorators; export const { Ctx, Utils } = BuiltInDecorators; export const { Restrict } = ControllerDecorators; +export const { XOR } = RelationDecorators; diff --git a/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts b/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts index 487d30e..18773d7 100644 --- a/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts +++ b/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts @@ -216,11 +216,14 @@ ${optionsPart}`; collect.input.description ? `, ${collect.input.description}` : "" }${ collect.input.defaultValue - ? `, default: ${JSON.stringify( - collect.input.defaultValue, - null, - 2 - )}` + ? `,` + + // Checks + `` + + // Restricts + `` + + // XOR + `` + + ` default: ${JSON.stringify(collect.input.defaultValue, null, 2)}` : "" }]` : ""; diff --git a/packages/mustard-cli/source/Utils/Utils.ts b/packages/mustard-cli/source/Utils/Utils.ts index 7da032c..a9b67b7 100644 --- a/packages/mustard-cli/source/Utils/Utils.ts +++ b/packages/mustard-cli/source/Utils/Utils.ts @@ -72,7 +72,6 @@ export class MustardUtils { MustardUtils.getInstanceFieldValue(instance, field) ); - console.log("03-29 value: ", value); if (isInstanceFieldDecorationType(value.type)) { return { key: field, diff --git a/packages/sample/index.mts b/packages/sample/index.mts index 817a871..e775046 100644 --- a/packages/sample/index.mts +++ b/packages/sample/index.mts @@ -8,6 +8,8 @@ import { VariadicOption, App, Input, + Restrict, + XOR, } from "mustard-cli/decorator"; import { Validator } from "mustard-cli/validator"; @@ -35,6 +37,14 @@ class RootCommandHandle implements MustardCommand { @Option("msg4", Validator.Date()) public msg4 = false; + @VariadicOption("msg5") + public msg5: string[] = []; + + @XOR() + @Option("msg6") + @Restrict(["foo", "bar", "baz"]) + public msg6: string = "foo"; + public run(): void { console.log(`Root command executed with: msg: ${this.msg}`); } From 6574f83449b1583423ef932584afca5d0a672db2 Mon Sep 17 00:00:00 2001 From: linbudu599 Date: Sun, 29 Mar 2026 16:26:57 +0800 Subject: [PATCH 08/10] xxx --- PLAN.md | 336 +++----------------------------------------------------- 1 file changed, 14 insertions(+), 322 deletions(-) diff --git a/PLAN.md b/PLAN.md index 89d6633..4cc1713 100644 --- a/PLAN.md +++ b/PLAN.md @@ -1,323 +1,15 @@ -AI-Friendly CLI App Builder 计划 +# AI-first cli app builder. + +- AI-friendly usage and error report. + - Define validator and let Mustard generate usage and error for you. + - Usage can be generated progressively. + - Completely dump is also supported. +- Built in command for skill generation and installation. + - Run [cli] install-skills to setup cli skills for your agent. +- Built in timeout detection. +- Built in strcutured json output. +- Built in prompt. + - @Dangerous + - @Safe +- Token save mode. -核心思路 - -AI 代理(Claude Code / Codex CLI / Cursor Agent 等)使用 CLI 工具的典型链路是: - -读取 --help → 理解参数/约束 → 构造命令 → 执行 → 解析 stdout/stderr → 决策下一步 - -Mustard 作为 框架层,应在每个环节都提供"对 AI 更友好"的默认行为,而不需要下游开发者额外编码。 - -一、增强 --help 输出:让 AI 一次读懂命令全貌 - -当前 UsageInfoGenerator 输出的信息不完整(缺少校验规则、约束值、必填标记、类型提示、示例),AI 代理需要多次试错才能推断参数约束。 - -1.1 在 Option 行展示类型与校验约束 - -当前输出: - -Options: ---port, -p, server port, default: 3000 - -目标输出: - -Options: ---port, -p server port [default: 3000] [required] [>= 1, <= 65535] ---host server host [default: "localhost"] [startsWith: "http"] ---dry, -d dry run mode [default: false] - -实现思路: - -在 collectSpecificCommandUsage 阶段,从 OptionInitializerPlaceHolder 上提取 schema(Zod schema)和 restrictValues。 - -新增工具函数 describeSchema(schema: ZodType): string,递归遍历 Zod 内部 \_def.checks 数组,提取 min/max/startsWith/endsWith/email/int/positive 等约束并格式化为 [>= 1, <= 65535] 风格的人类/AI 可读文本。 - -从 schema.isOptional() 推断必填,输出 [required] 标记。 - -类型推断:String/Number/Boolean/Enum 各 validator 创建时可在 schema 上挂元数据标签,或在 ValidatorFactory 里记录 \_typeName,格式化时输出 / / / 。 - -关键文件: - -新建 source/Components/SchemaDescriber.ts - -修改 source/Components/UsageGenerator.ts(collectSpecificCommandUsage 和格式化函数) - -修改 source/Validators/PrimitiveValidators.ts 和 source/Validators/EnumValidators.ts(附加类型标签到 schema) - -1.2 展示 @Restrict 约束值 - -当前:不展示。目标: - ---env target environment [default: "dev"] [allowed: "dev" | "staging" | "prod"] - -实现思路:collectSpecificCommandUsage 阶段读取字段占位上的 restrictValues,格式化为 [allowed: ...]。 - -1.3 展示 @VariadicOption 的可重复语义 - ---files, -f files to process [default: []] [repeatable] - -1.4 自动生成 Examples 段落 - -在 @Command / @RootCommand 上新增可选 examples 配置: - -@Command({ -name: "deploy", -alias: "d", -description: "deploy to cloud", -examples: [ -"deploy --env staging --dry", -"deploy --env prod --files a.ts b.ts", -], -}) - -格式化时在 Options 段之后附加: - -Examples: -$ mm deploy --env staging --dry -$ mm deploy --env prod --files a.ts b.ts - -若开发者未提供 examples,框架可基于已声明的 Option 默认值 自动拼一条("auto-example"):将所有有默认值或 restrict 的选项组装成一行命令示例。 - -关键类型:扩展 CommandConfiguration(source/Typings/Command.struct.ts)增加 examples?: string[]。 - -1.5 有 Root 时顶层 --help 同时列出并列子命令 - -当前 formatRootCommandUsage 不展示子命令列表,AI 代理在 mm --help 时看不到有哪些子命令可用。 - -修改 printHelp 逻辑:当 registration 为 root 时,额外从 MustardRegistry.provide() 收集非 root 的命令一并附在 Root usage 下方,形如: - -Commands: -deploy, d deploy to cloud -config, c manage configuration - -Run 'mm --help' for more information on a specific command. - -二、自动注册 --ai 全局 Flag 与机器可读输出模式 - -AI 代理更擅长处理结构化输出。Mustard 框架层可以内置一个 --ai 全局 flag,切换输出格式。 - -2.1 --ai Flag 激活结构化帮助 - -当同时传入 --help --ai 时,不走人类友好的文本格式,而是输出一段 JSON Schema 风格 的结构化描述: - -{ -"name": "deploy", -"description": "deploy to cloud", -"options": [ -{ -"name": "env", -"alias": "e", -"type": "string", -"required": true, -"default": "dev", -"allowed": ["dev", "staging", "prod"], -"description": "target environment" -}, -{ -"name": "port", -"type": "number", -"constraints": { "gte": 1, "lte": 65535 }, -"default": 3000 -} -], -"examples": ["deploy --env staging --dry"], -"subcommands": ["config", "migrate"] -} - -实现思路: - -在 MustardConstanst 新增 InternalAIFlag = "MUSTARD_AI_FLAG"。 - -BuiltInCommands 检测到 --ai 时,收集完整 usage 数据结构,JSON.stringify 输出到 stdout,process.exit(0)。 - -这样 AI 代理可以 mm --help --ai | jq .options 精准获取参数信息。 - -2.2 --ai Flag 激活结构化错误 - -当 --ai 存在时,所有框架层错误(ValidationError、CommandNotFoundError 等)改为输出 JSON: - -{ -"error": "ValidationError", -"field": "port", -"received": "abc", -"expected": "number", -"constraints": { "gte": 1, "lte": 65535 }, -"suggestion": "Provide a number between 1 and 65535" -} - -这比当前的 throw + Node 默认堆栈对 AI 代理有用得多。 - -三、自动添加 install-skills 子命令 - -Claude Code / Cursor 等支持 Skills / AGENTS.md 机制。Mustard 框架可以内置一个 install-skills 命令,为当前工作目录生成一份 Skill 描述文件(Markdown),让 AI 代理在使用该 CLI 工具前自动"学会"它。 - -3.1 Skill 文件内容 - -自动生成的 Skill 文件应包含: - -工具名称、版本、简介 - -所有命令及其完整参数签名(复用 1.1 的增强信息) - -每个命令的 examples - -典型 workflow(如果开发者通过配置提供了的话) - -错误码与含义 - -安装/配置前置条件 - -3.2 实现思路 - -新增内置命令类 InstallSkillsCommand,注册为 install-skills。 - -运行时收集 MustardRegistry 中所有命令元数据 + UsageInfoGenerator 增强后的结构化信息。 - -生成 Markdown 写入 .cursor/skills//SKILL.md 或 .claude/AGENTS.md(可通过参数选择目标格式)。 - -在 @App 配置中新增 aiSkills?: { version?: string; workflows?: string[] } 允许开发者补充高阶信息。 - -3.3 配置扩展 - -@App({ -name: "my-cli", -commands: [...], -configurations: { -aiSkills: { -version: "1.2.0", -description: "A deployment tool for cloud infrastructure", -workflows: [ -"To deploy: first run `my-cli config set-env staging`, then `my-cli deploy --dry`, review output, then `my-cli deploy`", -], -}, -}, -}) - -四、AI 友好的错误系统增强 - -4.1 错误信息结构化与建议 - -当前错误类只有 message。扩展所有 Error 类增加 suggestion 字段: - -Error - -当前 message - -增加 suggestion - -ValidationError - -"Expected string, received number" - -"Option --port expects a number. Run mm deploy --help to see valid values." - -CommandNotFoundError - -"Command not found with parsed args: ..." - -"Available commands: deploy, config. Run mm --help to see all commands." - -DidYouMeanError - -"Unknown option --helo, did you mean --help?" - -已有建议,保持 - -UnknownOptionsError - -"Unknown options: foo" - -"Run mm --help to see available options." - -4.2 exitCode 规范化 - -定义不同错误类别的 exit code(而非统一 exit 1),便于 AI 代理按 exit code 分类处理: - -0:成功 - -1:运行时错误(handler.run 抛出) - -2:参数校验错误(ValidationError) - -3:命令未找到(CommandNotFoundError) - -4:配置错误(NullishFactoryOptionError 等) - -在 CLI.handleCommandExecution 的 catch 和 dispatchRootHandler/dispatchCommand 中统一 process.exit(code)。 - -五、自省命令 --inspect - -新增内置全局 flag --inspect,输出当前 CLI 的完整元数据(JSON),供 AI 代理在首次交互时一次性获取全部信息: - -mm --inspect - -输出: - -{ -"name": "my-cli", -"version": "1.2.0", -"commands": [ -{ -"name": "deploy", -"alias": "d", -"root": false, -"description": "deploy to cloud", -"options": [...], -"subcommands": [...], -"examples": [...] -} -], -"globalFlags": ["--help", "--version", "--ai", "--inspect"], -"skills": { ... } -} - -和 --help --ai 的区别:--inspect 是 全应用级一次性 dump,适合 AI 首次"学习"整个工具;--help --ai 是 单命令级,适合执行前精确查询。 - -六、其他值得支持的 AI 友好特性 - -6.1 --output-format 全局 flag - -让开发者的命令 handler 也能感知 AI 模式。框架在 @Ctx() 注入的 Context 中增加 aiMode: boolean 和 outputFormat: "text" | "json" 字段,开发者可据此在 run() 中切换输出格式: - -public run(): void { -if (this.ctx.aiMode) { -console.log(JSON.stringify(this.result)); -} else { -console.log(formatTable(this.result)); -} -} - -6.2 命令执行的 dry-run 协议 - -在框架层约定 --dry-run 全局 flag,开发者在 run() 中可通过 this.ctx.dryRun 获取。AI 代理在不确定时可先 --dry-run 试探,再决定是否真正执行。 - -6.3 命令发现接口 --commands - -类似 --inspect 但更轻量,只输出命令名列表(一行一个),AI 代理可快速枚举可用命令: - -mm --commands - -# deploy - -# config - -# migrate - -优先级建议 - -graph LR -P1["P1: 增强 help 输出"] --> P2["P2: --ai 结构化模式"] -P2 --> P3["P3: AI 友好错误"] -P3 --> P4["P4: install-skills"] -P4 --> P5["P5: --inspect 自省"] -P5 --> P6["P6: Context.aiMode / dryRun"] - -P1(增强 help) 是基础,后续所有结构化输出都复用同一份"增强后的元数据收集"。 - -P2(--ai flag) 依赖 P1 的数据结构。 - -P3(错误增强) 可独立推进,但 --ai 模式下的 JSON 错误输出依赖 P2。 - -P4(install-skills) 依赖 P1+P2 的完整元数据。 - -P5/P6 为锦上添花,优先级可后置。 From 542f441bf763e39084b11c778c1c8752a861aef4 Mon Sep 17 00:00:00 2001 From: Linbudu Date: Sun, 29 Mar 2026 20:56:44 +0800 Subject: [PATCH 09/10] sync changes --- .../source/Core/BuiltInCommands.ts | 6 ++-- .../mustard-cli/source/Core/CommandLine.ts | 2 +- .../mustard-cli/source/Core/MustardApp.ts | 8 ++++-- .../mustard-cli/source/Exports/ComanndLine.ts | 2 +- .../source/Skill/SkillGenerator.ts | 1 + .../source/Typings/Configuration.struct.ts | 28 ++++++++++++++++--- 6 files changed, 35 insertions(+), 12 deletions(-) create mode 100644 packages/mustard-cli/source/Skill/SkillGenerator.ts diff --git a/packages/mustard-cli/source/Core/BuiltInCommands.ts b/packages/mustard-cli/source/Core/BuiltInCommands.ts index 79490e2..26de721 100644 --- a/packages/mustard-cli/source/Core/BuiltInCommands.ts +++ b/packages/mustard-cli/source/Core/BuiltInCommands.ts @@ -3,7 +3,7 @@ import chalk from "chalk"; import { UsageInfoGenerator } from "../UsageGenerator/UsageGenerator"; import { MustardConstanst } from "../Utils/Constants"; -import type { Configurations } from "../Typings/Configuration.struct"; +import type { MustardConfigurations } from "../Typings/Configuration.struct"; import type { Arguments } from "yargs-parser"; import type { CommandRegistryPayload } from "../Typings/Command.struct"; import type { MaybeFactory } from "../Typings/Shared.struct"; @@ -38,7 +38,7 @@ export class BuiltInCommands { bin: string, parsedArgs: Arguments | boolean, registration?: CommandRegistryPayload, - controller?: Configurations["enableUsage"], + controller?: MustardConfigurations["enableUsage"], exit = true ) { const printHelp = @@ -67,7 +67,7 @@ export class BuiltInCommands { public static useVersionCommand( parsedArgs: Arguments | boolean, - controller?: Configurations["enableVersion"], + controller?: MustardConfigurations["enableVersion"], exit = true ) { const printVersion = diff --git a/packages/mustard-cli/source/Core/CommandLine.ts b/packages/mustard-cli/source/Core/CommandLine.ts index 7646972..25192ff 100644 --- a/packages/mustard-cli/source/Core/CommandLine.ts +++ b/packages/mustard-cli/source/Core/CommandLine.ts @@ -25,7 +25,7 @@ import type { MaybeArray } from "../Typings/Shared.struct"; const debug = _debug("mustard:command-line"); -export class CLI { +export class MustardCommandLine { constructor( readonly identifier: string, Commands: CommandList, diff --git a/packages/mustard-cli/source/Core/MustardApp.ts b/packages/mustard-cli/source/Core/MustardApp.ts index 269192d..dcf8eca 100644 --- a/packages/mustard-cli/source/Core/MustardApp.ts +++ b/packages/mustard-cli/source/Core/MustardApp.ts @@ -1,4 +1,4 @@ -import { CLI } from "./CommandLine"; +import { MustardCommandLine } from "./CommandLine"; import { NullishAppFactoryOptionError } from "../Errors/NullishAppFactoryOptionError"; import type { MustardLifecycle } from "../Typings/Lifecycle.struct"; @@ -28,7 +28,9 @@ export class MustardApp { * @param Cls * @returns */ - public static start(Cls: Constructable): CLI { + public static start( + Cls: Constructable + ): MustardCommandLine { if (!MustardApp.AppFactoryOptions) throw new NullishAppFactoryOptionError(); const ins = new Cls(); @@ -41,7 +43,7 @@ export class MustardApp { providers = [], } = MustardApp.AppFactoryOptions; - const cli = new CLI(name ?? "", commands, configurations); + const cli = new MustardCommandLine(name ?? "", commands, configurations); cli.registerProvider(providers); diff --git a/packages/mustard-cli/source/Exports/ComanndLine.ts b/packages/mustard-cli/source/Exports/ComanndLine.ts index 9a8c065..31fdb46 100644 --- a/packages/mustard-cli/source/Exports/ComanndLine.ts +++ b/packages/mustard-cli/source/Exports/ComanndLine.ts @@ -1,4 +1,4 @@ -export { CLI } from "../Core/CommandLine"; +export { MustardCommandLine } from "../Core/CommandLine"; export type { MustardLifecycle } from "../Typings/Lifecycle.struct"; export type { MustardCommand } from "../Typings/Command.struct"; diff --git a/packages/mustard-cli/source/Skill/SkillGenerator.ts b/packages/mustard-cli/source/Skill/SkillGenerator.ts new file mode 100644 index 0000000..c3bd536 --- /dev/null +++ b/packages/mustard-cli/source/Skill/SkillGenerator.ts @@ -0,0 +1 @@ +export class SkillGenerator {} diff --git a/packages/mustard-cli/source/Typings/Configuration.struct.ts b/packages/mustard-cli/source/Typings/Configuration.struct.ts index a75cab0..74f4665 100644 --- a/packages/mustard-cli/source/Typings/Configuration.struct.ts +++ b/packages/mustard-cli/source/Typings/Configuration.struct.ts @@ -2,9 +2,29 @@ import type { CommandRegistryPayload, MustardCommand } from "./Command.struct"; import type { Provider } from "./DIService.struct"; import type { MaybeFactory } from "./Shared.struct"; -export interface Configurations { +export interface MustardConfigurations { + /** + * Allow unknown options to be passed to the command. If this is set to `false`, Mustard will throw an error when it encounters an unknown option during parse stage. + * + * @default false + */ allowUnknownOptions?: boolean; - debug: boolean; + + /** + * Allow Mustard to generate usage information for commands when `--help` or `-h` option is passed. + * + * You can also specify a custom usage generator: + * + * Example: + * + * ```typescript + * \@App({ + * configurations: { + * enableUsage: (command) => `Help info for ${command.commandInvokeName}.` + * } + * }) + * ``` + */ enableUsage: boolean | ((registration?: CommandRegistryPayload) => string); enableVersion: false | MaybeFactory; ignoreValidationErrors: boolean; @@ -21,13 +41,13 @@ export interface LifeCycles { } export interface CLIInstantiationConfiguration - extends Partial {} + extends Partial {} export type CommandList = (typeof MustardCommand)[]; export interface AppFactoryOptions { name?: string; commands: CommandList; - configurations?: Partial; + configurations?: Partial; providers?: Provider[]; } From 4d975e510f227c6c0ea4f99a3f99ec472c426d7b Mon Sep 17 00:00:00 2001 From: Linbudu Date: Sun, 29 Mar 2026 21:36:27 +0800 Subject: [PATCH 10/10] sync changes --- .../mustard-cli/source/Core/CommandLine.ts | 48 ++- .../source/Core/DecoratedFieldsNormalizer.ts | 287 ++---------------- .../Core/Normalizers/ContextNormalizer.ts | 15 + .../Core/Normalizers/InjectNormalizer.ts | 38 +++ .../Core/Normalizers/InputNormalizer.ts | 26 ++ .../Core/Normalizers/OptionNormalizer.ts | 94 ++++++ .../Core/Normalizers/OptionsNormalizer.ts | 47 +++ .../source/Core/Normalizers/UtilNormalizer.ts | 14 + .../mustard-cli/source/Decorators/BuiltIn.ts | 2 +- .../mustard-cli/source/Decorators/Command.ts | 25 +- .../source/Decorators/Controller.ts | 4 +- .../source/Errors/CommandNotFoundError.ts | 10 +- .../source/Errors/DidYouMeanCommandError.ts | 20 ++ .../source/Errors/DidYouMeanOptionError.ts | 20 ++ .../source/Errors/MissingRequiredErrot.ts | 0 .../Errors/MissingRequiredOptionError.ts | 20 ++ ...ndError.ts => MultipleRootCommandError.ts} | 13 +- .../source/Errors/NoRootHandlerError.ts | 8 +- .../source/Errors/NoTargetInjectionError.ts | 20 ++ .../Errors/NullishAppFactoryOptionError.ts | 11 +- .../source/Errors/UnknownOptionsError.ts | 16 +- .../UnmatchedDefaultValueInRestrictError.ts | 20 ++ ...lidationError.ts => ZodValidationError.ts} | 8 +- packages/mustard-cli/source/Exports/index.ts | 2 +- .../source/Typings/MustardError.struct.ts | 7 + .../source/UsageGenerator/UsageGenerator.ts | 32 +- packages/mustard-cli/source/Utils/Utils.ts | 10 +- 27 files changed, 499 insertions(+), 318 deletions(-) create mode 100644 packages/mustard-cli/source/Core/Normalizers/ContextNormalizer.ts create mode 100644 packages/mustard-cli/source/Core/Normalizers/InjectNormalizer.ts create mode 100644 packages/mustard-cli/source/Core/Normalizers/InputNormalizer.ts create mode 100644 packages/mustard-cli/source/Core/Normalizers/OptionNormalizer.ts create mode 100644 packages/mustard-cli/source/Core/Normalizers/OptionsNormalizer.ts create mode 100644 packages/mustard-cli/source/Core/Normalizers/UtilNormalizer.ts create mode 100644 packages/mustard-cli/source/Errors/DidYouMeanCommandError.ts create mode 100644 packages/mustard-cli/source/Errors/DidYouMeanOptionError.ts delete mode 100644 packages/mustard-cli/source/Errors/MissingRequiredErrot.ts create mode 100644 packages/mustard-cli/source/Errors/MissingRequiredOptionError.ts rename packages/mustard-cli/source/Errors/{MultiRootCommandError.ts => MultipleRootCommandError.ts} (61%) create mode 100644 packages/mustard-cli/source/Errors/NoTargetInjectionError.ts create mode 100644 packages/mustard-cli/source/Errors/UnmatchedDefaultValueInRestrictError.ts rename packages/mustard-cli/source/Errors/{ValidationError.ts => ZodValidationError.ts} (82%) create mode 100644 packages/mustard-cli/source/Typings/MustardError.struct.ts diff --git a/packages/mustard-cli/source/Core/CommandLine.ts b/packages/mustard-cli/source/Core/CommandLine.ts index 25192ff..1c4b9c9 100644 --- a/packages/mustard-cli/source/Core/CommandLine.ts +++ b/packages/mustard-cli/source/Core/CommandLine.ts @@ -3,7 +3,7 @@ import _debug from "debug"; import { MustardRegistry } from "./Registry"; import { MustardConstanst } from "../Utils/Constants"; import { DecoratedClassFieldsNormalizer } from "./DecoratedFieldsNormalizer"; -import { MustardUtils } from "../Utils/Utils"; +import { MustardInternalUtils } from "../Utils/Utils"; import { BuiltInCommands } from "./BuiltInCommands"; @@ -11,7 +11,7 @@ import { CommandNotFoundError } from "../Errors/CommandNotFoundError"; import { NoRootHandlerError } from "../Errors/NoRootHandlerError"; import type { Arguments } from "yargs-parser"; -import type { +import { CommandInput, CommandRegistryPayload, MustardCommand, @@ -21,7 +21,9 @@ import type { CommandList, } from "../Typings/Configuration.struct"; import type { Provider } from "../Typings/DIService.struct"; -import type { MaybeArray } from "../Typings/Shared.struct"; +import type { Dictionary, MaybeArray } from "../Typings/Shared.struct"; +import { DidYouMeanOptionError } from "../Errors/DidYouMeanOptionError"; +import { UnknownOptionsError } from "../Errors/UnknownOptionsError"; const debug = _debug("mustard:command-line"); @@ -43,12 +45,12 @@ export class MustardCommandLine { } public registerProvider(providers: MaybeArray) { - const providerList = MustardUtils.ensureArray(providers); + const providerList = MustardInternalUtils.ensureArray(providers); if (!providerList.length) return; providerList.forEach((provider) => { - MustardUtils.isConstructable(provider) + MustardInternalUtils.isConstructable(provider) ? MustardRegistry.ExternalProviderRegistry.set(provider.name, provider) : MustardRegistry.ExternalProviderRegistry.set( provider.identifier, @@ -114,12 +116,12 @@ export class MustardCommandLine { const instance = new commandRegistration.Class(); const decoratedInstanceFields = - MustardUtils.filterDecoratedInstanceFields(instance); + MustardInternalUtils.filterDecoratedInstanceFields(instance); MustardRegistry.upsert(key, { instance, decoratedInstanceFields }); }); - this.parsedArgs = MustardUtils.parseFromProcessArgs( + this.parsedArgs = MustardInternalUtils.parseFromProcessArgs( Array.from(MustardRegistry.VariadicOptions), MustardRegistry.OptionAliasMap ); @@ -144,7 +146,7 @@ export class MustardCommandLine { private dispatchCommand() { const { command: commandRegistration, inputs: commandInput } = - MustardUtils.findHandlerCommandWithInputs( + MustardInternalUtils.findHandlerCommandWithInputs( this.parsedArgs._ ); @@ -178,6 +180,34 @@ export class MustardCommandLine { ); } + private static throwOnUnknownOption( + instance: MustardCommand, + parsedArgs: Dictionary, + useDidYouMean: boolean + ) { + const instanceDeclaredOptions = + MustardInternalUtils.getInstanceFields(instance); + + const unknownOptions = Object.keys(parsedArgs).filter( + (key) => !instanceDeclaredOptions.includes(key) && key !== "_" + ); + + if (unknownOptions.length > 0) { + const firstUnknownOption = unknownOptions[0]!; + if (useDidYouMean) { + throw new DidYouMeanOptionError( + firstUnknownOption, + MustardInternalUtils.levenshtein( + firstUnknownOption, + instanceDeclaredOptions + ) + ); + } + + throw new UnknownOptionsError(unknownOptions); + } + } + private async executeCommandFromRegistration( command: CommandRegistryPayload, inputs: string[] = [] @@ -185,7 +215,7 @@ export class MustardCommandLine { const handler: MustardCommand = command.instance!; this.options?.allowUnknownOptions === false - ? DecoratedClassFieldsNormalizer.throwOnUnknownOptions( + ? MustardCommandLine.throwOnUnknownOption( handler, this.parsedArgs, this.options?.didYouMean ?? true diff --git a/packages/mustard-cli/source/Core/DecoratedFieldsNormalizer.ts b/packages/mustard-cli/source/Core/DecoratedFieldsNormalizer.ts index cdcc683..f5befb9 100644 --- a/packages/mustard-cli/source/Core/DecoratedFieldsNormalizer.ts +++ b/packages/mustard-cli/source/Core/DecoratedFieldsNormalizer.ts @@ -1,55 +1,17 @@ -import { MustardRegistry } from "./Registry"; -import { MustardUtils } from "../Utils/Utils"; -import { MustardUtilsProvider } from "./MustardUtilsProvider"; -import groupBy from "lodash.groupby"; +import { ContextNormalizer } from "./Normalizers/ContextNormalizer"; +import { InjectNormalizer } from "./Normalizers/InjectNormalizer"; +import { InputNormalizer } from "./Normalizers/InputNormalizer"; +import { OptionNormalizer } from "./Normalizers/OptionNormalizer"; +import { OptionsNormalizer } from "./Normalizers/OptionsNormalizer"; +import { UtilNormalizer } from "./Normalizers/UtilNormalizer"; -import { - DidYouMeanError, - UnknownOptionsError, -} from "../Errors/UnknownOptionsError"; -import { ValidationError } from "../Errors/ValidationError"; +import { InstanceFieldDecorationTypes } from "../Utils/Constants"; -import type { - Context, - InjectInitializerPlaceHolder, -} from "../Typings/Context.struct"; -import type { OptionInitializerPlaceHolder } from "../Typings/Option.struct"; +import type { CommandRegistryPayload } from "../Typings/Command.struct"; import type { Dictionary } from "../Typings/Shared.struct"; -import type { - CommandRegistryPayload, - MustardCommand, -} from "../Typings/Command.struct"; -import type { - BasePlaceholder, - TaggedDecoratedInstanceFields, -} from "../Typings/Utils.struct"; import type { CLIInstantiationConfiguration } from "../Typings/Configuration.struct"; export class DecoratedClassFieldsNormalizer { - public static throwOnUnknownOptions( - instance: MustardCommand, - parsedArgs: Dictionary, - useDidYouMean: boolean - ) { - const instanceDeclaredOptions = MustardUtils.getInstanceFields(instance); - - const unknownOptions = Object.keys(parsedArgs).filter( - (key) => !instanceDeclaredOptions.includes(key) && key !== "_" - ); - - if (unknownOptions.length > 0) { - const firstUnknownOption = unknownOptions[0]!; - if (useDidYouMean) { - throw new DidYouMeanError( - firstUnknownOption, - MustardUtils.levenshtein(firstUnknownOption, instanceDeclaredOptions) - ); - } - - throw new UnknownOptionsError(unknownOptions); - } - } - private static appOptions: CLIInstantiationConfiguration; public static normalizeDecoratedFields( @@ -64,43 +26,34 @@ export class DecoratedClassFieldsNormalizer { decoratedInstanceFields.forEach(({ key: instanceField, value, type }) => { switch (type) { - case "Context": - DecoratedClassFieldsNormalizer.normalizeContextField( - instance, - instanceField - ); + case InstanceFieldDecorationTypes.Context: + ContextNormalizer.normalize(instance, instanceField); break; - case "Inject": - DecoratedClassFieldsNormalizer.normalizeInjectField( - instance, - instanceField - ); + case InstanceFieldDecorationTypes.Inject: + InjectNormalizer.normalize(instance, instanceField); break; - case "Utils": - DecoratedClassFieldsNormalizer.normalizeUtilField( - instance, - instanceField - ); + case InstanceFieldDecorationTypes.Utils: + UtilNormalizer.normalize(instance, instanceField); break; - case "Input": - DecoratedClassFieldsNormalizer.normalizeInputField( + case InstanceFieldDecorationTypes.Input: + InputNormalizer.normalize( instance, instanceField, parsedInputs, value ); break; - case "Option": - case "VariadicOption": - DecoratedClassFieldsNormalizer.normalizeOption( + case InstanceFieldDecorationTypes.Option: + case InstanceFieldDecorationTypes.VariadicOption: + OptionNormalizer.normalize( instance, instanceField, parsedArgs, value ); break; - case "Options": - DecoratedClassFieldsNormalizer.normalizeOptions( + case InstanceFieldDecorationTypes.Options: + OptionsNormalizer.normalize( instance, instanceField, parsedArgs, @@ -112,202 +65,4 @@ export class DecoratedClassFieldsNormalizer { } }); } - - public static normalizeInputField( - instance: MustardCommand, - instanceField: string, - inputs: string[] = [], - value: BasePlaceholder - ) { - const inputValue = - inputs.length === 0 - ? value.initValue ?? [] - : inputs.length === 1 - ? inputs[0] ?? value.initValue - : inputs; - - MustardUtils.setInstanceFieldValue(instance, instanceField, inputValue); - } - - public static normalizeInjectField( - instance: MustardCommand, - instanceField: string - ) { - const injectValue = ( - MustardUtils.getInstanceFieldValue(instance, instanceField) - ); - - const providerFactory = MustardRegistry.ExternalProviderRegistry.get( - injectValue.identifier - ); - - const provideValue = - typeof providerFactory === "function" - ? MustardUtils.isConstructable(providerFactory) - ? new providerFactory() - : providerFactory() - : providerFactory; - - MustardUtils.isPromise(provideValue) - ? provideValue.then((resolvedValue) => { - MustardUtils.setInstanceFieldValue( - instance, - instanceField, - resolvedValue - ); - }) - : MustardUtils.setInstanceFieldValue( - instance, - instanceField, - provideValue - ); - } - - public static normalizeContextField( - instance: MustardCommand, - instanceField: string - ) { - MustardUtils.setInstanceFieldValue(instance, instanceField, { - cwd: process.cwd(), - argv: process.argv, - inputArgv: process.argv.slice(2), - env: process.env, - } satisfies Context); - } - - public static normalizeUtilField( - instance: MustardCommand, - instanceField: string - ) { - MustardUtils.setInstanceFieldValue( - instance, - instanceField, - MustardUtilsProvider.produce() - ); - } - - public static normalizeOption( - instance: MustardCommand, - instanceField: string, - parsedArgs: Dictionary, - value: BasePlaceholder - ) { - const { - optionName: injectKey, - initValue, - schema, - optionAlias: injectSubKey, - restrictValues, - } = >value; - - const isCurrentFieldRequired = schema ? !schema.isOptional() : false; - - // use value from parsed args - if (injectKey in parsedArgs || injectSubKey in parsedArgs) { - const argValue = parsedArgs[injectKey] ?? parsedArgs[injectSubKey]; - - let validatedValue = null; - - // validator specified - if (schema) { - const validation = schema.safeParse(argValue); - if (validation.success) { - // validation success - validatedValue = validation.data; - } else { - // validation failed - if ( - DecoratedClassFieldsNormalizer.appOptions.ignoreValidationErrors - ) { - // ignore validation errors and keep the original value - validatedValue = argValue; - } else { - // throw validation error - throw new ValidationError( - injectKey ?? injectSubKey, - argValue, - ValidationError.formatError( - injectKey ?? injectSubKey, - validation.error - ) - ); - } - } - } else { - // no validator specified, only set the value - validatedValue = argValue; - } - - const restrictedValue = MustardUtils.applyRestrictions( - validatedValue, - initValue, - restrictValues - ); - - MustardUtils.setInstanceFieldValue( - instance, - instanceField, - restrictedValue - ); - } else if (isCurrentFieldRequired) { - // required field but not specified in parsed args - if (DecoratedClassFieldsNormalizer.appOptions.ignoreValidationErrors) { - void 0; - } else { - throw new ValidationError( - injectKey ?? injectSubKey, - undefined, - "Required field not specified in parsed args" - ); - } - } else { - // use default value or mark as undefined - // null should also be converted to undefined - MustardUtils.setInstanceFieldValue( - instance, - instanceField, - initValue ?? undefined - ); - } - } - - public static normalizeOptions( - instance: MustardCommand, - instanceField: string, - parsedArgs: Dictionary, - commonFields: TaggedDecoratedInstanceFields[] - ) { - const { _, ...preservedParsedArgs } = parsedArgs; - - const commonOptionFieldsWithInitialValue = commonFields.reduce( - (acc, curr) => { - // collect initValue of @Option and @VariadicOption fields - return curr.type === "Option" || curr.type === "VariadicOption" - ? // filter only the fields with valid initial values - // null was regarded as a valid initial value here as it was set by the user - typeof curr.value.initValue !== "undefined" - ? { - ...acc, - [curr.value.optionName as string]: curr.value.initValue, - } - : acc - : acc; - }, - {} - ); - - const mergedOptionsFieldValue: Dictionary = {}; - - for (const optionField in commonOptionFieldsWithInitialValue) { - mergedOptionsFieldValue[optionField] = - preservedParsedArgs[optionField] ?? - commonOptionFieldsWithInitialValue[optionField]; - } - - MustardUtils.setInstanceFieldValue( - instance, - instanceField, - mergedOptionsFieldValue - ); - } } diff --git a/packages/mustard-cli/source/Core/Normalizers/ContextNormalizer.ts b/packages/mustard-cli/source/Core/Normalizers/ContextNormalizer.ts new file mode 100644 index 0000000..b5bbeeb --- /dev/null +++ b/packages/mustard-cli/source/Core/Normalizers/ContextNormalizer.ts @@ -0,0 +1,15 @@ +import { MustardInternalUtils } from "../../Utils/Utils"; + +import type { Context } from "../../Typings/Context.struct"; +import type { MustardCommand } from "../../Typings/Command.struct"; + +export class ContextNormalizer { + public static normalize(instance: MustardCommand, instanceField: string) { + MustardInternalUtils.setInstanceFieldValue(instance, instanceField, { + cwd: process.cwd(), + argv: process.argv, + inputArgv: process.argv.slice(2), + env: process.env, + } satisfies Context); + } +} diff --git a/packages/mustard-cli/source/Core/Normalizers/InjectNormalizer.ts b/packages/mustard-cli/source/Core/Normalizers/InjectNormalizer.ts new file mode 100644 index 0000000..19af3f3 --- /dev/null +++ b/packages/mustard-cli/source/Core/Normalizers/InjectNormalizer.ts @@ -0,0 +1,38 @@ +import { MustardRegistry } from "../Registry"; +import { MustardInternalUtils } from "../../Utils/Utils"; + +import type { InjectInitializerPlaceHolder } from "../../Typings/Context.struct"; +import type { MustardCommand } from "../../Typings/Command.struct"; + +export class InjectNormalizer { + public static normalize(instance: MustardCommand, instanceField: string) { + const injectValue = ( + MustardInternalUtils.getInstanceFieldValue(instance, instanceField) + ); + + const providerFactory = MustardRegistry.ExternalProviderRegistry.get( + injectValue.identifier + ); + + const provideValue = + typeof providerFactory === "function" + ? MustardInternalUtils.isConstructable(providerFactory) + ? new providerFactory() + : providerFactory() + : providerFactory; + + MustardInternalUtils.isPromise(provideValue) + ? provideValue.then((resolvedValue) => { + MustardInternalUtils.setInstanceFieldValue( + instance, + instanceField, + resolvedValue + ); + }) + : MustardInternalUtils.setInstanceFieldValue( + instance, + instanceField, + provideValue + ); + } +} diff --git a/packages/mustard-cli/source/Core/Normalizers/InputNormalizer.ts b/packages/mustard-cli/source/Core/Normalizers/InputNormalizer.ts new file mode 100644 index 0000000..0ca9a98 --- /dev/null +++ b/packages/mustard-cli/source/Core/Normalizers/InputNormalizer.ts @@ -0,0 +1,26 @@ +import { MustardInternalUtils } from "../../Utils/Utils"; + +import type { MustardCommand } from "../../Typings/Command.struct"; +import type { BasePlaceholder } from "../../Typings/Utils.struct"; + +export class InputNormalizer { + public static normalize( + instance: MustardCommand, + instanceField: string, + inputs: string[] = [], + value: BasePlaceholder + ) { + const inputValue = + inputs.length === 0 + ? value.initValue ?? [] + : inputs.length === 1 + ? inputs[0] ?? value.initValue + : inputs; + + MustardInternalUtils.setInstanceFieldValue( + instance, + instanceField, + inputValue + ); + } +} diff --git a/packages/mustard-cli/source/Core/Normalizers/OptionNormalizer.ts b/packages/mustard-cli/source/Core/Normalizers/OptionNormalizer.ts new file mode 100644 index 0000000..49a662e --- /dev/null +++ b/packages/mustard-cli/source/Core/Normalizers/OptionNormalizer.ts @@ -0,0 +1,94 @@ +import { MustardInternalUtils } from "../../Utils/Utils"; +import { ValidationError } from "../../Errors/ZodValidationError"; + +import type { OptionInitializerPlaceHolder } from "../../Typings/Option.struct"; +import type { Dictionary } from "../../Typings/Shared.struct"; +import type { MustardCommand } from "../../Typings/Command.struct"; +import type { BasePlaceholder } from "../../Typings/Utils.struct"; +import type { CLIInstantiationConfiguration } from "../../Typings/Configuration.struct"; + +export class OptionNormalizer { + public static normalize( + instance: MustardCommand, + instanceField: string, + parsedArgs: Dictionary, + value: BasePlaceholder, + appOptions: CLIInstantiationConfiguration = {} + ) { + const { + optionName: injectKey, + initValue, + schema, + optionAlias: injectSubKey, + restrictValues, + } = >value; + + const isCurrentFieldRequired = schema ? !schema.isOptional() : false; + + // use value from parsed args + if (injectKey in parsedArgs || injectSubKey in parsedArgs) { + const argValue = parsedArgs[injectKey] ?? parsedArgs[injectSubKey]; + + let validatedValue = null; + + // validator specified + if (schema) { + const validation = schema.safeParse(argValue); + if (validation.success) { + // validation success + validatedValue = validation.data; + } else { + // validation failed + if (appOptions.ignoreValidationErrors) { + // ignore validation errors and keep the original value + validatedValue = argValue; + } else { + // throw validation error + throw new ValidationError( + injectKey ?? injectSubKey, + argValue, + ValidationError.formatError( + injectKey ?? injectSubKey, + validation.error + ) + ); + } + } + } else { + // no validator specified, only set the value + validatedValue = argValue; + } + + const restrictedValue = MustardInternalUtils.applyRestrictions( + validatedValue, + initValue, + restrictValues + ); + + MustardInternalUtils.setInstanceFieldValue( + instance, + instanceField, + restrictedValue + ); + } else if (isCurrentFieldRequired) { + // required field but not specified in parsed args + if (appOptions.ignoreValidationErrors) { + void 0; + } else { + throw new ValidationError( + injectKey ?? injectSubKey, + undefined, + "Required field not specified in parsed args" + ); + } + } else { + // use default value or mark as undefined + // null should also be converted to undefined + MustardInternalUtils.setInstanceFieldValue( + instance, + instanceField, + initValue ?? undefined + ); + } + } +} diff --git a/packages/mustard-cli/source/Core/Normalizers/OptionsNormalizer.ts b/packages/mustard-cli/source/Core/Normalizers/OptionsNormalizer.ts new file mode 100644 index 0000000..87ce9fb --- /dev/null +++ b/packages/mustard-cli/source/Core/Normalizers/OptionsNormalizer.ts @@ -0,0 +1,47 @@ +import { MustardInternalUtils } from "../../Utils/Utils"; + +import type { Dictionary } from "../../Typings/Shared.struct"; +import type { MustardCommand } from "../../Typings/Command.struct"; +import type { TaggedDecoratedInstanceFields } from "../../Typings/Utils.struct"; + +export class OptionsNormalizer { + public static normalize( + instance: MustardCommand, + instanceField: string, + parsedArgs: Dictionary, + commonFields: TaggedDecoratedInstanceFields[] + ) { + const { _, ...preservedParsedArgs } = parsedArgs; + + const commonOptionFieldsWithInitialValue = commonFields.reduce( + (acc, curr) => { + // collect initValue of @Option and @VariadicOption fields + return curr.type === "Option" || curr.type === "VariadicOption" + ? // filter only the fields with valid initial values + // null was regarded as a valid initial value here as it was set by the user + typeof curr.value.initValue !== "undefined" + ? { + ...acc, + [curr.value.optionName as string]: curr.value.initValue, + } + : acc + : acc; + }, + {} + ); + + const mergedOptionsFieldValue: Dictionary = {}; + + for (const optionField in commonOptionFieldsWithInitialValue) { + mergedOptionsFieldValue[optionField] = + preservedParsedArgs[optionField] ?? + commonOptionFieldsWithInitialValue[optionField]; + } + + MustardInternalUtils.setInstanceFieldValue( + instance, + instanceField, + mergedOptionsFieldValue + ); + } +} diff --git a/packages/mustard-cli/source/Core/Normalizers/UtilNormalizer.ts b/packages/mustard-cli/source/Core/Normalizers/UtilNormalizer.ts new file mode 100644 index 0000000..d8b1b7a --- /dev/null +++ b/packages/mustard-cli/source/Core/Normalizers/UtilNormalizer.ts @@ -0,0 +1,14 @@ +import { MustardUtilsProvider } from "../MustardUtilsProvider"; +import { MustardInternalUtils } from "../../Utils/Utils"; + +import type { MustardCommand } from "../../Typings/Command.struct"; + +export class UtilNormalizer { + public static normalize(instance: MustardCommand, instanceField: string) { + MustardInternalUtils.setInstanceFieldValue( + instance, + instanceField, + MustardUtilsProvider.produce() + ); + } +} diff --git a/packages/mustard-cli/source/Decorators/BuiltIn.ts b/packages/mustard-cli/source/Decorators/BuiltIn.ts index a28a2fc..ef79eea 100644 --- a/packages/mustard-cli/source/Decorators/BuiltIn.ts +++ b/packages/mustard-cli/source/Decorators/BuiltIn.ts @@ -13,7 +13,7 @@ export class BuiltInDecorators { * @example * class RunCommand { * \@Utils() - * public utils: MustardUtils; + * public utils: MustardInternalUtils; * * run() { * this.utils.json.read(); diff --git a/packages/mustard-cli/source/Decorators/Command.ts b/packages/mustard-cli/source/Decorators/Command.ts index 064fd99..412e988 100644 --- a/packages/mustard-cli/source/Decorators/Command.ts +++ b/packages/mustard-cli/source/Decorators/Command.ts @@ -3,7 +3,7 @@ import _debug from "debug"; import { MustardRegistry } from "../Core/Registry"; import { MustardConstanst } from "../Utils/Constants"; -import { MultiRootCommandError } from "../Errors/MultiRootCommandError"; +import { MultipleRootCommandError } from "../Errors/MultipleRootCommandError"; import type { CommandList } from "../Typings/Configuration.struct"; import type { ClassStruct, Nullable } from "../Typings/Shared.struct"; @@ -213,7 +213,7 @@ export class CommandDecorators { public static RootCommand(): ClassDecoratorImpl { return (target, context) => { if (CommandDecorators.RootCommandTargetClass) { - throw new MultiRootCommandError( + throw new MultipleRootCommandError( CommandDecorators.RootCommandTargetClass, target ); @@ -248,4 +248,25 @@ export class CommandDecorators { }); }; } + + /** + * Mark command as dangerous + */ + public static Dangerous(): ClassDecoratorImpl { + return (target, context) => {}; + } + + /** + * Mark command as require approval + */ + public static RequireApproval(): ClassDecoratorImpl { + return (target, context) => {}; + } + + /** + * Mark command as safe + */ + public static Safe(): ClassDecoratorImpl { + return (target, context) => {}; + } } diff --git a/packages/mustard-cli/source/Decorators/Controller.ts b/packages/mustard-cli/source/Decorators/Controller.ts index 0ee74b5..00fd6ad 100644 --- a/packages/mustard-cli/source/Decorators/Controller.ts +++ b/packages/mustard-cli/source/Decorators/Controller.ts @@ -1,4 +1,4 @@ -import { MustardUtils } from "../Utils/Utils"; +import { MustardInternalUtils } from "../Utils/Utils"; import type { RestrictValueSet } from "../Typings/Controller.struct"; import type { ClassFieldDecoratorImpl } from "../Typings/Decorator.struct"; @@ -33,7 +33,7 @@ export class ControllerDecorators { const instanceField = String(context.name); const currentValue = Reflect.get(this as object, instanceField); - if (MustardUtils.isOptionInitializer(currentValue)) { + if (MustardInternalUtils.isOptionInitializer(currentValue)) { Reflect.set(this as object, instanceField, { ...currentValue, restrictValues, diff --git a/packages/mustard-cli/source/Errors/CommandNotFoundError.ts b/packages/mustard-cli/source/Errors/CommandNotFoundError.ts index da31912..2766820 100644 --- a/packages/mustard-cli/source/Errors/CommandNotFoundError.ts +++ b/packages/mustard-cli/source/Errors/CommandNotFoundError.ts @@ -1,17 +1,23 @@ +import { MustardError } from "../Typings/MustardError.struct"; + import type { Arguments } from "yargs-parser"; -export class CommandNotFoundError extends Error { +export class CommandNotFoundError extends MustardError implements MustardError { public name = "CommandNotFoundError"; constructor(private parsedArgs: Arguments) { super(); } - get message(): string { + get message() { return `Command not found with parsed args: ${JSON.stringify( this.parsedArgs, null, 2 )}`; } + + get messageForAgent() { + return ``; + } } diff --git a/packages/mustard-cli/source/Errors/DidYouMeanCommandError.ts b/packages/mustard-cli/source/Errors/DidYouMeanCommandError.ts new file mode 100644 index 0000000..c919c99 --- /dev/null +++ b/packages/mustard-cli/source/Errors/DidYouMeanCommandError.ts @@ -0,0 +1,20 @@ +import { MustardError } from "../Typings/MustardError.struct"; + +export class DidYouMeanCommandError + extends MustardError + implements MustardError +{ + public name = "DidYouMeanCommandError"; + + constructor(private unknownCommand: string, private didYouMean: string) { + super(); + } + + get message(): string { + return `Unknown command ${this.unknownCommand}, did you mean ${this.didYouMean}?`; + } + + get messageForAgent() { + return ``; + } +} diff --git a/packages/mustard-cli/source/Errors/DidYouMeanOptionError.ts b/packages/mustard-cli/source/Errors/DidYouMeanOptionError.ts new file mode 100644 index 0000000..298503c --- /dev/null +++ b/packages/mustard-cli/source/Errors/DidYouMeanOptionError.ts @@ -0,0 +1,20 @@ +import { MustardError } from "../Typings/MustardError.struct"; + +export class DidYouMeanOptionError + extends MustardError + implements MustardError +{ + public name = "DidYouMeanOptionError"; + + constructor(private unknownOption: string, private didYouMean: string) { + super(); + } + + get message(): string { + return `Unknown option --${this.unknownOption}, did you mean --${this.didYouMean}?`; + } + + get messageForAgent() { + return ``; + } +} diff --git a/packages/mustard-cli/source/Errors/MissingRequiredErrot.ts b/packages/mustard-cli/source/Errors/MissingRequiredErrot.ts deleted file mode 100644 index e69de29..0000000 diff --git a/packages/mustard-cli/source/Errors/MissingRequiredOptionError.ts b/packages/mustard-cli/source/Errors/MissingRequiredOptionError.ts new file mode 100644 index 0000000..165da41 --- /dev/null +++ b/packages/mustard-cli/source/Errors/MissingRequiredOptionError.ts @@ -0,0 +1,20 @@ +import { MustardError } from "../Typings/MustardError.struct"; + +export class MissingRequiredOptionError + extends MustardError + implements MustardError +{ + public name = "MissingRequiredOptionError"; + + constructor() { + super(); + } + + get message() { + return ``; + } + + get messageForAgent() { + return ``; + } +} diff --git a/packages/mustard-cli/source/Errors/MultiRootCommandError.ts b/packages/mustard-cli/source/Errors/MultipleRootCommandError.ts similarity index 61% rename from packages/mustard-cli/source/Errors/MultiRootCommandError.ts rename to packages/mustard-cli/source/Errors/MultipleRootCommandError.ts index 52392f9..56abf36 100644 --- a/packages/mustard-cli/source/Errors/MultiRootCommandError.ts +++ b/packages/mustard-cli/source/Errors/MultipleRootCommandError.ts @@ -1,7 +1,12 @@ +import { MustardError } from "../Typings/MustardError.struct"; + import type { ClassStruct } from "../Typings/Shared.struct"; -export class MultiRootCommandError extends Error { - public name = "MultiRootCommandError"; +export class MultipleRootCommandError + extends MustardError + implements MustardError +{ + public name = "MultipleRootCommandError"; constructor( private existClass: ClassStruct, @@ -13,4 +18,8 @@ export class MultiRootCommandError extends Error { get message(): string { return `Multiple root command detected, RootCommand ${this.existClass.name} was already registered, and now ${this.incomingClass.name} is also registered as root command`; } + + get messageForAgent() { + return ``; + } } diff --git a/packages/mustard-cli/source/Errors/NoRootHandlerError.ts b/packages/mustard-cli/source/Errors/NoRootHandlerError.ts index d335e04..c0394cf 100644 --- a/packages/mustard-cli/source/Errors/NoRootHandlerError.ts +++ b/packages/mustard-cli/source/Errors/NoRootHandlerError.ts @@ -1,4 +1,6 @@ -export class NoRootHandlerError extends Error { +import { MustardError } from "../Typings/MustardError.struct"; + +export class NoRootHandlerError extends MustardError implements MustardError { public name = "NoRootHandlerError"; constructor() { @@ -8,4 +10,8 @@ export class NoRootHandlerError extends Error { get message(): string { return `No root handler found, please provide command decorated with '@RootCommand' or enable option enableUsage for usage info generation.`; } + + get messageForAgent() { + return ``; + } } diff --git a/packages/mustard-cli/source/Errors/NoTargetInjectionError.ts b/packages/mustard-cli/source/Errors/NoTargetInjectionError.ts new file mode 100644 index 0000000..9b8261c --- /dev/null +++ b/packages/mustard-cli/source/Errors/NoTargetInjectionError.ts @@ -0,0 +1,20 @@ +import { MustardError } from "../Typings/MustardError.struct"; + +export class NoTargetInjectionError + extends MustardError + implements MustardError +{ + public name = "NoTargetInjectionError"; + + constructor() { + super(); + } + + get message() { + return ``; + } + + get messageForAgent() { + return ``; + } +} diff --git a/packages/mustard-cli/source/Errors/NullishAppFactoryOptionError.ts b/packages/mustard-cli/source/Errors/NullishAppFactoryOptionError.ts index fcd371b..d420ce8 100644 --- a/packages/mustard-cli/source/Errors/NullishAppFactoryOptionError.ts +++ b/packages/mustard-cli/source/Errors/NullishAppFactoryOptionError.ts @@ -1,4 +1,9 @@ -export class NullishAppFactoryOptionError extends Error { +import { MustardError } from "../Typings/MustardError.struct"; + +export class NullishAppFactoryOptionError + extends MustardError + implements MustardError +{ public name = "NullishAppFactoryOptionError"; constructor() { @@ -8,4 +13,8 @@ export class NullishAppFactoryOptionError extends Error { get message(): string { return `Mustard factory option not initialized, use @App to initialize entry class`; } + + get messageForAgent() { + return ``; + } } diff --git a/packages/mustard-cli/source/Errors/UnknownOptionsError.ts b/packages/mustard-cli/source/Errors/UnknownOptionsError.ts index 5c28834..33357c0 100644 --- a/packages/mustard-cli/source/Errors/UnknownOptionsError.ts +++ b/packages/mustard-cli/source/Errors/UnknownOptionsError.ts @@ -1,4 +1,6 @@ -export class UnknownOptionsError extends Error { +import { MustardError } from "../Typings/MustardError.struct"; + +export class UnknownOptionsError extends MustardError implements MustardError { public name = "UnknownOptionsError"; constructor(private unknownOptions: string[]) { @@ -10,16 +12,8 @@ export class UnknownOptionsError extends Error { ", " )}. See --help for usage.`; } -} -export class DidYouMeanError extends Error { - public name = "DidYouMeanError"; - - constructor(private unknownOption: string, private didYouMean: string) { - super(); - } - - get message(): string { - return `Unknown option --${this.unknownOption}, did you mean --${this.didYouMean}?`; + get messageForAgent() { + return ``; } } diff --git a/packages/mustard-cli/source/Errors/UnmatchedDefaultValueInRestrictError.ts b/packages/mustard-cli/source/Errors/UnmatchedDefaultValueInRestrictError.ts new file mode 100644 index 0000000..54070a2 --- /dev/null +++ b/packages/mustard-cli/source/Errors/UnmatchedDefaultValueInRestrictError.ts @@ -0,0 +1,20 @@ +import { MustardError } from "../Typings/MustardError.struct"; + +export class UnmatchedDefaultValueInRestrictError + extends MustardError + implements MustardError +{ + public name = "UnmatchedDefaultValueInRestrictError"; + + constructor() { + super(); + } + + get message() { + return ``; + } + + get messageForAgent() { + return ``; + } +} diff --git a/packages/mustard-cli/source/Errors/ValidationError.ts b/packages/mustard-cli/source/Errors/ZodValidationError.ts similarity index 82% rename from packages/mustard-cli/source/Errors/ValidationError.ts rename to packages/mustard-cli/source/Errors/ZodValidationError.ts index f911732..14fba7c 100644 --- a/packages/mustard-cli/source/Errors/ValidationError.ts +++ b/packages/mustard-cli/source/Errors/ZodValidationError.ts @@ -1,9 +1,11 @@ import { z } from "zod"; import chalk from "chalk"; +import { MustardError } from "../Typings/MustardError.struct"; + import type { ZodInvalidTypeIssue } from "zod"; -export class ValidationError extends Error { +export class ValidationError extends MustardError implements MustardError { public name = "ValidationError"; constructor( @@ -21,6 +23,10 @@ export class ValidationError extends Error { ); } + get messageForAgent() { + return ``; + } + public static formatError(argName: string, error: z.ZodError) { const issue = error.issues[0]; diff --git a/packages/mustard-cli/source/Exports/index.ts b/packages/mustard-cli/source/Exports/index.ts index 8f23f82..f9d71ab 100644 --- a/packages/mustard-cli/source/Exports/index.ts +++ b/packages/mustard-cli/source/Exports/index.ts @@ -5,7 +5,7 @@ export * from "./ComanndLine"; export { Validator } from "./Validator"; export { MustardApp } from "../Core/MustardApp"; -export type MustardUtils = Omit; +export type MustardInternalUtils = Omit; export type { Context } from "../Typings/Context.struct"; export type * from "../Typings/Command.struct"; diff --git a/packages/mustard-cli/source/Typings/MustardError.struct.ts b/packages/mustard-cli/source/Typings/MustardError.struct.ts new file mode 100644 index 0000000..4f2600f --- /dev/null +++ b/packages/mustard-cli/source/Typings/MustardError.struct.ts @@ -0,0 +1,7 @@ +export abstract class MustardError extends Error { + public name = "MustardError"; + + abstract get message(): string; + + abstract get messageForAgent(): string; +} diff --git a/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts b/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts index 18773d7..187c12d 100644 --- a/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts +++ b/packages/mustard-cli/source/UsageGenerator/UsageGenerator.ts @@ -1,11 +1,11 @@ import { MustardRegistry } from "../Core/Registry"; -import { MustardUtils } from "../Utils/Utils"; +import { MustardInternalUtils } from "../Utils/Utils"; import uniqBy from "lodash.uniqby"; +import { InstanceFieldDecorationTypes } from "../Utils/Constants"; + import type { CommandRegistryPayload } from "../Typings/Command.struct"; import type { Nullable } from "../Typings/Shared.struct"; -import { InstanceFieldDecorationTypes } from "../Utils/Constants"; -import { SchemaExtractor } from "./SchemaExtractor"; interface SharedInfo { name: string; @@ -71,17 +71,17 @@ export class UsageInfoGenerator { ): ParsedCommandUsage { const { commandInvokeName, instance, childCommandList = [] } = registration; - const childCommandNames = MustardUtils.matchFromCommandClass( - childCommandList - ) - .map((r) => ({ - name: r.commandInvokeName, - alias: r.commandAlias, - description: r.description, - })) - .filter(Boolean); - - const decoratedFields = MustardUtils.filterDecoratedInstanceFields( + const childCommandNames = ( + MustardInternalUtils.matchFromCommandClass(childCommandList) + .map((r) => ({ + name: r.commandInvokeName, + alias: r.commandAlias, + description: r.description, + })) + .filter(Boolean) + ); + + const decoratedFields = MustardInternalUtils.filterDecoratedInstanceFields( instance! ).map((option) => { return { @@ -120,6 +120,10 @@ export class UsageInfoGenerator { } public static printHelp(registration?: CommandRegistryPayload) { + // const completed = UsageInfoGenerator.collectCompleteAppUsage(); + + // console.log(completed); + registration ? registration.root ? // print usage info for RootCommand only diff --git a/packages/mustard-cli/source/Utils/Utils.ts b/packages/mustard-cli/source/Utils/Utils.ts index a9b67b7..510f26a 100644 --- a/packages/mustard-cli/source/Utils/Utils.ts +++ b/packages/mustard-cli/source/Utils/Utils.ts @@ -16,7 +16,7 @@ import type { OptionInitializerPlaceHolder } from "../Typings/Option.struct"; import type { RestrictValueSet } from "../Typings/Controller.struct"; import type { CommandList } from "../Typings/Configuration.struct"; -export class MustardUtils { +export class MustardInternalUtils { public static getInstanceFields(instance: MustardCommand): string[] { return Reflect.ownKeys(instance); } @@ -35,7 +35,7 @@ export class MustardUtils { ) { Reflect.set(instance, field, value); - return MustardUtils.getInstanceFieldValue(instance, field); + return MustardInternalUtils.getInstanceFieldValue(instance, field); } public static parseFromProcessArgs( @@ -64,12 +64,12 @@ export class MustardUtils { public static filterDecoratedInstanceFields( instance: MustardCommand ): TaggedDecoratedInstanceFields[] { - const fields = MustardUtils.getInstanceFields(instance); + const fields = MustardInternalUtils.getInstanceFields(instance); return fields .map((field: string) => { const value = ( - MustardUtils.getInstanceFieldValue(instance, field) + MustardInternalUtils.getInstanceFieldValue(instance, field) ); if (isInstanceFieldDecorationType(value.type)) { @@ -140,7 +140,7 @@ export class MustardUtils { } // do this recursively till no more inputs - return MustardUtils.findHandlerCommandWithInputs( + return MustardInternalUtils.findHandlerCommandWithInputs( rest, childCommands.concat([...rest]), matchFromFirstInput