From fb4d1f1c60a6a1ec50e90c88a193a75975b3769c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sat, 28 Sep 2024 15:15:22 +0200 Subject: [PATCH 01/32] feat: support for envfile as secrets --- docs/commands.md | 3 ++- package.json | 2 +- src/commands/deploy/definition.ts | 4 ++++ src/commands/deploy/index.ts | 5 ++++- src/index.ts | 1 + src/modules/scripts/docker_deploy.sh | 15 +++++++++++---- src/modules/scripts/ftp_upload.sh | 3 ++- src/modules/scripts/init.sh | 2 +- src/modules/utils/path.ts | 3 +++ 9 files changed, 29 insertions(+), 9 deletions(-) create mode 100644 src/modules/utils/path.ts diff --git a/docs/commands.md b/docs/commands.md index 3b3713c..eac3848 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -15,10 +15,11 @@ Deploy an application from a folder Options: --location Location of the folder containing the application - --type Type of application to deploy (allowed: "docker", "web", default: "docker") + --type Type of application to deploy (allowed: ["docker", "web"], default: "docker") --name Name to tag the application. By default, the folder/file name will be used --build-on-target Build docker image on target machine instead of local (default: true) --vars List of variables for docker applications in = format, e.g. PORT=8080 (default: []) + --envfile Environment variables file to provide when running the container ``` # `config` diff --git a/package.json b/package.json index 663ca46..5aeca9e 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "author": "Carlos Cortón Cobas ", "license": "MIT", "scripts": { - "build": "rimraf dist && npx tsc && tsc-alias && cpx 'src/**/*.sh' dist", + "build": "rimraf dist && tsc && tsc-alias && cpx 'src/**/*.sh' dist", "build-local": "npm run build && chmod +x ./dist/index.js" }, "bin": { diff --git a/src/commands/deploy/definition.ts b/src/commands/deploy/definition.ts index 1f4db7f..7263b8e 100644 --- a/src/commands/deploy/definition.ts +++ b/src/commands/deploy/definition.ts @@ -28,6 +28,10 @@ const definition = Cli.defineCommand({ type: "list", default: [], }, + envFile: { + description: "Environment variables file to provide when running the container", + aliases: ["envfile"], + }, }, }); diff --git a/src/commands/deploy/index.ts b/src/commands/deploy/index.ts index f7910fb..1684041 100644 --- a/src/commands/deploy/index.ts +++ b/src/commands/deploy/index.ts @@ -1,11 +1,13 @@ import path from "path"; import Cli from "cli-er"; import { executeScript } from "@modules/execute"; + import definition from "./definition"; import zip from "@modules/utils/zip"; +import { finalPath } from "@modules/utils/path"; export default async function (options: Cli.CommandOptions) { - const location = path.isAbsolute(options.location) ? options.location : path.join(process.cwd(), options.location); + const [location, envFile] = [options.location, options.envFile!].map(finalPath); const scriptName = options.type.concat("_deploy.sh"); const variables = options.variables.reduce((acc, curr) => { const [key, value] = curr.split("="); @@ -21,6 +23,7 @@ export default async function (options: Cli.CommandOptions) { LOCATION: location, APP_NAME: options.name!, VARS: allVars, + ENVFILE: envFile, BUILD_ON_TARGET: options.buildOnTarget.toString(), }); } diff --git a/src/index.ts b/src/index.ts index 929dbef..7ae6b9c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -13,5 +13,6 @@ new Cli( cliName: "rpi", rootCommand: false, configFile: { names: [".rpirc"], parse: c.parse }, + envPrefix: "RPI_", }, ).run(); diff --git a/src/modules/scripts/docker_deploy.sh b/src/modules/scripts/docker_deploy.sh index 001f401..1074d28 100644 --- a/src/modules/scripts/docker_deploy.sh +++ b/src/modules/scripts/docker_deploy.sh @@ -5,6 +5,7 @@ # - APP_NAME: name to tag the app. Default: `basename $LOCATION` # - PORT: for docker applications, port to be used (should be included in $VARS) # - VARS: other variables to be included as build-args +# - ENVFILE: name of an env-file to provide to `docker run` command # - BUILD_ON_TARGET: whether the build process should be executed on target server CURRDIR=$(dirname $0) @@ -16,6 +17,7 @@ ZIP_LOCATION="$LOCATION/../$APP.zip" vars=($VARS) build_args=$([ ! "$VARS" ] && echo "" || echo $(printf -- "--build-arg %s " "${vars[@]}")) port_mapping=$([ ! "$PORT" ] && echo "" || echo "-p $PORT:$PORT") +env_file=$([ ! "$ENVFILE" ] && echo "" || echo "--env-file secrets/$NAME") # Check for building locally if [ "$BUILD_ON_TARGET" != "true" ]; then @@ -29,6 +31,12 @@ echo Uploading project [$NAME] to registry ... source $CURRDIR/ftp_upload.sh $ZIP_LOCATION +# Upload env-file +if [ "$ENVFILE" ]; then + echo Uploading env-file to registry ... + source $CURRDIR/ftp_upload.sh $ENVFILE secrets/$NAME +fi + echo Deploying docker app [$NAME] $([ ! "$PORT" ] && echo "" || echo on port [$PORT]) ssh -o ConnectTimeout=5 $USER@$IP 'bash -s' < (!p || path.isAbsolute(p) ? p : path.join(process.cwd(), p)); From bfd014e6aeece47fdb729725fe6908bebecb2b20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 29 Sep 2024 17:26:02 +0200 Subject: [PATCH 02/32] feat: print logs after deploying --- docs/commands.md | 1 + src/commands/deploy/definition.ts | 5 +++++ src/commands/deploy/index.ts | 3 +-- src/commands/init/definition.ts | 9 +-------- src/commands/init/index.ts | 3 +-- src/modules/scripts/docker_deploy.sh | 12 ++++++++---- src/modules/utils/zip.ts | 1 - tsconfig.json | 2 ++ 8 files changed, 19 insertions(+), 17 deletions(-) diff --git a/docs/commands.md b/docs/commands.md index eac3848..20346d2 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -20,6 +20,7 @@ Options: --build-on-target Build docker image on target machine instead of local (default: true) --vars List of variables for docker applications in = format, e.g. PORT=8080 (default: []) --envfile Environment variables file to provide when running the container + --logs Show container logs after the indicated time. Use value <= 0 to skip (default: 5) ``` # `config` diff --git a/src/commands/deploy/definition.ts b/src/commands/deploy/definition.ts index 7263b8e..c039b2c 100644 --- a/src/commands/deploy/definition.ts +++ b/src/commands/deploy/definition.ts @@ -32,6 +32,11 @@ const definition = Cli.defineCommand({ description: "Environment variables file to provide when running the container", aliases: ["envfile"], }, + logs: { + description: "Show container logs after the indicated time. Use value <= 0 to skip", + type: "number", + default: 5, + }, }, }); diff --git a/src/commands/deploy/index.ts b/src/commands/deploy/index.ts index 1684041..e03b893 100644 --- a/src/commands/deploy/index.ts +++ b/src/commands/deploy/index.ts @@ -1,7 +1,5 @@ -import path from "path"; import Cli from "cli-er"; import { executeScript } from "@modules/execute"; - import definition from "./definition"; import zip from "@modules/utils/zip"; import { finalPath } from "@modules/utils/path"; @@ -24,6 +22,7 @@ export default async function (options: Cli.CommandOptions) { APP_NAME: options.name!, VARS: allVars, ENVFILE: envFile, + LOGS: options.logs.toString(), BUILD_ON_TARGET: options.buildOnTarget.toString(), }); } diff --git a/src/commands/init/definition.ts b/src/commands/init/definition.ts index fefee2d..c91e3ee 100644 --- a/src/commands/init/definition.ts +++ b/src/commands/init/definition.ts @@ -2,14 +2,7 @@ import Cli from "cli-er"; const definition = Cli.defineCommand({ description: "Initialize server tools and configuration", - options: { - /* id: { - description: - "Identifier for the server. Leave blank to set as default server", - positional: 0, - default: "default", - }, */ - }, + options: {}, }); export default definition; diff --git a/src/commands/init/index.ts b/src/commands/init/index.ts index ab93406..027d5bc 100644 --- a/src/commands/init/index.ts +++ b/src/commands/init/index.ts @@ -1,9 +1,8 @@ import Cli from "cli-er"; import { prompt } from "enquirer"; import { executeScript } from "@modules/execute"; -import definition from "./definition"; -export default async function (options: Cli.CommandOptions) { +export default async function () { const flags = { INSTALL_NGINX: "Configure nginx for web applications (Y/n)", }; diff --git a/src/modules/scripts/docker_deploy.sh b/src/modules/scripts/docker_deploy.sh index 1074d28..bd5e1a7 100644 --- a/src/modules/scripts/docker_deploy.sh +++ b/src/modules/scripts/docker_deploy.sh @@ -6,6 +6,7 @@ # - PORT: for docker applications, port to be used (should be included in $VARS) # - VARS: other variables to be included as build-args # - ENVFILE: name of an env-file to provide to `docker run` command +# - LOGS: time to wait for displaying container logs, <=0 to skip # - BUILD_ON_TARGET: whether the build process should be executed on target server CURRDIR=$(dirname $0) @@ -64,9 +65,12 @@ docker container stop $NAME docker rm $NAME # run docker container docker run --privileged --name $NAME -d -i $port_mapping $env_file $NAME:latest -# wait 3s and display logs -echo Waiting 5s before displaying logs... -sleep 5 -docker logs $NAME + +if [[ "$LOGS" =~ ^[1-9][0-9]*$ ]]; then + # wait specified delay and display logs + echo Waiting ${LOGS}s before displaying logs... + sleep $LOGS + docker logs $NAME +fi EOF \ No newline at end of file diff --git a/src/modules/utils/zip.ts b/src/modules/utils/zip.ts index 7dca0b4..cd24cad 100644 --- a/src/modules/utils/zip.ts +++ b/src/modules/utils/zip.ts @@ -1,6 +1,5 @@ import archiver from "archiver"; import fs from "fs"; -import path from "path"; /** * Zip a given folder diff --git a/tsconfig.json b/tsconfig.json index 3462609..80ca7c8 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,6 +12,8 @@ "rootDir": "./src", "checkJs": false, "noImplicitAny": false, + "noUnusedLocals": true, + "noUnusedParameters": true, "baseUrl": "./src", "paths": { "@modules/*": ["modules/*"], From 337110aeed4b9a4f531a61483f1192b0045af690 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Mon, 1 Sep 2025 19:52:29 +0200 Subject: [PATCH 03/32] feat: create release-preview wf (#3) --- .github/workflows/release-base.yml | 31 +++++++++++++++++++++++++++ .github/workflows/release-preview.yml | 12 +++++++++++ .github/workflows/release-publish.yml | 27 ++++++----------------- 3 files changed, 50 insertions(+), 20 deletions(-) create mode 100644 .github/workflows/release-base.yml create mode 100644 .github/workflows/release-preview.yml diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml new file mode 100644 index 0000000..5c3f5ca --- /dev/null +++ b/.github/workflows/release-base.yml @@ -0,0 +1,31 @@ +name: release-base +on: + workflow_call: + inputs: + dry_run: + required: true + type: boolean + +jobs: + release-preview: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: Setup Node + uses: actions/setup-node@v3 + with: + node-version: 16 + - name: Install dependencies + run: npm ci + - name: Build + run: npm run build + - name: Semantic Release + uses: cycjimmy/semantic-release-action@v3 + with: + dry_run: ${{ inputs.dry_run }} + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/.github/workflows/release-preview.yml b/.github/workflows/release-preview.yml new file mode 100644 index 0000000..fa49aa4 --- /dev/null +++ b/.github/workflows/release-preview.yml @@ -0,0 +1,12 @@ +name: release-preview +on: + pull_request: + branches: [main] + types: [opened, synchronize] + +jobs: + release-preview: + uses: ./.github/workflows/release-common.yml + with: + dry_run: true + secrets: inherit diff --git a/.github/workflows/release-publish.yml b/.github/workflows/release-publish.yml index b79ac7a..639801a 100644 --- a/.github/workflows/release-publish.yml +++ b/.github/workflows/release-publish.yml @@ -1,26 +1,13 @@ name: release-publish on: - push: + pull_request: branches: [main] + types: [closed] jobs: release: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - name: Setup Node - uses: actions/setup-node@v3 - with: - node-version: 16 - - name: Install dependencies - run: npm ci - - name: Build - run: npm run build - - name: Semantic Release - uses: cycjimmy/semantic-release-action@v3 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + if: github.event.pull_request.merged == true + uses: ./.github/workflows/release-common.yml + with: + dry_run: false + secrets: inherit From 1b70683acfd59ae8143c734657061b2b655f07d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Tue, 2 Sep 2025 23:54:14 +0200 Subject: [PATCH 04/32] feat: switch to namespaces for config & deploy (#6) BREAKING CHANGE: `deploy` command changes how the type is specified (`rpi docker deploy --type=web` => `rpi docker deploy web`) --- docs/commands.md | 46 ++++++++++++--- package-lock.json | 15 ++--- package.json | 2 +- src/commands/config/definition.ts | 37 ++++++------ src/commands/config/index.ts | 33 +++++------ src/commands/deploy/definition.ts | 64 +++++++++++++-------- src/commands/deploy/{index.ts => docker.ts} | 15 ++--- src/commands/deploy/web.ts | 17 ++++++ src/index.ts | 6 +- src/modules/config/index.ts | 10 +++- 10 files changed, 161 insertions(+), 84 deletions(-) rename src/commands/deploy/{index.ts => docker.ts} (63%) create mode 100644 src/commands/deploy/web.ts diff --git a/docs/commands.md b/docs/commands.md index 20346d2..eb4df9c 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -1,6 +1,7 @@ List of available commands # `init` +Perform initial configuration on a server ``` Usage: rpi init @@ -8,29 +9,56 @@ Initialize server tools and configuration ``` # `deploy` +Deploy an application + +## `deploy.docker` ``` -Usage: rpi deploy [OPTIONS] +Usage: rpi deploy docker [OPTIONS] -Deploy an application from a folder +Deploy a docker application Options: --location Location of the folder containing the application - --type Type of application to deploy (allowed: ["docker", "web"], default: "docker") --name Name to tag the application. By default, the folder/file name will be used - --build-on-target Build docker image on target machine instead of local (default: true) --vars List of variables for docker applications in = format, e.g. PORT=8080 (default: []) --envfile Environment variables file to provide when running the container + --build-on-target Build docker image on target machine instead of local (default: true) + --logs Show container logs after the indicated time. Use value <= 0 to skip (default: 5) +``` + +## `deploy.web` +``` +Usage: rpi deploy web [OPTIONS] + +Deploy a web application + +Options: + --location Location of the folder containing the application + --name Name to tag the application. By default, the folder/file name will be used + --build-on-target Build docker image on target machine instead of local (default: true) --logs Show container logs after the indicated time. Use value <= 0 to skip (default: 5) ``` # `config` +Manage configuration + +## `config.get` +``` +Usage: rpi config get [key] + +Read configuration values + +Options: + --key Configuration key to read +``` + +## `config.set` ``` -Usage: rpi config [key] [value] +Usage: rpi config set -Read and update configuration values +Update configuration values Options: - --operation Operation to execute (default: "get") - --key Configuration key - --value For `set` operation, value to update + --key Configuration key to set + --value Configuration value to set ``` \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 219bb5a..fe40201 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "dependencies": { "archiver": "^6.0.1", - "cli-er": "^0.16.0", + "cli-er": "^0.17.0", "enquirer": "^2.4.1", "ini": "^5.0.0", "object-path": "^0.11.8" @@ -5300,9 +5300,10 @@ } }, "node_modules/cli-er": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/cli-er/-/cli-er-0.16.0.tgz", - "integrity": "sha512-UxCitZt5H3h9QKlcpdm+Je6eaHQsyzNjXi4O6Z+kGVnbIYgZcjflMjkDrI+Z15sfPYYdaT8ftz0W3EQjb7ifbQ==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/cli-er/-/cli-er-0.17.0.tgz", + "integrity": "sha512-9EZz2DlC3ENYPZXOG76cerLk7nbVNo4ThUyGVMZWoKl6F9mzki/P0bxUelLP/VX31rSsiD/abL/98ptPoBp4cg==", + "license": "MIT", "engines": { "node": ">=12" } @@ -18257,9 +18258,9 @@ "dev": true }, "cli-er": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/cli-er/-/cli-er-0.16.0.tgz", - "integrity": "sha512-UxCitZt5H3h9QKlcpdm+Je6eaHQsyzNjXi4O6Z+kGVnbIYgZcjflMjkDrI+Z15sfPYYdaT8ftz0W3EQjb7ifbQ==" + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/cli-er/-/cli-er-0.17.0.tgz", + "integrity": "sha512-9EZz2DlC3ENYPZXOG76cerLk7nbVNo4ThUyGVMZWoKl6F9mzki/P0bxUelLP/VX31rSsiD/abL/98ptPoBp4cg==" }, "cli-highlight": { "version": "2.1.11", diff --git a/package.json b/package.json index 5aeca9e..8a1585b 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "archiver": "^6.0.1", - "cli-er": "^0.16.0", + "cli-er": "^0.17.0", "enquirer": "^2.4.1", "ini": "^5.0.0", "object-path": "^0.11.8" diff --git a/src/commands/config/definition.ts b/src/commands/config/definition.ts index d4efe34..bf3b9e3 100644 --- a/src/commands/config/definition.ts +++ b/src/commands/config/definition.ts @@ -1,24 +1,29 @@ import Cli from "cli-er"; -const definition = Cli.defineCommand({ +const definition = Cli.defineNamespace({ description: "Read and update configuration values", + default: "get", options: { - operation: { - positional: 0, - description: "Operation to execute", - required: true, - // not including `enum` to allow "config key" as alias of "config get key" - default: "get", - requires: (v) => (v === "set" ? ["key", "value"] : []), + get: { + kind: "command", + description: "Read configuration values", + options: { + key: { kind: "option", type: "string", positional: 0, description: "Configuration key to read" }, + }, }, - key: { - positional: 1, - description: "Configuration key", - }, - value: { - positional: 2, - description: "For `set` operation, value to update", - requires: ["key"], + set: { + kind: "command", + description: "Update configuration values", + options: { + key: { kind: "option", type: "string", positional: 0, description: "Configuration key to set", required: true }, + value: { + kind: "option", + type: "string", + positional: 1, + description: "Configuration value to set", + required: true, + }, + }, }, }, }); diff --git a/src/commands/config/index.ts b/src/commands/config/index.ts index 4f52795..ea58274 100644 --- a/src/commands/config/index.ts +++ b/src/commands/config/index.ts @@ -3,23 +3,20 @@ import config from "@modules/config"; import definition from "./definition"; import { stringify } from "ini"; -type ConfigParams = Cli.CommandOptions; -const operations = { - get: ({ key }: ConfigParams) => { - const content = key !== undefined ? config.get(key, "Not value found") : config.config; - Cli.logger.log(typeof content === "string" ? content : stringify(content, { whitespace: true })); - }, - set: ({ key, value }: ConfigParams) => { - config.set({ [key!]: value }); - Cli.logger.log(`Config value for \`${key}\` successfully updated\n`); - }, +type ConfigParams = Cli.NamespaceOptions; +export const get = (params: ConfigParams["get"]) => { + // Check if config file exists + if (!config.exists) { + return Cli.logger.log("Config file not found at ".concat(config.filepath, "\n")); + } + const content = params.key !== undefined ? config.get(params.key, "No value found") : config.config; + Cli.logger.log( + typeof content === "string" ? content : stringify(content, { whitespace: true, align: true }).replace(/\r?\n$/, ""), + "\n", + ); }; -export default function (params: ConfigParams) { - // Allow alias: `config x` == `config get x` - if (!["get", "set"].includes(params.operation)) { - params.key = params.operation; - params.operation = "get"; - } - operations[params.operation](params); -} +export const set = (params: ConfigParams["set"]) => { + config.set({ [params.key]: params.value }); + Cli.logger.log(`Config value for \`${params.key}\` successfully updated\n`); +}; diff --git a/src/commands/deploy/definition.ts b/src/commands/deploy/definition.ts index c039b2c..e0b67d0 100644 --- a/src/commands/deploy/definition.ts +++ b/src/commands/deploy/definition.ts @@ -1,38 +1,56 @@ import Cli from "cli-er"; -const definition = Cli.defineCommand({ - description: "Deploy an application from a folder", +const definition = Cli.defineNamespace({ + description: "Deploy an application from a folder or file", + default: "docker", options: { - location: { - description: "Location of the folder containing the application", - required: true, - positional: 0, + docker: { + kind: "command", + description: "Deploy a docker application", + options: { + location: { + description: "Location of the folder containing the application", + required: true, + positional: 0, + }, + name: { + description: "Name to tag the application. By default, the folder/file name will be used", + }, + variables: { + description: "List of variables for docker applications in = format, e.g. PORT=8080", + aliases: ["vars"], + type: "list", + default: [], + }, + envFile: { + description: "Environment variables file to provide when running the container", + aliases: ["envfile"], + }, + }, }, - type: { - description: "Type of application to deploy", - enum: ["docker", "web"] as const, - default: "docker", - }, - name: { - description: "Name to tag the application. By default, the folder/file name will be used", + web: { + kind: "command", + description: "Deploy a web application", + options: { + location: { + description: "Location of the folder containing the application", + required: true, + positional: 0, + }, + name: { + description: "Name to tag the application. By default, the folder/file name will be used", + }, + }, }, buildOnTarget: { + kind: "option", description: "Build docker image on target machine instead of local", type: "boolean", aliases: ["build-on-target"], default: true, }, - variables: { - description: "List of variables for docker applications in = format, e.g. PORT=8080", - aliases: ["vars"], - type: "list", - default: [], - }, - envFile: { - description: "Environment variables file to provide when running the container", - aliases: ["envfile"], - }, logs: { + kind: "option", description: "Show container logs after the indicated time. Use value <= 0 to skip", type: "number", default: 5, diff --git a/src/commands/deploy/index.ts b/src/commands/deploy/docker.ts similarity index 63% rename from src/commands/deploy/index.ts rename to src/commands/deploy/docker.ts index e03b893..19274b9 100644 --- a/src/commands/deploy/index.ts +++ b/src/commands/deploy/docker.ts @@ -4,19 +4,20 @@ import definition from "./definition"; import zip from "@modules/utils/zip"; import { finalPath } from "@modules/utils/path"; -export default async function (options: Cli.CommandOptions) { - const [location, envFile] = [options.location, options.envFile!].map(finalPath); - const scriptName = options.type.concat("_deploy.sh"); +type DockerParams = Cli.NamespaceOptions["docker"]; +export default async function (options: DockerParams) { + let [location, envFile] = [options.location, options.envFile!].map(finalPath); const variables = options.variables.reduce((acc, curr) => { const [key, value] = curr.split("="); return { ...acc, [key]: value }; - }, {}); - // web/build-on-target: create zip from source folder - if (options.type === "web" || options.buildOnTarget) { + }, {} as Record); + + // build-on-target: create zip from source folder + if (options.buildOnTarget) { await zip(location, location.concat(".zip")); } const allVars = options.variables.join(" "); - executeScript(scriptName, { + executeScript("docker_deploy.sh", { ...variables, LOCATION: location, APP_NAME: options.name!, diff --git a/src/commands/deploy/web.ts b/src/commands/deploy/web.ts new file mode 100644 index 0000000..ff278a9 --- /dev/null +++ b/src/commands/deploy/web.ts @@ -0,0 +1,17 @@ +import Cli from "cli-er"; +import { executeScript } from "@modules/execute"; +import definition from "./definition"; +import zip from "@modules/utils/zip"; +import { finalPath } from "@modules/utils/path"; + +type WebParams = Cli.NamespaceOptions["web"]; +export default async function (options: WebParams) { + const location = finalPath(options.location); + + await zip(location, location.concat(".zip")); + + executeScript("web_deploy.sh", { + LOCATION: location, + APP_NAME: options.name!, + }); +} diff --git a/src/index.ts b/src/index.ts index 7ae6b9c..5a71ee8 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,6 @@ #!/usr/bin/env node import Cli from "cli-er"; -import c from "@modules/config"; +import c, { names } from "@modules/config"; // import command definitions import config from "@commands/config/definition"; import deploy from "@commands/deploy/definition"; @@ -12,7 +12,9 @@ new Cli( { cliName: "rpi", rootCommand: false, - configFile: { names: [".rpirc"], parse: c.parse }, + baseLocation: "commands", + commandsPath: "", + configFile: { names, parse: c.parse }, envPrefix: "RPI_", }, ).run(); diff --git a/src/modules/config/index.ts b/src/modules/config/index.ts index ecf4111..2eb02e3 100644 --- a/src/modules/config/index.ts +++ b/src/modules/config/index.ts @@ -1,10 +1,15 @@ import fs from "fs"; +import path from "path"; import { stringify, parse as iniParse } from "ini"; import op from "object-path"; +export const names = [".rpirc"]; + class Config { config: object = {}; - filepath: string = process.cwd(); + exists = false; + // By default, create file in the current directory + filepath: string = path.join(process.cwd(), names[0]); constructor() { this.parse = this.parse.bind(this); @@ -13,6 +18,8 @@ class Config { parse(content: string, filepath: string) { this.filepath = filepath; this.config = iniParse(content); + // This method is called by `cli-er` to parse config when a file is found + this.exists = true; return this.config; } @@ -25,6 +32,7 @@ class Config { op.set(this.config, k, o[k]); } fs.writeFileSync(this.filepath, stringify(this.config)); + this.exists = true; } } From 399693d8744ea29f4d9f485ea7690cd9adea4260 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 28 Sep 2025 12:47:50 +0200 Subject: [PATCH 05/32] feat: support docker compose (#8) * feat: initial poc * feat: include service volumes * feat: support paths to parent directories * chore: update deps & improve dockerc - provide exclusions via minimatch - update zipped folder name * feat: implement --dry-run option * chore: fix wf references * chore: update documentation --- .github/workflows/release-base.yml | 4 +- .github/workflows/release-preview.yml | 2 +- .github/workflows/release-publish.yml | 2 +- docs/commands.md | 18 ++- package-lock.json | 195 ++++++++++++++++++++------ package.json | 7 +- src/commands/deploy/definition.ts | 44 ++++-- src/commands/deploy/docker.ts | 1 + src/commands/deploy/dockerc.ts | 111 +++++++++++++++ src/commands/zip/index.ts | 16 +-- src/modules/execute/index.ts | 7 +- src/modules/scripts/dockerc_deploy.sh | 62 ++++++++ src/modules/scripts/ftp_upload.sh | 2 + src/modules/scripts/init.sh | 2 - src/modules/utils/fs.ts | 7 + src/modules/utils/zip.ts | 56 +++++++- 16 files changed, 462 insertions(+), 74 deletions(-) create mode 100644 src/commands/deploy/dockerc.ts create mode 100644 src/modules/scripts/dockerc_deploy.sh create mode 100644 src/modules/utils/fs.ts diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 5c3f5ca..0101ab5 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -7,8 +7,10 @@ on: type: boolean jobs: - release-preview: + release-base: runs-on: ubuntu-latest + permissions: + id-token: write # to enable use of OIDC for npm provenance steps: - name: Checkout uses: actions/checkout@v3 diff --git a/.github/workflows/release-preview.yml b/.github/workflows/release-preview.yml index fa49aa4..b16a323 100644 --- a/.github/workflows/release-preview.yml +++ b/.github/workflows/release-preview.yml @@ -6,7 +6,7 @@ on: jobs: release-preview: - uses: ./.github/workflows/release-common.yml + uses: ./.github/workflows/release-base.yml with: dry_run: true secrets: inherit diff --git a/.github/workflows/release-publish.yml b/.github/workflows/release-publish.yml index 639801a..50767cc 100644 --- a/.github/workflows/release-publish.yml +++ b/.github/workflows/release-publish.yml @@ -7,7 +7,7 @@ on: jobs: release: if: github.event.pull_request.merged == true - uses: ./.github/workflows/release-common.yml + uses: ./.github/workflows/release-base.yml with: dry_run: false secrets: inherit diff --git a/docs/commands.md b/docs/commands.md index eb4df9c..4dc2003 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -11,6 +11,20 @@ Initialize server tools and configuration # `deploy` Deploy an application +## `deploy.dockerc` +``` +Usage: rpi deploy dockerc [OPTIONS] + +Deploy a docker-compose application + +Options: + --files, -f List of docker-compose files (default: ["docker-compose.yaml"]) + --exclude, -e List of paths to exclude from packaging e.g. "/dev" (default: ["/dev", "/etc"]) + --dry-run Verify the list of entries that will be packaged, without performing deploy + --logs Show container logs after the indicated time (seconds). Use value <= 0 to skip (default: 5) + -h, --help Display global help, or scoped to a namespace/command +``` + ## `deploy.docker` ``` Usage: rpi deploy docker [OPTIONS] @@ -23,7 +37,7 @@ Options: --vars List of variables for docker applications in = format, e.g. PORT=8080 (default: []) --envfile Environment variables file to provide when running the container --build-on-target Build docker image on target machine instead of local (default: true) - --logs Show container logs after the indicated time. Use value <= 0 to skip (default: 5) + --logs Show container logs after the indicated time (seconds). Use value <= 0 to skip (default: 5) ``` ## `deploy.web` @@ -36,7 +50,7 @@ Options: --location Location of the folder containing the application --name Name to tag the application. By default, the folder/file name will be used --build-on-target Build docker image on target machine instead of local (default: true) - --logs Show container logs after the indicated time. Use value <= 0 to skip (default: 5) + --logs Show container logs after the indicated time (seconds). Use value <= 0 to skip (default: 5) ``` # `config` diff --git a/package-lock.json b/package-lock.json index fe40201..2cbe3c5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,15 +10,17 @@ "license": "MIT", "dependencies": { "archiver": "^6.0.1", - "cli-er": "^0.17.0", + "cli-er": "^0.18.0", "enquirer": "^2.4.1", "ini": "^5.0.0", + "minimatch": "^10.0.3", "object-path": "^0.11.8" }, "bin": { "rpi": "dist/index.js" }, "devDependencies": { + "@json-types/compose": "^0.10.0", "@saithodev/semantic-release-backmerge": "^2.1.2", "@semantic-release/changelog": "^6.0.1", "@semantic-release/git": "^10.0.1", @@ -145,6 +147,27 @@ "node": ">=0.1.90" } }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -190,6 +213,13 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/@json-types/compose": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@json-types/compose/-/compose-0.10.0.tgz", + "integrity": "sha512-O4TEihRme9ezO+yyb2mR0IQMZL+EfvVtMhaZyY9ErdZqsmshnh3BR23lgee6/jjQ2HeMWujddCG8LLP3KLAgGA==", + "dev": true, + "license": "MIT" + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -5300,9 +5330,9 @@ } }, "node_modules/cli-er": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/cli-er/-/cli-er-0.17.0.tgz", - "integrity": "sha512-9EZz2DlC3ENYPZXOG76cerLk7nbVNo4ThUyGVMZWoKl6F9mzki/P0bxUelLP/VX31rSsiD/abL/98ptPoBp4cg==", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/cli-er/-/cli-er-0.18.0.tgz", + "integrity": "sha512-dIN6aVrM9v2mL8ykzYvu0qw+xlBaqmYCWiVUgQsyNERrikAhQiJaCCrcME2QIcQYdrqzoBaSpEiIlcXVcn4nIA==", "license": "MIT", "engines": { "node": ">=12" @@ -5746,6 +5776,17 @@ "cpx": "bin/index.js" } }, + "node_modules/cpx/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/cpx/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -5767,6 +5808,19 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/cpx/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/cpx/node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -5978,6 +6032,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/del/node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/del/node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -6020,6 +6085,19 @@ "node": ">=0.10.0" } }, + "node_modules/del/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/del/node_modules/p-map": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", @@ -8145,27 +8223,18 @@ } }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "@isaacs/brace-expansion": "^5.0.0" }, "engines": { - "node": "*" - } - }, - "node_modules/minimatch/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { @@ -14570,6 +14639,19 @@ "dev": true, "optional": true }, + "@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==" + }, + "@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "requires": { + "@isaacs/balanced-match": "^4.0.1" + } + }, "@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -14601,6 +14683,12 @@ } } }, + "@json-types/compose": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@json-types/compose/-/compose-0.10.0.tgz", + "integrity": "sha512-O4TEihRme9ezO+yyb2mR0IQMZL+EfvVtMhaZyY9ErdZqsmshnh3BR23lgee6/jjQ2HeMWujddCG8LLP3KLAgGA==", + "dev": true + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -18258,9 +18346,9 @@ "dev": true }, "cli-er": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/cli-er/-/cli-er-0.17.0.tgz", - "integrity": "sha512-9EZz2DlC3ENYPZXOG76cerLk7nbVNo4ThUyGVMZWoKl6F9mzki/P0bxUelLP/VX31rSsiD/abL/98ptPoBp4cg==" + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/cli-er/-/cli-er-0.18.0.tgz", + "integrity": "sha512-dIN6aVrM9v2mL8ykzYvu0qw+xlBaqmYCWiVUgQsyNERrikAhQiJaCCrcME2QIcQYdrqzoBaSpEiIlcXVcn4nIA==" }, "cli-highlight": { "version": "2.1.11", @@ -18589,6 +18677,16 @@ "subarg": "^1.0.0" }, "dependencies": { + "brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -18603,6 +18701,15 @@ "path-is-absolute": "^1.0.0" } }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -18743,6 +18850,16 @@ "slash": "^3.0.0" }, "dependencies": { + "brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -18772,6 +18889,15 @@ "is-extglob": "^2.1.1" } }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, "p-map": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", @@ -20298,24 +20424,11 @@ "dev": true }, "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", "requires": { - "brace-expansion": "^1.1.7" - }, - "dependencies": { - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - } + "@isaacs/brace-expansion": "^5.0.0" } }, "minimist": { diff --git a/package.json b/package.json index 8a1585b..2511829 100644 --- a/package.json +++ b/package.json @@ -20,12 +20,14 @@ }, "dependencies": { "archiver": "^6.0.1", - "cli-er": "^0.17.0", + "cli-er": "^0.18.0", "enquirer": "^2.4.1", "ini": "^5.0.0", + "minimatch": "^10.0.3", "object-path": "^0.11.8" }, "devDependencies": { + "@json-types/compose": "^0.10.0", "@saithodev/semantic-release-backmerge": "^2.1.2", "@semantic-release/changelog": "^6.0.1", "@semantic-release/git": "^10.0.1", @@ -41,5 +43,8 @@ }, "resolutions": { "strip-ansi": "6.0.0" + }, + "publishConfig": { + "provenance": true } } diff --git a/src/commands/deploy/definition.ts b/src/commands/deploy/definition.ts index e0b67d0..cf4e814 100644 --- a/src/commands/deploy/definition.ts +++ b/src/commands/deploy/definition.ts @@ -2,8 +2,34 @@ import Cli from "cli-er"; const definition = Cli.defineNamespace({ description: "Deploy an application from a folder or file", - default: "docker", + default: "dockerc", options: { + dockerc: { + kind: "command", + description: "Deploy a docker-compose application", + options: { + files: { + kind: "option", + description: "List of docker-compose files", + type: "list", + default: ["docker-compose.yaml"], + aliases: ["files", "f"], + }, + exclude: { + kind: "option", + description: 'List of paths to exclude from packaging e.g. "/dev"', + type: "list", + default: ["/dev", "/etc"], + aliases: ["exclude", "e"], + }, + dryRun: { + kind: "option", + description: "Verify the list of entries that will be packaged, without performing deploy", + type: "boolean", + aliases: ["--dry-run"], + }, + }, + }, docker: { kind: "command", description: "Deploy a docker application", @@ -16,6 +42,13 @@ const definition = Cli.defineNamespace({ name: { description: "Name to tag the application. By default, the folder/file name will be used", }, + buildOnTarget: { + kind: "option", + description: "Build docker image on target machine instead of local", + type: "boolean", + aliases: ["build-on-target"], + default: true, + }, variables: { description: "List of variables for docker applications in = format, e.g. PORT=8080", aliases: ["vars"], @@ -42,16 +75,9 @@ const definition = Cli.defineNamespace({ }, }, }, - buildOnTarget: { - kind: "option", - description: "Build docker image on target machine instead of local", - type: "boolean", - aliases: ["build-on-target"], - default: true, - }, logs: { kind: "option", - description: "Show container logs after the indicated time. Use value <= 0 to skip", + description: "Show container logs after the indicated time (seconds). Use value <= 0 to skip", type: "number", default: 5, }, diff --git a/src/commands/deploy/docker.ts b/src/commands/deploy/docker.ts index 19274b9..ae5e804 100644 --- a/src/commands/deploy/docker.ts +++ b/src/commands/deploy/docker.ts @@ -4,6 +4,7 @@ import definition from "./definition"; import zip from "@modules/utils/zip"; import { finalPath } from "@modules/utils/path"; +//TODO use options.__ to allow including additional docker args (remove from definition those not required) type DockerParams = Cli.NamespaceOptions["docker"]; export default async function (options: DockerParams) { let [location, envFile] = [options.location, options.envFile!].map(finalPath); diff --git a/src/commands/deploy/dockerc.ts b/src/commands/deploy/dockerc.ts new file mode 100644 index 0000000..e5e713a --- /dev/null +++ b/src/commands/deploy/dockerc.ts @@ -0,0 +1,111 @@ +import Cli from "cli-er"; +import fs from "fs"; +import path from "path"; +import { executeScript } from "@modules/execute"; +import definition from "./definition"; +import { zipEntries } from "@modules/utils/zip"; +import { finalPath } from "@modules/utils/path"; +import { readYaml } from "@modules/utils/fs"; +import { type Compose } from "@json-types/compose"; +import { minimatch } from "minimatch"; + +const entryType = ["file", "dir"] as const; +type DockerCParams = Cli.NamespaceOptions["dockerc"]; +export default async function (options: DockerCParams) { + const files = options.files.map(finalPath); + const rootFolder = path.dirname(files[0]); + // Create the folder in cwd, using current dir as name + const location = path.join(rootFolder, path.basename(rootFolder)).concat(".zip"); + let rootDir: string; + + // Build on target: create a list of folders and files required for the build + Cli.logger.log("[build-on-target] Preparing files ...\n"); + let entries: { type: (typeof entryType)[number]; path: string }[] = []; + // Include all provided files + entries.push(...files.map((f) => ({ type: "file", path: f } as const))); + // List of contexts that need to be copied + const dcFiles = await Promise.all(files.map((f) => readYaml(f))); + for (const dc of dcFiles) { + // Top level config+secrets + Object.values({ ...dc.configs, ...dc.secrets }).forEach( + (c) => c.file && entries.push({ type: "file", path: c.file }), + ); + // TODO: dc.volumes + // TODO: dc.include + const services = Object.values(dc.services || {}); + for (const s of services) { + // Env files + if (s.env_file) { + const ef = typeof s.env_file === "string" ? [s.env_file] : s.env_file; + ef.forEach((e) => entries.push({ type: "file", path: typeof e === "string" ? e : e.path })); + } + // Service extends + typeof s.extends !== "string" && s.extends?.file && entries.push({ type: "file", path: s.extends.file }); + + // Volumes + if (s.volumes) { + entries.push( + ...s.volumes + .map((v) => (typeof v == "string" ? v.split(":")[0] : v.source!)) + + .map((v) => ({ type: "file" as const, path: v })), + ); + } + // Check build information + if (!s.build) { + continue; + } + if (typeof s.build === "string") { + entries.push({ type: "dir", path: s.build }); + continue; + } + // Check dockerfile param + s.build.dockerfile && entries.push({ type: "file", path: s.build.dockerfile }); + s.build.context && entries.push({ type: "dir", path: s.build.context }); + // process additional contexts + const additCtx = Array.isArray(s.build.additional_contexts) + ? s.build.additional_contexts.map((c) => c.replace(/\w+=(.+)/, "$1")) + : (Object.values(s.build!.additional_contexts || {}) as string[]); + if (additCtx.length) { + // Not all of additional contexts are fs paths, so we will have to filter them + entries.push( + ...additCtx + .map((c) => c.replace(/\w+=(.+)/, "$1")) + .filter((p) => fs.existsSync(p)) + .map((p) => ({ type: "dir", path: p } as const)), + ); + } + } + } + + // Check if entry exists && apply exclusions to entries + const excluded: typeof entries = []; + entries = entries.filter((e) => { + if (fs.existsSync(e.path) && !options.exclude.some((ex) => minimatch(e.path, ex))) { + return true; + } + excluded.push(e); + return false; + }); + + if (options.dryRun) { + const maxTypeLength = Math.max(...entryType.map((e) => e.length)); + const logEntry = (e: (typeof entries)[number]) => + Cli.logger.log(` [${e.type.padStart(maxTypeLength, " ")}] ${e.path}\n`); + Cli.logger.log("[docker-deploy::dry-run] List of included files:\n"); + entries.forEach(logEntry); + Cli.logger.log("[docker-deploy::dry-run] List of excluded files:\n"); + excluded.forEach(logEntry); + return; + } + + rootDir = await zipEntries({ entries, to: location, log: true }); + + executeScript("dockerc_deploy.sh", { + LOCATION: location, + COMPOSE_ARGS: "-f ".concat(options.files.map((f) => path.join(rootDir, f)).join(" -f ")), + BUILD_ARGS: (options.__ || []).join(" "), + LOGS: options.logs.toString(), + BUILD_ON_TARGET: "true", + }); +} diff --git a/src/commands/zip/index.ts b/src/commands/zip/index.ts index 22d1de7..c82c591 100644 --- a/src/commands/zip/index.ts +++ b/src/commands/zip/index.ts @@ -1,19 +1,11 @@ import Cli from "cli-er"; -import path from "path"; import definition from "./definition"; import zip from "@modules/utils/zip"; +import { finalPath } from "@modules/utils/path"; -export default function ({ - location, - destination, -}: Cli.CommandOptions): Promise { - const [resolvedLocation, optResolvedDestination] = [location, destination] - .filter((e) => e) - .map((e) => - path.isAbsolute(e!) ? path.resolve(e!) : path.join(process.cwd(), e!) - ); - const resolvedDestination = - optResolvedDestination || resolvedLocation.concat(".zip"); +export default function ({ location, destination }: Cli.CommandOptions): Promise { + const [resolvedLocation, optResolvedDestination] = [location, destination].filter((e) => e).map((e) => finalPath(e!)); + const resolvedDestination = optResolvedDestination || resolvedLocation.concat(".zip"); return zip(resolvedLocation, resolvedDestination); } diff --git a/src/modules/execute/index.ts b/src/modules/execute/index.ts index 2d35c28..0878040 100644 --- a/src/modules/execute/index.ts +++ b/src/modules/execute/index.ts @@ -6,11 +6,12 @@ import path from "path"; export async function executeScript(name: string, params: Record = {}): Promise { // Check first if required configuration is present await requireConfig({ ip: "Server IP address", user: "Server user" }); - const location = path.join(__dirname, "..", "scripts", name); + const [_name, ...args] = name.split(" "); + const location = path.join(__dirname, "..", "scripts", _name); // TODO check for valid location return new Promise((resolve, reject) => { - // TODO "win32" support - const child = spawn("sh", [location], { + // TODO "win32" support https://www.npmjs.com/package/shelljs + const child = spawn("sh", [location, ...args], { shell: true, cwd: path.dirname(location), env: { diff --git a/src/modules/scripts/dockerc_deploy.sh b/src/modules/scripts/dockerc_deploy.sh new file mode 100644 index 0000000..abaa038 --- /dev/null +++ b/src/modules/scripts/dockerc_deploy.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# Script for deploying a docker-compose aplication in target server +# ENV_VARIABLES: +# - LOCATION: location of the zip folder to deploy +# - COMPOSE_ARGS: arguments for `docker compose`` command +# - BUILD_ARGS: arguments for `docker compose build`` command +# - LOGS: time to wait for displaying container logs, <=0 to skip +# - BUILD_ON_TARGET: whether the build process should be executed on target server + +CURRDIR=$(dirname $0) +APP=`basename $LOCATION` +NAME="${APP%.*}" + +# Check for building locally +if [ "$BUILD_ON_TARGET" != "true" ]; then + echo This is not currently supported + exit 1 +fi + +echo Uploading project [$APP] to registry ... + +source $CURRDIR/ftp_upload.sh $LOCATION + +ssh -o ConnectTimeout=5 -o ServerAliveCountMax=2 -o ServerAliveInterval=10 $USER@$IP 'bash -s' <(filePath: string): Promise => { + const fileContents = await fs.readFile(filePath, "utf8"); + return yaml.load(fileContents); +}; diff --git a/src/modules/utils/zip.ts b/src/modules/utils/zip.ts index cd24cad..139e944 100644 --- a/src/modules/utils/zip.ts +++ b/src/modules/utils/zip.ts @@ -1,11 +1,13 @@ import archiver from "archiver"; +import path from "path"; import fs from "fs"; +import Cli from "cli-er"; /** * Zip a given folder * @param from Source folder * @param to Destination file - * @returns void + * @returns Promise */ export default function zip(from: string, to: string): Promise { const archive = archiver("zip", { zlib: { level: 9 } }); @@ -20,3 +22,55 @@ export default function zip(from: string, to: string): Promise { archive.finalize(); }); } + +/** + * Zip a list of directories and/or files + * @param params.entries List of files/dirs to include + * @param params.to Target file e.g. "test.zip" + * @param params.int Name for intermediate folders, if required (default: "_") + * @returns Promise + */ +export async function zipEntries(params: { + entries: { type: "file" | "dir"; path: string }[]; + to: string; + int?: string; + log?: boolean; +}) { + return new Promise((resolve, reject) => { + const archive = archiver("zip", { zlib: { level: 9 } }); + const stream = fs.createWriteStream(params.to); + archive.pipe(stream); + + const root = path.dirname(params.to); + const rootName = path.parse(params.to).name; + const init = params.int || "_"; + + const prevPathRegex = /(?<=(^|\/))\.\.(\/|$)/g; + // Calculate the total count of parent directories per entry + const entriesInfo = params.entries + .map((e) => ({ ...e, path: path.relative(root, e.path) })) + .map((e) => ({ ...e, count: e.path.match(prevPathRegex)?.length || 0 })); + const maxCount = Math.max(...entriesInfo.map((e) => e.count)); + const rootDir = path.join(...Array(maxCount).fill(init)); + + stream.on("close", () => resolve(rootDir)); + archive.on("error", (err) => reject(err)); + + for (const entry of entriesInfo) { + const p = path.resolve(entry.path); + // Compose the final name: "{zip-name}/{..._}/{path}" + const name = path.join( + rootName, + ...Array(maxCount - entry.count).fill(init), + entry.path.replace(prevPathRegex, ""), + ); + params.log && Cli.logger.log("[zip] Adding ", name, "\n"); + if (entry.type === "dir") { + archive.directory(p, name); + } else { + archive.file(p, { name }); + } + } + archive.finalize(); + }); +} From 9f7e4a293f737c0a2f224c8acfc8369ff6e8e897 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sat, 4 Oct 2025 10:55:34 +0200 Subject: [PATCH 06/32] feat: upload command (#12) --- README.md | 2 +- docs/commands.md | 25 +++++++++++++++++++------ package-lock.json | 14 +++++++------- package.json | 3 ++- src/commands/upload/definition.ts | 18 ++++++++++++++++++ src/commands/upload/index.ts | 13 +++++++++++++ src/index.ts | 3 ++- src/modules/scripts/docker_deploy.sh | 4 ++-- src/modules/scripts/dockerc_deploy.sh | 2 +- src/modules/scripts/ftp_upload.sh | 11 ----------- src/modules/scripts/upload.sh | 12 ++++++++++++ src/modules/scripts/web_deploy.sh | 2 +- 12 files changed, 78 insertions(+), 31 deletions(-) create mode 100644 src/commands/upload/definition.ts create mode 100644 src/commands/upload/index.ts delete mode 100644 src/modules/scripts/ftp_upload.sh create mode 100644 src/modules/scripts/upload.sh diff --git a/README.md b/README.md index 73dab17..971f01a 100644 --- a/README.md +++ b/README.md @@ -50,9 +50,9 @@ The process will: - [**init**](/docs/commands.md#init): described above, to initially configure a server. - [**deploy**](/docs/commands.md#deploy): deploy a docker/web application from a folder. +- [**upload**](/docs/commands.md#upload): upload files to the server. - [**config**](/docs/commands.md#deploy): read and update configuration values. - ## Development ```sh diff --git a/docs/commands.md b/docs/commands.md index 4dc2003..fcd95fc 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -2,7 +2,7 @@ List of available commands # `init` Perform initial configuration on a server -``` +```sh Usage: rpi init Initialize server tools and configuration @@ -12,7 +12,7 @@ Initialize server tools and configuration Deploy an application ## `deploy.dockerc` -``` +```sh Usage: rpi deploy dockerc [OPTIONS] Deploy a docker-compose application @@ -26,7 +26,7 @@ Options: ``` ## `deploy.docker` -``` +```sh Usage: rpi deploy docker [OPTIONS] Deploy a docker application @@ -41,7 +41,7 @@ Options: ``` ## `deploy.web` -``` +```sh Usage: rpi deploy web [OPTIONS] Deploy a web application @@ -53,11 +53,24 @@ Options: --logs Show container logs after the indicated time (seconds). Use value <= 0 to skip (default: 5) ``` +# `upload` + +```sh +Usage: rpi upload [OPTIONS] + +Upload files to the server + +Options: + --files Location of the files to upload + -d, --dest Destination path on host (default: "~/registry/") + -h, --help Display global help, or scoped to a namespace/command +``` + # `config` Manage configuration ## `config.get` -``` +```sh Usage: rpi config get [key] Read configuration values @@ -67,7 +80,7 @@ Options: ``` ## `config.set` -``` +```sh Usage: rpi config set Update configuration values diff --git a/package-lock.json b/package-lock.json index 2cbe3c5..d93fd31 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "dependencies": { "archiver": "^6.0.1", - "cli-er": "^0.18.0", + "cli-er": "^0.18.1", "enquirer": "^2.4.1", "ini": "^5.0.0", "minimatch": "^10.0.3", @@ -5330,9 +5330,9 @@ } }, "node_modules/cli-er": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/cli-er/-/cli-er-0.18.0.tgz", - "integrity": "sha512-dIN6aVrM9v2mL8ykzYvu0qw+xlBaqmYCWiVUgQsyNERrikAhQiJaCCrcME2QIcQYdrqzoBaSpEiIlcXVcn4nIA==", + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/cli-er/-/cli-er-0.18.1.tgz", + "integrity": "sha512-85WlfZpHnXOYj4xAf6xIQm+wWL2VARzcClE5ydf5x2wSirur2nHIoG78NUyyzAc4vIYkI3MRfeXHvnlsKyhVWQ==", "license": "MIT", "engines": { "node": ">=12" @@ -18346,9 +18346,9 @@ "dev": true }, "cli-er": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/cli-er/-/cli-er-0.18.0.tgz", - "integrity": "sha512-dIN6aVrM9v2mL8ykzYvu0qw+xlBaqmYCWiVUgQsyNERrikAhQiJaCCrcME2QIcQYdrqzoBaSpEiIlcXVcn4nIA==" + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/cli-er/-/cli-er-0.18.1.tgz", + "integrity": "sha512-85WlfZpHnXOYj4xAf6xIQm+wWL2VARzcClE5ydf5x2wSirur2nHIoG78NUyyzAc4vIYkI3MRfeXHvnlsKyhVWQ==" }, "cli-highlight": { "version": "2.1.11", diff --git a/package.json b/package.json index 2511829..70002a4 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "archiver": "^6.0.1", - "cli-er": "^0.18.0", + "cli-er": "^0.18.1", "enquirer": "^2.4.1", "ini": "^5.0.0", "minimatch": "^10.0.3", @@ -45,6 +45,7 @@ "strip-ansi": "6.0.0" }, "publishConfig": { + "access": "public", "provenance": true } } diff --git a/src/commands/upload/definition.ts b/src/commands/upload/definition.ts new file mode 100644 index 0000000..0ffeaff --- /dev/null +++ b/src/commands/upload/definition.ts @@ -0,0 +1,18 @@ +import Cli from "cli-er"; + +const definition = Cli.defineCommand({ + description: "Upload files to the server ", + options: { + files: { + description: "Location of the files to upload", + required: true, + positional: true, + }, + destination: { + description: 'Destination path on host (default: "~/registry/")', + aliases: ["d", "dest"], + }, + }, +}); + +export default definition; diff --git a/src/commands/upload/index.ts b/src/commands/upload/index.ts new file mode 100644 index 0000000..492414f --- /dev/null +++ b/src/commands/upload/index.ts @@ -0,0 +1,13 @@ +import Cli from "cli-er"; +import definition from "./definition"; +import { finalPath } from "@modules/utils/path"; +import { executeScript } from "@modules/execute"; + +export default async function (params: Cli.CommandOptions): Promise { + const locations = params.files.map(finalPath); + + return executeScript( + "upload.sh ".concat(locations.join(" ")), + params.destination ? { DESTINATION: params.destination } : {}, + ).catch(() => {}); +} diff --git a/src/index.ts b/src/index.ts index 5a71ee8..2542c95 100644 --- a/src/index.ts +++ b/src/index.ts @@ -4,11 +4,12 @@ import c, { names } from "@modules/config"; // import command definitions import config from "@commands/config/definition"; import deploy from "@commands/deploy/definition"; +import upload from "@commands/upload/definition"; import zip from "@commands/zip/definition"; import init from "@commands/init/definition"; new Cli( - { deploy, config, zip, init }, + { deploy, config, zip, upload, init }, { cliName: "rpi", rootCommand: false, diff --git a/src/modules/scripts/docker_deploy.sh b/src/modules/scripts/docker_deploy.sh index bd5e1a7..7cf82e5 100644 --- a/src/modules/scripts/docker_deploy.sh +++ b/src/modules/scripts/docker_deploy.sh @@ -30,12 +30,12 @@ fi echo Uploading project [$NAME] to registry ... -source $CURRDIR/ftp_upload.sh $ZIP_LOCATION +source $CURRDIR/upload.sh $ZIP_LOCATION # Upload env-file if [ "$ENVFILE" ]; then echo Uploading env-file to registry ... - source $CURRDIR/ftp_upload.sh $ENVFILE secrets/$NAME + DESTINATION=~/registry/secrets/$NAME source $CURRDIR/upload.sh $ENVFILE fi echo Deploying docker app [$NAME] $([ ! "$PORT" ] && echo "" || echo on port [$PORT]) diff --git a/src/modules/scripts/dockerc_deploy.sh b/src/modules/scripts/dockerc_deploy.sh index abaa038..345e4ea 100644 --- a/src/modules/scripts/dockerc_deploy.sh +++ b/src/modules/scripts/dockerc_deploy.sh @@ -19,7 +19,7 @@ fi echo Uploading project [$APP] to registry ... -source $CURRDIR/ftp_upload.sh $LOCATION +source $CURRDIR/upload.sh $LOCATION ssh -o ConnectTimeout=5 -o ServerAliveCountMax=2 -o ServerAliveInterval=10 $USER@$IP 'bash -s' < Date: Sat, 4 Oct 2025 19:00:17 +0200 Subject: [PATCH 07/32] feat: simplify `deploy docker` definition (#14) * feat: simplify docker command * chore: update command description --- docs/commands.md | 12 ++++++++---- src/commands/deploy/definition.ts | 14 ++------------ src/commands/deploy/docker.ts | 13 +++---------- src/modules/scripts/docker_deploy.sh | 24 +++++------------------- src/modules/scripts/init.sh | 1 + src/modules/scripts/upload.sh | 8 ++++---- 6 files changed, 23 insertions(+), 49 deletions(-) diff --git a/docs/commands.md b/docs/commands.md index fcd95fc..47a947b 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -22,7 +22,6 @@ Options: --exclude, -e List of paths to exclude from packaging e.g. "/dev" (default: ["/dev", "/etc"]) --dry-run Verify the list of entries that will be packaged, without performing deploy --logs Show container logs after the indicated time (seconds). Use value <= 0 to skip (default: 5) - -h, --help Display global help, or scoped to a namespace/command ``` ## `deploy.docker` @@ -34,12 +33,18 @@ Deploy a docker application Options: --location Location of the folder containing the application --name Name to tag the application. By default, the folder/file name will be used - --vars List of variables for docker applications in = format, e.g. PORT=8080 (default: []) - --envfile Environment variables file to provide when running the container --build-on-target Build docker image on target machine instead of local (default: true) --logs Show container logs after the indicated time (seconds). Use value <= 0 to skip (default: 5) ``` +Example: +```sh +rpi deploy ./dist --name=server -- -e PORT=8080 -p 8080:8080 --privileged --restart=unless-stopped +``` + +> [!TIP] +> For more complex parameters, transition to a docker-compose.yaml file and simply use `rpi deploy` + ## `deploy.web` ```sh Usage: rpi deploy web [OPTIONS] @@ -63,7 +68,6 @@ Upload files to the server Options: --files Location of the files to upload -d, --dest Destination path on host (default: "~/registry/") - -h, --help Display global help, or scoped to a namespace/command ``` # `config` diff --git a/src/commands/deploy/definition.ts b/src/commands/deploy/definition.ts index cf4e814..b606863 100644 --- a/src/commands/deploy/definition.ts +++ b/src/commands/deploy/definition.ts @@ -6,7 +6,7 @@ const definition = Cli.defineNamespace({ options: { dockerc: { kind: "command", - description: "Deploy a docker-compose application", + description: "Deploy a docker-compose application. Use '--' to include additional docker-compose:build options", options: { files: { kind: "option", @@ -32,7 +32,7 @@ const definition = Cli.defineNamespace({ }, docker: { kind: "command", - description: "Deploy a docker application", + description: "Deploy a docker application. Use '--' to include additional docker:run options", options: { location: { description: "Location of the folder containing the application", @@ -49,16 +49,6 @@ const definition = Cli.defineNamespace({ aliases: ["build-on-target"], default: true, }, - variables: { - description: "List of variables for docker applications in = format, e.g. PORT=8080", - aliases: ["vars"], - type: "list", - default: [], - }, - envFile: { - description: "Environment variables file to provide when running the container", - aliases: ["envfile"], - }, }, }, web: { diff --git a/src/commands/deploy/docker.ts b/src/commands/deploy/docker.ts index ae5e804..5ff86d3 100644 --- a/src/commands/deploy/docker.ts +++ b/src/commands/deploy/docker.ts @@ -4,26 +4,19 @@ import definition from "./definition"; import zip from "@modules/utils/zip"; import { finalPath } from "@modules/utils/path"; -//TODO use options.__ to allow including additional docker args (remove from definition those not required) type DockerParams = Cli.NamespaceOptions["docker"]; export default async function (options: DockerParams) { - let [location, envFile] = [options.location, options.envFile!].map(finalPath); - const variables = options.variables.reduce((acc, curr) => { - const [key, value] = curr.split("="); - return { ...acc, [key]: value }; - }, {} as Record); + const location = finalPath(options.location); // build-on-target: create zip from source folder if (options.buildOnTarget) { await zip(location, location.concat(".zip")); } - const allVars = options.variables.join(" "); + executeScript("docker_deploy.sh", { - ...variables, LOCATION: location, APP_NAME: options.name!, - VARS: allVars, - ENVFILE: envFile, + RUN_ARGS: options.__?.join(" ") || "", LOGS: options.logs.toString(), BUILD_ON_TARGET: options.buildOnTarget.toString(), }); diff --git a/src/modules/scripts/docker_deploy.sh b/src/modules/scripts/docker_deploy.sh index 7cf82e5..88134b7 100644 --- a/src/modules/scripts/docker_deploy.sh +++ b/src/modules/scripts/docker_deploy.sh @@ -3,9 +3,7 @@ # ENV_VARIABLES: # - LOCATION: location of the folder to deploy # - APP_NAME: name to tag the app. Default: `basename $LOCATION` -# - PORT: for docker applications, port to be used (should be included in $VARS) -# - VARS: other variables to be included as build-args -# - ENVFILE: name of an env-file to provide to `docker run` command +# - RUN_ARGS: additional arguments for `docker run` command # - LOGS: time to wait for displaying container logs, <=0 to skip # - BUILD_ON_TARGET: whether the build process should be executed on target server @@ -14,16 +12,10 @@ APP=`basename $LOCATION` NAME="${APP_NAME:-$APP}" ZIP_LOCATION="$LOCATION/../$APP.zip" -# define build-args variables to be used inside Dockerfile -vars=($VARS) -build_args=$([ ! "$VARS" ] && echo "" || echo $(printf -- "--build-arg %s " "${vars[@]}")) -port_mapping=$([ ! "$PORT" ] && echo "" || echo "-p $PORT:$PORT") -env_file=$([ ! "$ENVFILE" ] && echo "" || echo "--env-file secrets/$NAME") - # Check for building locally if [ "$BUILD_ON_TARGET" != "true" ]; then # build docker image - docker build $build_args -t $NAME $LOCATION + docker build -t $NAME $LOCATION # save image to a file docker save -o $ZIP_LOCATION $NAME fi @@ -32,13 +24,7 @@ echo Uploading project [$NAME] to registry ... source $CURRDIR/upload.sh $ZIP_LOCATION -# Upload env-file -if [ "$ENVFILE" ]; then - echo Uploading env-file to registry ... - DESTINATION=~/registry/secrets/$NAME source $CURRDIR/upload.sh $ENVFILE -fi - -echo Deploying docker app [$NAME] $([ ! "$PORT" ] && echo "" || echo on port [$PORT]) +echo Deploying docker app [$NAME] ssh -o ConnectTimeout=5 $USER@$IP 'bash -s' < Date: Sat, 4 Oct 2025 19:35:03 +0200 Subject: [PATCH 08/32] chore: update release-preview (#16) --- .github/workflows/release-base.yml | 10 +- .releaserc.json | 1 + package-lock.json | 4233 +++++++++++++--------------- package.json | 2 + 4 files changed, 1948 insertions(+), 2298 deletions(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 0101ab5..599c170 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -25,9 +25,13 @@ jobs: - name: Build run: npm run build - name: Semantic Release - uses: cycjimmy/semantic-release-action@v3 - with: - dry_run: ${{ inputs.dry_run }} + id: semantic-release + run: npx semantic-release --dry-run=$DRY_RUN env: + DRY_RUN: ${{ inputs.dry_run }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + outputs: + new-release-published: ${{ steps.semantic-release.outputs.new-release-published }} + new-release-version: ${{ steps.semantic-release.outputs.new-release-version }} + new-release-git-tag: ${{ steps.semantic-release.outputs.new-release-git-tag }} diff --git a/.releaserc.json b/.releaserc.json index d51edff..32572cf 100644 --- a/.releaserc.json +++ b/.releaserc.json @@ -5,6 +5,7 @@ ["@semantic-release/release-notes-generator", { "writerOpts": { "commitGroupsSort": ["feat", "fix"] } }], "@semantic-release/changelog", "@semantic-release/npm", + "semantic-release-export-data", ["@semantic-release/git", { "message": "chore(release): ${nextRelease.version}" }], [ "@saithodev/semantic-release-backmerge", diff --git a/package-lock.json b/package-lock.json index d93fd31..dcf486b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,6 +31,8 @@ "cpx": "^1.5.0", "glob": "^10.3.10", "rimraf": "^5.0.5", + "semantic-release": "^24.2.9", + "semantic-release-export-data": "^1.1.1", "tsc-alias": "^1.8.8", "typescript": "^5.2.2" }, @@ -259,148 +261,149 @@ } }, "node_modules/@octokit/auth-token": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", - "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", + "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==", "dev": true, - "peer": true, + "license": "MIT", "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/core": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", - "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.5.tgz", + "integrity": "sha512-t54CUOsFMappY1Jbzb7fetWeO0n6K0k/4+/ZpkS+3Joz8I4VcvY9OiEBFRYISqaI2fq5sCiPtAjRDOzVYG8m+Q==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@octokit/auth-token": "^5.0.0", - "@octokit/graphql": "^8.0.0", - "@octokit/request": "^9.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.0.0", - "before-after-hook": "^3.0.2", + "@octokit/auth-token": "^6.0.0", + "@octokit/graphql": "^9.0.2", + "@octokit/request": "^10.0.4", + "@octokit/request-error": "^7.0.1", + "@octokit/types": "^15.0.0", + "before-after-hook": "^4.0.0", "universal-user-agent": "^7.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/endpoint": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz", - "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.1.tgz", + "integrity": "sha512-7P1dRAZxuWAOPI7kXfio88trNi/MegQ0IJD3vfgC3b+LZo1Qe6gRJc2v0mz2USWWJOKrB2h5spXCzGbw+fAdqA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0", + "@octokit/types": "^15.0.0", "universal-user-agent": "^7.0.2" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/graphql": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", - "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.2.tgz", + "integrity": "sha512-iz6KzZ7u95Fzy9Nt2L8cG88lGRMr/qy1Q36ih/XVzMIlPDMYwaNLE/ENhqmIzgPrlNWiYJkwmveEetvxAgFBJw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@octokit/request": "^9.0.0", - "@octokit/types": "^13.0.0", + "@octokit/request": "^10.0.4", + "@octokit/types": "^15.0.0", "universal-user-agent": "^7.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/openapi-types": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-26.0.0.tgz", + "integrity": "sha512-7AtcfKtpo77j7Ts73b4OWhOZHTKo/gGY8bB3bNBQz4H+GRSWqx2yvj8TXRsbdTE0eRmYmXOEY66jM7mJ7LzfsA==", "dev": true, - "peer": true + "license": "MIT" }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.3.tgz", - "integrity": "sha512-o4WRoOJZlKqEEgj+i9CpcmnByvtzoUYC6I8PD2SA95M+BJ2x8h7oLcVOg9qcowWXBOdcTRsMZiwvM3EyLm9AfA==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-13.2.0.tgz", + "integrity": "sha512-YuAlyjR8o5QoRSOvMHxSJzPtogkNMgeMv2mpccrvdUGeC3MKyfi/hS+KiFwyH/iRKIKyx+eIMsDjbt3p9r2GYA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@octokit/types": "^13.5.0" + "@octokit/types": "^15.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" }, "peerDependencies": { "@octokit/core": ">=6" } }, "node_modules/@octokit/plugin-retry": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.2.tgz", - "integrity": "sha512-XOWnPpH2kJ5VTwozsxGurw+svB2e61aWlmk5EVIYZPwFK5F9h4cyPyj9CIKRyMXMHSwpIsI3mPOdpMmrRhe7UQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-8.0.2.tgz", + "integrity": "sha512-mVPCe77iaD8g1lIX46n9bHPUirFLzc3BfIzsZOpB7bcQh1ecS63YsAgcsyMGqvGa2ARQWKEFTrhMJX2MLJVHVw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@octokit/request-error": "^6.0.0", - "@octokit/types": "^13.0.0", + "@octokit/request-error": "^7.0.1", + "@octokit/types": "^15.0.0", "bottleneck": "^2.15.3" }, "engines": { - "node": ">= 18" + "node": ">= 20" }, "peerDependencies": { - "@octokit/core": ">=6" + "@octokit/core": ">=7" } }, "node_modules/@octokit/plugin-throttling": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.1.tgz", - "integrity": "sha512-Qd91H4liUBhwLB2h6jZ99bsxoQdhgPk6TdwnClPyTBSDAdviGPceViEgUwj+pcQDmB/rfAXAXK7MTochpHM3yQ==", + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-11.0.2.tgz", + "integrity": "sha512-ntNIig4zZhQVOZF4fG9Wt8QCoz9ehb+xnlUwp74Ic2ANChCk8oKmRwV9zDDCtrvU1aERIOvtng8wsalEX7Jk5Q==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0", + "@octokit/types": "^15.0.0", "bottleneck": "^2.15.3" }, "engines": { - "node": ">= 18" + "node": ">= 20" }, "peerDependencies": { - "@octokit/core": "^6.0.0" + "@octokit/core": "^7.0.0" } }, "node_modules/@octokit/request": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz", - "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==", + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.5.tgz", + "integrity": "sha512-TXnouHIYLtgDhKo+N6mXATnDBkV05VwbR0TtMWpgTHIoQdRQfCSzmy/LGqR1AbRMbijq/EckC/E3/ZNcU92NaQ==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@octokit/endpoint": "^10.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.1.0", + "@octokit/endpoint": "^11.0.1", + "@octokit/request-error": "^7.0.1", + "@octokit/types": "^15.0.0", + "fast-content-type-parse": "^3.0.0", "universal-user-agent": "^7.0.2" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/request-error": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.4.tgz", - "integrity": "sha512-VpAhIUxwhWZQImo/dWAN/NpPqqojR6PSLgLYAituLM6U+ddx9hCioFGwBr5Mi+oi5CLeJkcAs3gJ0PYYzU6wUg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.0.1.tgz", + "integrity": "sha512-CZpFwV4+1uBrxu7Cw8E5NCXDWFNf18MSY23TdxCBgjw1tXXHvTrZVsXlW8hgFTOLw8RQR1BBrMvYRtuyaijHMA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0" + "@octokit/types": "^15.0.0" }, "engines": { - "node": ">= 18" + "node": ">= 20" } }, "node_modules/@octokit/tsconfig": { @@ -410,13 +413,13 @@ "dev": true }, "node_modules/@octokit/types": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-15.0.0.tgz", + "integrity": "sha512-8o6yDfmoGJUIeR9OfYU0/TUJTnMPG2r68+1yEdUeG2Fdqpj8Qetg0ziKIgcBm0RW/j29H41WP37CYCEhp6GoHQ==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@octokit/openapi-types": "^22.2.0" + "@octokit/openapi-types": "^26.0.0" } }, "node_modules/@pkgjs/parseargs": { @@ -4022,8 +4025,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", - "dev": true, - "peer": true + "dev": true }, "node_modules/@semantic-release/changelog": { "version": "6.0.3", @@ -4048,7 +4050,6 @@ "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.0.tgz", "integrity": "sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==", "dev": true, - "peer": true, "dependencies": { "conventional-changelog-angular": "^8.0.0", "conventional-changelog-writer": "^8.0.0", @@ -4071,7 +4072,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, - "peer": true, "dependencies": { "ms": "^2.1.3" }, @@ -4089,7 +4089,6 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, - "peer": true, "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -4102,8 +4101,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "peer": true + "dev": true }, "node_modules/@semantic-release/error": { "version": "3.0.0", @@ -4173,34 +4171,34 @@ "dev": true }, "node_modules/@semantic-release/github": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-10.3.5.tgz", - "integrity": "sha512-svvRglGmvqvxjmDgkXhrjf0lC88oZowFhOfifTldbgX9Dzj0inEtMLaC+3/MkDEmxmaQjWmF5Q/0CMIvPNSVdQ==", + "version": "11.0.6", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.6.tgz", + "integrity": "sha512-ctDzdSMrT3H+pwKBPdyCPty6Y47X8dSrjd3aPZ5KKIKKWTwZBE9De8GtsH3TyAlw3Uyo2stegMx6rJMXKpJwJA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { - "@octokit/core": "^6.0.0", - "@octokit/plugin-paginate-rest": "^11.0.0", - "@octokit/plugin-retry": "^7.0.0", - "@octokit/plugin-throttling": "^9.0.0", + "@octokit/core": "^7.0.0", + "@octokit/plugin-paginate-rest": "^13.0.0", + "@octokit/plugin-retry": "^8.0.0", + "@octokit/plugin-throttling": "^11.0.0", "@semantic-release/error": "^4.0.0", "aggregate-error": "^5.0.0", "debug": "^4.3.4", "dir-glob": "^3.0.1", - "globby": "^14.0.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", "issue-parser": "^7.0.0", "lodash-es": "^4.17.21", "mime": "^4.0.0", "p-filter": "^4.0.0", + "tinyglobby": "^0.2.14", "url-join": "^5.0.0" }, "engines": { "node": ">=20.8.1" }, "peerDependencies": { - "semantic-release": ">=20.1.0" + "semantic-release": ">=24.1.0" } }, "node_modules/@semantic-release/github/node_modules/@semantic-release/error": { @@ -4208,7 +4206,7 @@ "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=18" } @@ -4218,7 +4216,7 @@ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "clean-stack": "^5.2.0", "indent-string": "^5.0.0" @@ -4231,11 +4229,11 @@ } }, "node_modules/@semantic-release/github/node_modules/clean-stack": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", - "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.3.0.tgz", + "integrity": "sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "5.0.0" }, @@ -4247,11 +4245,11 @@ } }, "node_modules/@semantic-release/github/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "ms": "^2.1.3" }, @@ -4269,7 +4267,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -4277,33 +4275,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@semantic-release/github/node_modules/globby": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", - "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", - "dev": true, - "peer": true, - "dependencies": { - "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.2", - "ignore": "^5.2.4", - "path-type": "^5.0.0", - "slash": "^5.1.0", - "unicorn-magic": "^0.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@semantic-release/github/node_modules/indent-string": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -4316,40 +4293,14 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, - "peer": true - }, - "node_modules/@semantic-release/github/node_modules/path-type": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/github/node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "dev": true, - "peer": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "license": "MIT" }, "node_modules/@semantic-release/npm": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.1.tgz", - "integrity": "sha512-/6nntGSUGK2aTOI0rHPwY3ZjgY9FkXmEHbW9Kr+62NVOsyqpKKeP0lrCH+tphv+EsNdJNmqqwijTEnVWUMQ2Nw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.2.tgz", + "integrity": "sha512-+M9/Lb35IgnlUO6OSJ40Ie+hUsZLuph2fqXC/qrKn0fMvUU/jiCjpoL6zEm69vzcmaZJ8yNKtMBEKHWN49WBbQ==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "@semantic-release/error": "^4.0.0", "aggregate-error": "^5.0.0", @@ -4358,7 +4309,7 @@ "lodash-es": "^4.17.21", "nerf-dart": "^1.0.0", "normalize-url": "^8.0.0", - "npm": "^10.5.0", + "npm": "^10.9.3", "rc": "^1.2.8", "read-pkg": "^9.0.0", "registry-auth-token": "^5.0.0", @@ -4377,22 +4328,9 @@ "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", "dev": true, - "peer": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@semantic-release/npm/node_modules/@sindresorhus/merge-streams": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", - "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", - "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/npm/node_modules/aggregate-error": { @@ -4400,7 +4338,7 @@ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "clean-stack": "^5.2.0", "indent-string": "^5.0.0" @@ -4413,11 +4351,11 @@ } }, "node_modules/@semantic-release/npm/node_modules/clean-stack": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", - "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.3.0.tgz", + "integrity": "sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "5.0.0" }, @@ -4433,7 +4371,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -4442,24 +4380,24 @@ } }, "node_modules/@semantic-release/npm/node_modules/execa": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-9.4.0.tgz", - "integrity": "sha512-yKHlle2YGxZE842MERVIplWwNH5VYmqqcPFgtnlU//K8gxuFFXu0pwd/CrfXTumFpeEiufsP7+opT/bPJa1yVw==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.0.tgz", + "integrity": "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "@sindresorhus/merge-streams": "^4.0.0", - "cross-spawn": "^7.0.3", + "cross-spawn": "^7.0.6", "figures": "^6.1.0", "get-stream": "^9.0.0", - "human-signals": "^8.0.0", + "human-signals": "^8.0.1", "is-plain-obj": "^4.1.0", "is-stream": "^4.0.1", "npm-run-path": "^6.0.0", - "pretty-ms": "^9.0.0", + "pretty-ms": "^9.2.0", "signal-exit": "^4.1.0", "strip-final-newline": "^4.0.0", - "yoctocolors": "^2.0.0" + "yoctocolors": "^2.1.1" }, "engines": { "node": "^18.19.0 || >=20.5.0" @@ -4473,7 +4411,7 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "@sec-ant/readable-stream": "^0.4.1", "is-stream": "^4.0.1" @@ -4486,11 +4424,11 @@ } }, "node_modules/@semantic-release/npm/node_modules/human-signals": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", - "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", "dev": true, - "peer": true, + "license": "Apache-2.0", "engines": { "node": ">=18.18.0" } @@ -4500,7 +4438,7 @@ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -4513,7 +4451,7 @@ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -4526,7 +4464,7 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -4539,7 +4477,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "path-key": "^4.0.0", "unicorn-magic": "^0.3.0" @@ -4556,7 +4494,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -4569,7 +4507,7 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -4582,7 +4520,7 @@ "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -4595,7 +4533,6 @@ "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.0.1.tgz", "integrity": "sha512-K0w+5220TM4HZTthE5dDpIuFrnkN1NfTGPidJFm04ULT1DEZ9WG89VNXN7F0c+6nMEpWgqmPvb7vY7JkB2jyyA==", "dev": true, - "peer": true, "dependencies": { "conventional-changelog-angular": "^8.0.0", "conventional-changelog-writer": "^8.0.0", @@ -4620,7 +4557,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, - "peer": true, "dependencies": { "ms": "^2.1.3" }, @@ -4638,7 +4574,6 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", "dev": true, - "peer": true, "engines": { "node": ">=16" }, @@ -4650,15 +4585,14 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "peer": true + "dev": true }, "node_modules/@sindresorhus/is": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -4667,11 +4601,11 @@ } }, "node_modules/@sindresorhus/merge-streams": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", - "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -4743,8 +4677,7 @@ "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true, - "peer": true + "dev": true }, "node_modules/agent-base": { "version": "7.1.1", @@ -4804,11 +4737,11 @@ } }, "node_modules/ansi-escapes": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", - "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.1.1.tgz", + "integrity": "sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "environment": "^1.0.0" }, @@ -4855,7 +4788,7 @@ "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", "dev": true, - "peer": true + "license": "MIT" }, "node_modules/anymatch": { "version": "1.3.2", @@ -4951,8 +4884,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "peer": true + "dev": true }, "node_modules/argv-formatter": { "version": "1.0.0", @@ -5130,11 +5062,11 @@ } }, "node_modules/before-after-hook": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz", + "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==", "dev": true, - "peer": true + "license": "Apache-2.0" }, "node_modules/binary-extensions": { "version": "1.13.1", @@ -5263,10 +5195,11 @@ } }, "node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", "dev": true, + "license": "MIT", "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -5279,7 +5212,7 @@ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=10" } @@ -5343,7 +5276,7 @@ "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", "dev": true, - "peer": true, + "license": "ISC", "dependencies": { "chalk": "^4.0.0", "highlight.js": "^10.7.1", @@ -5365,7 +5298,7 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5382,7 +5315,7 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, - "peer": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -5394,7 +5327,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -5409,7 +5342,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -5427,7 +5360,7 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -5446,7 +5379,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, - "peer": true, + "license": "ISC", "engines": { "node": ">=10" } @@ -5485,7 +5418,6 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "peer": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -5500,7 +5432,6 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "peer": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -5515,7 +5446,6 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "peer": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -5635,7 +5565,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz", "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==", "dev": true, - "peer": true, "dependencies": { "compare-func": "^2.0.0" }, @@ -5648,7 +5577,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.0.0.tgz", "integrity": "sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==", "dev": true, - "peer": true, "dependencies": { "@types/semver": "^7.5.5", "conventional-commits-filter": "^5.0.0", @@ -5668,7 +5596,6 @@ "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz", "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==", "dev": true, - "peer": true, "engines": { "node": ">=18" } @@ -5678,7 +5605,6 @@ "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.0.0.tgz", "integrity": "sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==", "dev": true, - "peer": true, "dependencies": { "meow": "^13.0.0" }, @@ -5694,7 +5620,6 @@ "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", "dev": true, - "peer": true, "engines": { "node": ">=12" }, @@ -5731,7 +5656,6 @@ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, - "peer": true, "dependencies": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -5868,9 +5792,9 @@ } }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { @@ -5887,7 +5811,7 @@ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "type-fest": "^1.0.1" }, @@ -5903,7 +5827,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", "dev": true, - "peer": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -6219,7 +6143,7 @@ "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", "dev": true, - "peer": true + "license": "MIT" }, "node_modules/enquirer": { "version": "2.4.1", @@ -6239,7 +6163,6 @@ "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.1.0.tgz", "integrity": "sha512-Z8dnwSDbV1XYM9SBF2J0GcNVvmfmfh3a49qddGIROhBoVro6MZVTji15z/sJbQ2ko2ei8n988EU1wzoLU/tF+g==", "dev": true, - "peer": true, "dependencies": { "execa": "^8.0.0", "java-properties": "^1.0.2" @@ -6253,7 +6176,6 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, - "peer": true, "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", @@ -6277,7 +6199,6 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, - "peer": true, "engines": { "node": ">=16" }, @@ -6290,7 +6211,6 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, - "peer": true, "engines": { "node": ">=16.17.0" } @@ -6300,7 +6220,6 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "peer": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -6313,7 +6232,6 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, - "peer": true, "engines": { "node": ">=12" }, @@ -6326,7 +6244,6 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, - "peer": true, "dependencies": { "path-key": "^4.0.0" }, @@ -6342,7 +6259,6 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, - "peer": true, "dependencies": { "mimic-fn": "^4.0.0" }, @@ -6358,7 +6274,6 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, - "peer": true, "engines": { "node": ">=12" }, @@ -6371,7 +6286,6 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, - "peer": true, "engines": { "node": ">=12" }, @@ -6384,7 +6298,6 @@ "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, - "peer": true, "engines": { "node": ">=6" } @@ -6394,7 +6307,7 @@ "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -6566,6 +6479,23 @@ "node": ">=0.10.0" } }, + "node_modules/fast-content-type-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz", + "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, "node_modules/fast-fifo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", @@ -6654,7 +6584,6 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, - "peer": true, "dependencies": { "is-unicode-supported": "^2.0.0" }, @@ -6719,7 +6648,6 @@ "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", "dev": true, - "peer": true, "engines": { "node": ">=18" }, @@ -6732,7 +6660,6 @@ "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", "dev": true, - "peer": true, "dependencies": { "semver-regex": "^4.0.5", "super-regex": "^1.0.0" @@ -6905,7 +6832,6 @@ "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", "dev": true, - "peer": true, "engines": { "node": ">=18" }, @@ -7168,19 +7094,19 @@ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", "dev": true, - "peer": true, + "license": "BSD-3-Clause", "engines": { "node": "*" } }, "node_modules/hook-std": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-3.0.0.tgz", - "integrity": "sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-4.0.0.tgz", + "integrity": "sha512-IHI4bEVOt3vRUDJ+bFA9VUJlo7SzvFARPNLw75pqSmAOP2HmTWfFJtPvLBrDrlgjEYXY9zs7SFdHPQaJShkSCQ==", "dev": true, - "peer": true, + "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "node": ">=20" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7191,7 +7117,6 @@ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.0.0.tgz", "integrity": "sha512-4nw3vOVR+vHUOT8+U4giwe2tcGv+R3pwwRidUe67DoMBTjhrfr6rZYJVVwdkBE+Um050SG+X9tf0Jo4fOpn01w==", "dev": true, - "peer": true, "dependencies": { "lru-cache": "^10.0.1" }, @@ -7332,7 +7257,6 @@ "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-1.3.4.tgz", "integrity": "sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==", "dev": true, - "peer": true, "dependencies": { "debug": "^4.3.4", "import-meta-resolve": "^4.0.0" @@ -7346,7 +7270,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, - "peer": true, "dependencies": { "ms": "^2.1.3" }, @@ -7363,15 +7286,13 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "peer": true + "dev": true }, "node_modules/import-meta-resolve": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", "dev": true, - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/wooorm" @@ -7391,7 +7312,6 @@ "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-0.1.2.tgz", "integrity": "sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==", "dev": true, - "peer": true, "engines": { "node": ">=18" }, @@ -7428,7 +7348,6 @@ "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-7.0.0.tgz", "integrity": "sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==", "dev": true, - "peer": true, "dependencies": { "from2": "^2.3.0", "p-is-promise": "^3.0.0" @@ -7696,7 +7615,6 @@ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "dev": true, - "peer": true, "engines": { "node": ">=18" }, @@ -7742,7 +7660,7 @@ "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.1.tgz", "integrity": "sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "lodash.capitalize": "^4.2.1", "lodash.escaperegexp": "^4.1.2", @@ -7793,7 +7711,6 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "peer": true, "dependencies": { "argparse": "^2.0.1" }, @@ -7962,8 +7879,7 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "dev": true, - "peer": true + "dev": true }, "node_modules/lodash.capitalize": { "version": "4.2.1", @@ -8043,11 +7959,11 @@ } }, "node_modules/marked": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", - "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==", + "version": "15.0.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", + "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", "dev": true, - "peer": true, + "license": "MIT", "bin": { "marked": "bin/marked.js" }, @@ -8056,24 +7972,38 @@ } }, "node_modules/marked-terminal": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-7.1.0.tgz", - "integrity": "sha512-+pvwa14KZL74MVXjYdPR3nSInhGhNvPce/3mqLVZT2oUvt654sL1XImFuLZ1pkA866IYZ3ikDTOFUIC7XzpZZg==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-7.3.0.tgz", + "integrity": "sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "ansi-escapes": "^7.0.0", - "chalk": "^5.3.0", + "ansi-regex": "^6.1.0", + "chalk": "^5.4.1", "cli-highlight": "^2.1.11", "cli-table3": "^0.6.5", - "node-emoji": "^2.1.3", - "supports-hyperlinks": "^3.0.0" + "node-emoji": "^2.2.0", + "supports-hyperlinks": "^3.1.0" }, "engines": { "node": ">=16.0.0" }, "peerDependencies": { - "marked": ">=1 <14" + "marked": ">=1 <16" + } + }, + "node_modules/marked-terminal/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, "node_modules/math-random": { @@ -8088,7 +8018,6 @@ "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", "dev": true, - "peer": true, "engines": { "node": ">=18" }, @@ -8189,14 +8118,14 @@ } }, "node_modules/mime": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.4.tgz", - "integrity": "sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-4.1.0.tgz", + "integrity": "sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw==", "dev": true, "funding": [ "https://github.com/sponsors/broofa" ], - "peer": true, + "license": "MIT", "bin": { "mime": "bin/cli.js" }, @@ -8355,7 +8284,7 @@ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -8457,11 +8386,11 @@ "dev": true }, "node_modules/node-emoji": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz", - "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz", + "integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "@sindresorhus/is": "^4.6.0", "char-regex": "^1.0.2", @@ -8497,7 +8426,6 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", "dev": true, - "peer": true, "dependencies": { "hosted-git-info": "^7.0.0", "semver": "^7.3.5", @@ -8512,7 +8440,6 @@ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dev": true, - "peer": true, "dependencies": { "lru-cache": "^10.0.1" }, @@ -8530,11 +8457,11 @@ } }, "node_modules/normalize-url": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", - "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.1.0.tgz", + "integrity": "sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=14.16" }, @@ -8543,9 +8470,9 @@ } }, "node_modules/npm": { - "version": "10.8.3", - "resolved": "https://registry.npmjs.org/npm/-/npm-10.8.3.tgz", - "integrity": "sha512-0IQlyAYvVtQ7uOhDFYZCGK8kkut2nh8cpAdA9E6FvRSJaTgtZRZgNjlC5ZCct//L73ygrpY93CxXpRJDtNqPVg==", + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.4.tgz", + "integrity": "sha512-OnUG836FwboQIbqtefDNlyR0gTHzIfwRfE3DuiNewBvnMnWEpB0VEXwBlFVgqpNzIgYo/MHh3d2Hel/pszapAA==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -8617,76 +8544,83 @@ "write-file-atomic" ], "dev": true, - "peer": true, + "license": "Artistic-2.0", + "workspaces": [ + "docs", + "smoke-tests", + "mock-globals", + "mock-registry", + "workspaces/*" + ], "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^7.5.4", - "@npmcli/config": "^8.3.4", - "@npmcli/fs": "^3.1.1", - "@npmcli/map-workspaces": "^3.0.6", - "@npmcli/package-json": "^5.2.0", - "@npmcli/promise-spawn": "^7.0.2", - "@npmcli/redact": "^2.0.1", - "@npmcli/run-script": "^8.1.0", - "@sigstore/tuf": "^2.3.4", - "abbrev": "^2.0.0", + "@npmcli/arborist": "^8.0.1", + "@npmcli/config": "^9.0.0", + "@npmcli/fs": "^4.0.0", + "@npmcli/map-workspaces": "^4.0.2", + "@npmcli/package-json": "^6.2.0", + "@npmcli/promise-spawn": "^8.0.2", + "@npmcli/redact": "^3.2.2", + "@npmcli/run-script": "^9.1.0", + "@sigstore/tuf": "^3.1.1", + "abbrev": "^3.0.1", "archy": "~1.0.0", - "cacache": "^18.0.4", - "chalk": "^5.3.0", - "ci-info": "^4.0.0", + "cacache": "^19.0.1", + "chalk": "^5.4.1", + "ci-info": "^4.2.0", "cli-columns": "^4.0.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.3", "glob": "^10.4.5", "graceful-fs": "^4.2.11", - "hosted-git-info": "^7.0.2", - "ini": "^4.1.3", - "init-package-json": "^6.0.3", - "is-cidr": "^5.1.0", - "json-parse-even-better-errors": "^3.0.2", - "libnpmaccess": "^8.0.6", - "libnpmdiff": "^6.1.4", - "libnpmexec": "^8.1.4", - "libnpmfund": "^5.0.12", - "libnpmhook": "^10.0.5", - "libnpmorg": "^6.0.6", - "libnpmpack": "^7.0.4", - "libnpmpublish": "^9.0.9", - "libnpmsearch": "^7.0.6", - "libnpmteam": "^6.0.5", - "libnpmversion": "^6.0.3", - "make-fetch-happen": "^13.0.1", + "hosted-git-info": "^8.1.0", + "ini": "^5.0.0", + "init-package-json": "^7.0.2", + "is-cidr": "^5.1.1", + "json-parse-even-better-errors": "^4.0.0", + "libnpmaccess": "^9.0.0", + "libnpmdiff": "^7.0.1", + "libnpmexec": "^9.0.1", + "libnpmfund": "^6.0.1", + "libnpmhook": "^11.0.0", + "libnpmorg": "^7.0.0", + "libnpmpack": "^8.0.1", + "libnpmpublish": "^10.0.1", + "libnpmsearch": "^8.0.0", + "libnpmteam": "^7.0.0", + "libnpmversion": "^7.0.0", + "make-fetch-happen": "^14.0.3", "minimatch": "^9.0.5", "minipass": "^7.1.1", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", - "node-gyp": "^10.2.0", - "nopt": "^7.2.1", - "normalize-package-data": "^6.0.2", - "npm-audit-report": "^5.0.0", - "npm-install-checks": "^6.3.0", - "npm-package-arg": "^11.0.3", - "npm-pick-manifest": "^9.1.0", - "npm-profile": "^10.0.0", - "npm-registry-fetch": "^17.1.0", - "npm-user-validate": "^2.0.1", - "p-map": "^4.0.0", - "pacote": "^18.0.6", - "parse-conflict-json": "^3.0.1", - "proc-log": "^4.2.0", + "node-gyp": "^11.2.0", + "nopt": "^8.1.0", + "normalize-package-data": "^7.0.0", + "npm-audit-report": "^6.0.0", + "npm-install-checks": "^7.1.1", + "npm-package-arg": "^12.0.2", + "npm-pick-manifest": "^10.0.0", + "npm-profile": "^11.0.1", + "npm-registry-fetch": "^18.0.2", + "npm-user-validate": "^3.0.0", + "p-map": "^7.0.3", + "pacote": "^19.0.1", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", "qrcode-terminal": "^0.12.0", - "read": "^3.0.1", - "semver": "^7.6.3", + "read": "^4.1.0", + "semver": "^7.7.2", "spdx-expression-parse": "^4.0.0", - "ssri": "^10.0.6", + "ssri": "^12.0.0", "supports-color": "^9.4.0", "tar": "^6.2.1", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^3.0.0", - "validate-npm-package-name": "^5.0.1", - "which": "^4.0.0", - "write-file-atomic": "^5.0.1" + "validate-npm-package-name": "^6.0.1", + "which": "^5.0.0", + "write-file-atomic": "^6.0.0" }, "bin": { "npm": "bin/npm-cli.js", @@ -8713,7 +8647,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -8727,11 +8660,10 @@ } }, "node_modules/npm/node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -8743,15 +8675,13 @@ "version": "9.2.2", "dev": true, "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/npm/node_modules/@isaacs/cliui/node_modules/string-width": { "version": "5.1.2", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -8769,7 +8699,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -8780,19 +8709,29 @@ "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/npm/node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/npm/node_modules/@isaacs/string-locale-compare": { "version": "1.1.0", "dev": true, "inBundle": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/agent": { - "version": "2.2.2", + "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "agent-base": "^7.1.0", "http-proxy-agent": "^7.0.0", @@ -8801,49 +8740,48 @@ "socks-proxy-agent": "^8.0.3" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "7.5.4", + "version": "8.0.1", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/fs": "^3.1.1", - "@npmcli/installed-package-contents": "^2.1.0", - "@npmcli/map-workspaces": "^3.0.2", - "@npmcli/metavuln-calculator": "^7.1.1", - "@npmcli/name-from-folder": "^2.0.0", - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.1.0", - "@npmcli/query": "^3.1.0", - "@npmcli/redact": "^2.0.0", - "@npmcli/run-script": "^8.1.0", - "bin-links": "^4.0.4", - "cacache": "^18.0.3", + "@npmcli/fs": "^4.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/metavuln-calculator": "^8.0.0", + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.1", + "@npmcli/query": "^4.0.0", + "@npmcli/redact": "^3.0.0", + "@npmcli/run-script": "^9.0.1", + "bin-links": "^5.0.0", + "cacache": "^19.0.1", "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^7.0.2", - "json-parse-even-better-errors": "^3.0.2", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", "json-stringify-nice": "^1.1.4", "lru-cache": "^10.2.2", "minimatch": "^9.0.4", - "nopt": "^7.2.1", - "npm-install-checks": "^6.2.0", - "npm-package-arg": "^11.0.2", - "npm-pick-manifest": "^9.0.1", - "npm-registry-fetch": "^17.0.1", - "pacote": "^18.0.6", - "parse-conflict-json": "^3.0.0", - "proc-log": "^4.2.0", - "proggy": "^2.0.0", + "nopt": "^8.0.0", + "npm-install-checks": "^7.1.0", + "npm-package-arg": "^12.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.1", + "pacote": "^19.0.0", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", + "proggy": "^3.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^3.0.1", - "read-package-json-fast": "^3.0.2", + "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", - "ssri": "^10.0.6", + "ssri": "^12.0.0", "treeverse": "^3.0.0", "walk-up-path": "^3.0.1" }, @@ -8851,204 +8789,221 @@ "arborist": "bin/index.js" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "8.3.4", + "version": "9.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "@npmcli/map-workspaces": "^3.0.2", - "@npmcli/package-json": "^5.1.1", + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/package-json": "^6.0.1", "ci-info": "^4.0.0", - "ini": "^4.1.2", - "nopt": "^7.2.1", - "proc-log": "^4.2.0", + "ini": "^5.0.0", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5", "walk-up-path": "^3.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/fs": { - "version": "3.1.1", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "semver": "^7.3.5" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "5.0.8", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "@npmcli/promise-spawn": "^7.0.0", - "ini": "^4.1.3", + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", "lru-cache": "^10.0.1", - "npm-pick-manifest": "^9.0.0", - "proc-log": "^4.0.0", - "promise-inflight": "^1.0.1", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^4.0.0" + "which": "^5.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { - "version": "2.1.0", + "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" }, "bin": { "installed-package-contents": "bin/index.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { - "version": "3.0.6", + "version": "4.0.2", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "@npmcli/name-from-folder": "^2.0.0", + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/package-json": "^6.0.0", "glob": "^10.2.2", - "minimatch": "^9.0.0", - "read-package-json-fast": "^3.0.0" + "minimatch": "^9.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { - "version": "7.1.1", + "version": "8.0.1", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "cacache": "^18.0.0", - "json-parse-even-better-errors": "^3.0.0", - "pacote": "^18.0.0", - "proc-log": "^4.1.0", + "cacache": "^19.0.0", + "json-parse-even-better-errors": "^4.0.0", + "pacote": "^20.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@npmcli/name-from-folder": { - "version": "2.0.0", + "node_modules/npm/node_modules/@npmcli/metavuln-calculator/node_modules/pacote": { + "version": "20.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/@npmcli/node-gyp": { + "node_modules/npm/node_modules/@npmcli/name-from-folder": { "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/@npmcli/node-gyp": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "5.2.0", + "version": "6.2.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "@npmcli/git": "^5.0.0", + "@npmcli/git": "^6.0.0", "glob": "^10.2.2", - "hosted-git-info": "^7.0.0", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "proc-log": "^4.0.0", - "semver": "^7.5.3" + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { - "version": "7.0.2", + "version": "8.0.2", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "which": "^4.0.0" + "which": "^5.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/query": { - "version": "3.1.0", + "version": "4.0.1", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "postcss-selector-parser": "^6.0.10" + "postcss-selector-parser": "^7.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/redact": { - "version": "2.0.1", + "version": "3.2.2", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "8.1.0", + "version": "9.1.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.0.0", - "@npmcli/promise-spawn": "^7.0.0", - "node-gyp": "^10.0.0", - "proc-log": "^4.0.0", - "which": "^4.0.0" + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "node-gyp": "^11.0.0", + "proc-log": "^5.0.0", + "which": "^5.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@pkgjs/parseargs": { @@ -9057,89 +9012,30 @@ "inBundle": true, "license": "MIT", "optional": true, - "peer": true, "engines": { "node": ">=14" } }, - "node_modules/npm/node_modules/@sigstore/bundle": { - "version": "2.3.2", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@sigstore/core": { - "version": "1.1.0", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/@sigstore/protobuf-specs": { - "version": "0.3.2", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@sigstore/sign": { - "version": "2.3.2", + "version": "0.4.3", "dev": true, "inBundle": true, "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "make-fetch-happen": "^13.0.1", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1" - }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@sigstore/tuf": { - "version": "2.3.4", - "dev": true, - "inBundle": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2", - "tuf-js": "^2.2.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@sigstore/verify": { - "version": "1.2.1", + "version": "3.1.1", "dev": true, "inBundle": true, "license": "Apache-2.0", - "peer": true, "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.1.0", - "@sigstore/protobuf-specs": "^0.3.2" + "@sigstore/protobuf-specs": "^0.4.1", + "tuf-js": "^3.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/@tufjs/canonical-json": { @@ -9147,68 +9043,33 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@tufjs/models": { - "version": "2.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.4" - }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/abbrev": { - "version": "2.0.0", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/agent-base": { - "version": "7.1.1", + "version": "7.1.3", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, - "dependencies": { - "debug": "^4.3.4" - }, "engines": { "node": ">= 14" } }, - "node_modules/npm/node_modules/aggregate-error": { - "version": "3.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/npm/node_modules/ansi-regex": { "version": "5.0.1", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=8" } @@ -9218,7 +9079,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -9230,37 +9090,34 @@ "version": "2.0.0", "dev": true, "inBundle": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/npm/node_modules/archy": { "version": "1.0.0", "dev": true, "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/npm/node_modules/balanced-match": { "version": "1.0.2", "dev": true, "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/npm/node_modules/bin-links": { - "version": "4.0.4", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "cmd-shim": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "read-cmd-shim": "^4.0.0", - "write-file-atomic": "^5.0.0" + "cmd-shim": "^7.0.0", + "npm-normalize-package-bin": "^4.0.0", + "proc-log": "^5.0.0", + "read-cmd-shim": "^5.0.0", + "write-file-atomic": "^6.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/binary-extensions": { @@ -9268,7 +9125,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=8" }, @@ -9277,23 +9133,21 @@ } }, "node_modules/npm/node_modules/brace-expansion": { - "version": "2.0.1", + "version": "2.0.2", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/npm/node_modules/cacache": { - "version": "18.0.4", + "version": "19.0.1", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "@npmcli/fs": "^3.1.0", + "@npmcli/fs": "^4.0.0", "fs-minipass": "^3.0.0", "glob": "^10.2.2", "lru-cache": "^10.0.1", @@ -9301,21 +9155,70 @@ "minipass-collect": "^2.0.1", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/chownr": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/mkdirp": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/tar": { + "version": "7.4.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/cacache/node_modules/yallist": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, "node_modules/npm/node_modules/chalk": { - "version": "5.3.0", + "version": "5.4.1", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -9328,13 +9231,12 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { "node": ">=10" } }, "node_modules/npm/node_modules/ci-info": { - "version": "4.0.0", + "version": "4.2.0", "dev": true, "funding": [ { @@ -9344,17 +9246,15 @@ ], "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=8" } }, "node_modules/npm/node_modules/cidr-regex": { - "version": "4.1.1", + "version": "4.1.3", "dev": true, "inBundle": true, "license": "BSD-2-Clause", - "peer": true, "dependencies": { "ip-regex": "^5.0.0" }, @@ -9362,22 +9262,11 @@ "node": ">=14" } }, - "node_modules/npm/node_modules/clean-stack": { - "version": "2.2.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/npm/node_modules/cli-columns": { "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "string-width": "^4.2.3", "strip-ansi": "^6.0.1" @@ -9387,13 +9276,12 @@ } }, "node_modules/npm/node_modules/cmd-shim": { - "version": "6.0.3", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/color-convert": { @@ -9401,7 +9289,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "color-name": "~1.1.4" }, @@ -9413,22 +9300,19 @@ "version": "1.1.4", "dev": true, "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/npm/node_modules/common-ancestor-path": { "version": "1.0.1", "dev": true, "inBundle": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/npm/node_modules/cross-spawn": { - "version": "7.0.3", + "version": "7.0.6", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -9443,7 +9327,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "isexe": "^2.0.0" }, @@ -9459,7 +9342,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "bin": { "cssesc": "bin/cssesc" }, @@ -9468,13 +9350,12 @@ } }, "node_modules/npm/node_modules/debug": { - "version": "4.3.6", + "version": "4.4.1", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -9485,19 +9366,11 @@ } } }, - "node_modules/npm/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, "node_modules/npm/node_modules/diff": { "version": "5.2.0", "dev": true, "inBundle": true, "license": "BSD-3-Clause", - "peer": true, "engines": { "node": ">=0.3.1" } @@ -9506,15 +9379,13 @@ "version": "0.2.0", "dev": true, "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/npm/node_modules/emoji-regex": { "version": "8.0.0", "dev": true, "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/npm/node_modules/encoding": { "version": "0.1.13", @@ -9522,7 +9393,6 @@ "inBundle": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "iconv-lite": "^0.6.2" } @@ -9532,7 +9402,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=6" } @@ -9541,34 +9410,30 @@ "version": "2.0.3", "dev": true, "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/npm/node_modules/exponential-backoff": { - "version": "3.1.1", + "version": "3.1.2", "dev": true, "inBundle": true, - "license": "Apache-2.0", - "peer": true + "license": "Apache-2.0" }, "node_modules/npm/node_modules/fastest-levenshtein": { "version": "1.0.16", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 4.9.1" } }, "node_modules/npm/node_modules/foreground-child": { - "version": "3.3.0", + "version": "3.3.1", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "cross-spawn": "^7.0.0", + "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" }, "engines": { @@ -9583,7 +9448,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "minipass": "^7.0.3" }, @@ -9596,7 +9460,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -9616,35 +9479,31 @@ "version": "4.2.11", "dev": true, "inBundle": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/npm/node_modules/hosted-git-info": { - "version": "7.0.2", + "version": "8.1.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "lru-cache": "^10.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/http-cache-semantics": { - "version": "4.1.1", + "version": "4.2.0", "dev": true, "inBundle": true, - "license": "BSD-2-Clause", - "peer": true + "license": "BSD-2-Clause" }, "node_modules/npm/node_modules/http-proxy-agent": { "version": "7.0.2", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -9654,13 +9513,12 @@ } }, "node_modules/npm/node_modules/https-proxy-agent": { - "version": "7.0.5", + "version": "7.0.6", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "4" }, "engines": { @@ -9673,7 +9531,6 @@ "inBundle": true, "license": "MIT", "optional": true, - "peer": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -9682,16 +9539,15 @@ } }, "node_modules/npm/node_modules/ignore-walk": { - "version": "6.0.5", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "minimatch": "^9.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/imurmurhash": { @@ -9699,48 +9555,35 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.8.19" } }, - "node_modules/npm/node_modules/indent-string": { - "version": "4.0.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, "node_modules/npm/node_modules/ini": { - "version": "4.1.3", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/init-package-json": { - "version": "6.0.3", + "version": "7.0.2", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "@npmcli/package-json": "^5.0.0", - "npm-package-arg": "^11.0.0", - "promzard": "^1.0.0", - "read": "^3.0.1", + "@npmcli/package-json": "^6.0.0", + "npm-package-arg": "^12.0.0", + "promzard": "^2.0.0", + "read": "^4.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^5.0.0" + "validate-npm-package-name": "^6.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/ip-address": { @@ -9748,7 +9591,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "jsbn": "1.1.0", "sprintf-js": "^1.1.3" @@ -9762,7 +9604,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -9771,11 +9612,10 @@ } }, "node_modules/npm/node_modules/is-cidr": { - "version": "5.1.0", + "version": "5.1.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", - "peer": true, "dependencies": { "cidr-regex": "^4.1.1" }, @@ -9788,31 +9628,21 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=8" } }, - "node_modules/npm/node_modules/is-lambda": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true - }, "node_modules/npm/node_modules/isexe": { "version": "2.0.0", "dev": true, "inBundle": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/npm/node_modules/jackspeak": { "version": "3.4.3", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", - "peer": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -9827,17 +9657,15 @@ "version": "1.1.0", "dev": true, "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/npm/node_modules/json-parse-even-better-errors": { - "version": "3.0.2", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/json-stringify-nice": { @@ -9845,7 +9673,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -9857,229 +9684,221 @@ "node >= 0.2.0" ], "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/npm/node_modules/just-diff": { "version": "6.0.2", "dev": true, "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/npm/node_modules/just-diff-apply": { "version": "5.5.0", "dev": true, "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { - "version": "8.0.6", + "version": "9.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "npm-package-arg": "^11.0.2", - "npm-registry-fetch": "^17.0.1" + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "6.1.4", + "version": "7.0.1", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "@npmcli/arborist": "^7.5.4", - "@npmcli/installed-package-contents": "^2.1.0", + "@npmcli/arborist": "^8.0.1", + "@npmcli/installed-package-contents": "^3.0.0", "binary-extensions": "^2.3.0", "diff": "^5.1.0", "minimatch": "^9.0.4", - "npm-package-arg": "^11.0.2", - "pacote": "^18.0.6", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0", "tar": "^6.2.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "8.1.4", + "version": "9.0.1", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "@npmcli/arborist": "^7.5.4", - "@npmcli/run-script": "^8.1.0", + "@npmcli/arborist": "^8.0.1", + "@npmcli/run-script": "^9.0.1", "ci-info": "^4.0.0", - "npm-package-arg": "^11.0.2", - "pacote": "^18.0.6", - "proc-log": "^4.2.0", - "read": "^3.0.1", - "read-package-json-fast": "^3.0.2", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0", + "proc-log": "^5.0.0", + "read": "^4.0.0", + "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", "walk-up-path": "^3.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "5.0.12", + "version": "6.0.1", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "@npmcli/arborist": "^7.5.4" + "@npmcli/arborist": "^8.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmhook": { - "version": "10.0.5", + "version": "11.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^17.0.1" + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmorg": { - "version": "6.0.6", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^17.0.1" + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "7.0.4", + "version": "8.0.1", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "@npmcli/arborist": "^7.5.4", - "@npmcli/run-script": "^8.1.0", - "npm-package-arg": "^11.0.2", - "pacote": "^18.0.6" + "@npmcli/arborist": "^8.0.1", + "@npmcli/run-script": "^9.0.1", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmpublish": { - "version": "9.0.9", + "version": "10.0.1", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "ci-info": "^4.0.0", - "normalize-package-data": "^6.0.1", - "npm-package-arg": "^11.0.2", - "npm-registry-fetch": "^17.0.1", - "proc-log": "^4.2.0", + "normalize-package-data": "^7.0.0", + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1", + "proc-log": "^5.0.0", "semver": "^7.3.7", - "sigstore": "^2.2.0", - "ssri": "^10.0.6" + "sigstore": "^3.0.0", + "ssri": "^12.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmsearch": { - "version": "7.0.6", + "version": "8.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "npm-registry-fetch": "^17.0.1" + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmteam": { - "version": "6.0.5", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^17.0.1" + "npm-registry-fetch": "^18.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/libnpmversion": { - "version": "6.0.3", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "@npmcli/git": "^5.0.7", - "@npmcli/run-script": "^8.1.0", - "json-parse-even-better-errors": "^3.0.2", - "proc-log": "^4.2.0", + "@npmcli/git": "^6.0.1", + "@npmcli/run-script": "^9.0.1", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.7" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/lru-cache": { "version": "10.4.3", "dev": true, "inBundle": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/npm/node_modules/make-fetch-happen": { - "version": "13.0.1", + "version": "14.0.3", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", + "minipass-fetch": "^4.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "proc-log": "^4.2.0", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", "promise-retry": "^2.0.1", - "ssri": "^10.0.0" + "ssri": "^12.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/make-fetch-happen/node_modules/negotiator": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, "node_modules/npm/node_modules/minimatch": { @@ -10087,7 +9906,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -10103,7 +9921,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { "node": ">=16 || 14 >=14.17" } @@ -10113,7 +9930,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "minipass": "^7.0.3" }, @@ -10122,18 +9938,17 @@ } }, "node_modules/npm/node_modules/minipass-fetch": { - "version": "3.0.5", + "version": "4.0.1", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "minipass": "^7.0.3", "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" + "minizlib": "^3.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" }, "optionalDependencies": { "encoding": "^0.1.13" @@ -10144,7 +9959,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "minipass": "^3.0.0" }, @@ -10157,7 +9971,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "yallist": "^4.0.0" }, @@ -10170,7 +9983,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "minipass": "^3.0.0" }, @@ -10183,7 +9995,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "yallist": "^4.0.0" }, @@ -10196,7 +10007,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "minipass": "^3.0.0" }, @@ -10209,7 +10019,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "yallist": "^4.0.0" }, @@ -10218,30 +10027,15 @@ } }, "node_modules/npm/node_modules/minizlib": { - "version": "2.1.2", + "version": "3.0.2", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "minipass": "^7.1.2" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/npm/node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" + "node": ">= 18" } }, "node_modules/npm/node_modules/mkdirp": { @@ -10249,7 +10043,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "bin": { "mkdirp": "bin/cmd.js" }, @@ -10261,288 +10054,306 @@ "version": "2.1.3", "dev": true, "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/npm/node_modules/mute-stream": { - "version": "1.0.0", + "version": "2.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/negotiator": { - "version": "0.6.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "peer": true, "engines": { - "node": ">= 0.6" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/node-gyp": { - "version": "10.2.0", + "version": "11.2.0", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", - "glob": "^10.3.10", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^13.0.0", - "nopt": "^7.0.0", - "proc-log": "^4.1.0", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5", - "tar": "^6.2.1", - "which": "^4.0.0" + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" }, "bin": { "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/tar": { + "version": "7.4.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/npm/node_modules/node-gyp/node_modules/yallist": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, "node_modules/npm/node_modules/nopt": { - "version": "7.2.1", + "version": "8.1.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "abbrev": "^2.0.0" + "abbrev": "^3.0.0" }, "bin": { "nopt": "bin/nopt.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/normalize-package-data": { - "version": "6.0.2", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause", - "peer": true, "dependencies": { - "hosted-git-info": "^7.0.0", + "hosted-git-info": "^8.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-audit-report": { - "version": "5.0.0", + "version": "6.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-bundled": { - "version": "3.0.1", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "npm-normalize-package-bin": "^3.0.0" + "npm-normalize-package-bin": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-install-checks": { - "version": "6.3.0", + "version": "7.1.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", - "peer": true, "dependencies": { "semver": "^7.1.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-normalize-package-bin": { - "version": "3.0.1", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-package-arg": { - "version": "11.0.3", + "version": "12.0.2", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "hosted-git-info": "^7.0.0", - "proc-log": "^4.0.0", + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" + "validate-npm-package-name": "^6.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-packlist": { - "version": "8.0.2", + "version": "9.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "ignore-walk": "^6.0.4" + "ignore-walk": "^7.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-pick-manifest": { - "version": "9.1.0", + "version": "10.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^11.0.0", + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", "semver": "^7.3.5" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-profile": { - "version": "10.0.0", + "version": "11.0.1", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "npm-registry-fetch": "^17.0.1", - "proc-log": "^4.0.0" + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0" }, "engines": { - "node": ">=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "17.1.0", + "version": "18.0.2", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "@npmcli/redact": "^2.0.0", + "@npmcli/redact": "^3.0.0", "jsonparse": "^1.3.1", - "make-fetch-happen": "^13.0.0", + "make-fetch-happen": "^14.0.0", "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minizlib": "^2.1.2", - "npm-package-arg": "^11.0.0", - "proc-log": "^4.0.0" + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/npm-user-validate": { - "version": "2.0.1", + "version": "3.0.0", "dev": true, "inBundle": true, "license": "BSD-2-Clause", - "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/p-map": { - "version": "4.0.0", + "version": "7.0.3", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm/node_modules/package-json-from-dist": { - "version": "1.0.0", + "version": "1.0.1", "dev": true, "inBundle": true, - "license": "BlueOak-1.0.0", - "peer": true + "license": "BlueOak-1.0.0" }, "node_modules/npm/node_modules/pacote": { - "version": "18.0.6", + "version": "19.0.1", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, - "dependencies": { - "@npmcli/git": "^5.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/package-json": "^5.1.0", - "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^8.0.0", - "cacache": "^18.0.0", + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", - "npm-package-arg": "^11.0.0", - "npm-packlist": "^8.0.0", - "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^17.0.0", - "proc-log": "^4.0.0", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", "promise-retry": "^2.0.1", - "sigstore": "^2.2.0", - "ssri": "^10.0.0", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", "tar": "^6.1.11" }, "bin": { "pacote": "bin/index.js" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/parse-conflict-json": { - "version": "3.0.1", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "json-parse-even-better-errors": "^3.0.0", + "json-parse-even-better-errors": "^4.0.0", "just-diff": "^6.0.0", "just-diff-apply": "^5.2.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/path-key": { @@ -10550,7 +10361,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=8" } @@ -10560,7 +10370,6 @@ "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", - "peer": true, "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -10573,11 +10382,10 @@ } }, "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "6.1.2", + "version": "7.1.0", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -10587,23 +10395,21 @@ } }, "node_modules/npm/node_modules/proc-log": { - "version": "4.2.0", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/proggy": { - "version": "2.0.0", + "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/promise-all-reject-late": { @@ -10611,34 +10417,24 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/npm/node_modules/promise-call-limit": { - "version": "3.0.1", + "version": "3.0.2", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/promise-inflight": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "peer": true - }, "node_modules/npm/node_modules/promise-retry": { "version": "2.0.1", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "err-code": "^2.0.2", "retry": "^0.12.0" @@ -10648,62 +10444,57 @@ } }, "node_modules/npm/node_modules/promzard": { - "version": "1.0.2", + "version": "2.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "read": "^3.0.1" + "read": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/qrcode-terminal": { "version": "0.12.0", "dev": true, "inBundle": true, - "peer": true, "bin": { "qrcode-terminal": "bin/qrcode-terminal.js" } }, "node_modules/npm/node_modules/read": { - "version": "3.0.1", + "version": "4.1.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "mute-stream": "^1.0.0" + "mute-stream": "^2.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/read-cmd-shim": { - "version": "4.0.0", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/read-package-json-fast": { - "version": "3.0.2", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/retry": { @@ -10711,7 +10502,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 4" } @@ -10721,15 +10511,13 @@ "dev": true, "inBundle": true, "license": "MIT", - "optional": true, - "peer": true + "optional": true }, "node_modules/npm/node_modules/semver": { - "version": "7.6.3", + "version": "7.7.2", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "bin": { "semver": "bin/semver.js" }, @@ -10742,7 +10530,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "shebang-regex": "^3.0.0" }, @@ -10755,7 +10542,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=8" } @@ -10765,7 +10551,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { "node": ">=14" }, @@ -10774,21 +10559,72 @@ } }, "node_modules/npm/node_modules/sigstore": { - "version": "2.3.1", + "version": "3.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", - "peer": true, "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "@sigstore/sign": "^2.3.2", - "@sigstore/tuf": "^2.3.4", - "@sigstore/verify": "^1.2.1" + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/bundle": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/core": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/sign": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/sigstore/node_modules/@sigstore/verify": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/smart-buffer": { @@ -10796,18 +10632,16 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">= 6.0.0", "npm": ">= 3.0.0" } }, "node_modules/npm/node_modules/socks": { - "version": "2.8.3", + "version": "2.8.5", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" @@ -10818,13 +10652,12 @@ } }, "node_modules/npm/node_modules/socks-proxy-agent": { - "version": "8.0.4", + "version": "8.0.5", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { - "agent-base": "^7.1.1", + "agent-base": "^7.1.2", "debug": "^4.3.4", "socks": "^2.8.3" }, @@ -10837,7 +10670,6 @@ "dev": true, "inBundle": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -10848,7 +10680,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -10858,45 +10689,40 @@ "version": "2.5.0", "dev": true, "inBundle": true, - "license": "CC-BY-3.0", - "peer": true + "license": "CC-BY-3.0" }, "node_modules/npm/node_modules/spdx-expression-parse": { "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/npm/node_modules/spdx-license-ids": { - "version": "3.0.18", + "version": "3.0.21", "dev": true, "inBundle": true, - "license": "CC0-1.0", - "peer": true + "license": "CC0-1.0" }, "node_modules/npm/node_modules/sprintf-js": { "version": "1.1.3", "dev": true, "inBundle": true, - "license": "BSD-3-Clause", - "peer": true + "license": "BSD-3-Clause" }, "node_modules/npm/node_modules/ssri": { - "version": "10.0.6", + "version": "12.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "minipass": "^7.0.3" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/string-width": { @@ -10904,7 +10730,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -10920,7 +10745,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -10935,7 +10759,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -10949,7 +10772,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -10962,7 +10784,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -10975,7 +10796,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -10993,7 +10813,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "minipass": "^3.0.0" }, @@ -11006,7 +10825,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "yallist": "^4.0.0" }, @@ -11019,7 +10837,31 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/minizlib": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/npm/node_modules/tar/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { "node": ">=8" } @@ -11028,80 +10870,127 @@ "version": "0.2.0", "dev": true, "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/npm/node_modules/tiny-relative-date": { "version": "1.3.0", "dev": true, "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tinyglobby": { + "version": "0.2.14", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/npm/node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/npm/node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "dev": true, + "inBundle": true, "license": "MIT", - "peer": true + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, "node_modules/npm/node_modules/treeverse": { "version": "3.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/tuf-js": { - "version": "2.2.1", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { - "@tufjs/models": "2.0.1", - "debug": "^4.3.4", - "make-fetch-happen": "^13.0.1" + "@tufjs/models": "3.0.1", + "debug": "^4.3.6", + "make-fetch-happen": "^14.0.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm/node_modules/tuf-js/node_modules/@tufjs/models": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/unique-filename": { - "version": "3.0.0", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { - "unique-slug": "^4.0.0" + "unique-slug": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/unique-slug": { - "version": "4.0.0", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "imurmurhash": "^0.1.4" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/util-deprecate": { "version": "1.0.2", "dev": true, "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/npm/node_modules/validate-npm-package-license": { "version": "3.0.4", "dev": true, "inBundle": true, "license": "Apache-2.0", - "peer": true, "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -11112,35 +11001,31 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/npm/node_modules/validate-npm-package-name": { - "version": "5.0.1", + "version": "6.0.1", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/walk-up-path": { "version": "3.0.1", "dev": true, "inBundle": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/npm/node_modules/which": { - "version": "4.0.0", + "version": "5.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "isexe": "^3.1.1" }, @@ -11148,7 +11033,7 @@ "node-which": "bin/which.js" }, "engines": { - "node": "^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/which/node_modules/isexe": { @@ -11156,7 +11041,6 @@ "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "engines": { "node": ">=16" } @@ -11166,7 +11050,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -11185,7 +11068,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -11203,7 +11085,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -11215,11 +11096,10 @@ } }, "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -11231,15 +11111,13 @@ "version": "9.2.2", "dev": true, "inBundle": true, - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { "version": "5.1.2", "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -11257,7 +11135,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -11269,32 +11146,30 @@ } }, "node_modules/npm/node_modules/write-file-atomic": { - "version": "5.0.1", + "version": "6.0.0", "dev": true, "inBundle": true, "license": "ISC", - "peer": true, "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^4.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^18.17.0 || >=20.5.0" } }, "node_modules/npm/node_modules/yallist": { "version": "4.0.0", "dev": true, "inBundle": true, - "license": "ISC", - "peer": true + "license": "ISC" }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -11391,7 +11266,6 @@ "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-3.0.0.tgz", "integrity": "sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==", "dev": true, - "peer": true, "engines": { "node": ">=12" }, @@ -11404,7 +11278,7 @@ "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz", "integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "p-map": "^7.0.1" }, @@ -11449,11 +11323,11 @@ } }, "node_modules/p-map": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.2.tgz", - "integrity": "sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=18" }, @@ -11530,7 +11404,6 @@ "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", "dev": true, - "peer": true, "engines": { "node": ">=18" }, @@ -11543,14 +11416,14 @@ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", "dev": true, - "peer": true + "license": "MIT" }, "node_modules/parse5-htmlparser2-tree-adapter": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "parse5": "^6.0.1" } @@ -11560,7 +11433,7 @@ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true, - "peer": true + "license": "MIT" }, "node_modules/pascalcase": { "version": "0.1.1", @@ -11710,11 +11583,11 @@ } }, "node_modules/pretty-ms": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.1.0.tgz", - "integrity": "sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.3.0.tgz", + "integrity": "sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "parse-ms": "^4.0.0" }, @@ -11855,7 +11728,6 @@ "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", "dev": true, - "peer": true, "dependencies": { "find-up-simple": "^1.0.0", "read-pkg": "^9.0.0", @@ -11873,7 +11745,6 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", "dev": true, - "peer": true, "dependencies": { "@types/normalize-package-data": "^2.4.3", "normalize-package-data": "^6.0.0", @@ -12040,7 +11911,6 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", "dev": true, - "peer": true, "dependencies": { "@babel/code-frame": "^7.22.13", "index-to-position": "^0.1.2", @@ -12674,16 +12544,16 @@ } }, "node_modules/semantic-release": { - "version": "24.1.1", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.1.1.tgz", - "integrity": "sha512-4Ax2GxD411jUe9IdhOjMLuN+6wAj+aKjvOGngByrpD/iKL+UKN/2puQglhyI4gxNyy9XzEBMzBwbqpnEwbXGEg==", + "version": "24.2.9", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.9.tgz", + "integrity": "sha512-phCkJ6pjDi9ANdhuF5ElS10GGdAKY6R1Pvt9lT3SFhOwM4T7QZE7MLpBDbNruUx/Q3gFD92/UOFringGipRqZA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", - "@semantic-release/github": "^10.0.0", - "@semantic-release/npm": "^12.0.0", + "@semantic-release/github": "^11.0.0", + "@semantic-release/npm": "^12.0.2", "@semantic-release/release-notes-generator": "^14.0.0-beta.1", "aggregate-error": "^5.0.0", "cosmiconfig": "^9.0.0", @@ -12694,19 +12564,19 @@ "find-versions": "^6.0.0", "get-stream": "^6.0.0", "git-log-parser": "^1.2.0", - "hook-std": "^3.0.0", + "hook-std": "^4.0.0", "hosted-git-info": "^8.0.0", - "import-from-esm": "^1.3.1", + "import-from-esm": "^2.0.0", "lodash-es": "^4.17.21", - "marked": "^12.0.0", - "marked-terminal": "^7.0.0", + "marked": "^15.0.0", + "marked-terminal": "^7.3.0", "micromatch": "^4.0.2", "p-each-series": "^3.0.0", "p-reduce": "^3.0.0", "read-package-up": "^11.0.0", "resolve-from": "^5.0.0", "semver": "^7.3.2", - "semver-diff": "^4.0.0", + "semver-diff": "^5.0.0", "signale": "^1.2.1", "yargs": "^17.5.1" }, @@ -12717,27 +12587,23 @@ "node": ">=20.8.1" } }, - "node_modules/semantic-release/node_modules/@semantic-release/error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", - "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", + "node_modules/semantic-release-export-data": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/semantic-release-export-data/-/semantic-release-export-data-1.1.1.tgz", + "integrity": "sha512-cjhc6g7Vl4tRRD6eA593EyMiQaOvazsziabdzPqsf0OAKoIQSL2eynS2jaJhbdxiu4msZreZ+XcU5FU9FAZbeA==", "dev": true, - "peer": true, - "engines": { - "node": ">=18" + "license": "MIT", + "peerDependencies": { + "semantic-release": ">=18" } }, - "node_modules/semantic-release/node_modules/@sindresorhus/merge-streams": { + "node_modules/semantic-release/node_modules/@semantic-release/error": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", - "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", + "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", "dev": true, - "peer": true, "engines": { "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/node_modules/aggregate-error": { @@ -12745,7 +12611,6 @@ "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, - "peer": true, "dependencies": { "clean-stack": "^5.2.0", "indent-string": "^5.0.0" @@ -12762,7 +12627,6 @@ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", "dev": true, - "peer": true, "dependencies": { "escape-string-regexp": "5.0.0" }, @@ -12778,7 +12642,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, - "peer": true, "dependencies": { "ms": "^2.1.3" }, @@ -12796,7 +12659,6 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, - "peer": true, "engines": { "node": ">=12" }, @@ -12809,7 +12671,6 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-9.4.0.tgz", "integrity": "sha512-yKHlle2YGxZE842MERVIplWwNH5VYmqqcPFgtnlU//K8gxuFFXu0pwd/CrfXTumFpeEiufsP7+opT/bPJa1yVw==", "dev": true, - "peer": true, "dependencies": { "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.3", @@ -12836,7 +12697,6 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, - "peer": true, "dependencies": { "@sec-ant/readable-stream": "^0.4.1", "is-stream": "^4.0.1" @@ -12853,17 +12713,29 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", "dev": true, - "peer": true, "engines": { "node": ">=18.18.0" } }, + "node_modules/semantic-release/node_modules/import-from-esm": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-2.0.0.tgz", + "integrity": "sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "import-meta-resolve": "^4.0.0" + }, + "engines": { + "node": ">=18.20" + } + }, "node_modules/semantic-release/node_modules/indent-string": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", "dev": true, - "peer": true, "engines": { "node": ">=12" }, @@ -12876,7 +12748,6 @@ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, - "peer": true, "engines": { "node": ">=12" }, @@ -12889,7 +12760,6 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, - "peer": true, "engines": { "node": ">=18" }, @@ -12902,7 +12772,6 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, - "peer": true, "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -12915,15 +12784,13 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "peer": true + "dev": true }, "node_modules/semantic-release/node_modules/npm-run-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", "dev": true, - "peer": true, "dependencies": { "path-key": "^4.0.0", "unicorn-magic": "^0.3.0" @@ -12940,7 +12807,6 @@ "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", "dev": true, - "peer": true, "engines": { "node": ">=12" }, @@ -12953,7 +12819,6 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, - "peer": true, "engines": { "node": ">=12" }, @@ -12966,7 +12831,6 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", "dev": true, - "peer": true, "engines": { "node": ">=18" }, @@ -12979,7 +12843,6 @@ "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", "dev": true, - "peer": true, "engines": { "node": ">=18" }, @@ -13000,11 +12863,12 @@ } }, "node_modules/semver-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", - "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-5.0.0.tgz", + "integrity": "sha512-0HbGtOm+S7T6NGQ/pxJSJipJvc4DK3FcRVMRkhsIwJDJ4Jcz5DQC1cPPzB5GhzyHjwttW878HaWQq46CkL3cqg==", + "deprecated": "Deprecated as the semver package now supports this built-in.", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "semver": "^7.3.5" }, @@ -13020,7 +12884,6 @@ "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", "integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==", "dev": true, - "peer": true, "engines": { "node": ">=12" }, @@ -13183,7 +13046,7 @@ "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "unicode-emoji-modifier-base": "^1.0.0" }, @@ -13629,7 +13492,6 @@ "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-1.0.0.tgz", "integrity": "sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==", "dev": true, - "peer": true, "dependencies": { "function-timeout": "^1.0.1", "time-span": "^5.1.0" @@ -13654,11 +13516,11 @@ } }, "node_modules/supports-hyperlinks": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.1.0.tgz", - "integrity": "sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", + "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -13667,7 +13529,7 @@ "node": ">=14.18" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" } }, "node_modules/supports-preserve-symlinks-flag": { @@ -13699,7 +13561,7 @@ "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=14.16" } @@ -13709,7 +13571,7 @@ "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "is-stream": "^3.0.0", "temp-dir": "^3.0.0", @@ -13728,7 +13590,7 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -13741,7 +13603,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true, - "peer": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=12.20" }, @@ -13763,7 +13625,7 @@ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "any-promise": "^1.0.0" } @@ -13773,7 +13635,7 @@ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -13826,7 +13688,6 @@ "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", "dev": true, - "peer": true, "dependencies": { "convert-hrtime": "^5.0.0" }, @@ -13837,6 +13698,54 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -14103,7 +14012,6 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", "dev": true, - "peer": true, "engines": { "node": ">=16" }, @@ -14150,7 +14058,7 @@ "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -14160,7 +14068,6 @@ "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", "dev": true, - "peer": true, "engines": { "node": ">=18" }, @@ -14189,7 +14096,7 @@ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", "dev": true, - "peer": true, + "license": "MIT", "dependencies": { "crypto-random-string": "^4.0.0" }, @@ -14201,11 +14108,11 @@ } }, "node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", "dev": true, - "peer": true + "license": "ISC" }, "node_modules/universalify": { "version": "2.0.1", @@ -14280,7 +14187,7 @@ "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==", "dev": true, - "peer": true, + "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } @@ -14484,7 +14391,6 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "peer": true, "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -14503,7 +14409,6 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "peer": true, "engines": { "node": ">=12" } @@ -14513,7 +14418,6 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "peer": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -14528,7 +14432,6 @@ "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", "dev": true, - "peer": true, "engines": { "node": ">=18" }, @@ -14716,112 +14619,103 @@ } }, "@octokit/auth-token": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", - "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", - "dev": true, - "peer": true + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-6.0.0.tgz", + "integrity": "sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==", + "dev": true }, "@octokit/core": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", - "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.5.tgz", + "integrity": "sha512-t54CUOsFMappY1Jbzb7fetWeO0n6K0k/4+/ZpkS+3Joz8I4VcvY9OiEBFRYISqaI2fq5sCiPtAjRDOzVYG8m+Q==", "dev": true, - "peer": true, "requires": { - "@octokit/auth-token": "^5.0.0", - "@octokit/graphql": "^8.0.0", - "@octokit/request": "^9.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.0.0", - "before-after-hook": "^3.0.2", + "@octokit/auth-token": "^6.0.0", + "@octokit/graphql": "^9.0.2", + "@octokit/request": "^10.0.4", + "@octokit/request-error": "^7.0.1", + "@octokit/types": "^15.0.0", + "before-after-hook": "^4.0.0", "universal-user-agent": "^7.0.0" } }, "@octokit/endpoint": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz", - "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==", + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-11.0.1.tgz", + "integrity": "sha512-7P1dRAZxuWAOPI7kXfio88trNi/MegQ0IJD3vfgC3b+LZo1Qe6gRJc2v0mz2USWWJOKrB2h5spXCzGbw+fAdqA==", "dev": true, - "peer": true, "requires": { - "@octokit/types": "^13.0.0", + "@octokit/types": "^15.0.0", "universal-user-agent": "^7.0.2" } }, "@octokit/graphql": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", - "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-9.0.2.tgz", + "integrity": "sha512-iz6KzZ7u95Fzy9Nt2L8cG88lGRMr/qy1Q36ih/XVzMIlPDMYwaNLE/ENhqmIzgPrlNWiYJkwmveEetvxAgFBJw==", "dev": true, - "peer": true, "requires": { - "@octokit/request": "^9.0.0", - "@octokit/types": "^13.0.0", + "@octokit/request": "^10.0.4", + "@octokit/types": "^15.0.0", "universal-user-agent": "^7.0.0" } }, "@octokit/openapi-types": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", - "dev": true, - "peer": true + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-26.0.0.tgz", + "integrity": "sha512-7AtcfKtpo77j7Ts73b4OWhOZHTKo/gGY8bB3bNBQz4H+GRSWqx2yvj8TXRsbdTE0eRmYmXOEY66jM7mJ7LzfsA==", + "dev": true }, "@octokit/plugin-paginate-rest": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.3.tgz", - "integrity": "sha512-o4WRoOJZlKqEEgj+i9CpcmnByvtzoUYC6I8PD2SA95M+BJ2x8h7oLcVOg9qcowWXBOdcTRsMZiwvM3EyLm9AfA==", + "version": "13.2.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-13.2.0.tgz", + "integrity": "sha512-YuAlyjR8o5QoRSOvMHxSJzPtogkNMgeMv2mpccrvdUGeC3MKyfi/hS+KiFwyH/iRKIKyx+eIMsDjbt3p9r2GYA==", "dev": true, - "peer": true, "requires": { - "@octokit/types": "^13.5.0" + "@octokit/types": "^15.0.0" } }, "@octokit/plugin-retry": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.2.tgz", - "integrity": "sha512-XOWnPpH2kJ5VTwozsxGurw+svB2e61aWlmk5EVIYZPwFK5F9h4cyPyj9CIKRyMXMHSwpIsI3mPOdpMmrRhe7UQ==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-8.0.2.tgz", + "integrity": "sha512-mVPCe77iaD8g1lIX46n9bHPUirFLzc3BfIzsZOpB7bcQh1ecS63YsAgcsyMGqvGa2ARQWKEFTrhMJX2MLJVHVw==", "dev": true, - "peer": true, "requires": { - "@octokit/request-error": "^6.0.0", - "@octokit/types": "^13.0.0", + "@octokit/request-error": "^7.0.1", + "@octokit/types": "^15.0.0", "bottleneck": "^2.15.3" } }, "@octokit/plugin-throttling": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.1.tgz", - "integrity": "sha512-Qd91H4liUBhwLB2h6jZ99bsxoQdhgPk6TdwnClPyTBSDAdviGPceViEgUwj+pcQDmB/rfAXAXK7MTochpHM3yQ==", + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-11.0.2.tgz", + "integrity": "sha512-ntNIig4zZhQVOZF4fG9Wt8QCoz9ehb+xnlUwp74Ic2ANChCk8oKmRwV9zDDCtrvU1aERIOvtng8wsalEX7Jk5Q==", "dev": true, - "peer": true, "requires": { - "@octokit/types": "^13.0.0", + "@octokit/types": "^15.0.0", "bottleneck": "^2.15.3" } }, "@octokit/request": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz", - "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==", + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-10.0.5.tgz", + "integrity": "sha512-TXnouHIYLtgDhKo+N6mXATnDBkV05VwbR0TtMWpgTHIoQdRQfCSzmy/LGqR1AbRMbijq/EckC/E3/ZNcU92NaQ==", "dev": true, - "peer": true, "requires": { - "@octokit/endpoint": "^10.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.1.0", + "@octokit/endpoint": "^11.0.1", + "@octokit/request-error": "^7.0.1", + "@octokit/types": "^15.0.0", + "fast-content-type-parse": "^3.0.0", "universal-user-agent": "^7.0.2" } }, "@octokit/request-error": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.4.tgz", - "integrity": "sha512-VpAhIUxwhWZQImo/dWAN/NpPqqojR6PSLgLYAituLM6U+ddx9hCioFGwBr5Mi+oi5CLeJkcAs3gJ0PYYzU6wUg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-7.0.1.tgz", + "integrity": "sha512-CZpFwV4+1uBrxu7Cw8E5NCXDWFNf18MSY23TdxCBgjw1tXXHvTrZVsXlW8hgFTOLw8RQR1BBrMvYRtuyaijHMA==", "dev": true, - "peer": true, "requires": { - "@octokit/types": "^13.0.0" + "@octokit/types": "^15.0.0" } }, "@octokit/tsconfig": { @@ -14831,13 +14725,12 @@ "dev": true }, "@octokit/types": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", - "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-15.0.0.tgz", + "integrity": "sha512-8o6yDfmoGJUIeR9OfYU0/TUJTnMPG2r68+1yEdUeG2Fdqpj8Qetg0ziKIgcBm0RW/j29H41WP37CYCEhp6GoHQ==", "dev": true, - "peer": true, "requires": { - "@octokit/openapi-types": "^22.2.0" + "@octokit/openapi-types": "^26.0.0" } }, "@pkgjs/parseargs": { @@ -17411,8 +17304,7 @@ "version": "0.4.1", "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", - "dev": true, - "peer": true + "dev": true }, "@semantic-release/changelog": { "version": "6.0.3", @@ -17431,7 +17323,6 @@ "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.0.tgz", "integrity": "sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==", "dev": true, - "peer": true, "requires": { "conventional-changelog-angular": "^8.0.0", "conventional-changelog-writer": "^8.0.0", @@ -17448,7 +17339,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, - "peer": true, "requires": { "ms": "^2.1.3" } @@ -17458,7 +17348,6 @@ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, - "peer": true, "requires": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -17468,8 +17357,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "peer": true + "dev": true } } }, @@ -17523,27 +17411,26 @@ } }, "@semantic-release/github": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-10.3.5.tgz", - "integrity": "sha512-svvRglGmvqvxjmDgkXhrjf0lC88oZowFhOfifTldbgX9Dzj0inEtMLaC+3/MkDEmxmaQjWmF5Q/0CMIvPNSVdQ==", + "version": "11.0.6", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.6.tgz", + "integrity": "sha512-ctDzdSMrT3H+pwKBPdyCPty6Y47X8dSrjd3aPZ5KKIKKWTwZBE9De8GtsH3TyAlw3Uyo2stegMx6rJMXKpJwJA==", "dev": true, - "peer": true, "requires": { - "@octokit/core": "^6.0.0", - "@octokit/plugin-paginate-rest": "^11.0.0", - "@octokit/plugin-retry": "^7.0.0", - "@octokit/plugin-throttling": "^9.0.0", + "@octokit/core": "^7.0.0", + "@octokit/plugin-paginate-rest": "^13.0.0", + "@octokit/plugin-retry": "^8.0.0", + "@octokit/plugin-throttling": "^11.0.0", "@semantic-release/error": "^4.0.0", "aggregate-error": "^5.0.0", "debug": "^4.3.4", "dir-glob": "^3.0.1", - "globby": "^14.0.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", "issue-parser": "^7.0.0", "lodash-es": "^4.17.21", "mime": "^4.0.0", "p-filter": "^4.0.0", + "tinyglobby": "^0.2.14", "url-join": "^5.0.0" }, "dependencies": { @@ -17551,36 +17438,32 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", - "dev": true, - "peer": true + "dev": true }, "aggregate-error": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, - "peer": true, "requires": { "clean-stack": "^5.2.0", "indent-string": "^5.0.0" } }, "clean-stack": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", - "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.3.0.tgz", + "integrity": "sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==", "dev": true, - "peer": true, "requires": { "escape-string-regexp": "5.0.0" } }, "debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, - "peer": true, "requires": { "ms": "^2.1.3" } @@ -17589,60 +17472,27 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "peer": true - }, - "globby": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.2.tgz", - "integrity": "sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==", - "dev": true, - "peer": true, - "requires": { - "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.2", - "ignore": "^5.2.4", - "path-type": "^5.0.0", - "slash": "^5.1.0", - "unicorn-magic": "^0.1.0" - } + "dev": true }, "indent-string": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "dev": true, - "peer": true + "dev": true }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "peer": true - }, - "path-type": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", - "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", - "dev": true, - "peer": true - }, - "slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "dev": true, - "peer": true + "dev": true } } }, "@semantic-release/npm": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.1.tgz", - "integrity": "sha512-/6nntGSUGK2aTOI0rHPwY3ZjgY9FkXmEHbW9Kr+62NVOsyqpKKeP0lrCH+tphv+EsNdJNmqqwijTEnVWUMQ2Nw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.2.tgz", + "integrity": "sha512-+M9/Lb35IgnlUO6OSJ40Ie+hUsZLuph2fqXC/qrKn0fMvUU/jiCjpoL6zEm69vzcmaZJ8yNKtMBEKHWN49WBbQ==", "dev": true, - "peer": true, "requires": { "@semantic-release/error": "^4.0.0", "aggregate-error": "^5.0.0", @@ -17651,7 +17501,7 @@ "lodash-es": "^4.17.21", "nerf-dart": "^1.0.0", "normalize-url": "^8.0.0", - "npm": "^10.5.0", + "npm": "^10.9.3", "rc": "^1.2.8", "read-pkg": "^9.0.0", "registry-auth-token": "^5.0.0", @@ -17663,33 +17513,23 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", - "dev": true, - "peer": true - }, - "@sindresorhus/merge-streams": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", - "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", - "dev": true, - "peer": true + "dev": true }, "aggregate-error": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, - "peer": true, "requires": { "clean-stack": "^5.2.0", "indent-string": "^5.0.0" } }, "clean-stack": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", - "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.3.0.tgz", + "integrity": "sha512-9ngPTOhYGQqNVSfeJkYXHmF7AGWp4/nN5D/QqNQs3Dvxd1Kk/WpjHfNujKHYUQ/5CoGyOyFNoWSPk5afzP0QVg==", "dev": true, - "peer": true, "requires": { "escape-string-regexp": "5.0.0" } @@ -17698,28 +17538,26 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "peer": true + "dev": true }, "execa": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-9.4.0.tgz", - "integrity": "sha512-yKHlle2YGxZE842MERVIplWwNH5VYmqqcPFgtnlU//K8gxuFFXu0pwd/CrfXTumFpeEiufsP7+opT/bPJa1yVw==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.6.0.tgz", + "integrity": "sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==", "dev": true, - "peer": true, "requires": { "@sindresorhus/merge-streams": "^4.0.0", - "cross-spawn": "^7.0.3", + "cross-spawn": "^7.0.6", "figures": "^6.1.0", "get-stream": "^9.0.0", - "human-signals": "^8.0.0", + "human-signals": "^8.0.1", "is-plain-obj": "^4.1.0", "is-stream": "^4.0.1", "npm-run-path": "^6.0.0", - "pretty-ms": "^9.0.0", + "pretty-ms": "^9.2.0", "signal-exit": "^4.1.0", "strip-final-newline": "^4.0.0", - "yoctocolors": "^2.0.0" + "yoctocolors": "^2.1.1" } }, "get-stream": { @@ -17727,46 +17565,40 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, - "peer": true, "requires": { "@sec-ant/readable-stream": "^0.4.1", "is-stream": "^4.0.1" } }, "human-signals": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", - "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", - "dev": true, - "peer": true + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", + "integrity": "sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==", + "dev": true }, "indent-string": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "dev": true, - "peer": true + "dev": true }, "is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "dev": true, - "peer": true + "dev": true }, "is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", - "dev": true, - "peer": true + "dev": true }, "npm-run-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", "dev": true, - "peer": true, "requires": { "path-key": "^4.0.0", "unicorn-magic": "^0.3.0" @@ -17776,22 +17608,19 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "peer": true + "dev": true }, "strip-final-newline": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", - "dev": true, - "peer": true + "dev": true }, "unicorn-magic": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", - "dev": true, - "peer": true + "dev": true } } }, @@ -17800,7 +17629,6 @@ "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.0.1.tgz", "integrity": "sha512-K0w+5220TM4HZTthE5dDpIuFrnkN1NfTGPidJFm04ULT1DEZ9WG89VNXN7F0c+6nMEpWgqmPvb7vY7JkB2jyyA==", "dev": true, - "peer": true, "requires": { "conventional-changelog-angular": "^8.0.0", "conventional-changelog-writer": "^8.0.0", @@ -17819,7 +17647,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, - "peer": true, "requires": { "ms": "^2.1.3" } @@ -17828,15 +17655,13 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", - "dev": true, - "peer": true + "dev": true }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "peer": true + "dev": true } } }, @@ -17844,15 +17669,13 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz", "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==", - "dev": true, - "peer": true + "dev": true }, "@sindresorhus/merge-streams": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", - "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", - "dev": true, - "peer": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true }, "@types/archiver": { "version": "6.0.2", @@ -17915,8 +17738,7 @@ "version": "7.5.8", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true, - "peer": true + "dev": true }, "agent-base": { "version": "7.1.1", @@ -17960,11 +17782,10 @@ "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" }, "ansi-escapes": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", - "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.1.1.tgz", + "integrity": "sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q==", "dev": true, - "peer": true, "requires": { "environment": "^1.0.0" } @@ -17993,8 +17814,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true, - "peer": true + "dev": true }, "anymatch": { "version": "1.3.2", @@ -18070,8 +17890,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "peer": true + "dev": true }, "argv-formatter": { "version": "1.0.0", @@ -18197,11 +18016,10 @@ } }, "before-after-hook": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", - "dev": true, - "peer": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-4.0.0.tgz", + "integrity": "sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==", + "dev": true }, "binary-extensions": { "version": "1.13.1", @@ -18298,17 +18116,16 @@ } }, "chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", "dev": true }, "char-regex": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "peer": true + "dev": true }, "chokidar": { "version": "1.7.0", @@ -18355,7 +18172,6 @@ "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", "dev": true, - "peer": true, "requires": { "chalk": "^4.0.0", "highlight.js": "^10.7.1", @@ -18370,7 +18186,6 @@ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "peer": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -18381,7 +18196,6 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, - "peer": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -18393,7 +18207,6 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "peer": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -18405,7 +18218,6 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "peer": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -18417,7 +18229,6 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, - "peer": true, "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -18432,8 +18243,7 @@ "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "peer": true + "dev": true } } }, @@ -18465,7 +18275,6 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "peer": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -18477,7 +18286,6 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "peer": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -18489,7 +18297,6 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "peer": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -18585,7 +18392,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-8.0.0.tgz", "integrity": "sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==", "dev": true, - "peer": true, "requires": { "compare-func": "^2.0.0" } @@ -18595,7 +18401,6 @@ "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-8.0.0.tgz", "integrity": "sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==", "dev": true, - "peer": true, "requires": { "@types/semver": "^7.5.5", "conventional-commits-filter": "^5.0.0", @@ -18608,15 +18413,13 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-5.0.0.tgz", "integrity": "sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==", - "dev": true, - "peer": true + "dev": true }, "conventional-commits-parser": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-6.0.0.tgz", "integrity": "sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==", "dev": true, - "peer": true, "requires": { "meow": "^13.0.0" } @@ -18625,8 +18428,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", - "dev": true, - "peer": true + "dev": true }, "copy-descriptor": { "version": "0.1.1", @@ -18650,7 +18452,6 @@ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", "dev": true, - "peer": true, "requires": { "env-paths": "^2.2.1", "import-fresh": "^3.3.0", @@ -18733,9 +18534,9 @@ } }, "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -18748,7 +18549,6 @@ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", "dev": true, - "peer": true, "requires": { "type-fest": "^1.0.1" }, @@ -18757,8 +18557,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "dev": true, - "peer": true + "dev": true } } }, @@ -18999,8 +18798,7 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==", - "dev": true, - "peer": true + "dev": true }, "enquirer": { "version": "2.4.1", @@ -19016,7 +18814,6 @@ "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-11.1.0.tgz", "integrity": "sha512-Z8dnwSDbV1XYM9SBF2J0GcNVvmfmfh3a49qddGIROhBoVro6MZVTji15z/sJbQ2ko2ei8n988EU1wzoLU/tF+g==", "dev": true, - "peer": true, "requires": { "execa": "^8.0.0", "java-properties": "^1.0.2" @@ -19027,7 +18824,6 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, - "peer": true, "requires": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", @@ -19044,36 +18840,31 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, - "peer": true + "dev": true }, "human-signals": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "peer": true + "dev": true }, "is-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "peer": true + "dev": true }, "mimic-fn": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "peer": true + "dev": true }, "npm-run-path": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, - "peer": true, "requires": { "path-key": "^4.0.0" } @@ -19083,7 +18874,6 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, - "peer": true, "requires": { "mimic-fn": "^4.0.0" } @@ -19092,15 +18882,13 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "peer": true + "dev": true }, "strip-final-newline": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "peer": true + "dev": true } } }, @@ -19108,15 +18896,13 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "peer": true + "dev": true }, "environment": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", - "dev": true, - "peer": true + "dev": true }, "error-ex": { "version": "1.3.2", @@ -19239,6 +19025,12 @@ "is-extglob": "^1.0.0" } }, + "fast-content-type-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-3.0.0.tgz", + "integrity": "sha512-ZvLdcY8P+N8mGQJahJV5G4U88CSvT1rP8ApL6uETe88MBXrBHAkZlSEySdUlyztF7ccb+Znos3TFqaepHxdhBg==", + "dev": true + }, "fast-fifo": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", @@ -19307,7 +19099,6 @@ "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, - "peer": true, "requires": { "is-unicode-supported": "^2.0.0" } @@ -19353,15 +19144,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.0.tgz", "integrity": "sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==", - "dev": true, - "peer": true + "dev": true }, "find-versions": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", "dev": true, - "peer": true, "requires": { "semver-regex": "^4.0.5", "super-regex": "^1.0.0" @@ -19480,8 +19269,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", - "dev": true, - "peer": true + "dev": true }, "get-caller-file": { "version": "2.0.5", @@ -19664,22 +19452,19 @@ "version": "10.7.3", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", - "dev": true, - "peer": true + "dev": true }, "hook-std": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-3.0.0.tgz", - "integrity": "sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==", - "dev": true, - "peer": true + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-4.0.0.tgz", + "integrity": "sha512-IHI4bEVOt3vRUDJ+bFA9VUJlo7SzvFARPNLw75pqSmAOP2HmTWfFJtPvLBrDrlgjEYXY9zs7SFdHPQaJShkSCQ==", + "dev": true }, "hosted-git-info": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.0.0.tgz", "integrity": "sha512-4nw3vOVR+vHUOT8+U4giwe2tcGv+R3pwwRidUe67DoMBTjhrfr6rZYJVVwdkBE+Um050SG+X9tf0Jo4fOpn01w==", "dev": true, - "peer": true, "requires": { "lru-cache": "^10.0.1" } @@ -19779,7 +19564,6 @@ "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-1.3.4.tgz", "integrity": "sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==", "dev": true, - "peer": true, "requires": { "debug": "^4.3.4", "import-meta-resolve": "^4.0.0" @@ -19790,7 +19574,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, - "peer": true, "requires": { "ms": "^2.1.3" } @@ -19799,8 +19582,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "peer": true + "dev": true } } }, @@ -19808,8 +19590,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", - "dev": true, - "peer": true + "dev": true }, "indent-string": { "version": "4.0.0", @@ -19821,8 +19602,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-0.1.2.tgz", "integrity": "sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==", - "dev": true, - "peer": true + "dev": true }, "inflight": { "version": "1.0.6", @@ -19848,7 +19628,6 @@ "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-7.0.0.tgz", "integrity": "sha512-2dYz766i9HprMBasCMvHMuazJ7u4WzhJwo5kb3iPSiW/iRYV6uPari3zHoqZlnuaR7V1bEiNMxikhp37rdBXbw==", "dev": true, - "peer": true, "requires": { "from2": "^2.3.0", "p-is-promise": "^3.0.0" @@ -20027,8 +19806,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", - "dev": true, - "peer": true + "dev": true }, "is-windows": { "version": "1.0.2", @@ -20058,7 +19836,6 @@ "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.1.tgz", "integrity": "sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==", "dev": true, - "peer": true, "requires": { "lodash.capitalize": "^4.2.1", "lodash.escaperegexp": "^4.1.2", @@ -20094,7 +19871,6 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "peer": true, "requires": { "argparse": "^2.0.1" } @@ -20233,8 +20009,7 @@ "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "dev": true, - "peer": true + "dev": true }, "lodash.capitalize": { "version": "4.2.1", @@ -20300,25 +20075,32 @@ } }, "marked": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", - "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==", - "dev": true, - "peer": true + "version": "15.0.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", + "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", + "dev": true }, "marked-terminal": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-7.1.0.tgz", - "integrity": "sha512-+pvwa14KZL74MVXjYdPR3nSInhGhNvPce/3mqLVZT2oUvt654sL1XImFuLZ1pkA866IYZ3ikDTOFUIC7XzpZZg==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-7.3.0.tgz", + "integrity": "sha512-t4rBvPsHc57uE/2nJOLmMbZCQ4tgAccAED3ngXQqW6g+TxA488JzJ+FK3lQkzBQOI1mRV/r/Kq+1ZlJ4D0owQw==", "dev": true, - "peer": true, "requires": { "ansi-escapes": "^7.0.0", - "chalk": "^5.3.0", + "ansi-regex": "^6.1.0", + "chalk": "^5.4.1", "cli-highlight": "^2.1.11", "cli-table3": "^0.6.5", - "node-emoji": "^2.1.3", - "supports-hyperlinks": "^3.0.0" + "node-emoji": "^2.2.0", + "supports-hyperlinks": "^3.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true + } } }, "math-random": { @@ -20331,8 +20113,7 @@ "version": "13.2.0", "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", - "dev": true, - "peer": true + "dev": true }, "merge-stream": { "version": "2.0.0", @@ -20405,11 +20186,10 @@ } }, "mime": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.4.tgz", - "integrity": "sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==", - "dev": true, - "peer": true + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-4.1.0.tgz", + "integrity": "sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw==", + "dev": true }, "mimic-fn": { "version": "2.1.0", @@ -20515,7 +20295,6 @@ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, - "peer": true, "requires": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -20598,11 +20377,10 @@ "dev": true }, "node-emoji": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz", - "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.2.0.tgz", + "integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==", "dev": true, - "peer": true, "requires": { "@sindresorhus/is": "^4.6.0", "char-regex": "^1.0.2", @@ -20624,7 +20402,6 @@ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", "dev": true, - "peer": true, "requires": { "hosted-git-info": "^7.0.0", "semver": "^7.3.5", @@ -20636,7 +20413,6 @@ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dev": true, - "peer": true, "requires": { "lru-cache": "^10.0.1" } @@ -20649,94 +20425,91 @@ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "normalize-url": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", - "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", - "dev": true, - "peer": true + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.1.0.tgz", + "integrity": "sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==", + "dev": true }, "npm": { - "version": "10.8.3", - "resolved": "https://registry.npmjs.org/npm/-/npm-10.8.3.tgz", - "integrity": "sha512-0IQlyAYvVtQ7uOhDFYZCGK8kkut2nh8cpAdA9E6FvRSJaTgtZRZgNjlC5ZCct//L73ygrpY93CxXpRJDtNqPVg==", + "version": "10.9.4", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.4.tgz", + "integrity": "sha512-OnUG836FwboQIbqtefDNlyR0gTHzIfwRfE3DuiNewBvnMnWEpB0VEXwBlFVgqpNzIgYo/MHh3d2Hel/pszapAA==", "dev": true, - "peer": true, "requires": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^7.5.4", - "@npmcli/config": "^8.3.4", - "@npmcli/fs": "^3.1.1", - "@npmcli/map-workspaces": "^3.0.6", - "@npmcli/package-json": "^5.2.0", - "@npmcli/promise-spawn": "^7.0.2", - "@npmcli/redact": "^2.0.1", - "@npmcli/run-script": "^8.1.0", - "@sigstore/tuf": "^2.3.4", - "abbrev": "^2.0.0", + "@npmcli/arborist": "^8.0.1", + "@npmcli/config": "^9.0.0", + "@npmcli/fs": "^4.0.0", + "@npmcli/map-workspaces": "^4.0.2", + "@npmcli/package-json": "^6.2.0", + "@npmcli/promise-spawn": "^8.0.2", + "@npmcli/redact": "^3.2.2", + "@npmcli/run-script": "^9.1.0", + "@sigstore/tuf": "^3.1.1", + "abbrev": "^3.0.1", "archy": "~1.0.0", - "cacache": "^18.0.4", - "chalk": "^5.3.0", - "ci-info": "^4.0.0", + "cacache": "^19.0.1", + "chalk": "^5.4.1", + "ci-info": "^4.2.0", "cli-columns": "^4.0.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.3", "glob": "^10.4.5", "graceful-fs": "^4.2.11", - "hosted-git-info": "^7.0.2", - "ini": "^4.1.3", - "init-package-json": "^6.0.3", - "is-cidr": "^5.1.0", - "json-parse-even-better-errors": "^3.0.2", - "libnpmaccess": "^8.0.6", - "libnpmdiff": "^6.1.4", - "libnpmexec": "^8.1.4", - "libnpmfund": "^5.0.12", - "libnpmhook": "^10.0.5", - "libnpmorg": "^6.0.6", - "libnpmpack": "^7.0.4", - "libnpmpublish": "^9.0.9", - "libnpmsearch": "^7.0.6", - "libnpmteam": "^6.0.5", - "libnpmversion": "^6.0.3", - "make-fetch-happen": "^13.0.1", + "hosted-git-info": "^8.1.0", + "ini": "^5.0.0", + "init-package-json": "^7.0.2", + "is-cidr": "^5.1.1", + "json-parse-even-better-errors": "^4.0.0", + "libnpmaccess": "^9.0.0", + "libnpmdiff": "^7.0.1", + "libnpmexec": "^9.0.1", + "libnpmfund": "^6.0.1", + "libnpmhook": "^11.0.0", + "libnpmorg": "^7.0.0", + "libnpmpack": "^8.0.1", + "libnpmpublish": "^10.0.1", + "libnpmsearch": "^8.0.0", + "libnpmteam": "^7.0.0", + "libnpmversion": "^7.0.0", + "make-fetch-happen": "^14.0.3", "minimatch": "^9.0.5", "minipass": "^7.1.1", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", - "node-gyp": "^10.2.0", - "nopt": "^7.2.1", - "normalize-package-data": "^6.0.2", - "npm-audit-report": "^5.0.0", - "npm-install-checks": "^6.3.0", - "npm-package-arg": "^11.0.3", - "npm-pick-manifest": "^9.1.0", - "npm-profile": "^10.0.0", - "npm-registry-fetch": "^17.1.0", - "npm-user-validate": "^2.0.1", - "p-map": "^4.0.0", - "pacote": "^18.0.6", - "parse-conflict-json": "^3.0.1", - "proc-log": "^4.2.0", + "node-gyp": "^11.2.0", + "nopt": "^8.1.0", + "normalize-package-data": "^7.0.0", + "npm-audit-report": "^6.0.0", + "npm-install-checks": "^7.1.1", + "npm-package-arg": "^12.0.2", + "npm-pick-manifest": "^10.0.0", + "npm-profile": "^11.0.1", + "npm-registry-fetch": "^18.0.2", + "npm-user-validate": "^3.0.0", + "p-map": "^7.0.3", + "pacote": "^19.0.1", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", "qrcode-terminal": "^0.12.0", - "read": "^3.0.1", - "semver": "^7.6.3", + "read": "^4.1.0", + "semver": "^7.7.2", "spdx-expression-parse": "^4.0.0", - "ssri": "^10.0.6", + "ssri": "^12.0.0", "supports-color": "^9.4.0", "tar": "^6.2.1", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^3.0.0", - "validate-npm-package-name": "^5.0.1", - "which": "^4.0.0", - "write-file-atomic": "^5.0.1" + "validate-npm-package-name": "^6.0.1", + "which": "^5.0.0", + "write-file-atomic": "^6.0.0" }, "dependencies": { "@isaacs/cliui": { "version": "8.0.2", "bundled": true, "dev": true, - "peer": true, "requires": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -20747,22 +20520,19 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "emoji-regex": { "version": "9.2.2", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "string-width": { "version": "5.1.2", "bundled": true, "dev": true, - "peer": true, "requires": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -20773,24 +20543,29 @@ "version": "7.1.0", "bundled": true, "dev": true, - "peer": true, "requires": { "ansi-regex": "^6.0.1" } } } }, + "@isaacs/fs-minipass": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "requires": { + "minipass": "^7.0.4" + } + }, "@isaacs/string-locale-compare": { "version": "1.1.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "@npmcli/agent": { - "version": "2.2.2", + "version": "3.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { "agent-base": "^7.1.0", "http-proxy-agent": "^7.0.0", @@ -20800,358 +20575,292 @@ } }, "@npmcli/arborist": { - "version": "7.5.4", + "version": "8.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/fs": "^3.1.1", - "@npmcli/installed-package-contents": "^2.1.0", - "@npmcli/map-workspaces": "^3.0.2", - "@npmcli/metavuln-calculator": "^7.1.1", - "@npmcli/name-from-folder": "^2.0.0", - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.1.0", - "@npmcli/query": "^3.1.0", - "@npmcli/redact": "^2.0.0", - "@npmcli/run-script": "^8.1.0", - "bin-links": "^4.0.4", - "cacache": "^18.0.3", + "@npmcli/fs": "^4.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/metavuln-calculator": "^8.0.0", + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.1", + "@npmcli/query": "^4.0.0", + "@npmcli/redact": "^3.0.0", + "@npmcli/run-script": "^9.0.1", + "bin-links": "^5.0.0", + "cacache": "^19.0.1", "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^7.0.2", - "json-parse-even-better-errors": "^3.0.2", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", "json-stringify-nice": "^1.1.4", "lru-cache": "^10.2.2", "minimatch": "^9.0.4", - "nopt": "^7.2.1", - "npm-install-checks": "^6.2.0", - "npm-package-arg": "^11.0.2", - "npm-pick-manifest": "^9.0.1", - "npm-registry-fetch": "^17.0.1", - "pacote": "^18.0.6", - "parse-conflict-json": "^3.0.0", - "proc-log": "^4.2.0", - "proggy": "^2.0.0", + "nopt": "^8.0.0", + "npm-install-checks": "^7.1.0", + "npm-package-arg": "^12.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.1", + "pacote": "^19.0.0", + "parse-conflict-json": "^4.0.0", + "proc-log": "^5.0.0", + "proggy": "^3.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^3.0.1", - "read-package-json-fast": "^3.0.2", + "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", - "ssri": "^10.0.6", + "ssri": "^12.0.0", "treeverse": "^3.0.0", "walk-up-path": "^3.0.1" } }, "@npmcli/config": { - "version": "8.3.4", + "version": "9.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "@npmcli/map-workspaces": "^3.0.2", - "@npmcli/package-json": "^5.1.1", + "@npmcli/map-workspaces": "^4.0.1", + "@npmcli/package-json": "^6.0.1", "ci-info": "^4.0.0", - "ini": "^4.1.2", - "nopt": "^7.2.1", - "proc-log": "^4.2.0", + "ini": "^5.0.0", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5", "walk-up-path": "^3.0.1" } }, "@npmcli/fs": { - "version": "3.1.1", + "version": "4.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { "semver": "^7.3.5" } }, "@npmcli/git": { - "version": "5.0.8", + "version": "6.0.3", "bundled": true, "dev": true, - "peer": true, "requires": { - "@npmcli/promise-spawn": "^7.0.0", - "ini": "^4.1.3", + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", "lru-cache": "^10.0.1", - "npm-pick-manifest": "^9.0.0", - "proc-log": "^4.0.0", - "promise-inflight": "^1.0.1", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "semver": "^7.3.5", - "which": "^4.0.0" + "which": "^5.0.0" } }, "@npmcli/installed-package-contents": { - "version": "2.1.0", + "version": "3.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" } }, "@npmcli/map-workspaces": { - "version": "3.0.6", + "version": "4.0.2", "bundled": true, "dev": true, - "peer": true, "requires": { - "@npmcli/name-from-folder": "^2.0.0", + "@npmcli/name-from-folder": "^3.0.0", + "@npmcli/package-json": "^6.0.0", "glob": "^10.2.2", - "minimatch": "^9.0.0", - "read-package-json-fast": "^3.0.0" + "minimatch": "^9.0.0" } }, "@npmcli/metavuln-calculator": { - "version": "7.1.1", + "version": "8.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { - "cacache": "^18.0.0", - "json-parse-even-better-errors": "^3.0.0", - "pacote": "^18.0.0", - "proc-log": "^4.1.0", + "cacache": "^19.0.0", + "json-parse-even-better-errors": "^4.0.0", + "pacote": "^20.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5" + }, + "dependencies": { + "pacote": { + "version": "20.0.0", + "bundled": true, + "dev": true, + "requires": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + } + } } }, "@npmcli/name-from-folder": { - "version": "2.0.0", + "version": "3.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "@npmcli/node-gyp": { - "version": "3.0.0", + "version": "4.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "@npmcli/package-json": { - "version": "5.2.0", + "version": "6.2.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "@npmcli/git": "^5.0.0", + "@npmcli/git": "^6.0.0", "glob": "^10.2.2", - "hosted-git-info": "^7.0.0", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "proc-log": "^4.0.0", - "semver": "^7.5.3" + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" } }, "@npmcli/promise-spawn": { - "version": "7.0.2", + "version": "8.0.2", "bundled": true, "dev": true, - "peer": true, "requires": { - "which": "^4.0.0" + "which": "^5.0.0" } }, "@npmcli/query": { - "version": "3.1.0", + "version": "4.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { - "postcss-selector-parser": "^6.0.10" + "postcss-selector-parser": "^7.0.0" } }, "@npmcli/redact": { - "version": "2.0.1", + "version": "3.2.2", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "@npmcli/run-script": { - "version": "8.1.0", + "version": "9.1.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.0.0", - "@npmcli/promise-spawn": "^7.0.0", - "node-gyp": "^10.0.0", - "proc-log": "^4.0.0", - "which": "^4.0.0" + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "node-gyp": "^11.0.0", + "proc-log": "^5.0.0", + "which": "^5.0.0" } }, "@pkgjs/parseargs": { "version": "0.11.0", "bundled": true, "dev": true, - "optional": true, - "peer": true - }, - "@sigstore/bundle": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "@sigstore/protobuf-specs": "^0.3.2" - } - }, - "@sigstore/core": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "peer": true - }, - "@sigstore/protobuf-specs": { - "version": "0.3.2", - "bundled": true, - "dev": true, - "peer": true - }, - "@sigstore/sign": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "make-fetch-happen": "^13.0.1", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1" - } - }, - "@sigstore/tuf": { - "version": "2.3.4", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "@sigstore/protobuf-specs": "^0.3.2", - "tuf-js": "^2.2.1" - } - }, - "@sigstore/verify": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.1.0", - "@sigstore/protobuf-specs": "^0.3.2" - } + "optional": true }, - "@tufjs/canonical-json": { - "version": "2.0.0", + "@sigstore/protobuf-specs": { + "version": "0.4.3", "bundled": true, - "dev": true, - "peer": true + "dev": true }, - "@tufjs/models": { - "version": "2.0.1", + "@sigstore/tuf": { + "version": "3.1.1", "bundled": true, "dev": true, - "peer": true, "requires": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.4" + "@sigstore/protobuf-specs": "^0.4.1", + "tuf-js": "^3.0.1" } }, - "abbrev": { + "@tufjs/canonical-json": { "version": "2.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, - "agent-base": { - "version": "7.1.1", + "abbrev": { + "version": "3.0.1", "bundled": true, - "dev": true, - "peer": true, - "requires": { - "debug": "^4.3.4" - } + "dev": true }, - "aggregate-error": { - "version": "3.1.0", + "agent-base": { + "version": "7.1.3", "bundled": true, - "dev": true, - "peer": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - } + "dev": true }, "ansi-regex": { "version": "5.0.1", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "ansi-styles": { "version": "6.2.1", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "aproba": { "version": "2.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "archy": { "version": "1.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "balanced-match": { "version": "1.0.2", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "bin-links": { - "version": "4.0.4", + "version": "5.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "cmd-shim": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "read-cmd-shim": "^4.0.0", - "write-file-atomic": "^5.0.0" + "cmd-shim": "^7.0.0", + "npm-normalize-package-bin": "^4.0.0", + "proc-log": "^5.0.0", + "read-cmd-shim": "^5.0.0", + "write-file-atomic": "^6.0.0" } }, "binary-extensions": { "version": "2.3.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "brace-expansion": { - "version": "2.0.1", + "version": "2.0.2", "bundled": true, "dev": true, - "peer": true, "requires": { "balanced-match": "^1.0.0" } }, "cacache": { - "version": "18.0.4", + "version": "19.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { - "@npmcli/fs": "^3.1.0", + "@npmcli/fs": "^4.0.0", "fs-minipass": "^3.0.0", "glob": "^10.2.2", "lru-cache": "^10.0.1", @@ -21159,66 +20868,83 @@ "minipass-collect": "^2.0.1", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" + }, + "dependencies": { + "chownr": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "tar": { + "version": "7.4.3", + "bundled": true, + "dev": true, + "requires": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + } + }, + "yallist": { + "version": "5.0.0", + "bundled": true, + "dev": true + } } }, "chalk": { - "version": "5.3.0", + "version": "5.4.1", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "chownr": { "version": "2.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "ci-info": { - "version": "4.0.0", + "version": "4.2.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "cidr-regex": { - "version": "4.1.1", + "version": "4.1.3", "bundled": true, "dev": true, - "peer": true, "requires": { "ip-regex": "^5.0.0" } }, - "clean-stack": { - "version": "2.2.0", - "bundled": true, - "dev": true, - "peer": true - }, "cli-columns": { "version": "4.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { "string-width": "^4.2.3", "strip-ansi": "^6.0.1" } }, "cmd-shim": { - "version": "6.0.3", + "version": "7.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "color-convert": { "version": "2.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { "color-name": "~1.1.4" } @@ -21226,20 +20952,17 @@ "color-name": { "version": "1.1.4", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "common-ancestor-path": { "version": "1.0.1", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "cross-spawn": { - "version": "7.0.3", + "version": "7.0.6", "bundled": true, "dev": true, - "peer": true, "requires": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -21250,7 +20973,6 @@ "version": "2.0.2", "bundled": true, "dev": true, - "peer": true, "requires": { "isexe": "^2.0.0" } @@ -21260,50 +20982,36 @@ "cssesc": { "version": "3.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "debug": { - "version": "4.3.6", + "version": "4.4.1", "bundled": true, "dev": true, - "peer": true, "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "bundled": true, - "dev": true, - "peer": true - } + "ms": "^2.1.3" } }, "diff": { "version": "5.2.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "eastasianwidth": { "version": "0.2.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "emoji-regex": { "version": "8.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "encoding": { "version": "0.1.13", "bundled": true, "dev": true, "optional": true, - "peer": true, "requires": { "iconv-lite": "^0.6.2" } @@ -21311,34 +21019,29 @@ "env-paths": { "version": "2.2.1", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "err-code": { "version": "2.0.3", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "exponential-backoff": { - "version": "3.1.1", + "version": "3.1.2", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "fastest-levenshtein": { "version": "1.0.16", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "foreground-child": { - "version": "3.3.0", + "version": "3.3.1", "bundled": true, "dev": true, - "peer": true, "requires": { - "cross-spawn": "^7.0.0", + "cross-spawn": "^7.0.6", "signal-exit": "^4.0.1" } }, @@ -21346,7 +21049,6 @@ "version": "3.0.3", "bundled": true, "dev": true, - "peer": true, "requires": { "minipass": "^7.0.3" } @@ -21355,7 +21057,6 @@ "version": "10.4.5", "bundled": true, "dev": true, - "peer": true, "requires": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -21368,41 +21069,36 @@ "graceful-fs": { "version": "4.2.11", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "hosted-git-info": { - "version": "7.0.2", + "version": "8.1.0", "bundled": true, "dev": true, - "peer": true, "requires": { "lru-cache": "^10.0.1" } }, "http-cache-semantics": { - "version": "4.1.1", + "version": "4.2.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "http-proxy-agent": { "version": "7.0.2", "bundled": true, "dev": true, - "peer": true, "requires": { "agent-base": "^7.1.0", "debug": "^4.3.4" } }, "https-proxy-agent": { - "version": "7.0.5", + "version": "7.0.6", "bundled": true, "dev": true, - "peer": true, "requires": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "4" } }, @@ -21411,16 +21107,14 @@ "bundled": true, "dev": true, "optional": true, - "peer": true, "requires": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "ignore-walk": { - "version": "6.0.5", + "version": "7.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { "minimatch": "^9.0.0" } @@ -21428,41 +21122,31 @@ "imurmurhash": { "version": "0.1.4", "bundled": true, - "dev": true, - "peer": true - }, - "indent-string": { - "version": "4.0.0", - "bundled": true, - "dev": true, - "peer": true + "dev": true }, "ini": { - "version": "4.1.3", + "version": "5.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "init-package-json": { - "version": "6.0.3", + "version": "7.0.2", "bundled": true, "dev": true, - "peer": true, "requires": { - "@npmcli/package-json": "^5.0.0", - "npm-package-arg": "^11.0.0", - "promzard": "^1.0.0", - "read": "^3.0.1", + "@npmcli/package-json": "^6.0.0", + "npm-package-arg": "^12.0.0", + "promzard": "^2.0.0", + "read": "^4.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "^5.0.0" + "validate-npm-package-name": "^6.0.0" } }, "ip-address": { "version": "9.0.5", "bundled": true, "dev": true, - "peer": true, "requires": { "jsbn": "1.1.0", "sprintf-js": "^1.1.3" @@ -21471,14 +21155,12 @@ "ip-regex": { "version": "5.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "is-cidr": { - "version": "5.1.0", + "version": "5.1.1", "bundled": true, "dev": true, - "peer": true, "requires": { "cidr-regex": "^4.1.1" } @@ -21486,26 +21168,17 @@ "is-fullwidth-code-point": { "version": "3.0.0", "bundled": true, - "dev": true, - "peer": true - }, - "is-lambda": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "peer": true + "dev": true }, "isexe": { "version": "2.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "jackspeak": { "version": "3.4.3", "bundled": true, "dev": true, - "peer": true, "requires": { "@isaacs/cliui": "^8.0.2", "@pkgjs/parseargs": "^0.11.0" @@ -21514,203 +21187,189 @@ "jsbn": { "version": "1.1.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "json-parse-even-better-errors": { - "version": "3.0.2", + "version": "4.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "json-stringify-nice": { "version": "1.1.4", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "jsonparse": { "version": "1.3.1", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "just-diff": { "version": "6.0.2", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "just-diff-apply": { "version": "5.5.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "libnpmaccess": { - "version": "8.0.6", + "version": "9.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "npm-package-arg": "^11.0.2", - "npm-registry-fetch": "^17.0.1" + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1" } }, "libnpmdiff": { - "version": "6.1.4", + "version": "7.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { - "@npmcli/arborist": "^7.5.4", - "@npmcli/installed-package-contents": "^2.1.0", + "@npmcli/arborist": "^8.0.1", + "@npmcli/installed-package-contents": "^3.0.0", "binary-extensions": "^2.3.0", "diff": "^5.1.0", "minimatch": "^9.0.4", - "npm-package-arg": "^11.0.2", - "pacote": "^18.0.6", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0", "tar": "^6.2.1" } }, "libnpmexec": { - "version": "8.1.4", + "version": "9.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { - "@npmcli/arborist": "^7.5.4", - "@npmcli/run-script": "^8.1.0", + "@npmcli/arborist": "^8.0.1", + "@npmcli/run-script": "^9.0.1", "ci-info": "^4.0.0", - "npm-package-arg": "^11.0.2", - "pacote": "^18.0.6", - "proc-log": "^4.2.0", - "read": "^3.0.1", - "read-package-json-fast": "^3.0.2", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0", + "proc-log": "^5.0.0", + "read": "^4.0.0", + "read-package-json-fast": "^4.0.0", "semver": "^7.3.7", "walk-up-path": "^3.0.1" } }, "libnpmfund": { - "version": "5.0.12", + "version": "6.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { - "@npmcli/arborist": "^7.5.4" + "@npmcli/arborist": "^8.0.1" } }, "libnpmhook": { - "version": "10.0.5", + "version": "11.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { "aproba": "^2.0.0", - "npm-registry-fetch": "^17.0.1" + "npm-registry-fetch": "^18.0.1" } }, "libnpmorg": { - "version": "6.0.6", + "version": "7.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { "aproba": "^2.0.0", - "npm-registry-fetch": "^17.0.1" + "npm-registry-fetch": "^18.0.1" } }, "libnpmpack": { - "version": "7.0.4", + "version": "8.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { - "@npmcli/arborist": "^7.5.4", - "@npmcli/run-script": "^8.1.0", - "npm-package-arg": "^11.0.2", - "pacote": "^18.0.6" + "@npmcli/arborist": "^8.0.1", + "@npmcli/run-script": "^9.0.1", + "npm-package-arg": "^12.0.0", + "pacote": "^19.0.0" } }, "libnpmpublish": { - "version": "9.0.9", + "version": "10.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { "ci-info": "^4.0.0", - "normalize-package-data": "^6.0.1", - "npm-package-arg": "^11.0.2", - "npm-registry-fetch": "^17.0.1", - "proc-log": "^4.2.0", + "normalize-package-data": "^7.0.0", + "npm-package-arg": "^12.0.0", + "npm-registry-fetch": "^18.0.1", + "proc-log": "^5.0.0", "semver": "^7.3.7", - "sigstore": "^2.2.0", - "ssri": "^10.0.6" + "sigstore": "^3.0.0", + "ssri": "^12.0.0" } }, "libnpmsearch": { - "version": "7.0.6", + "version": "8.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "npm-registry-fetch": "^17.0.1" + "npm-registry-fetch": "^18.0.1" } }, "libnpmteam": { - "version": "6.0.5", + "version": "7.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { "aproba": "^2.0.0", - "npm-registry-fetch": "^17.0.1" + "npm-registry-fetch": "^18.0.1" } }, "libnpmversion": { - "version": "6.0.3", + "version": "7.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "@npmcli/git": "^5.0.7", - "@npmcli/run-script": "^8.1.0", - "json-parse-even-better-errors": "^3.0.2", - "proc-log": "^4.2.0", + "@npmcli/git": "^6.0.1", + "@npmcli/run-script": "^9.0.1", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.7" } }, "lru-cache": { "version": "10.4.3", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "make-fetch-happen": { - "version": "13.0.1", + "version": "14.0.3", "bundled": true, "dev": true, - "peer": true, "requires": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", + "minipass-fetch": "^4.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "proc-log": "^4.2.0", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", "promise-retry": "^2.0.1", - "ssri": "^10.0.0" + "ssri": "^12.0.0" + }, + "dependencies": { + "negotiator": { + "version": "1.0.0", + "bundled": true, + "dev": true + } } }, "minimatch": { "version": "9.0.5", "bundled": true, "dev": true, - "peer": true, "requires": { "brace-expansion": "^2.0.1" } @@ -21718,35 +21377,31 @@ "minipass": { "version": "7.1.2", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "minipass-collect": { "version": "2.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { "minipass": "^7.0.3" } }, "minipass-fetch": { - "version": "3.0.5", + "version": "4.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { "encoding": "^0.1.13", "minipass": "^7.0.3", "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" + "minizlib": "^3.0.1" } }, "minipass-flush": { "version": "1.0.5", "bundled": true, "dev": true, - "peer": true, "requires": { "minipass": "^3.0.0" }, @@ -21755,7 +21410,6 @@ "version": "3.3.6", "bundled": true, "dev": true, - "peer": true, "requires": { "yallist": "^4.0.0" } @@ -21766,7 +21420,6 @@ "version": "1.2.4", "bundled": true, "dev": true, - "peer": true, "requires": { "minipass": "^3.0.0" }, @@ -21775,7 +21428,6 @@ "version": "3.3.6", "bundled": true, "dev": true, - "peer": true, "requires": { "yallist": "^4.0.0" } @@ -21786,7 +21438,6 @@ "version": "1.0.3", "bundled": true, "dev": true, - "peer": true, "requires": { "minipass": "^3.0.0" }, @@ -21795,7 +21446,6 @@ "version": "3.3.6", "bundled": true, "dev": true, - "peer": true, "requires": { "yallist": "^4.0.0" } @@ -21803,230 +21453,218 @@ } }, "minizlib": { - "version": "2.1.2", + "version": "3.0.2", "bundled": true, "dev": true, - "peer": true, "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "dependencies": { - "minipass": { - "version": "3.3.6", - "bundled": true, - "dev": true, - "peer": true, - "requires": { - "yallist": "^4.0.0" - } - } + "minipass": "^7.1.2" } }, "mkdirp": { "version": "1.0.4", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "ms": { "version": "2.1.3", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "mute-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "peer": true - }, - "negotiator": { - "version": "0.6.3", + "version": "2.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "node-gyp": { - "version": "10.2.0", + "version": "11.2.0", "bundled": true, "dev": true, - "peer": true, "requires": { "env-paths": "^2.2.0", "exponential-backoff": "^3.1.1", - "glob": "^10.3.10", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^13.0.0", - "nopt": "^7.0.0", - "proc-log": "^4.1.0", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5", - "tar": "^6.2.1", - "which": "^4.0.0" + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" + }, + "dependencies": { + "chownr": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "mkdirp": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "tar": { + "version": "7.4.3", + "bundled": true, + "dev": true, + "requires": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + } + }, + "yallist": { + "version": "5.0.0", + "bundled": true, + "dev": true + } } }, "nopt": { - "version": "7.2.1", + "version": "8.1.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "abbrev": "^2.0.0" + "abbrev": "^3.0.0" } }, "normalize-package-data": { - "version": "6.0.2", + "version": "7.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "hosted-git-info": "^7.0.0", + "hosted-git-info": "^8.0.0", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4" } }, "npm-audit-report": { - "version": "5.0.0", + "version": "6.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "npm-bundled": { - "version": "3.0.1", + "version": "4.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "npm-normalize-package-bin": "^3.0.0" + "npm-normalize-package-bin": "^4.0.0" } }, "npm-install-checks": { - "version": "6.3.0", + "version": "7.1.1", "bundled": true, "dev": true, - "peer": true, "requires": { "semver": "^7.1.1" } }, "npm-normalize-package-bin": { - "version": "3.0.1", + "version": "4.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "npm-package-arg": { - "version": "11.0.3", + "version": "12.0.2", "bundled": true, "dev": true, - "peer": true, "requires": { - "hosted-git-info": "^7.0.0", - "proc-log": "^4.0.0", + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" + "validate-npm-package-name": "^6.0.0" } }, "npm-packlist": { - "version": "8.0.2", + "version": "9.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "ignore-walk": "^6.0.4" + "ignore-walk": "^7.0.0" } }, "npm-pick-manifest": { - "version": "9.1.0", + "version": "10.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^11.0.0", + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", "semver": "^7.3.5" } }, "npm-profile": { - "version": "10.0.0", + "version": "11.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { - "npm-registry-fetch": "^17.0.1", - "proc-log": "^4.0.0" + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0" } }, "npm-registry-fetch": { - "version": "17.1.0", + "version": "18.0.2", "bundled": true, "dev": true, - "peer": true, "requires": { - "@npmcli/redact": "^2.0.0", + "@npmcli/redact": "^3.0.0", "jsonparse": "^1.3.1", - "make-fetch-happen": "^13.0.0", + "make-fetch-happen": "^14.0.0", "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minizlib": "^2.1.2", - "npm-package-arg": "^11.0.0", - "proc-log": "^4.0.0" + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" } }, "npm-user-validate": { - "version": "2.0.1", + "version": "3.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "p-map": { - "version": "4.0.0", + "version": "7.0.3", "bundled": true, - "dev": true, - "peer": true, - "requires": { - "aggregate-error": "^3.0.0" - } + "dev": true }, "package-json-from-dist": { - "version": "1.0.0", + "version": "1.0.1", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "pacote": { - "version": "18.0.6", + "version": "19.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { - "@npmcli/git": "^5.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/package-json": "^5.1.0", - "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^8.0.0", - "cacache": "^18.0.0", + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", - "npm-package-arg": "^11.0.0", - "npm-packlist": "^8.0.0", - "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^17.0.0", - "proc-log": "^4.0.0", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^9.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", "promise-retry": "^2.0.1", - "sigstore": "^2.2.0", - "ssri": "^10.0.0", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", "tar": "^6.1.11" } }, "parse-conflict-json": { - "version": "3.0.1", + "version": "4.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "json-parse-even-better-errors": "^3.0.0", + "json-parse-even-better-errors": "^4.0.0", "just-diff": "^6.0.0", "just-diff-apply": "^5.2.0" } @@ -22034,133 +21672,110 @@ "path-key": { "version": "3.1.1", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "path-scurry": { "version": "1.11.1", "bundled": true, "dev": true, - "peer": true, "requires": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "postcss-selector-parser": { - "version": "6.1.2", + "version": "7.1.0", "bundled": true, "dev": true, - "peer": true, "requires": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" } }, "proc-log": { - "version": "4.2.0", + "version": "5.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "proggy": { - "version": "2.0.0", + "version": "3.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "promise-all-reject-late": { "version": "1.0.1", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "promise-call-limit": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "peer": true - }, - "promise-inflight": { - "version": "1.0.1", + "version": "3.0.2", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "promise-retry": { "version": "2.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { "err-code": "^2.0.2", "retry": "^0.12.0" } }, "promzard": { - "version": "1.0.2", + "version": "2.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "read": "^3.0.1" + "read": "^4.0.0" } }, "qrcode-terminal": { "version": "0.12.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "read": { - "version": "3.0.1", + "version": "4.1.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "mute-stream": "^1.0.0" + "mute-stream": "^2.0.0" } }, "read-cmd-shim": { - "version": "4.0.0", + "version": "5.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "read-package-json-fast": { - "version": "3.0.2", + "version": "4.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" + "json-parse-even-better-errors": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" } }, "retry": { "version": "0.12.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "safer-buffer": { "version": "2.1.2", "bundled": true, "dev": true, - "optional": true, - "peer": true + "optional": true }, "semver": { - "version": "7.6.3", + "version": "7.7.2", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "shebang-command": { "version": "2.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { "shebang-regex": "^3.0.0" } @@ -22168,52 +21783,84 @@ "shebang-regex": { "version": "3.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "signal-exit": { "version": "4.1.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "sigstore": { - "version": "2.3.1", + "version": "3.1.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "@sigstore/sign": "^2.3.2", - "@sigstore/tuf": "^2.3.4", - "@sigstore/verify": "^1.2.1" + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" + }, + "dependencies": { + "@sigstore/bundle": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "@sigstore/protobuf-specs": "^0.4.0" + } + }, + "@sigstore/core": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "@sigstore/sign": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" + } + }, + "@sigstore/verify": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.1" + } + } } }, "smart-buffer": { "version": "4.2.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "socks": { - "version": "2.8.3", + "version": "2.8.5", "bundled": true, "dev": true, - "peer": true, "requires": { "ip-address": "^9.0.5", "smart-buffer": "^4.2.0" } }, "socks-proxy-agent": { - "version": "8.0.4", + "version": "8.0.5", "bundled": true, "dev": true, - "peer": true, "requires": { - "agent-base": "^7.1.1", + "agent-base": "^7.1.2", "debug": "^4.3.4", "socks": "^2.8.3" } @@ -22222,7 +21869,6 @@ "version": "3.2.0", "bundled": true, "dev": true, - "peer": true, "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -22232,7 +21878,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -22243,36 +21888,31 @@ "spdx-exceptions": { "version": "2.5.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "spdx-expression-parse": { "version": "4.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "spdx-license-ids": { - "version": "3.0.18", + "version": "3.0.21", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "sprintf-js": { "version": "1.1.3", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "ssri": { - "version": "10.0.6", + "version": "12.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { "minipass": "^7.0.3" } @@ -22281,7 +21921,6 @@ "version": "4.2.3", "bundled": true, "dev": true, - "peer": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -22292,7 +21931,6 @@ "version": "npm:string-width@4.2.3", "bundled": true, "dev": true, - "peer": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -22303,7 +21941,6 @@ "version": "6.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { "ansi-regex": "^5.0.1" } @@ -22312,7 +21949,6 @@ "version": "npm:strip-ansi@6.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { "ansi-regex": "^5.0.1" } @@ -22320,14 +21956,12 @@ "supports-color": { "version": "9.4.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "tar": { "version": "6.2.1", "bundled": true, "dev": true, - "peer": true, "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -22341,7 +21975,6 @@ "version": "2.1.0", "bundled": true, "dev": true, - "peer": true, "requires": { "minipass": "^3.0.0" }, @@ -22350,7 +21983,6 @@ "version": "3.3.6", "bundled": true, "dev": true, - "peer": true, "requires": { "yallist": "^4.0.0" } @@ -22360,54 +21992,99 @@ "minipass": { "version": "5.0.0", "bundled": true, + "dev": true + }, + "minizlib": { + "version": "2.1.2", + "bundled": true, "dev": true, - "peer": true + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "bundled": true, + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } + } } } }, "text-table": { "version": "0.2.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "tiny-relative-date": { "version": "1.3.0", "bundled": true, + "dev": true + }, + "tinyglobby": { + "version": "0.2.14", + "bundled": true, "dev": true, - "peer": true + "requires": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "dependencies": { + "fdir": { + "version": "6.4.6", + "bundled": true, + "dev": true, + "requires": {} + }, + "picomatch": { + "version": "4.0.2", + "bundled": true, + "dev": true + } + } }, "treeverse": { "version": "3.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "tuf-js": { - "version": "2.2.1", + "version": "3.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { - "@tufjs/models": "2.0.1", - "debug": "^4.3.4", - "make-fetch-happen": "^13.0.1" + "@tufjs/models": "3.0.1", + "debug": "^4.3.6", + "make-fetch-happen": "^14.0.1" + }, + "dependencies": { + "@tufjs/models": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" + } + } } }, "unique-filename": { - "version": "3.0.0", + "version": "4.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { - "unique-slug": "^4.0.0" + "unique-slug": "^5.0.0" } }, "unique-slug": { - "version": "4.0.0", + "version": "5.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { "imurmurhash": "^0.1.4" } @@ -22415,14 +22092,12 @@ "util-deprecate": { "version": "1.0.2", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "validate-npm-package-license": { "version": "3.0.4", "bundled": true, "dev": true, - "peer": true, "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -22432,7 +22107,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "peer": true, "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -22441,22 +22115,19 @@ } }, "validate-npm-package-name": { - "version": "5.0.1", + "version": "6.0.1", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "walk-up-path": { "version": "3.0.1", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "which": { - "version": "4.0.0", + "version": "5.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { "isexe": "^3.1.1" }, @@ -22464,8 +22135,7 @@ "isexe": { "version": "3.1.1", "bundled": true, - "dev": true, - "peer": true + "dev": true } } }, @@ -22473,7 +22143,6 @@ "version": "8.1.0", "bundled": true, "dev": true, - "peer": true, "requires": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -22481,22 +22150,19 @@ }, "dependencies": { "ansi-regex": { - "version": "6.0.1", + "version": "6.1.0", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "emoji-regex": { "version": "9.2.2", "bundled": true, - "dev": true, - "peer": true + "dev": true }, "string-width": { "version": "5.1.2", "bundled": true, "dev": true, - "peer": true, "requires": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -22507,7 +22173,6 @@ "version": "7.1.0", "bundled": true, "dev": true, - "peer": true, "requires": { "ansi-regex": "^6.0.1" } @@ -22518,7 +22183,6 @@ "version": "npm:wrap-ansi@7.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -22529,7 +22193,6 @@ "version": "4.3.0", "bundled": true, "dev": true, - "peer": true, "requires": { "color-convert": "^2.0.1" } @@ -22537,10 +22200,9 @@ } }, "write-file-atomic": { - "version": "5.0.1", + "version": "6.0.0", "bundled": true, "dev": true, - "peer": true, "requires": { "imurmurhash": "^0.1.4", "signal-exit": "^4.0.1" @@ -22549,8 +22211,7 @@ "yallist": { "version": "4.0.0", "bundled": true, - "dev": true, - "peer": true + "dev": true } } }, @@ -22567,8 +22228,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "peer": true + "dev": true }, "object-copy": { "version": "0.1.0", @@ -22635,15 +22295,13 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-3.0.0.tgz", "integrity": "sha512-lastgtAdoH9YaLyDa5i5z64q+kzOcQHsQ5SsZJD3q0VEyI8mq872S3geuNbRUQLVAE9siMfgKrpj7MloKFHruw==", - "dev": true, - "peer": true + "dev": true }, "p-filter": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-4.1.0.tgz", "integrity": "sha512-37/tPdZ3oJwHaS3gNJdenCDB3Tz26i9sjhnguBtvN0vYlRIiDNnvTWkuh+0hETV9rLPdJ3rlL3yVOYPIAnM8rw==", "dev": true, - "peer": true, "requires": { "p-map": "^7.0.1" } @@ -22673,11 +22331,10 @@ } }, "p-map": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.2.tgz", - "integrity": "sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==", - "dev": true, - "peer": true + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", + "dev": true }, "p-reduce": { "version": "2.1.0", @@ -22728,22 +22385,19 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", - "dev": true, - "peer": true + "dev": true }, "parse5": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "dev": true, - "peer": true + "dev": true }, "parse5-htmlparser2-tree-adapter": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", "dev": true, - "peer": true, "requires": { "parse5": "^6.0.1" }, @@ -22752,8 +22406,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true, - "peer": true + "dev": true } } }, @@ -22853,11 +22506,10 @@ "dev": true }, "pretty-ms": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.1.0.tgz", - "integrity": "sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.3.0.tgz", + "integrity": "sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==", "dev": true, - "peer": true, "requires": { "parse-ms": "^4.0.0" } @@ -22952,7 +22604,6 @@ "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", "dev": true, - "peer": true, "requires": { "find-up-simple": "^1.0.0", "read-pkg": "^9.0.0", @@ -22964,7 +22615,6 @@ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", "dev": true, - "peer": true, "requires": { "@types/normalize-package-data": "^2.4.3", "normalize-package-data": "^6.0.0", @@ -22978,7 +22628,6 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", "dev": true, - "peer": true, "requires": { "@babel/code-frame": "^7.22.13", "index-to-position": "^0.1.2", @@ -23553,16 +23202,15 @@ } }, "semantic-release": { - "version": "24.1.1", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.1.1.tgz", - "integrity": "sha512-4Ax2GxD411jUe9IdhOjMLuN+6wAj+aKjvOGngByrpD/iKL+UKN/2puQglhyI4gxNyy9XzEBMzBwbqpnEwbXGEg==", + "version": "24.2.9", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.9.tgz", + "integrity": "sha512-phCkJ6pjDi9ANdhuF5ElS10GGdAKY6R1Pvt9lT3SFhOwM4T7QZE7MLpBDbNruUx/Q3gFD92/UOFringGipRqZA==", "dev": true, - "peer": true, "requires": { "@semantic-release/commit-analyzer": "^13.0.0-beta.1", "@semantic-release/error": "^4.0.0", - "@semantic-release/github": "^10.0.0", - "@semantic-release/npm": "^12.0.0", + "@semantic-release/github": "^11.0.0", + "@semantic-release/npm": "^12.0.2", "@semantic-release/release-notes-generator": "^14.0.0-beta.1", "aggregate-error": "^5.0.0", "cosmiconfig": "^9.0.0", @@ -23573,19 +23221,19 @@ "find-versions": "^6.0.0", "get-stream": "^6.0.0", "git-log-parser": "^1.2.0", - "hook-std": "^3.0.0", + "hook-std": "^4.0.0", "hosted-git-info": "^8.0.0", - "import-from-esm": "^1.3.1", + "import-from-esm": "^2.0.0", "lodash-es": "^4.17.21", - "marked": "^12.0.0", - "marked-terminal": "^7.0.0", + "marked": "^15.0.0", + "marked-terminal": "^7.3.0", "micromatch": "^4.0.2", "p-each-series": "^3.0.0", "p-reduce": "^3.0.0", "read-package-up": "^11.0.0", "resolve-from": "^5.0.0", "semver": "^7.3.2", - "semver-diff": "^4.0.0", + "semver-diff": "^5.0.0", "signale": "^1.2.1", "yargs": "^17.5.1" }, @@ -23594,22 +23242,13 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", - "dev": true, - "peer": true - }, - "@sindresorhus/merge-streams": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", - "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", - "dev": true, - "peer": true + "dev": true }, "aggregate-error": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, - "peer": true, "requires": { "clean-stack": "^5.2.0", "indent-string": "^5.0.0" @@ -23620,7 +23259,6 @@ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", "dev": true, - "peer": true, "requires": { "escape-string-regexp": "5.0.0" } @@ -23630,7 +23268,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, - "peer": true, "requires": { "ms": "^2.1.3" } @@ -23639,15 +23276,13 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "dev": true, - "peer": true + "dev": true }, "execa": { "version": "9.4.0", "resolved": "https://registry.npmjs.org/execa/-/execa-9.4.0.tgz", "integrity": "sha512-yKHlle2YGxZE842MERVIplWwNH5VYmqqcPFgtnlU//K8gxuFFXu0pwd/CrfXTumFpeEiufsP7+opT/bPJa1yVw==", "dev": true, - "peer": true, "requires": { "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.3", @@ -23668,7 +23303,6 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, - "peer": true, "requires": { "@sec-ant/readable-stream": "^0.4.1", "is-stream": "^4.0.1" @@ -23680,36 +23314,41 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", + "dev": true + }, + "import-from-esm": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-2.0.0.tgz", + "integrity": "sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==", "dev": true, - "peer": true + "requires": { + "debug": "^4.3.4", + "import-meta-resolve": "^4.0.0" + } }, "indent-string": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "dev": true, - "peer": true + "dev": true }, "is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "dev": true, - "peer": true + "dev": true }, "is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", - "dev": true, - "peer": true + "dev": true }, "micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, - "peer": true, "requires": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -23719,15 +23358,13 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "peer": true + "dev": true }, "npm-run-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", "dev": true, - "peer": true, "requires": { "path-key": "^4.0.0", "unicorn-magic": "^0.3.0" @@ -23737,32 +23374,35 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", - "dev": true, - "peer": true + "dev": true }, "path-key": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "peer": true + "dev": true }, "strip-final-newline": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", - "dev": true, - "peer": true + "dev": true }, "unicorn-magic": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", - "dev": true, - "peer": true + "dev": true } } }, + "semantic-release-export-data": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/semantic-release-export-data/-/semantic-release-export-data-1.1.1.tgz", + "integrity": "sha512-cjhc6g7Vl4tRRD6eA593EyMiQaOvazsziabdzPqsf0OAKoIQSL2eynS2jaJhbdxiu4msZreZ+XcU5FU9FAZbeA==", + "dev": true, + "requires": {} + }, "semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -23770,11 +23410,10 @@ "dev": true }, "semver-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", - "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-5.0.0.tgz", + "integrity": "sha512-0HbGtOm+S7T6NGQ/pxJSJipJvc4DK3FcRVMRkhsIwJDJ4Jcz5DQC1cPPzB5GhzyHjwttW878HaWQq46CkL3cqg==", "dev": true, - "peer": true, "requires": { "semver": "^7.3.5" } @@ -23783,8 +23422,7 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-4.0.5.tgz", "integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==", - "dev": true, - "peer": true + "dev": true }, "set-value": { "version": "2.0.1", @@ -23902,7 +23540,6 @@ "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", "dev": true, - "peer": true, "requires": { "unicode-emoji-modifier-base": "^1.0.0" } @@ -24245,7 +23882,6 @@ "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-1.0.0.tgz", "integrity": "sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==", "dev": true, - "peer": true, "requires": { "function-timeout": "^1.0.1", "time-span": "^5.1.0" @@ -24261,11 +23897,10 @@ } }, "supports-hyperlinks": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.1.0.tgz", - "integrity": "sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", + "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", "dev": true, - "peer": true, "requires": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -24291,15 +23926,13 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", - "dev": true, - "peer": true + "dev": true }, "tempy": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", "dev": true, - "peer": true, "requires": { "is-stream": "^3.0.0", "temp-dir": "^3.0.0", @@ -24311,15 +23944,13 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "peer": true + "dev": true }, "type-fest": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", - "dev": true, - "peer": true + "dev": true } } }, @@ -24334,7 +23965,6 @@ "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, - "peer": true, "requires": { "any-promise": "^1.0.0" } @@ -24344,7 +23974,6 @@ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, - "peer": true, "requires": { "thenify": ">= 3.1.0 < 4" } @@ -24396,11 +24025,35 @@ "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", "dev": true, - "peer": true, "requires": { "convert-hrtime": "^5.0.0" } }, + "tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "requires": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "dependencies": { + "fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "requires": {} + }, + "picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true + } + } + }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -24589,8 +24242,7 @@ "version": "4.26.1", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", - "dev": true, - "peer": true + "dev": true }, "typescript": { "version": "5.2.2", @@ -24615,15 +24267,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", - "dev": true, - "peer": true + "dev": true }, "unicorn-magic": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", - "dev": true, - "peer": true + "dev": true }, "union-value": { "version": "1.0.1", @@ -24642,17 +24292,15 @@ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", "dev": true, - "peer": true, "requires": { "crypto-random-string": "^4.0.0" } }, "universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "dev": true, - "peer": true + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.3.tgz", + "integrity": "sha512-TmnEAEAsBJVZM/AADELsK76llnwcf9vMKuPz8JflO1frO8Lchitr0fNaN9d+Ap0BjKtqWqd/J17qeDnXh8CL2A==", + "dev": true }, "universalify": { "version": "2.0.1", @@ -24710,8 +24358,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz", "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==", - "dev": true, - "peer": true + "dev": true }, "use": { "version": "3.1.1", @@ -24857,7 +24504,6 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "peer": true, "requires": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -24873,7 +24519,6 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "peer": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -24886,15 +24531,13 @@ "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "peer": true + "dev": true }, "yoctocolors": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", - "dev": true, - "peer": true + "dev": true }, "zip-stream": { "version": "5.0.1", diff --git a/package.json b/package.json index 70002a4..5df749f 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,8 @@ "cpx": "^1.5.0", "glob": "^10.3.10", "rimraf": "^5.0.5", + "semantic-release": "^24.2.9", + "semantic-release-export-data": "^1.1.1", "tsc-alias": "^1.8.8", "typescript": "^5.2.2" }, From db880ee577bb98783db8361838463a82738f69cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sat, 4 Oct 2025 19:38:11 +0200 Subject: [PATCH 09/32] chore: update release-base node version --- .github/workflows/release-base.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 599c170..c3bf543 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -19,7 +19,7 @@ jobs: - name: Setup Node uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 20 - name: Install dependencies run: npm ci - name: Build From 49ece4d026f086d20ee073596be1426951c1b986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sat, 4 Oct 2025 19:46:20 +0200 Subject: [PATCH 10/32] chore: add release-step summary --- .github/workflows/release-base.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index c3bf543..55eca29 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -31,7 +31,11 @@ jobs: DRY_RUN: ${{ inputs.dry_run }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - outputs: - new-release-published: ${{ steps.semantic-release.outputs.new-release-published }} - new-release-version: ${{ steps.semantic-release.outputs.new-release-version }} - new-release-git-tag: ${{ steps.semantic-release.outputs.new-release-git-tag }} + - name: Release summary + run: | + { + echo "### 📦 Semantic Release Summary" + echo "- Published: **${{ steps.semantic-release.outputs.new-release-published }}**" + echo "- Version: **${{ steps.semantic-release.outputs.new-release-version }}**" + echo "- Tag: **${{ steps.semantic-release.outputs.new-release-git-tag }}**" + } >> $GITHUB_STEP_SUMMARY From b34dd897a08d3874cf05c2231756e19d082e8efe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sat, 4 Oct 2025 19:59:49 +0200 Subject: [PATCH 11/32] chore: force dry-run --- .github/workflows/release-base.yml | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 55eca29..4cf8ea5 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -24,18 +24,28 @@ jobs: run: npm ci - name: Build run: npm run build - - name: Semantic Release - id: semantic-release - run: npx semantic-release --dry-run=$DRY_RUN + + - name: Release Preview + if: ${{ inputs.dry_run == true }} + id: release-preview + run: bash -c "unset GITHUB_ACTIONS && npx semantic-release --dry-run --no-ci --branches '${HEAD_REF}'")" env: - DRY_RUN: ${{ inputs.dry_run }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + HEAD_REF: ${{ github.head_ref }} + - name: Release summary + if: ${{ inputs.dry_run == true }} run: | { echo "### 📦 Semantic Release Summary" - echo "- Published: **${{ steps.semantic-release.outputs.new-release-published }}**" - echo "- Version: **${{ steps.semantic-release.outputs.new-release-version }}**" - echo "- Tag: **${{ steps.semantic-release.outputs.new-release-git-tag }}**" + echo "- Published: **${{ steps.release-preview.outputs.new-release-published }}**" + echo "- Version: **${{ steps.release-preview.outputs.new-release-version }}**" + echo "- Tag: **${{ steps.release-preview.outputs.new-release-git-tag }}**" } >> $GITHUB_STEP_SUMMARY + + - name: Semantic Release + if: ${{ inputs.dry_run == false }} + run: npx semantic-release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} From 87b9ce9e0bc0dec31923454f7c25650484da370b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sat, 4 Oct 2025 20:08:10 +0200 Subject: [PATCH 12/32] chore: fix dry-run command --- .github/workflows/release-base.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 4cf8ea5..43c84e0 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -28,7 +28,7 @@ jobs: - name: Release Preview if: ${{ inputs.dry_run == true }} id: release-preview - run: bash -c "unset GITHUB_ACTIONS && npx semantic-release --dry-run --no-ci --branches '${HEAD_REF}'")" + run: unset GITHUB_ACTIONS && npx semantic-release --dry-run --no-ci --branches '${HEAD_REF}' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} HEAD_REF: ${{ github.head_ref }} From cd3fdd67e4a6d0aac39407855dcd5acd65aeaec0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 09:45:39 +0200 Subject: [PATCH 13/32] chore(preview): update branches parameter --- .github/workflows/release-base.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 43c84e0..5a9deb9 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -28,7 +28,7 @@ jobs: - name: Release Preview if: ${{ inputs.dry_run == true }} id: release-preview - run: unset GITHUB_ACTIONS && npx semantic-release --dry-run --no-ci --branches '${HEAD_REF}' + run: unset GITHUB_ACTIONS && npx semantic-release --dry-run --no-ci --branches "$HEAD_REF" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} HEAD_REF: ${{ github.head_ref }} From 3edb8501e849c43291fa8db8875278fae02cd4de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 09:49:02 +0200 Subject: [PATCH 14/32] chore(preview): update & debug --- .github/workflows/release-base.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 5a9deb9..6809f85 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -28,10 +28,9 @@ jobs: - name: Release Preview if: ${{ inputs.dry_run == true }} id: release-preview - run: unset GITHUB_ACTIONS && npx semantic-release --dry-run --no-ci --branches "$HEAD_REF" + run: unset GITHUB_ACTIONS && echo $GITHUB_HEAD_REF && npx semantic-release --dry-run --no-ci --branches $GITHUB_HEAD_REF env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - HEAD_REF: ${{ github.head_ref }} - name: Release summary if: ${{ inputs.dry_run == true }} From 1601f14d4ec39f3cbec4fefb73985d0e5ba213ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 09:51:57 +0200 Subject: [PATCH 15/32] chore(preview): unset GITHUB_EVENT_NAME --- .github/workflows/release-base.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 6809f85..79aa6b0 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -28,7 +28,10 @@ jobs: - name: Release Preview if: ${{ inputs.dry_run == true }} id: release-preview - run: unset GITHUB_ACTIONS && echo $GITHUB_HEAD_REF && npx semantic-release --dry-run --no-ci --branches $GITHUB_HEAD_REF + run: | + unset GITHUB_ACTIONS + unset GITHUB_EVENT_NAME + npx semantic-release --dry-run --no-ci --branches $GITHUB_HEAD_REF env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 446f12b512d68f173586ce25d33ff9bb60e6c944 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 09:54:58 +0200 Subject: [PATCH 16/32] chore(preview): override GITHUB_REF --- .github/workflows/release-base.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 79aa6b0..7fddbfa 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -31,8 +31,9 @@ jobs: run: | unset GITHUB_ACTIONS unset GITHUB_EVENT_NAME - npx semantic-release --dry-run --no-ci --branches $GITHUB_HEAD_REF + npx semantic-release --dry-run --no-ci --branches $GITHUB_REF env: + GITHUB_REF: ${{ github.head_ref }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Release summary From 4142793c220daff1ddb03a7ed454b42edfd2cfce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 10:10:13 +0200 Subject: [PATCH 17/32] chore(preview): debug --- .github/workflows/release-base.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 7fddbfa..a25c0f9 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -31,6 +31,8 @@ jobs: run: | unset GITHUB_ACTIONS unset GITHUB_EVENT_NAME + echo $GITHUB_REF + echo $GITHUB_EVENT_PATH npx semantic-release --dry-run --no-ci --branches $GITHUB_REF env: GITHUB_REF: ${{ github.head_ref }} From 7ffd3b82d2e402f8d8efeddb51a05fb98bd2faff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 10:22:08 +0200 Subject: [PATCH 18/32] chore(preview): debug some more --- .github/workflows/release-base.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index a25c0f9..fc62e54 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -29,9 +29,13 @@ jobs: if: ${{ inputs.dry_run == true }} id: release-preview run: | + # Unset variables for semantic-release to believe we are not in a PR + # (https://github.com/semantic-release/env-ci/blob/master/services/github.js) unset GITHUB_ACTIONS unset GITHUB_EVENT_NAME - echo $GITHUB_REF + unset GITHUB_EVENT_PATH + echo GITHUB_REF=$GITHUB_REF + echo GITUB_HEAD_REF=$GITUB_HEAD_REF echo $GITHUB_EVENT_PATH npx semantic-release --dry-run --no-ci --branches $GITHUB_REF env: From d927470857159b3e513c0a333df02ab2c23a488e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 10:25:56 +0200 Subject: [PATCH 19/32] chore: debug --- .github/workflows/release-base.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index fc62e54..dda7d4e 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -35,8 +35,8 @@ jobs: unset GITHUB_EVENT_NAME unset GITHUB_EVENT_PATH echo GITHUB_REF=$GITHUB_REF - echo GITUB_HEAD_REF=$GITUB_HEAD_REF - echo $GITHUB_EVENT_PATH + echo GITHUB_HEAD_REF=$GITHUB_HEAD_REF + echo $GITHUB_ENV npx semantic-release --dry-run --no-ci --branches $GITHUB_REF env: GITHUB_REF: ${{ github.head_ref }} From 06e796504450a2b4b608f19d6b8b961e413d7266 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 10:27:23 +0200 Subject: [PATCH 20/32] chore: override GITHUB_REF --- .github/workflows/release-base.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index dda7d4e..43e6163 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -34,6 +34,7 @@ jobs: unset GITHUB_ACTIONS unset GITHUB_EVENT_NAME unset GITHUB_EVENT_PATH + GITHUB_REF=$GITHUB_HEAD_REF echo GITHUB_REF=$GITHUB_REF echo GITHUB_HEAD_REF=$GITHUB_HEAD_REF echo $GITHUB_ENV From b6cce6c6009bcad28dc04112fb404017f81acdc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 11:27:58 +0200 Subject: [PATCH 21/32] chore: debug --- .github/workflows/release-base.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 43e6163..f2d40fe 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -37,8 +37,7 @@ jobs: GITHUB_REF=$GITHUB_HEAD_REF echo GITHUB_REF=$GITHUB_REF echo GITHUB_HEAD_REF=$GITHUB_HEAD_REF - echo $GITHUB_ENV - npx semantic-release --dry-run --no-ci --branches $GITHUB_REF + npx semantic-release --dry-run --no-ci --branches $GITHUB_REF --debug env: GITHUB_REF: ${{ github.head_ref }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 78674653af6a556677a7919b4e31ffe66a778898 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 11:59:34 +0200 Subject: [PATCH 22/32] chore: patch semantic-release to log envCi --- package-lock.json | 787 +++++++++++++++++++++++++- package.json | 2 + patches/semantic-release+24.2.9.patch | 14 + 3 files changed, 797 insertions(+), 6 deletions(-) create mode 100644 patches/semantic-release+24.2.9.patch diff --git a/package-lock.json b/package-lock.json index dcf486b..04011c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,6 +30,7 @@ "@types/object-path": "^0.11.4", "cpx": "^1.5.0", "glob": "^10.3.10", + "patch-package": "^8.0.1", "rimraf": "^5.0.5", "semantic-release": "^24.2.9", "semantic-release-export-data": "^1.1.1", @@ -4679,6 +4680,13 @@ "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true, + "license": "BSD-2-Clause" + }, "node_modules/agent-base": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", @@ -5146,6 +5154,56 @@ "node": ">=0.10.0" } }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -5237,6 +5295,22 @@ "fsevents": "^1.0.0" } }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -5907,6 +5981,24 @@ "node": ">=4.0.0" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -6084,6 +6176,21 @@ "node": ">=8" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -6324,6 +6431,39 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -6671,6 +6811,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "micromatch": "^4.0.2" + } + }, + "node_modules/find-yarn-workspace-root/node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -6848,6 +7012,45 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -6980,6 +7183,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -7034,6 +7250,32 @@ "node": ">=8" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -7077,9 +7319,9 @@ } }, "node_modules/hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "license": "MIT", "dependencies": { @@ -7438,6 +7680,22 @@ "node": ">= 0.4" } }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", @@ -7632,6 +7890,19 @@ "node": ">=0.10.0" } }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -7730,6 +8001,33 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, + "node_modules/json-stable-stringify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz", + "integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/json-stable-stringify/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true, + "license": "MIT" + }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -7748,6 +8046,16 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true, + "license": "Public Domain", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -7786,6 +8094,16 @@ "node": ">=0.10.0" } }, + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, "node_modules/lazystream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", @@ -8006,6 +8324,16 @@ "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/math-random": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", @@ -11189,6 +11517,16 @@ "node": ">=0.10.0" } }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/object-path": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", @@ -11261,6 +11599,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/p-each-series": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-3.0.0.tgz", @@ -11445,6 +11800,91 @@ "node": ">=0.10.0" } }, + "node_modules/patch-package": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.1.tgz", + "integrity": "sha512-VsKRIA8f5uqHQ7NGhwIna6Bx6D9s/1iXlA1hthBVBEbkq+t4kXD0HHt+rJhf/Z+Ci0F/HCB2hvn0qLdLG+Qxlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "ci-info": "^3.7.0", + "cross-spawn": "^7.0.3", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^10.0.0", + "json-stable-stringify": "^1.0.2", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "semver": "^7.5.3", + "slash": "^2.0.0", + "tmp": "^0.2.4", + "yaml": "^2.2.2" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "node": ">=14", + "npm": ">5" + } + }, + "node_modules/patch-package/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/patch-package/node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/patch-package/node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/patch-package/node_modules/yaml": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + } + }, "node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -12891,6 +13331,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -13746,6 +14204,16 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, "node_modules/to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", @@ -17740,6 +18208,12 @@ "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", "dev": true }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, "agent-base": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", @@ -18082,6 +18556,38 @@ "unset-value": "^1.0.0" } }, + "call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + } + }, + "call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "requires": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + } + }, + "call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + } + }, "callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -18144,6 +18650,12 @@ "readdirp": "^2.0.0" } }, + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true + }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", @@ -18612,6 +19124,17 @@ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -18741,6 +19264,17 @@ "is-obj": "^2.0.0" } }, + "dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + } + }, "duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -18913,6 +19447,27 @@ "is-arrayish": "^0.2.1" } }, + "es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true + }, + "es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "requires": { + "es-errors": "^1.3.0" + } + }, "escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -19156,6 +19711,27 @@ "super-regex": "^1.0.0" } }, + "find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "dev": true, + "requires": { + "micromatch": "^4.0.2" + }, + "dependencies": { + "micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + } + } + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -19277,6 +19853,34 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true }, + "get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "requires": { + "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-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "requires": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + } + }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -19369,6 +19973,12 @@ "slash": "^3.0.0" } }, + "gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true + }, "graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -19407,6 +20017,21 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "requires": { + "es-define-property": "^1.0.0" + } + }, + "has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true + }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", @@ -19440,9 +20065,9 @@ } }, "hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "requires": { "function-bind": "^1.1.2" @@ -19691,6 +20316,12 @@ "is-data-descriptor": "^1.0.1" } }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, "is-dotfile": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", @@ -19814,6 +20445,15 @@ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -19887,6 +20527,27 @@ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, + "json-stable-stringify": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz", + "integrity": "sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg==", + "dev": true, + "requires": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "isarray": "^2.0.5", + "jsonify": "^0.0.1", + "object-keys": "^1.1.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -19903,6 +20564,12 @@ "universalify": "^2.0.0" } }, + "jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "dev": true + }, "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", @@ -19928,6 +20595,15 @@ "is-buffer": "^1.1.5" } }, + "klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11" + } + }, "lazystream": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", @@ -20103,6 +20779,12 @@ } } }, + "math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true + }, "math-random": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", @@ -22241,6 +22923,12 @@ "kind-of": "^3.0.3" } }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, "object-path": { "version": "0.11.8", "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.8.tgz", @@ -22291,6 +22979,16 @@ "mimic-fn": "^2.1.0" } }, + "open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dev": true, + "requires": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + } + }, "p-each-series": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-3.0.0.tgz", @@ -22416,6 +23114,63 @@ "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true }, + "patch-package": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-8.0.1.tgz", + "integrity": "sha512-VsKRIA8f5uqHQ7NGhwIna6Bx6D9s/1iXlA1hthBVBEbkq+t4kXD0HHt+rJhf/Z+Ci0F/HCB2hvn0qLdLG+Qxlw==", + "dev": true, + "requires": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^4.1.2", + "ci-info": "^3.7.0", + "cross-spawn": "^7.0.3", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^10.0.0", + "json-stable-stringify": "^1.0.2", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.6", + "open": "^7.4.2", + "semver": "^7.5.3", + "slash": "^2.0.0", + "tmp": "^0.2.4", + "yaml": "^2.2.2" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "yaml": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "dev": true + } + } + }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -23424,6 +24179,20 @@ "integrity": "sha512-hunMQrEy1T6Jr2uEVjrAIqjwWcQTgOAcIM52C8MY1EZSD3DDNft04XzvYKPqjED65bNVVko0YI38nYeEHCX3yw==", "dev": true }, + "set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + } + }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -24054,6 +24823,12 @@ } } }, + "tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true + }, "to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", diff --git a/package.json b/package.json index 5df749f..4348f60 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "author": "Carlos Cortón Cobas ", "license": "MIT", "scripts": { + "postinstall": "patch-package", "build": "rimraf dist && tsc && tsc-alias && cpx 'src/**/*.sh' dist", "build-local": "npm run build && chmod +x ./dist/index.js" }, @@ -37,6 +38,7 @@ "@types/object-path": "^0.11.4", "cpx": "^1.5.0", "glob": "^10.3.10", + "patch-package": "^8.0.1", "rimraf": "^5.0.5", "semantic-release": "^24.2.9", "semantic-release-export-data": "^1.1.1", diff --git a/patches/semantic-release+24.2.9.patch b/patches/semantic-release+24.2.9.patch new file mode 100644 index 0000000..820713d --- /dev/null +++ b/patches/semantic-release+24.2.9.patch @@ -0,0 +1,14 @@ +diff --git a/node_modules/semantic-release/index.js b/node_modules/semantic-release/index.js +index 19c9f70..831ce5e 100644 +--- a/node_modules/semantic-release/index.js ++++ b/node_modules/semantic-release/index.js +@@ -38,6 +38,9 @@ async function terminalOutput(text) { + async function run(context, plugins) { + const { cwd, env, options, logger, envCi } = context; + const { isCi, branch, prBranch, isPr } = envCi; ++ ++ logger.log("[envCi] ".concat(JSON.stringify(envCi))); ++ + const ciBranch = isPr ? prBranch : branch; + + if (!isCi && !options.dryRun && !options.noCi) { From cd2eb75c20f2b3f72592d16b9638523ec3ec57ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 12:11:41 +0200 Subject: [PATCH 23/32] chore: avoid unsetting GITHUB_ACTIONS so its recognized github-service --- .github/workflows/release-base.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index f2d40fe..941a9cb 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -31,7 +31,7 @@ jobs: run: | # Unset variables for semantic-release to believe we are not in a PR # (https://github.com/semantic-release/env-ci/blob/master/services/github.js) - unset GITHUB_ACTIONS + # unset GITHUB_ACTIONS unset GITHUB_EVENT_NAME unset GITHUB_EVENT_PATH GITHUB_REF=$GITHUB_HEAD_REF From 07d262d020346ae2a4b4f66d2d076b9e1ca9e1d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 12:37:14 +0200 Subject: [PATCH 24/32] chore: update github-token permissions --- .github/workflows/release-base.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 941a9cb..65a05bf 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -10,6 +10,7 @@ jobs: release-base: runs-on: ubuntu-latest permissions: + contents: write id-token: write # to enable use of OIDC for npm provenance steps: - name: Checkout From 2999179ac7f7cb8803961c57216c5b98cd869bba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 12:41:17 +0200 Subject: [PATCH 25/32] chore: include NPM token --- .github/workflows/release-base.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 65a05bf..34710fd 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -42,6 +42,7 @@ jobs: env: GITHUB_REF: ${{ github.head_ref }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Release summary if: ${{ inputs.dry_run == true }} From 03a60fc574dc30afd18282d11d49a998d7a7c886 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 12:59:58 +0200 Subject: [PATCH 26/32] chore: debug outputs --- .github/workflows/release-base.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 34710fd..107123f 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -32,12 +32,9 @@ jobs: run: | # Unset variables for semantic-release to believe we are not in a PR # (https://github.com/semantic-release/env-ci/blob/master/services/github.js) - # unset GITHUB_ACTIONS unset GITHUB_EVENT_NAME unset GITHUB_EVENT_PATH GITHUB_REF=$GITHUB_HEAD_REF - echo GITHUB_REF=$GITHUB_REF - echo GITHUB_HEAD_REF=$GITHUB_HEAD_REF npx semantic-release --dry-run --no-ci --branches $GITHUB_REF --debug env: GITHUB_REF: ${{ github.head_ref }} @@ -52,6 +49,9 @@ jobs: echo "- Published: **${{ steps.release-preview.outputs.new-release-published }}**" echo "- Version: **${{ steps.release-preview.outputs.new-release-version }}**" echo "- Tag: **${{ steps.release-preview.outputs.new-release-git-tag }}**" + echo "NOTES(1) ${{ steps.release-preview.outputs.releaseNotes }}" + echo "NOTES(2) ${{ steps.release-preview.outputs.notes }}" + echo "${{ steps.release-preview.outputs.* }}" } >> $GITHUB_STEP_SUMMARY - name: Semantic Release From d50c6bed0caf55355c93086c98846aa50e0d126d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 13:04:27 +0200 Subject: [PATCH 27/32] chore: patch export-data plugin to access notes --- .github/workflows/release-base.yml | 4 +--- patches/semantic-release+24.2.9.patch | 14 -------------- patches/semantic-release-export-data+1.1.1.patch | 12 ++++++++++++ 3 files changed, 13 insertions(+), 17 deletions(-) delete mode 100644 patches/semantic-release+24.2.9.patch create mode 100644 patches/semantic-release-export-data+1.1.1.patch diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 107123f..fa21971 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -49,9 +49,7 @@ jobs: echo "- Published: **${{ steps.release-preview.outputs.new-release-published }}**" echo "- Version: **${{ steps.release-preview.outputs.new-release-version }}**" echo "- Tag: **${{ steps.release-preview.outputs.new-release-git-tag }}**" - echo "NOTES(1) ${{ steps.release-preview.outputs.releaseNotes }}" - echo "NOTES(2) ${{ steps.release-preview.outputs.notes }}" - echo "${{ steps.release-preview.outputs.* }}" + echo "NOTES ${{ steps.release-preview.outputs.release-notes }}" } >> $GITHUB_STEP_SUMMARY - name: Semantic Release diff --git a/patches/semantic-release+24.2.9.patch b/patches/semantic-release+24.2.9.patch deleted file mode 100644 index 820713d..0000000 --- a/patches/semantic-release+24.2.9.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/node_modules/semantic-release/index.js b/node_modules/semantic-release/index.js -index 19c9f70..831ce5e 100644 ---- a/node_modules/semantic-release/index.js -+++ b/node_modules/semantic-release/index.js -@@ -38,6 +38,9 @@ async function terminalOutput(text) { - async function run(context, plugins) { - const { cwd, env, options, logger, envCi } = context; - const { isCi, branch, prBranch, isPr } = envCi; -+ -+ logger.log("[envCi] ".concat(JSON.stringify(envCi))); -+ - const ciBranch = isPr ? prBranch : branch; - - if (!isCi && !options.dryRun && !options.noCi) { diff --git a/patches/semantic-release-export-data+1.1.1.patch b/patches/semantic-release-export-data+1.1.1.patch new file mode 100644 index 0000000..f7fb234 --- /dev/null +++ b/patches/semantic-release-export-data+1.1.1.patch @@ -0,0 +1,12 @@ +diff --git a/node_modules/semantic-release-export-data/index.js b/node_modules/semantic-release-export-data/index.js +index 4b3db4e..fc09efd 100644 +--- a/node_modules/semantic-release-export-data/index.js ++++ b/node_modules/semantic-release-export-data/index.js +@@ -19,6 +19,7 @@ function generateNotes(_pluginConfig, { nextRelease }) { + exportData("new-release-published", "true"); + exportData("new-release-version", nextRelease.version); + exportData("new-release-git-tag", nextRelease.gitTag); ++ exportData("new-release-release-notes", nextRelease.notes); + } + + module.exports = { From 7233056aa7c00069026eba8a196b8b2d30b25ae1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 13:07:26 +0200 Subject: [PATCH 28/32] chore: fix output --- .github/workflows/release-base.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index fa21971..2ab342c 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -49,7 +49,7 @@ jobs: echo "- Published: **${{ steps.release-preview.outputs.new-release-published }}**" echo "- Version: **${{ steps.release-preview.outputs.new-release-version }}**" echo "- Tag: **${{ steps.release-preview.outputs.new-release-git-tag }}**" - echo "NOTES ${{ steps.release-preview.outputs.release-notes }}" + echo -n "NOTES ${{ steps.release-preview.outputs.release-notes }}" } >> $GITHUB_STEP_SUMMARY - name: Semantic Release From 90ff9035f4e423eee128b5b838883b3082f3adb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 13:09:30 +0200 Subject: [PATCH 29/32] chore: switch to pr-comment --- .github/workflows/release-base.yml | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index 2ab342c..ea0719c 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -11,6 +11,7 @@ jobs: runs-on: ubuntu-latest permissions: contents: write + pull-requests: write id-token: write # to enable use of OIDC for npm provenance steps: - name: Checkout @@ -43,14 +44,18 @@ jobs: - name: Release summary if: ${{ inputs.dry_run == true }} - run: | - { - echo "### 📦 Semantic Release Summary" - echo "- Published: **${{ steps.release-preview.outputs.new-release-published }}**" - echo "- Version: **${{ steps.release-preview.outputs.new-release-version }}**" - echo "- Tag: **${{ steps.release-preview.outputs.new-release-git-tag }}**" - echo -n "NOTES ${{ steps.release-preview.outputs.release-notes }}" - } >> $GITHUB_STEP_SUMMARY + uses: peter-evans/create-or-update-comment@v5 + with: + issue-number: ${{ github.event.number }} + body: | + ### 📦 Semantic Release Summary + + - Version: **${{ steps.release-preview.outputs.new-release-version }}**" + - Tag: **${{ steps.release-preview.outputs.new-release-git-tag }}** + + --- + + ${{ steps.release-preview.outputs.release-notes }} - name: Semantic Release if: ${{ inputs.dry_run == false }} From 251544dfd50d4e7b22e4223a1df046c96e52e3b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 13:34:23 +0200 Subject: [PATCH 30/32] chore: fix setOutput in export-data plugin --- .../semantic-release-export-data+1.1.1.patch | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/patches/semantic-release-export-data+1.1.1.patch b/patches/semantic-release-export-data+1.1.1.patch index f7fb234..f147924 100644 --- a/patches/semantic-release-export-data+1.1.1.patch +++ b/patches/semantic-release-export-data+1.1.1.patch @@ -1,8 +1,25 @@ diff --git a/node_modules/semantic-release-export-data/index.js b/node_modules/semantic-release-export-data/index.js -index 4b3db4e..fc09efd 100644 +index 4b3db4e..c49de10 100644 --- a/node_modules/semantic-release-export-data/index.js +++ b/node_modules/semantic-release-export-data/index.js -@@ -19,6 +19,7 @@ function generateNotes(_pluginConfig, { nextRelease }) { +@@ -2,12 +2,14 @@ + + const { env } = require("node:process"); + const { appendFileSync } = require("node:fs"); ++const { EOL } = require("node:os"); + + function exportData(name, value) { + console.log(`semantic-release-export-data: ${name}=${value}`); + if (env.GITHUB_OUTPUT) { +- const output = `${name}=${value}\n`; +- appendFileSync(env.GITHUB_OUTPUT, output); ++ const delimiter = "output_delimiter_".concat(new Date().getTime().toString()); ++ const output = `${name}<<${delimiter}${EOL}${value}${EOL}${delimiter}${EOL}`; ++ appendFileSync(env.GITHUB_OUTPUT, output, { encoding: 'utf8' }); + } + } + +@@ -19,6 +21,7 @@ function generateNotes(_pluginConfig, { nextRelease }) { exportData("new-release-published", "true"); exportData("new-release-version", nextRelease.version); exportData("new-release-git-tag", nextRelease.gitTag); From 9892dd4baa472511514b9d0235409ee117dd3f87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 13:36:18 +0200 Subject: [PATCH 31/32] chore: set correct output name --- .github/workflows/release-base.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-base.yml b/.github/workflows/release-base.yml index ea0719c..4f28e21 100644 --- a/.github/workflows/release-base.yml +++ b/.github/workflows/release-base.yml @@ -50,12 +50,12 @@ jobs: body: | ### 📦 Semantic Release Summary - - Version: **${{ steps.release-preview.outputs.new-release-version }}**" + - Version: **${{ steps.release-preview.outputs.new-release-version }}** - Tag: **${{ steps.release-preview.outputs.new-release-git-tag }}** --- - ${{ steps.release-preview.outputs.release-notes }} + ${{ steps.release-preview.outputs.new-release-release-notes }} - name: Semantic Release if: ${{ inputs.dry_run == false }} From 97d1bbd44ca08355e3086a5b8ba3b5034f592389 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Cort=C3=B3n=20Cobas?= <104267232+carloscortonc@users.noreply.github.com> Date: Sun, 5 Oct 2025 13:39:37 +0200 Subject: [PATCH 32/32] chore: include reference to output delimiter --- patches/semantic-release-export-data+1.1.1.patch | 1 + 1 file changed, 1 insertion(+) diff --git a/patches/semantic-release-export-data+1.1.1.patch b/patches/semantic-release-export-data+1.1.1.patch index f147924..f0caa76 100644 --- a/patches/semantic-release-export-data+1.1.1.patch +++ b/patches/semantic-release-export-data+1.1.1.patch @@ -13,6 +13,7 @@ index 4b3db4e..c49de10 100644 if (env.GITHUB_OUTPUT) { - const output = `${name}=${value}\n`; - appendFileSync(env.GITHUB_OUTPUT, output); ++ // Borrowed from https://github.com/actions/toolkit/blob/ddc5fa4ae84a892bfa8431c353db3cf628f1235d/packages/core/src/file-command.ts#L27 + const delimiter = "output_delimiter_".concat(new Date().getTime().toString()); + const output = `${name}<<${delimiter}${EOL}${value}${EOL}${delimiter}${EOL}`; + appendFileSync(env.GITHUB_OUTPUT, output, { encoding: 'utf8' });