diff --git a/.bazelrc b/.bazelrc index 3697828..93e404d 100644 --- a/.bazelrc +++ b/.bazelrc @@ -15,8 +15,8 @@ common --remote_cache_compression --remote_cache_async # CI Config common:ci --build_metadata=ROLE=CI -common:ci --local_resources=cpu=4 -common:ci --local_resources=memory=8000 +common:ci --local_resources=cpu=2 +common:ci --local_resources=memory=4000 # Release Config common:release --config=ci --stamp --workspace_status_command=./scripts/workspace-status.sh diff --git a/.circleci/config.yml b/.circleci/config.yml index 599ead4..0c80aba 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -15,8 +15,8 @@ executors: base: docker: - image: docker.io/playerui/bazel-docker-slim:18 - working_directory: ~/tools - resource_class: xlarge + working_directory: ~/cli + resource_class: medium environment: TZ: "/usr/share/zoneinfo/America/Los_Angeles" @@ -25,7 +25,7 @@ commands: description: Perform Auto shipit steps: - attach_workspace: - at: ~/tools + at: ~/cli - restore_cache: keys: @@ -70,7 +70,7 @@ jobs: executor: base steps: - attach_workspace: - at: ~/player + at: ~/cli - run: | echo "build --remote_header=x-buildbuddy-api-key=${BUILDBUDDY_API_KEY}" >> .bazelrc.local echo "test --remote_header=x-buildbuddy-api-key=${BUILDBUDDY_API_KEY}" >> .bazelrc.local @@ -84,7 +84,7 @@ jobs: executor: base steps: - attach_workspace: - at: ~/tools + at: ~/cli - run: bazel build -- $(bazel query "kind(npm_package, //...)" --output label 2>/dev/null | tr '\n' ' ') - persist_to_workspace: @@ -97,7 +97,7 @@ jobs: executor: base steps: - attach_workspace: - at: ~/tools + at: ~/cli - restore_cache: keys: diff --git a/cli/src/__tests__/commands/dsl-compile.test.ts b/cli/src/__tests__/commands/dsl-compile.test.ts new file mode 100644 index 0000000..6faefa7 --- /dev/null +++ b/cli/src/__tests__/commands/dsl-compile.test.ts @@ -0,0 +1,65 @@ +import { describe, test, expect } from "vitest"; +import DSLCompile from "../../commands/dsl/compile"; +import DSLValidate from "../../commands/dsl/validate"; +import JSONValidate from "../../commands/json/validate"; +import XLRCompile from "../../commands/xlr/compile"; +import XLRConvert from "../../commands/xlr/convert"; + +describe("command structure and basic functionality", () => { + test("DSL compile command should be defined with correct structure", () => { + expect(DSLCompile).toBeDefined(); + expect(DSLCompile.description).toBe("Compile Player DSL files into JSON"); + expect(DSLCompile.flags).toBeDefined(); + expect(DSLCompile.flags.input).toBeDefined(); + expect(DSLCompile.flags.output).toBeDefined(); + expect(DSLCompile.strict).toBe(false); + }); + + test("DSL validate command should be defined with correct structure", () => { + expect(DSLValidate).toBeDefined(); + expect(DSLValidate.description).toBe( + "Validate TSX files before they get compiled", + ); + expect(DSLValidate.flags).toBeDefined(); + expect(DSLValidate.flags.files).toBeDefined(); + expect(DSLValidate.flags.severity).toBeDefined(); + }); + + test("JSON validate command should be defined with correct structure", () => { + expect(JSONValidate).toBeDefined(); + expect(JSONValidate.description).toBe("Validate Player JSON content"); + expect(JSONValidate.flags).toBeDefined(); + expect(JSONValidate.flags.files).toBeDefined(); + expect(JSONValidate.flags.severity).toBeDefined(); + }); + + test("XLR compile command should be defined with correct structure", () => { + expect(XLRCompile).toBeDefined(); + expect(XLRCompile.description).toBe( + "Compiles typescript files to XLRs format", + ); + expect(XLRCompile.flags).toBeDefined(); + expect(XLRCompile.flags.input).toBeDefined(); + expect(XLRCompile.flags.output).toBeDefined(); + expect(XLRCompile.flags.mode).toBeDefined(); + }); + + test("XLR convert command should be defined with correct structure", () => { + expect(XLRConvert).toBeDefined(); + expect(XLRConvert.description).toBe( + "Exports XLRs files to a specific language", + ); + expect(XLRConvert.flags).toBeDefined(); + expect(XLRConvert.flags.input).toBeDefined(); + expect(XLRConvert.flags.output).toBeDefined(); + expect(XLRConvert.flags.lang).toBeDefined(); + }); + + test("all commands extend BaseCommand and have required config support", () => { + expect(DSLCompile.flags.config).toBeDefined(); + expect(DSLValidate.flags.config).toBeDefined(); + expect(JSONValidate.flags.config).toBeDefined(); + expect(XLRCompile.flags.config).toBeDefined(); + expect(XLRConvert.flags.config).toBeDefined(); + }); +}); diff --git a/cli/src/commands/dsl/compile.ts b/cli/src/commands/dsl/compile.ts index 521042a..f1696f2 100644 --- a/cli/src/commands/dsl/compile.ts +++ b/cli/src/commands/dsl/compile.ts @@ -21,6 +21,8 @@ type TaskResult = Array, "run">>; export default class DSLCompile extends BaseCommand { static description = "Compile Player DSL files into JSON"; + static strict = false; + static flags = { ...BaseCommand.flags, input: Flags.string({ diff --git a/cli/src/commands/xlr/compile.ts b/cli/src/commands/xlr/compile.ts index d884dc4..5e76cdd 100644 --- a/cli/src/commands/xlr/compile.ts +++ b/cli/src/commands/xlr/compile.ts @@ -29,7 +29,7 @@ export default class XLRCompile extends BaseCommand { description: "Output directory to write results to.", default: "./dist", }), - mode: Flags.enum({ + mode: Flags.string({ char: "m", description: "Search strategy for types to export: plugin (default, looks for exported EnchancedPlayerPlugin classes) or type (all exported types)", diff --git a/cli/src/commands/xlr/convert.ts b/cli/src/commands/xlr/convert.ts index 7eb04bc..75ffc09 100644 --- a/cli/src/commands/xlr/convert.ts +++ b/cli/src/commands/xlr/convert.ts @@ -31,7 +31,7 @@ export default class XLRConvert extends BaseCommand { char: "o", description: "Output directory to write results to.", }), - lang: Flags.enum({ + lang: Flags.string({ char: "l", description: "Search strategy for types to export: plugin (default, looks for exported EnchancedPlayerPlugin classes) or type (all exported types)", diff --git a/cli/src/utils/base-command.ts b/cli/src/utils/base-command.ts index 49ec59d..323ec6a 100644 --- a/cli/src/utils/base-command.ts +++ b/cli/src/utils/base-command.ts @@ -136,7 +136,7 @@ export abstract class BaseCommand extends Command { } private async readConfig(): Promise { - const { flags } = await this.parse(BaseCommand); + const { flags } = await this.parse(); const configFile = await this.loadConfig(flags.config); return this.resolveConfig(configFile?.config); } @@ -201,9 +201,18 @@ export abstract class BaseCommand extends Command { return compilerContext; } - exit(code?: number): void { - if (process.env.NODE_ENV !== "test") { - super.exit(code); + // Override exit to prevent process termination during tests + override exit(exitCode = 0): never { + if (process.env.NODE_ENV === "test") { + // In test mode, skip the actual exit process + // We satisfy the 'never' return type by using type assertion + // since tests need the function to return normally + return undefined as never; + } else if (exitCode != 0) { + // In production, delegate to parent which terminates the process + return super.exit(exitCode); + } else { + return undefined as never; } } } diff --git a/package.json b/package.json index 300af23..c222af2 100644 --- a/package.json +++ b/package.json @@ -19,8 +19,8 @@ "@babel/preset-react": "^7.23.3", "@babel/preset-typescript": "^7.23.3", "@babel/register": "^7.23.3", - "@oclif/core": "1.9.0", - "@oclif/plugin-plugins": "^1.9.0", + "@oclif/core": "^4.8.0", + "@oclif/plugin-plugins": "^5.4.56", "@player-tools/dsl": "^0.12.0", "@player-tools/json-language-service": "^0.12.0", "@player-tools/xlr": "^0.12.0", @@ -79,6 +79,7 @@ "eslint-config-prettier": "^10.1.1", "eslint-plugin-prettier": "^5.2.3", "eslint-plugin-react": "^7.37.4", + "ts-node": "^10.9.2", "tslib": "^2.6.2", "tsup": "^8.0.1", "typescript": "5.5.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 96017c7..753b456 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,11 +30,11 @@ importers: specifier: ^7.23.3 version: 7.28.6(@babel/core@7.28.6) '@oclif/core': - specifier: 1.9.0 - version: 1.9.0 + specifier: ^4.8.0 + version: 4.8.0 '@oclif/plugin-plugins': - specifier: ^1.9.0 - version: 1.10.11(@oclif/config@1.18.17) + specifier: ^5.4.56 + version: 5.4.56 '@player-tools/dsl': specifier: ^0.12.0 version: 0.12.0(@types/node@18.19.130)(@types/react@18.3.27)(react@18.3.1) @@ -174,6 +174,9 @@ importers: eslint-plugin-react: specifier: ^7.37.4 version: 7.37.5(eslint@9.39.2(jiti@2.6.1)) + ts-node: + specifier: ^10.9.2 + version: 10.9.2(@types/node@18.19.130)(typescript@5.5.4) tslib: specifier: ^2.6.2 version: 2.8.1 @@ -1532,54 +1535,10 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, tarball: https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz} engines: {node: '>= 8'} - '@oclif/color@0.1.2': - resolution: {integrity: sha512-M9o+DOrb8l603qvgz1FogJBUGLqcMFL1aFg2ZEL0FbXJofiNTLOWIeB4faeZTLwE6dt0xH9GpCVpzksMMzGbmA==, tarball: https://registry.npmjs.org/@oclif/color/-/color-0.1.2.tgz} - engines: {node: '>=8.0.0'} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - - '@oclif/command@1.8.36': - resolution: {integrity: sha512-/zACSgaYGtAQRzc7HjzrlIs14FuEYAZrMOEwicRoUnZVyRunG4+t5iSEeQu0Xy2bgbCD0U1SP/EdeNZSTXRwjQ==, tarball: https://registry.npmjs.org/@oclif/command/-/command-1.8.36.tgz} - engines: {node: '>=12.0.0'} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - peerDependencies: - '@oclif/config': ^1 - - '@oclif/config@1.18.16': - resolution: {integrity: sha512-VskIxVcN22qJzxRUq+raalq6Q3HUde7sokB7/xk5TqRZGEKRVbFeqdQBxDWwQeudiJEgcNiMvIFbMQ43dY37FA==, tarball: https://registry.npmjs.org/@oclif/config/-/config-1.18.16.tgz} - engines: {node: '>=8.0.0'} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - - '@oclif/config@1.18.17': - resolution: {integrity: sha512-k77qyeUvjU8qAJ3XK3fr/QVAqsZO8QOBuESnfeM5HHtPNLSyfVcwiMM2zveSW5xRdLSG3MfV8QnLVkuyCL2ENg==, tarball: https://registry.npmjs.org/@oclif/config/-/config-1.18.17.tgz} - engines: {node: '>=8.0.0'} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - - '@oclif/core@1.9.0': - resolution: {integrity: sha512-duvlaRQf4JM+mKuwwos1DNa/Q9x6tnF3khV5RU0fy5hhETF7THlTmxioKlIvKMyQDVpySqtZXZ0OKHeCi2EWuQ==, tarball: https://registry.npmjs.org/@oclif/core/-/core-1.9.0.tgz} - engines: {node: '>=12.0.0'} - '@oclif/core@4.8.0': resolution: {integrity: sha512-jteNUQKgJHLHFbbz806aGZqf+RJJ7t4gwF4MYa8fCwCxQ8/klJNWc0MvaJiBebk7Mc+J39mdlsB4XraaCKznFw==, tarball: https://registry.npmjs.org/@oclif/core/-/core-4.8.0.tgz} engines: {node: '>=18.0.0'} - '@oclif/errors@1.3.6': - resolution: {integrity: sha512-fYaU4aDceETd89KXP+3cLyg9EHZsLD3RxF2IU9yxahhBpspWjkWi3Dy3bTgcwZ3V47BgxQaGapzJWDM33XIVDQ==, tarball: https://registry.npmjs.org/@oclif/errors/-/errors-1.3.6.tgz} - engines: {node: '>=8.0.0'} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - - '@oclif/help@1.0.15': - resolution: {integrity: sha512-Yt8UHoetk/XqohYX76DfdrUYLsPKMc5pgkzsZVHDyBSkLiGRzujVaGZdjr32ckVZU9q3a47IjhWxhip7Dz5W/g==, tarball: https://registry.npmjs.org/@oclif/help/-/help-1.0.15.tgz} - engines: {node: '>=8.0.0'} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - - '@oclif/linewrap@1.0.0': - resolution: {integrity: sha512-Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==, tarball: https://registry.npmjs.org/@oclif/linewrap/-/linewrap-1.0.0.tgz} - - '@oclif/parser@3.8.17': - resolution: {integrity: sha512-l04iSd0xoh/16TGVpXb81Gg3z7tlQGrEup16BrVLsZBK6SEYpYHRJZnM32BwZrHI97ZSFfuSwVlzoo6HdsaK8A==, tarball: https://registry.npmjs.org/@oclif/parser/-/parser-3.8.17.tgz} - engines: {node: '>=8.0.0'} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - '@oclif/plugin-help@6.2.37': resolution: {integrity: sha512-5N/X/FzlJaYfpaHwDC0YHzOzKDWa41s9t+4FpCDu4f9OMReds4JeNBaaWk9rlIzdKjh2M6AC5Q18ORfECRkHGA==, tarball: https://registry.npmjs.org/@oclif/plugin-help/-/plugin-help-6.2.37.tgz} engines: {node: '>=18.0.0'} @@ -1588,24 +1547,14 @@ packages: resolution: {integrity: sha512-6RD/EuIUGxAYR45nMQg+nw+PqwCXUxkR6Eyn+1fvbVjtb9d+60OPwB77LCRUI4zKNI+n0LOFaMniEdSpb+A7kQ==, tarball: https://registry.npmjs.org/@oclif/plugin-not-found/-/plugin-not-found-3.2.74.tgz} engines: {node: '>=18.0.0'} - '@oclif/plugin-plugins@1.10.11': - resolution: {integrity: sha512-C9eHF10UkxwoAqRYrPW51YDuDOpDXASX4BEA++kTVcqhMQTKBQalmEJKw+gVnLl1YNmapse1ZSAcU1TrXjqykg==, tarball: https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-1.10.11.tgz} - engines: {node: '>=12.0.0'} + '@oclif/plugin-plugins@5.4.56': + resolution: {integrity: sha512-mZjRudlmVSr6Stz0CVFuaIZOjwZ5DqjWepQCR/yK9nbs8YunGautpuxBx/CcqaEH29xiQfsuNOIUWa1w/+3VSA==, tarball: https://registry.npmjs.org/@oclif/plugin-plugins/-/plugin-plugins-5.4.56.tgz} + engines: {node: '>=18.0.0'} '@oclif/plugin-warn-if-update-available@3.1.55': resolution: {integrity: sha512-VIEBoaoMOCjl3y+w/kdfZMODi0mVMnDuM0vkBf3nqeidhRXVXq87hBqYDdRwN1XoD+eDfE8tBbOP7qtSOONztQ==, tarball: https://registry.npmjs.org/@oclif/plugin-warn-if-update-available/-/plugin-warn-if-update-available-3.1.55.tgz} engines: {node: '>=18.0.0'} - '@oclif/screen@1.0.4': - resolution: {integrity: sha512-60CHpq+eqnTxLZQ4PGHYNwUX572hgpMHGPtTWMjdTMsAvlm69lZV/4ly6O3sAYkomo4NggGcomrDpBe34rxUqw==, tarball: https://registry.npmjs.org/@oclif/screen/-/screen-1.0.4.tgz} - engines: {node: '>=8.0.0'} - deprecated: Deprecated in favor of @oclif/core - - '@oclif/screen@3.0.8': - resolution: {integrity: sha512-yx6KAqlt3TAHBduS2fMQtJDL2ufIHnDRArrJEOoTTuizxqmjLT+psGYOHpmMl3gvQpFJ11Hs76guUUktzAF9Bg==, tarball: https://registry.npmjs.org/@oclif/screen/-/screen-3.0.8.tgz} - engines: {node: '>=12.0.0'} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - '@octokit/auth-token@2.5.0': resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==, tarball: https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz} @@ -2275,10 +2224,6 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==, tarball: https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz} engines: {node: '>=8'} - ansi-regex@4.1.1: - resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==, tarball: https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz} - engines: {node: '>=6'} - ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, tarball: https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz} engines: {node: '>=8'} @@ -2299,9 +2244,6 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==, tarball: https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz} engines: {node: '>=12'} - ansicolors@0.3.2: - resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==, tarball: https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz} - ansis@3.17.0: resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==, tarball: https://registry.npmjs.org/ansis/-/ansis-3.17.0.tgz} engines: {node: '>=14'} @@ -2312,9 +2254,6 @@ packages: arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==, tarball: https://registry.npmjs.org/arg/-/arg-4.1.3.tgz} - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, tarball: https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz} - argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, tarball: https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz} @@ -2500,10 +2439,6 @@ packages: capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==, tarball: https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz} - cardinal@2.1.1: - resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==, tarball: https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz} - hasBin: true - chai@5.3.3: resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==, tarball: https://registry.npmjs.org/chai/-/chai-5.3.3.tgz} engines: {node: '>=18'} @@ -2512,10 +2447,6 @@ packages: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, tarball: https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz} engines: {node: '>=4'} - chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==, tarball: https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz} - engines: {node: '>=8'} - chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, tarball: https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz} engines: {node: '>=10'} @@ -2545,19 +2476,10 @@ packages: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, tarball: https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz} engines: {node: '>=8'} - cli-progress@3.12.0: - resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==, tarball: https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz} - engines: {node: '>=4'} - cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==, tarball: https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz} engines: {node: '>=6'} - cli-ux@5.6.7: - resolution: {integrity: sha512-dsKAurMNyFDnO6X1TiiRNiVbL90XReLKcvIq4H777NMqXGBxBws23ag8ubCJE97vVZEgWG2eSUhsyLf63Jv8+g==, tarball: https://registry.npmjs.org/cli-ux/-/cli-ux-5.6.7.tgz} - engines: {node: '>=8.0.0'} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - cli-width@4.1.0: resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==, tarball: https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz} engines: {node: '>= 12'} @@ -3005,11 +2927,6 @@ packages: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==, tarball: https://registry.npmjs.org/espree/-/espree-10.4.0.tgz} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, tarball: https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz} - engines: {node: '>=4'} - hasBin: true - esquery@1.7.0: resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==, tarball: https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz} engines: {node: '>=0.10'} @@ -3037,10 +2954,6 @@ packages: resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==, tarball: https://registry.npmjs.org/expect-type/-/expect-type-1.3.0.tgz} engines: {node: '>=12.0.0'} - extract-stack@2.0.0: - resolution: {integrity: sha512-AEo4zm+TenK7zQorGK1f9mJ8L14hnTDi2ZQPR+Mub1NX8zimka1mXpV5LpH8x9HoUmFSHZCfLHqWvp0Y4FxxzQ==, tarball: https://registry.npmjs.org/extract-stack/-/extract-stack-2.0.0.tgz} - engines: {node: '>=8'} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, tarball: https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz} @@ -3346,10 +3259,6 @@ packages: engines: {node: '>=12'} hasBin: true - hyperlinker@1.0.0: - resolution: {integrity: sha512-Ty8UblRWFEcfSuIaajM34LdPXIhbs1ajEX/BBPv24J+enSVaEVY63xQ6lTO9VRYS5LAoghIG0IDJ+p+IPzKUQQ==, tarball: https://registry.npmjs.org/hyperlinker/-/hyperlinker-1.0.0.tgz} - engines: {node: '>=4'} - iconv-lite@0.7.2: resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==, tarball: https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz} engines: {node: '>=0.10.0'} @@ -3559,6 +3468,10 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, tarball: https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz} + isexe@3.1.5: + resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==, tarball: https://registry.npmjs.org/isexe/-/isexe-3.1.5.tgz} + engines: {node: '>=18'} + isobject@3.0.1: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==, tarball: https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz} engines: {node: '>=0.10.0'} @@ -3606,10 +3519,6 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, tarball: https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz} - js-yaml@3.14.2: - resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==, tarball: https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz} - hasBin: true - js-yaml@4.1.1: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==, tarball: https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz} hasBin: true @@ -3680,10 +3589,6 @@ packages: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==, tarball: https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz} engines: {node: '>=4'} - load-json-file@5.3.0: - resolution: {integrity: sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==, tarball: https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz} - engines: {node: '>=6'} - load-tsconfig@0.2.5: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==, tarball: https://registry.npmjs.org/load-tsconfig/-/load-tsconfig-0.2.5.tgz} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3845,9 +3750,6 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, tarball: https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz} - natural-orderby@2.0.3: - resolution: {integrity: sha512-p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==, tarball: https://registry.npmjs.org/natural-orderby/-/natural-orderby-2.0.3.tgz} - nested-error-stacks@2.0.1: resolution: {integrity: sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==, tarball: https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz} @@ -3886,10 +3788,92 @@ packages: resolution: {integrity: sha512-JYc0DPlpGWB40kH5g07gGTrYuMqV653k3uBKY6uITPWds3M0ov3GaWGp9lbE3Bzngx8+XkfzgvASb9vk9JDFXQ==, tarball: https://registry.npmjs.org/normalize-url/-/normalize-url-8.1.1.tgz} engines: {node: '>=14.16'} + npm-package-arg@11.0.3: + resolution: {integrity: sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==, tarball: https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz} + engines: {node: ^16.14.0 || >=18.0.0} + npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, tarball: https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz} engines: {node: '>=8'} + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, tarball: https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + npm@10.9.4: + resolution: {integrity: sha512-OnUG836FwboQIbqtefDNlyR0gTHzIfwRfE3DuiNewBvnMnWEpB0VEXwBlFVgqpNzIgYo/MHh3d2Hel/pszapAA==, tarball: https://registry.npmjs.org/npm/-/npm-10.9.4.tgz} + engines: {node: ^18.17.0 || >=20.5.0} + hasBin: true + bundledDependencies: + - '@isaacs/string-locale-compare' + - '@npmcli/arborist' + - '@npmcli/config' + - '@npmcli/fs' + - '@npmcli/map-workspaces' + - '@npmcli/package-json' + - '@npmcli/promise-spawn' + - '@npmcli/redact' + - '@npmcli/run-script' + - '@sigstore/tuf' + - abbrev + - archy + - cacache + - chalk + - ci-info + - cli-columns + - fastest-levenshtein + - fs-minipass + - glob + - graceful-fs + - hosted-git-info + - ini + - init-package-json + - is-cidr + - json-parse-even-better-errors + - libnpmaccess + - libnpmdiff + - libnpmexec + - libnpmfund + - libnpmhook + - libnpmorg + - libnpmpack + - libnpmpublish + - libnpmsearch + - libnpmteam + - libnpmversion + - make-fetch-happen + - minimatch + - minipass + - minipass-pipeline + - ms + - node-gyp + - nopt + - normalize-package-data + - npm-audit-report + - npm-install-checks + - npm-package-arg + - npm-pick-manifest + - npm-profile + - npm-registry-fetch + - npm-user-validate + - p-map + - pacote + - parse-conflict-json + - proc-log + - qrcode-terminal + - read + - semver + - spdx-expression-parse + - ssri + - supports-color + - tar + - text-table + - tiny-relative-date + - treeverse + - validate-npm-package-name + - which + - write-file-atomic + o3@1.0.3: resolution: {integrity: sha512-f+4n+vC6s4ysy7YO7O2gslWZBUu8Qj2i2OUJOvjRxQva7jVjYjB29jrr9NCjmxZQR0gzrOcv1RnqoYOeMs5VRQ==, tarball: https://registry.npmjs.org/o3/-/o3-1.0.3.tgz} @@ -3905,9 +3889,9 @@ packages: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, tarball: https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz} engines: {node: '>= 0.4'} - object-treeify@1.1.33: - resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==, tarball: https://registry.npmjs.org/object-treeify/-/object-treeify-1.1.33.tgz} - engines: {node: '>= 10'} + object-treeify@4.0.1: + resolution: {integrity: sha512-Y6tg5rHfsefSkfKujv2SwHulInROy/rCL5F4w0QOWxut8AnxYxf0YmNhTh95Zfyxpsudo66uqkux0ACFnyMSgQ==, tarball: https://registry.npmjs.org/object-treeify/-/object-treeify-4.0.1.tgz} + engines: {node: '>= 16'} object.assign@4.1.7: resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==, tarball: https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz} @@ -4034,9 +4018,6 @@ packages: pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==, tarball: https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz} - password-prompt@1.1.3: - resolution: {integrity: sha512-HkrjG2aJlvF0t2BMH0e2LB/EHf3Lcq3fNMzy4GYHcQblAvOl+QQji1Lx7WRBMqpVK8p+KR7bCg7oqAMXtdgqyw==, tarball: https://registry.npmjs.org/password-prompt/-/password-prompt-1.1.3.tgz} - patch-package@6.5.1: resolution: {integrity: sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA==, tarball: https://registry.npmjs.org/patch-package/-/patch-package-6.5.1.tgz} engines: {node: '>=10', npm: '>5'} @@ -4065,6 +4046,10 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, tarball: https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz} engines: {node: '>=8'} + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, tarball: https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz} + engines: {node: '>=12'} + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, tarball: https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz} @@ -4167,6 +4152,10 @@ packages: resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==, tarball: https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz} engines: {node: '>=10'} + proc-log@4.2.0: + resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==, tarball: https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==, tarball: https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz} @@ -4213,9 +4202,6 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==, tarball: https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz} engines: {node: '>= 14.18.0'} - redeyed@2.1.1: - resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==, tarball: https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz} - reduce-flatten@2.0.0: resolution: {integrity: sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==, tarball: https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz} engines: {node: '>=6'} @@ -4350,6 +4336,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==, tarball: https://registry.npmjs.org/semver/-/semver-7.7.4.tgz} + engines: {node: '>=10'} + hasBin: true + sentence-case@3.0.4: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==, tarball: https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz} @@ -4472,9 +4463,6 @@ packages: spdx-license-ids@3.0.22: resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==, tarball: https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz} - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, tarball: https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz} - stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, tarball: https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz} @@ -4515,10 +4503,6 @@ packages: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==, tarball: https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz} engines: {node: '>= 0.4'} - strip-ansi@5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==, tarball: https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz} - engines: {node: '>=6'} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, tarball: https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz} engines: {node: '>=8'} @@ -4692,9 +4676,6 @@ packages: tslib@1.10.0: resolution: {integrity: sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==, tarball: https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz} - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, tarball: https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz} - tslib@2.1.0: resolution: {integrity: sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==, tarball: https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz} @@ -4731,10 +4712,6 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==, tarball: https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz} engines: {node: '>=10'} - type-fest@0.3.1: - resolution: {integrity: sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==, tarball: https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz} - engines: {node: '>=6'} - typed-array-buffer@1.0.3: resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==, tarball: https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz} engines: {node: '>= 0.4'} @@ -4958,6 +4935,11 @@ packages: engines: {node: '>= 8'} hasBin: true + which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==, tarball: https://registry.npmjs.org/which/-/which-4.0.0.tgz} + engines: {node: ^16.13.0 || >=18.0.0} + hasBin: true + why-is-node-running@2.3.0: resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==, tarball: https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz} engines: {node: '>=8'} @@ -6896,78 +6878,6 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.20.1 - '@oclif/color@0.1.2': - dependencies: - ansi-styles: 3.2.1 - chalk: 3.0.0 - strip-ansi: 5.2.0 - supports-color: 5.5.0 - tslib: 1.14.1 - - '@oclif/command@1.8.36(@oclif/config@1.18.17)(supports-color@8.1.1)': - dependencies: - '@oclif/config': 1.18.17 - '@oclif/errors': 1.3.6 - '@oclif/help': 1.0.15(supports-color@8.1.1) - '@oclif/parser': 3.8.17 - debug: 4.4.3(supports-color@8.1.1) - semver: 7.7.3 - transitivePeerDependencies: - - supports-color - - '@oclif/config@1.18.16(supports-color@8.1.1)': - dependencies: - '@oclif/errors': 1.3.6 - '@oclif/parser': 3.8.17 - debug: 4.4.3(supports-color@8.1.1) - globby: 11.1.0 - is-wsl: 2.2.0 - tslib: 2.8.1 - transitivePeerDependencies: - - supports-color - - '@oclif/config@1.18.17': - dependencies: - '@oclif/errors': 1.3.6 - '@oclif/parser': 3.8.17 - debug: 4.4.3(supports-color@8.1.1) - globby: 11.1.0 - is-wsl: 2.2.0 - tslib: 2.8.1 - transitivePeerDependencies: - - supports-color - - '@oclif/core@1.9.0': - dependencies: - '@oclif/linewrap': 1.0.0 - '@oclif/screen': 3.0.8 - ansi-escapes: 4.3.2 - ansi-styles: 4.3.0 - cardinal: 2.1.1 - chalk: 4.1.2 - clean-stack: 3.0.1 - cli-progress: 3.12.0 - debug: 4.4.3(supports-color@8.1.1) - ejs: 3.1.10 - fs-extra: 9.1.0 - get-package-type: 0.1.0 - globby: 11.1.0 - hyperlinker: 1.0.0 - indent-string: 4.0.0 - is-wsl: 2.2.0 - js-yaml: 3.14.2 - natural-orderby: 2.0.3 - object-treeify: 1.1.33 - password-prompt: 1.1.3 - semver: 7.7.3 - string-width: 4.2.3 - strip-ansi: 6.0.1 - supports-color: 8.1.1 - supports-hyperlinks: 2.3.0 - tslib: 2.8.1 - widest-line: 3.1.0 - wrap-ansi: 7.0.0 - '@oclif/core@4.8.0': dependencies: ansi-escapes: 4.3.2 @@ -6989,37 +6899,6 @@ snapshots: wordwrap: 1.0.0 wrap-ansi: 7.0.0 - '@oclif/errors@1.3.6': - dependencies: - clean-stack: 3.0.1 - fs-extra: 8.1.0 - indent-string: 4.0.0 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - - '@oclif/help@1.0.15(supports-color@8.1.1)': - dependencies: - '@oclif/config': 1.18.16(supports-color@8.1.1) - '@oclif/errors': 1.3.6 - chalk: 4.1.2 - indent-string: 4.0.0 - lodash: 4.17.23 - string-width: 4.2.3 - strip-ansi: 6.0.1 - widest-line: 3.1.0 - wrap-ansi: 6.2.0 - transitivePeerDependencies: - - supports-color - - '@oclif/linewrap@1.0.0': {} - - '@oclif/parser@3.8.17': - dependencies: - '@oclif/errors': 1.3.6 - '@oclif/linewrap': 1.0.0 - chalk: 4.1.2 - tslib: 2.8.1 - '@oclif/plugin-help@6.2.37': dependencies: '@oclif/core': 4.8.0 @@ -7033,23 +6912,20 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@oclif/plugin-plugins@1.10.11(@oclif/config@1.18.17)': + '@oclif/plugin-plugins@5.4.56': dependencies: - '@oclif/color': 0.1.2 - '@oclif/command': 1.8.36(@oclif/config@1.18.17)(supports-color@8.1.1) - '@oclif/errors': 1.3.6 - chalk: 4.1.2 - cli-ux: 5.6.7(@oclif/config@1.18.17) + '@oclif/core': 4.8.0 + ansis: 3.17.0 debug: 4.4.3(supports-color@8.1.1) - fs-extra: 9.1.0 - http-call: 5.3.0 - load-json-file: 5.3.0 - npm-run-path: 4.0.1 - semver: 7.7.3 - tslib: 2.8.1 + npm: 10.9.4 + npm-package-arg: 11.0.3 + npm-run-path: 5.3.0 + object-treeify: 4.0.1 + semver: 7.7.4 + validate-npm-package-name: 5.0.1 + which: 4.0.0 yarn: 1.22.22 transitivePeerDependencies: - - '@oclif/config' - supports-color '@oclif/plugin-warn-if-update-available@3.1.55': @@ -7063,10 +6939,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@oclif/screen@1.0.4': {} - - '@oclif/screen@3.0.8': {} - '@octokit/auth-token@2.5.0': dependencies: '@octokit/types': 6.41.0 @@ -7966,8 +7838,6 @@ snapshots: dependencies: type-fest: 0.21.3 - ansi-regex@4.1.1: {} - ansi-regex@5.0.1: {} ansi-regex@6.2.2: {} @@ -7982,18 +7852,12 @@ snapshots: ansi-styles@6.2.3: {} - ansicolors@0.3.2: {} - ansis@3.17.0: {} any-promise@1.3.0: {} arg@4.1.3: {} - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - argparse@2.0.1: {} array-back@3.1.0: {} @@ -8219,11 +8083,6 @@ snapshots: tslib: 2.8.1 upper-case-first: 2.0.2 - cardinal@2.1.1: - dependencies: - ansicolors: 0.3.2 - redeyed: 2.1.1 - chai@5.3.3: dependencies: assertion-error: 2.0.1 @@ -8238,11 +8097,6 @@ snapshots: escape-string-regexp: 1.0.5 supports-color: 5.5.0 - chalk@3.0.0: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - chalk@4.1.2: dependencies: ansi-styles: 4.3.0 @@ -8281,43 +8135,8 @@ snapshots: dependencies: restore-cursor: 3.1.0 - cli-progress@3.12.0: - dependencies: - string-width: 4.2.3 - cli-spinners@2.9.2: {} - cli-ux@5.6.7(@oclif/config@1.18.17): - dependencies: - '@oclif/command': 1.8.36(@oclif/config@1.18.17)(supports-color@8.1.1) - '@oclif/errors': 1.3.6 - '@oclif/linewrap': 1.0.0 - '@oclif/screen': 1.0.4 - ansi-escapes: 4.3.2 - ansi-styles: 4.3.0 - cardinal: 2.1.1 - chalk: 4.1.2 - clean-stack: 3.0.1 - cli-progress: 3.12.0 - extract-stack: 2.0.0 - fs-extra: 8.1.0 - hyperlinker: 1.0.0 - indent-string: 4.0.0 - is-wsl: 2.2.0 - js-yaml: 3.14.2 - lodash: 4.17.23 - natural-orderby: 2.0.3 - object-treeify: 1.1.33 - password-prompt: 1.1.3 - semver: 7.7.3 - string-width: 4.2.3 - strip-ansi: 6.0.1 - supports-color: 8.1.1 - supports-hyperlinks: 2.3.0 - tslib: 2.8.1 - transitivePeerDependencies: - - '@oclif/config' - cli-width@4.1.0: {} clone-deep@4.0.1: @@ -8909,8 +8728,6 @@ snapshots: acorn-jsx: 5.3.2(acorn@8.15.0) eslint-visitor-keys: 4.2.1 - esprima@4.0.1: {} - esquery@1.7.0: dependencies: estraverse: 5.3.0 @@ -8941,8 +8758,6 @@ snapshots: expect-type@1.3.0: {} - extract-stack@2.0.0: {} - fast-deep-equal@3.1.3: {} fast-diff@1.3.0: {} @@ -9286,8 +9101,6 @@ snapshots: husky@7.0.4: {} - hyperlinker@1.0.0: {} - iconv-lite@0.7.2: dependencies: safer-buffer: 2.1.2 @@ -9479,6 +9292,8 @@ snapshots: isexe@2.0.0: {} + isexe@3.1.5: {} + isobject@3.0.1: {} istanbul-lib-coverage@3.2.2: {} @@ -9531,11 +9346,6 @@ snapshots: js-tokens@4.0.0: {} - js-yaml@3.14.2: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - js-yaml@4.1.1: dependencies: argparse: 2.0.1 @@ -9601,14 +9411,6 @@ snapshots: pify: 3.0.0 strip-bom: 3.0.0 - load-json-file@5.3.0: - dependencies: - graceful-fs: 4.2.11 - parse-json: 4.0.0 - pify: 4.0.1 - strip-bom: 3.0.0 - type-fest: 0.3.1 - load-tsconfig@0.2.5: {} locate-path@2.0.0: @@ -9750,8 +9552,6 @@ snapshots: natural-compare@1.4.0: {} - natural-orderby@2.0.3: {} - nested-error-stacks@2.0.1: {} nice-try@1.0.5: {} @@ -9779,10 +9579,23 @@ snapshots: normalize-url@8.1.1: {} + npm-package-arg@11.0.3: + dependencies: + hosted-git-info: 7.0.2 + proc-log: 4.2.0 + semver: 7.7.4 + validate-npm-package-name: 5.0.1 + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + npm@10.9.4: {} + o3@1.0.3: dependencies: capability: 0.2.5 @@ -9793,7 +9606,7 @@ snapshots: object-keys@1.1.1: {} - object-treeify@1.1.33: {} + object-treeify@4.0.1: {} object.assign@4.1.7: dependencies: @@ -9958,11 +9771,6 @@ snapshots: no-case: 3.0.4 tslib: 2.8.1 - password-prompt@1.1.3: - dependencies: - ansi-escapes: 4.3.2 - cross-spawn: 7.0.6 - patch-package@6.5.1: dependencies: '@yarnpkg/lockfile': 1.1.0 @@ -9995,6 +9803,8 @@ snapshots: path-key@3.1.1: {} + path-key@4.0.0: {} + path-parse@1.0.7: {} path-scurry@1.11.1: @@ -10068,6 +9878,8 @@ snapshots: dependencies: parse-ms: 2.1.0 + proc-log@4.2.0: {} + prop-types@15.8.1: dependencies: loose-envify: 1.4.0 @@ -10115,10 +9927,6 @@ snapshots: readdirp@4.1.2: {} - redeyed@2.1.1: - dependencies: - esprima: 4.0.1 - reduce-flatten@2.0.0: {} reflect.getprototypeof@1.0.10: @@ -10288,6 +10096,8 @@ snapshots: semver@7.7.3: {} + semver@7.7.4: {} + sentence-case@3.0.4: dependencies: no-case: 3.0.4 @@ -10429,8 +10239,6 @@ snapshots: spdx-license-ids@3.0.22: {} - sprintf-js@1.0.3: {} - stackback@0.0.2: {} std-env@3.10.0: {} @@ -10500,10 +10308,6 @@ snapshots: define-properties: 1.2.1 es-object-atoms: 1.1.1 - strip-ansi@5.2.0: - dependencies: - ansi-regex: 4.1.1 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -10669,8 +10473,6 @@ snapshots: tslib@1.10.0: {} - tslib@1.14.1: {} - tslib@2.1.0: {} tslib@2.8.1: {} @@ -10713,8 +10515,6 @@ snapshots: type-fest@0.21.3: {} - type-fest@0.3.1: {} - typed-array-buffer@1.0.3: dependencies: call-bound: 1.0.4 @@ -10965,6 +10765,10 @@ snapshots: dependencies: isexe: 2.0.0 + which@4.0.0: + dependencies: + isexe: 3.1.5 + why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0