diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index f74907bf6c..0b675be884 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1 +1 @@ -FROM ghcr.io/containerbase/devcontainer:9.33.1 +FROM ghcr.io/containerbase/devcontainer:9.33.9 diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index b27bf220a2..31bd27b560 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,7 +1,7 @@ { "name": "containerbase", "build": { - "dockerfile": "Dockerfile", + "dockerfile": "Dockerfile" }, "customizations": { "vscode": { @@ -9,13 +9,13 @@ "terminal.integrated.profiles.linux": { "bash": { "path": "bash", - "icon": "terminal-bash", - }, + "icon": "terminal-bash" + } }, - "terminal.integrated.defaultProfile.linux": "bash", + "terminal.integrated.defaultProfile.linux": "bash" }, - "extensions": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"], - }, + "extensions": ["dbaeumer.vscode-eslint", "esbenp.prettier-vscode"] + } }, - "postCreateCommand": "pnpm install", + "postCreateCommand": "pnpm install" } diff --git a/.github/actions/setup-node/action.yml b/.github/actions/setup-node/action.yml index 3ed587ca6c..0a3e4788ea 100644 --- a/.github/actions/setup-node/action.yml +++ b/.github/actions/setup-node/action.yml @@ -18,7 +18,7 @@ runs: shell: bash run: | echo 'CACHE_KEY=node_modules-${{ - hashFiles('.node-version', 'pnpm-lock.yaml') + hashFiles('.node-version', 'pnpm-lock.yaml', 'package.json') }}' >> "$GITHUB_ENV" - name: ♻️ Restore `node_modules` @@ -37,7 +37,7 @@ runs: }}' >> "$GITHUB_ENV" - name: ⚙️ Setup Node.js - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version-file: .node-version cache: ${{ env.CACHE_HIT != 'true' && 'pnpm' || '' }} diff --git a/.github/workflows/build-push.yml b/.github/workflows/build-push.yml index 13c99bf260..bb41baac3a 100644 --- a/.github/workflows/build-push.yml +++ b/.github/workflows/build-push.yml @@ -8,13 +8,13 @@ on: concurrency: group: ${{ github.workflow }}-${{ github.event.number || github.ref }} - cancel-in-progress: true + cancel-in-progress: ${{ github.ref_name != 'main' }} permissions: contents: read env: - DRY_RUN: ${{ github.ref_name != 'main' }} + DRY_RUN: ${{ github.ref_name != github.event.repository.default_branch }} OWNER: ${{ github.repository_owner }} FILE: base BUILDKIT_PROGRESS: plain @@ -43,7 +43,7 @@ jobs: steps: - name: docker-config - uses: containerbase/internal-tools@a12a7d23492f0805ce2237f46c9b69d9c3ba5f01 # v3.0.54 + uses: containerbase/internal-tools@2951ced35dd6127673e4e2cf937416460a317f3b # v3.0.57 with: command: docker-config @@ -52,6 +52,7 @@ jobs: with: fetch-depth: 0 show-progress: false + filter: blob:none # we don't need all blobs - uses: sigstore/cosign-installer@e1523de7571e31dbe865fd2e80c5c7c23ae71eb4 # v3.4.0 @@ -64,7 +65,7 @@ jobs: uses: ./.github/actions/setup-node - name: Docker registry login - if: github.ref_name == 'main' + if: github.ref_name == github.event.repository.default_branch run: | echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.repository_owner }} --password-stdin diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 321e863de3..d9c0941025 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -216,7 +216,7 @@ jobs: steps: - name: docker-config - uses: containerbase/internal-tools@a12a7d23492f0805ce2237f46c9b69d9c3ba5f01 # v3.0.54 + uses: containerbase/internal-tools@2951ced35dd6127673e4e2cf937416460a317f3b # v3.0.57 with: command: docker-config diff --git a/.github/workflows/devcontainer.yml b/.github/workflows/devcontainer.yml index 9bc64b1bd4..2d1e2a92f4 100644 --- a/.github/workflows/devcontainer.yml +++ b/.github/workflows/devcontainer.yml @@ -1,9 +1,5 @@ name: devcontainer on: - push: - branches: - - '**' - - '!main' pull_request: branches: - main @@ -19,7 +15,7 @@ permissions: jobs: devcontainer-test: runs-on: ubuntu-latest - if: github.event_name != 'pull_request' || (github.repository_owner != github.event.pull_request.head.repo.owner.login && github.event.pull_request.draft != true) + if: github.event.pull_request.draft != true steps: - name: Checkout uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 diff --git a/.node-version b/.node-version index d5a159609d..8b0beab16a 100644 --- a/.node-version +++ b/.node-version @@ -1 +1 @@ -20.10.0 +20.11.0 diff --git a/docker-bake.hcl b/docker-bake.hcl index d9eb7d9f52..fb4bf70d51 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -31,10 +31,6 @@ group "default" { targets = ["build-docker"] } -group "push" { - targets = ["push-ghcr", "push-hub", "push-cache"] -} - group "test" { targets = ["build-test", "build-arm64"] } @@ -52,27 +48,13 @@ target "settings" { CONTAINERBASE_VERSION = "${CONTAINERBASE_VERSION}" GITHUB_TOKEN = "${GITHUB_TOKEN}" } -} - -target "cache" { cache-from = [ "type=registry,ref=ghcr.io/${OWNER}/cache:${FILE}", - "type=registry,ref=ghcr.io/${OWNER}/cache:${FILE}-${TAG}", - ] -} - -target "push-cache" { - inherits = ["settings", "cache"] - output = ["type=registry"] - tags = [ - "ghcr.io/${OWNER}/cache:${FILE}-${TAG}", - "ghcr.io/${OWNER}/cache:${FILE}", ] - cache-to = ["type=inline,mode=max"] } target "build" { - inherits = ["settings", "cache"] + inherits = ["settings"] tags = [ "ghcr.io/${OWNER}/${FILE}", "ghcr.io/${OWNER}/${FILE}:${TAG}", @@ -82,7 +64,7 @@ target "build" { } target "build-docker" { - inherits = ["settings", "cache"] + inherits = ["settings"] output = ["type=docker"] tags = [ "ghcr.io/${OWNER}/${FILE}", @@ -109,15 +91,14 @@ target "build-arm64" { dockerfile = "./test/${TAG}/Dockerfile.arm64" } -target "push-ghcr" { - inherits = ["settings", "cache"] - output = ["type=registry"] - tags = ["ghcr.io/${OWNER}/${FILE}", "ghcr.io/${OWNER}/${FILE}:${TAG}", ] -} - -target "push-hub" { - inherits = ["settings", "cache"] +target "push" { + inherits = ["settings"] output = ["type=registry"] - tags = ["${OWNER}/${FILE}", "${OWNER}/${FILE}:${TAG}"] + cache-to = ["type=registry,ref=ghcr.io/${OWNER}/cache:${FILE},mode=max,image-manifest=true,ignore-error=true"] + tags = [ + "ghcr.io/${OWNER}/${FILE}", + "ghcr.io/${OWNER}/${FILE}:${TAG}", + "${OWNER}/${FILE}", + "${OWNER}/${FILE}:${TAG}", + ] } - diff --git a/package.json b/package.json index f413f5f125..666ae8d9cb 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "bats-support": "0.3.0", "esbuild": "0.20.0", "tsconfig-paths": "4.2.0", - "vite": "5.0.12" + "vite": "5.1.1" }, "dependencies": { "@sindresorhus/is": "6.1.0", @@ -45,13 +45,13 @@ "del": "7.1.0", "execa": "8.0.1", "global-agent": "3.0.0", - "got": "14.1.0", + "got": "14.2.0", "inversify": "6.0.2", "pino": "8.18.0", "pino-pretty": "10.3.1", "pretty-ms": "9.0.0", "reflect-metadata": "0.2.1", - "semver": "7.5.4", + "semver": "7.6.0", "simple-git": "3.22.0", "tar": "6.2.0", "typanion": "3.14.0" @@ -59,18 +59,18 @@ "devDependencies": { "@semantic-release/exec": "6.0.3", "@tsconfig/node20": "20.1.2", - "@tsconfig/strictest": "2.0.2", + "@tsconfig/strictest": "2.0.3", "@types/common-tags": "1.8.4", "@types/global-agent": "2.1.3", - "@types/node": "20.11.16", + "@types/node": "20.11.17", "@types/semver": "7.5.6", "@types/shelljs": "0.8.15", "@types/tar": "6.1.11", - "@typescript-eslint/eslint-plugin": "6.20.0", - "@typescript-eslint/parser": "6.20.0", + "@typescript-eslint/eslint-plugin": "6.21.0", + "@typescript-eslint/parser": "6.21.0", "@vitest/coverage-v8": "1.2.2", "@vitest/ui": "1.2.2", - "@yao-pkg/pkg": "5.11.1", + "@yao-pkg/pkg": "5.11.2", "bats": "1.10.0", "bats-assert": "2.0.0", "bats-support": "0.3.0", @@ -87,19 +87,19 @@ "eslint-plugin-jest-formatting": "3.1.0", "eslint-plugin-promise": "6.1.1", "eslint-plugin-typescript-enum": "2.1.0", - "eslint-plugin-vitest": "0.3.21", + "eslint-plugin-vitest": "0.3.22", "husky": "9.0.10", - "lint-staged": "15.2.1", + "lint-staged": "15.2.2", "nock": "13.5.1", "npm-run-all2": "6.1.2", - "prettier": "3.2.4", + "prettier": "3.2.5", "prettier-plugin-packagejson": "2.4.10", - "semantic-release": "23.0.0", + "semantic-release": "23.0.2", "shelljs": "0.8.5", - "tsx": "4.7.0", + "tsx": "4.7.1", "type-fest": "4.10.2", "typescript": "5.3.3", - "vite": "5.0.12", + "vite": "5.1.1", "vite-tsconfig-paths": "4.3.1", "vitest": "1.2.2", "vitest-github-actions-reporter": "0.11.1" @@ -111,8 +111,10 @@ }, "pnpm": { "patchedDependencies": { - "clipanion@3.2.1": "patches/clipanion@3.2.1.patch" + "clipanion@3.2.1": "patches/clipanion@3.2.1.patch", + "@yao-pkg/pkg@5.11.2": "patches/@yao-pkg__pkg@5.11.1.patch" }, + "allowNonAppliedPatches": true, "supportedArchitectures": { "os": [ "linux", diff --git a/patches/@yao-pkg__pkg@5.11.1.patch b/patches/@yao-pkg__pkg@5.11.1.patch new file mode 100644 index 0000000000..8741807a12 --- /dev/null +++ b/patches/@yao-pkg__pkg@5.11.1.patch @@ -0,0 +1,89 @@ +diff --git a/prelude/bootstrap.js b/prelude/bootstrap.js +index 36aa2a4d1448fa33869181fe0a9ab5fd92abd0bd..809eeaee0943875745e1d82ae81c5bb427332b3d 100644 +--- a/prelude/bootstrap.js ++++ b/prelude/bootstrap.js +@@ -2113,7 +2113,7 @@ function payloadFileSync(pointer) { + modifyLong(args, 0); + return ancestor.execSync.apply(childProcess, args); + }; +-})(); ++}); // fix: disable child_process patch (); + + // ///////////////////////////////////////////////////////////////// + // PROMISIFY /////////////////////////////////////////////////////// +@@ -2147,40 +2147,41 @@ function payloadFileSync(pointer) { + // ///////////////////////////////////////////////////////////// + // CHILD_PROCESS /////////////////////////////////////////////// + // ///////////////////////////////////////////////////////////// +- +- const customPromiseExecFunction = +- (o) => +- (...args) => { +- let resolve; +- let reject; +- const p = new Promise((res, rej) => { +- resolve = res; +- reject = rej; +- }); +- +- p.child = o.apply( +- undefined, +- args.concat((error, stdout, stderr) => { +- if (error !== null) { +- error.stdout = stdout; +- error.stderr = stderr; +- reject(error); +- } else { +- resolve({ stdout, stderr }); +- } +- }), +- ); +- +- return p; +- }; +- +- Object.defineProperty(childProcess.exec, custom, { +- value: customPromiseExecFunction(childProcess.exec), +- }); +- +- Object.defineProperty(childProcess.execFile, custom, { +- value: customPromiseExecFunction(childProcess.execFile), +- }); ++ ++ // fix: disable child_process patch ++ // const customPromiseExecFunction = ++ // (o) => ++ // (...args) => { ++ // let resolve; ++ // let reject; ++ // const p = new Promise((res, rej) => { ++ // resolve = res; ++ // reject = rej; ++ // }); ++ ++ // p.child = o.apply( ++ // undefined, ++ // args.concat((error, stdout, stderr) => { ++ // if (error !== null) { ++ // error.stdout = stdout; ++ // error.stderr = stderr; ++ // reject(error); ++ // } else { ++ // resolve({ stdout, stderr }); ++ // } ++ // }), ++ // ); ++ ++ // return p; ++ // }; ++ ++ // Object.defineProperty(childProcess.exec, custom, { ++ // value: customPromiseExecFunction(childProcess.exec), ++ // }); ++ ++ // Object.defineProperty(childProcess.execFile, custom, { ++ // value: customPromiseExecFunction(childProcess.execFile), ++ // }); + })(); + + // ///////////////////////////////////////////////////////////////// diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2d92f41a43..8c813d1a6d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,9 +8,12 @@ overrides: bats-support: 0.3.0 esbuild: 0.20.0 tsconfig-paths: 4.2.0 - vite: 5.0.12 + vite: 5.1.1 patchedDependencies: + '@yao-pkg/pkg@5.11.2': + hash: fb6cn5vkrnldric4eq2yxxfize + path: patches/@yao-pkg__pkg@5.11.1.patch clipanion@3.2.1: hash: fhbb5gvkz3xnkjsqqxesufv7h4 path: patches/clipanion@3.2.1.patch @@ -38,8 +41,8 @@ dependencies: specifier: 3.0.0 version: 3.0.0 got: - specifier: 14.1.0 - version: 14.1.0 + specifier: 14.2.0 + version: 14.2.0 inversify: specifier: 6.0.2 version: 6.0.2 @@ -56,8 +59,8 @@ dependencies: specifier: 0.2.1 version: 0.2.1 semver: - specifier: 7.5.4 - version: 7.5.4 + specifier: 7.6.0 + version: 7.6.0 simple-git: specifier: 3.22.0 version: 3.22.0 @@ -71,13 +74,13 @@ dependencies: devDependencies: '@semantic-release/exec': specifier: 6.0.3 - version: 6.0.3(semantic-release@23.0.0) + version: 6.0.3(semantic-release@23.0.2) '@tsconfig/node20': specifier: 20.1.2 version: 20.1.2 '@tsconfig/strictest': - specifier: 2.0.2 - version: 2.0.2 + specifier: 2.0.3 + version: 2.0.3 '@types/common-tags': specifier: 1.8.4 version: 1.8.4 @@ -85,8 +88,8 @@ devDependencies: specifier: 2.1.3 version: 2.1.3 '@types/node': - specifier: 20.11.16 - version: 20.11.16 + specifier: 20.11.17 + version: 20.11.17 '@types/semver': specifier: 7.5.6 version: 7.5.6 @@ -97,11 +100,11 @@ devDependencies: specifier: 6.1.11 version: 6.1.11 '@typescript-eslint/eslint-plugin': - specifier: 6.20.0 - version: 6.20.0(@typescript-eslint/parser@6.20.0)(eslint@8.56.0)(typescript@5.3.3) + specifier: 6.21.0 + version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/parser': - specifier: 6.20.0 - version: 6.20.0(eslint@8.56.0)(typescript@5.3.3) + specifier: 6.21.0 + version: 6.21.0(eslint@8.56.0)(typescript@5.3.3) '@vitest/coverage-v8': specifier: 1.2.2 version: 1.2.2(vitest@1.2.2) @@ -109,8 +112,8 @@ devDependencies: specifier: 1.2.2 version: 1.2.2(vitest@1.2.2) '@yao-pkg/pkg': - specifier: 5.11.1 - version: 5.11.1 + specifier: 5.11.2 + version: 5.11.2(patch_hash=fb6cn5vkrnldric4eq2yxxfize) bats: specifier: 1.10.0 version: 1.10.0 @@ -140,13 +143,13 @@ devDependencies: version: 1.4.3 eslint-import-resolver-typescript: specifier: 3.6.1 - version: 3.6.1(@typescript-eslint/parser@6.20.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0) + version: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0) eslint-plugin-import: specifier: 2.29.1 - version: 2.29.1(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + version: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) eslint-plugin-jest: specifier: 27.6.3 - version: 27.6.3(@typescript-eslint/eslint-plugin@6.20.0)(eslint@8.56.0)(typescript@5.3.3) + version: 27.6.3(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.56.0)(typescript@5.3.3) eslint-plugin-jest-formatting: specifier: 3.1.0 version: 3.1.0(eslint@8.56.0) @@ -157,14 +160,14 @@ devDependencies: specifier: 2.1.0 version: 2.1.0(eslint@8.56.0)(typescript@5.3.3) eslint-plugin-vitest: - specifier: 0.3.21 - version: 0.3.21(@typescript-eslint/eslint-plugin@6.20.0)(eslint@8.56.0)(typescript@5.3.3)(vitest@1.2.2) + specifier: 0.3.22 + version: 0.3.22(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.56.0)(typescript@5.3.3)(vitest@1.2.2) husky: specifier: 9.0.10 version: 9.0.10 lint-staged: - specifier: 15.2.1 - version: 15.2.1 + specifier: 15.2.2 + version: 15.2.2 nock: specifier: 13.5.1 version: 13.5.1 @@ -172,20 +175,20 @@ devDependencies: specifier: 6.1.2 version: 6.1.2 prettier: - specifier: 3.2.4 - version: 3.2.4 + specifier: 3.2.5 + version: 3.2.5 prettier-plugin-packagejson: specifier: 2.4.10 - version: 2.4.10(prettier@3.2.4) + version: 2.4.10(prettier@3.2.5) semantic-release: - specifier: 23.0.0 - version: 23.0.0(typescript@5.3.3) + specifier: 23.0.2 + version: 23.0.2(typescript@5.3.3) shelljs: specifier: 0.8.5 version: 0.8.5 tsx: - specifier: 4.7.0 - version: 4.7.0 + specifier: 4.7.1 + version: 4.7.1 type-fest: specifier: 4.10.2 version: 4.10.2 @@ -193,14 +196,14 @@ devDependencies: specifier: 5.3.3 version: 5.3.3 vite: - specifier: 5.0.12 - version: 5.0.12(@types/node@20.11.16) + specifier: 5.1.1 + version: 5.1.1(@types/node@20.11.17) vite-tsconfig-paths: specifier: 4.3.1 - version: 4.3.1(typescript@5.3.3)(vite@5.0.12) + version: 4.3.1(typescript@5.3.3)(vite@5.1.1) vitest: specifier: 1.2.2 - version: 1.2.2(@types/node@20.11.16)(@vitest/ui@1.2.2) + version: 1.2.2(@types/node@20.11.17)(@vitest/ui@1.2.2) vitest-github-actions-reporter: specifier: 0.11.1 version: 0.11.1(vitest@1.2.2) @@ -223,7 +226,7 @@ packages: resolution: {integrity: sha512-q+epW0trjVUUHboliPb4UF9g2msf+w61b32tAkFEwL/IwP0DQWgbCMM0Hbe3e3WXSKz5VcUXbzJQgy8Hkra/Lg==} dependencies: tunnel: 0.0.6 - undici: 5.28.2 + undici: 5.28.3 dev: true /@ampproject/remapping@2.2.1: @@ -246,7 +249,7 @@ packages: resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.0 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.22 jsesc: 2.5.2 @@ -276,15 +279,15 @@ packages: engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.0 dev: true - /@babel/parser@7.23.6: - resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + /@babel/parser@7.23.9: + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@babel/types@7.23.0: @@ -296,8 +299,8 @@ packages: to-fast-properties: 2.0.0 dev: true - /@babel/types@7.23.6: - resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + /@babel/types@7.23.9: + resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.23.4 @@ -546,7 +549,7 @@ packages: debug: 4.3.4 espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.0 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -655,7 +658,7 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.16.0 + fastq: 1.17.1 /@octokit/auth-token@4.0.0: resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} @@ -668,7 +671,7 @@ packages: dependencies: '@octokit/auth-token': 4.0.0 '@octokit/graphql': 7.0.2 - '@octokit/request': 8.1.6 + '@octokit/request': 8.2.0 '@octokit/request-error': 5.0.1 '@octokit/types': 12.4.0 before-after-hook: 2.2.3 @@ -687,7 +690,7 @@ packages: resolution: {integrity: sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==} engines: {node: '>= 18'} dependencies: - '@octokit/request': 8.1.6 + '@octokit/request': 8.2.0 '@octokit/types': 12.4.0 universal-user-agent: 6.0.1 dev: true @@ -738,8 +741,8 @@ packages: once: 1.4.0 dev: true - /@octokit/request@8.1.6: - resolution: {integrity: sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==} + /@octokit/request@8.2.0: + resolution: {integrity: sha512-exPif6x5uwLqv1N1irkLG1zZNJkOtj8bZxuVHd71U5Ftuxf2wGNvAJyNBcPbPC+EBzwYEbBDdSFb8EPcjpYxPQ==} engines: {node: '>= 18'} dependencies: '@octokit/endpoint': 9.0.4 @@ -784,111 +787,111 @@ packages: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: true - /@rollup/rollup-android-arm-eabi@4.9.6: - resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==} + /@rollup/rollup-android-arm-eabi@4.10.0: + resolution: {integrity: sha512-/MeDQmcD96nVoRumKUljsYOLqfv1YFJps+0pTrb2Z9Nl/w5qNUysMaWQsrd1mvAlNT4yza1iVyIu4Q4AgF6V3A==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.9.6: - resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==} + /@rollup/rollup-android-arm64@4.10.0: + resolution: {integrity: sha512-lvu0jK97mZDJdpZKDnZI93I0Om8lSDaiPx3OiCk0RXn3E8CMPJNS/wxjAvSJJzhhZpfjXsjLWL8LnS6qET4VNQ==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.9.6: - resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==} + /@rollup/rollup-darwin-arm64@4.10.0: + resolution: {integrity: sha512-uFpayx8I8tyOvDkD7X6n0PriDRWxcqEjqgtlxnUA/G9oS93ur9aZ8c8BEpzFmsed1TH5WZNG5IONB8IiW90TQg==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.9.6: - resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==} + /@rollup/rollup-darwin-x64@4.10.0: + resolution: {integrity: sha512-nIdCX03qFKoR/MwQegQBK+qZoSpO3LESurVAC6s6jazLA1Mpmgzo3Nj3H1vydXp/JM29bkCiuF7tDuToj4+U9Q==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.9.6: - resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==} + /@rollup/rollup-linux-arm-gnueabihf@4.10.0: + resolution: {integrity: sha512-Fz7a+y5sYhYZMQFRkOyCs4PLhICAnxRX/GnWYReaAoruUzuRtcf+Qnw+T0CoAWbHCuz2gBUwmWnUgQ67fb3FYw==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.9.6: - resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==} + /@rollup/rollup-linux-arm64-gnu@4.10.0: + resolution: {integrity: sha512-yPtF9jIix88orwfTi0lJiqINnlWo6p93MtZEoaehZnmCzEmLL0eqjA3eGVeyQhMtxdV+Mlsgfwhh0+M/k1/V7Q==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.9.6: - resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==} + /@rollup/rollup-linux-arm64-musl@4.10.0: + resolution: {integrity: sha512-9GW9yA30ib+vfFiwjX+N7PnjTnCMiUffhWj4vkG4ukYv1kJ4T9gHNg8zw+ChsOccM27G9yXrEtMScf1LaCuoWQ==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.9.6: - resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==} + /@rollup/rollup-linux-riscv64-gnu@4.10.0: + resolution: {integrity: sha512-X1ES+V4bMq2ws5fF4zHornxebNxMXye0ZZjUrzOrf7UMx1d6wMQtfcchZ8SqUnQPPHdOyOLW6fTcUiFgHFadRA==} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.9.6: - resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==} + /@rollup/rollup-linux-x64-gnu@4.10.0: + resolution: {integrity: sha512-w/5OpT2EnI/Xvypw4FIhV34jmNqU5PZjZue2l2Y3ty1Ootm3SqhI+AmfhlUYGBTd9JnpneZCDnt3uNOiOBkMyw==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.9.6: - resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==} + /@rollup/rollup-linux-x64-musl@4.10.0: + resolution: {integrity: sha512-q/meftEe3QlwQiGYxD9rWwB21DoKQ9Q8wA40of/of6yGHhZuGfZO0c3WYkN9dNlopHlNT3mf5BPsUSxoPuVQaw==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.9.6: - resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==} + /@rollup/rollup-win32-arm64-msvc@4.10.0: + resolution: {integrity: sha512-NrR6667wlUfP0BHaEIKgYM/2va+Oj+RjZSASbBMnszM9k+1AmliRjHc3lJIiOehtSSjqYiO7R6KLNrWOX+YNSQ==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.9.6: - resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==} + /@rollup/rollup-win32-ia32-msvc@4.10.0: + resolution: {integrity: sha512-FV0Tpt84LPYDduIDcXvEC7HKtyXxdvhdAOvOeWMWbQNulxViH2O07QXkT/FffX4FqEI02jEbCJbr+YcuKdyyMg==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.9.6: - resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==} + /@rollup/rollup-win32-x64-msvc@4.10.0: + resolution: {integrity: sha512-OZoJd+o5TaTSQeFFQ6WjFCiltiYVjIdsXxwu/XZ8qRpsvMQr4UsVrE5UyT9RIvsnuF47DqkJKhhVZ2Q9YW9IpQ==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /@semantic-release/commit-analyzer@11.1.0(semantic-release@23.0.0): + /@semantic-release/commit-analyzer@11.1.0(semantic-release@23.0.2): resolution: {integrity: sha512-cXNTbv3nXR2hlzHjAMgbuiQVtvWHTlwwISt60B+4NZv01y/QRY7p2HcJm8Eh2StzcTJoNnflvKjHH/cjFS7d5g==} engines: {node: ^18.17 || >=20.6.1} peerDependencies: @@ -901,7 +904,7 @@ packages: import-from-esm: 1.3.3 lodash-es: 4.17.21 micromatch: 4.0.5 - semantic-release: 23.0.0(typescript@5.3.3) + semantic-release: 23.0.2(typescript@5.3.3) transitivePeerDependencies: - supports-color dev: true @@ -916,7 +919,7 @@ packages: engines: {node: '>=18'} dev: true - /@semantic-release/exec@6.0.3(semantic-release@23.0.0): + /@semantic-release/exec@6.0.3(semantic-release@23.0.2): resolution: {integrity: sha512-bxAq8vLOw76aV89vxxICecEa8jfaWwYITw6X74zzlO0mc/Bgieqx9kBRz9z96pHectiTAtsCwsQcUyLYWnp3VQ==} engines: {node: '>=14.17'} peerDependencies: @@ -928,12 +931,12 @@ packages: execa: 5.1.1 lodash: 4.17.21 parse-json: 5.2.0 - semantic-release: 23.0.0(typescript@5.3.3) + semantic-release: 23.0.2(typescript@5.3.3) transitivePeerDependencies: - supports-color dev: true - /@semantic-release/github@9.2.6(semantic-release@23.0.0): + /@semantic-release/github@9.2.6(semantic-release@23.0.2): resolution: {integrity: sha512-shi+Lrf6exeNZF+sBhK+P011LSbhmIAoUEgEY6SsxF8irJ+J2stwI5jkyDQ+4gzYyDImzV6LCKdYB9FXnQRWKA==} engines: {node: '>=18'} peerDependencies: @@ -947,20 +950,20 @@ packages: aggregate-error: 5.0.0 debug: 4.3.4 dir-glob: 3.0.1 - globby: 14.0.0 + globby: 14.0.1 http-proxy-agent: 7.0.0 https-proxy-agent: 7.0.2 issue-parser: 6.0.0 lodash-es: 4.17.21 mime: 4.0.1 p-filter: 4.1.0 - semantic-release: 23.0.0(typescript@5.3.3) + semantic-release: 23.0.2(typescript@5.3.3) url-join: 5.0.0 transitivePeerDependencies: - supports-color dev: true - /@semantic-release/npm@11.0.2(semantic-release@23.0.0): + /@semantic-release/npm@11.0.2(semantic-release@23.0.2): resolution: {integrity: sha512-owtf3RjyPvRE63iUKZ5/xO4uqjRpVQDUB9+nnXj0xwfIeM9pRl+cG+zGDzdftR4m3f2s4Wyf3SexW+kF5DFtWA==} engines: {node: ^18.17 || >=20} peerDependencies: @@ -973,16 +976,16 @@ packages: lodash-es: 4.17.21 nerf-dart: 1.0.0 normalize-url: 8.0.0 - npm: 10.3.0 + npm: 10.4.0 rc: 1.2.8 read-pkg: 9.0.1 registry-auth-token: 5.0.2 - semantic-release: 23.0.0(typescript@5.3.3) - semver: 7.5.4 + semantic-release: 23.0.2(typescript@5.3.3) + semver: 7.6.0 tempy: 3.1.0 dev: true - /@semantic-release/release-notes-generator@12.1.0(semantic-release@23.0.0): + /@semantic-release/release-notes-generator@12.1.0(semantic-release@23.0.2): resolution: {integrity: sha512-g6M9AjUKAZUZnxaJZnouNBeDNTCUrJ5Ltj+VJ60gJeDaRRahcHsry9HW8yKrnKkKNkx5lbWiEP1FPMqVNQz8Kg==} engines: {node: ^18.17 || >=20.6.1} peerDependencies: @@ -998,7 +1001,7 @@ packages: into-stream: 7.0.0 lodash-es: 4.17.21 read-pkg-up: 11.0.0 - semantic-release: 23.0.0(typescript@5.3.3) + semantic-release: 23.0.2(typescript@5.3.3) transitivePeerDependencies: - supports-color dev: true @@ -1017,8 +1020,8 @@ packages: engines: {node: '>=16'} dev: false - /@sindresorhus/merge-streams@1.0.0: - resolution: {integrity: sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==} + /@sindresorhus/merge-streams@2.1.0: + resolution: {integrity: sha512-g3/sYJWXTAf3Ce861z4/mW9jDxN7hoNHZMEyhd3Zh7GKQPiovWNttzhRW2BeGPwPxPpLDKumL6Sg056VAMjdkg==} engines: {node: '>=18'} dev: true @@ -1033,8 +1036,8 @@ packages: resolution: {integrity: sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ==} dev: true - /@tsconfig/strictest@2.0.2: - resolution: {integrity: sha512-jt4jIsWKvUvuY6adJnQJlb/UR7DdjC8CjHI/OaSQruj2yX9/K6+KOvDt/vD6udqos/FUk5Op66CvYT7TBLYO5Q==} + /@tsconfig/strictest@2.0.3: + resolution: {integrity: sha512-MroLvRhMbqtXI5WBSwoomro6OQS4xnCoudUrMb20JO0vLKUs0bAaCEcvM/immEBSJjFAK1l6jW1oAO8q3Ancrg==} dev: true /@types/common-tags@1.8.4: @@ -1049,7 +1052,7 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.11.16 + '@types/node': 20.11.17 dev: true /@types/global-agent@2.1.3: @@ -1072,8 +1075,8 @@ packages: resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} dev: true - /@types/node@20.11.16: - resolution: {integrity: sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==} + /@types/node@20.11.17: + resolution: {integrity: sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==} dependencies: undici-types: 5.26.5 dev: true @@ -1090,18 +1093,18 @@ packages: resolution: {integrity: sha512-vzmnCHl6hViPu9GNLQJ+DZFd6BQI2DBTUeOvYHqkWQLMfKAAQYMb/xAmZkTogZI/vqXHCWkqDRymDI5p0QTi5Q==} dependencies: '@types/glob': 7.2.0 - '@types/node': 20.11.16 + '@types/node': 20.11.17 dev: true /@types/tar@6.1.11: resolution: {integrity: sha512-ThA1WD8aDdVU4VLuyq5NEqriwXErF5gEIJeyT6gHBWU7JtSmW2a5qjNv3/vR82O20mW+1vhmeZJfBQPT3HCugg==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.17 minipass: 4.2.8 dev: true - /@typescript-eslint/eslint-plugin@6.20.0(@typescript-eslint/parser@6.20.0)(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==} + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -1112,18 +1115,18 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.20.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/type-utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 eslint: 8.56.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -1142,8 +1145,8 @@ packages: - typescript dev: true - /@typescript-eslint/parser@6.20.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==} + /@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1152,10 +1155,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 eslint: 8.56.0 typescript: 5.3.3 @@ -1171,16 +1174,16 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/scope-manager@6.20.0: - resolution: {integrity: sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==} + /@typescript-eslint/scope-manager@6.21.0: + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 dev: true - /@typescript-eslint/type-utils@6.20.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==} + /@typescript-eslint/type-utils@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1189,11 +1192,11 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) debug: 4.3.4 eslint: 8.56.0 - ts-api-utils: 1.0.3(typescript@5.3.3) + ts-api-utils: 1.2.1(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -1204,8 +1207,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/types@6.20.0: - resolution: {integrity: sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==} + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -1223,15 +1226,15 @@ packages: debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 - semver: 7.5.4 + semver: 7.6.0 tsutils: 3.21.0(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/typescript-estree@6.20.0(typescript@5.3.3): - resolution: {integrity: sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==} + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -1239,14 +1242,14 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/visitor-keys': 6.20.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.3.3) typescript: 5.3.3 transitivePeerDependencies: - supports-color @@ -1266,14 +1269,14 @@ packages: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3) eslint: 8.56.0 eslint-scope: 5.1.1 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/utils@6.20.0(eslint@8.56.0)(typescript@5.3.3): - resolution: {integrity: sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==} + /@typescript-eslint/utils@6.21.0(eslint@8.56.0)(typescript@5.3.3): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1281,11 +1284,11 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 6.20.0 - '@typescript-eslint/types': 6.20.0 - '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) eslint: 8.56.0 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript @@ -1299,11 +1302,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@6.20.0: - resolution: {integrity: sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==} + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.20.0 + '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 dev: true @@ -1323,13 +1326,13 @@ packages: istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 4.0.1 istanbul-reports: 3.1.6 - magic-string: 0.30.5 + magic-string: 0.30.7 magicast: 0.3.3 picocolors: 1.0.0 std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.2.2(@types/node@20.11.16)(@vitest/ui@1.2.2) + vitest: 1.2.2(@types/node@20.11.17)(@vitest/ui@1.2.2) transitivePeerDependencies: - supports-color dev: true @@ -1353,7 +1356,7 @@ packages: /@vitest/snapshot@1.2.2: resolution: {integrity: sha512-SmGY4saEw1+bwE1th6S/cZmPxz/Q4JWsl7LvbQIky2tKE35US4gd0Mjzqfr84/4OD0tikGWaWdMja/nWL5NIPA==} dependencies: - magic-string: 0.30.5 + magic-string: 0.30.7 pathe: 1.1.2 pretty-format: 29.7.0 dev: true @@ -1361,7 +1364,7 @@ packages: /@vitest/spy@1.2.2: resolution: {integrity: sha512-k9Gcahssw8d7X3pSLq3e3XEu/0L78mUkCjivUqCQeXJm9clfXR/Td8+AP+VC1O6fKPIDLcHDTAmBOINVuv6+7g==} dependencies: - tinyspy: 2.2.0 + tinyspy: 2.2.1 dev: true /@vitest/ui@1.2.2(vitest@1.2.2): @@ -1371,12 +1374,12 @@ packages: dependencies: '@vitest/utils': 1.2.2 fast-glob: 3.3.2 - fflate: 0.8.1 + fflate: 0.8.2 flatted: 3.2.9 pathe: 1.1.2 picocolors: 1.0.0 sirv: 2.0.4 - vitest: 1.2.2(@types/node@20.11.16)(@vitest/ui@1.2.2) + vitest: 1.2.2(@types/node@20.11.17)(@vitest/ui@1.2.2) dev: true /@vitest/utils@1.2.2: @@ -1388,8 +1391,8 @@ packages: pretty-format: 29.7.0 dev: true - /@yao-pkg/pkg-fetch@3.5.7: - resolution: {integrity: sha512-DhuvjBZsdrUrkXC+eYZljxCxZ8QrjPQRGhJEA8+hUsKhmPyg+FUn6ebOfN6B7ioiJg7GsVpUJt57hALBCj9epA==} + /@yao-pkg/pkg-fetch@3.5.8: + resolution: {integrity: sha512-WlM4+eRmF1p9M/wqBaYKnVkBwf60wurvMOU38HSx5xfkPg7e4XmBuTv8g/TAZPjSZaQPlz4+/03pUibK4gY55g==} hasBin: true dependencies: chalk: 4.1.2 @@ -1397,7 +1400,7 @@ packages: https-proxy-agent: 5.0.1 node-fetch: 2.7.0 progress: 2.0.3 - semver: 7.5.4 + semver: 7.6.0 tar-fs: 2.1.1 yargs: 16.2.0 transitivePeerDependencies: @@ -1405,14 +1408,14 @@ packages: - supports-color dev: true - /@yao-pkg/pkg@5.11.1: - resolution: {integrity: sha512-y++Kd/kMZcp0UeI2GWB9+55WsDqZp3XCjHGzC4Nsao0tlGjhnNOB+TPhZhLTOCL1V4ApaKkH8zzPcpaTCtvM8g==} + /@yao-pkg/pkg@5.11.2(patch_hash=fb6cn5vkrnldric4eq2yxxfize): + resolution: {integrity: sha512-1BVXLxGgC7vhSD2xHpOjP1f8N6J/HEfSixPae34Ra16HWIVS6AaEtNpipk2AUTe/68eriGaFG/PPpKeZspYLzw==} hasBin: true dependencies: '@babel/generator': 7.23.0 '@babel/parser': 7.23.0 '@babel/types': 7.23.0 - '@yao-pkg/pkg-fetch': 3.5.7 + '@yao-pkg/pkg-fetch': 3.5.8 chalk: 4.1.2 fs-extra: 9.1.0 globby: 11.1.0 @@ -1427,6 +1430,7 @@ packages: - encoding - supports-color dev: true + patched: true /JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} @@ -1554,8 +1558,8 @@ packages: engines: {node: '>=12'} dev: true - /ansicolors@0.3.2: - resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true /argparse@2.0.1: @@ -1566,11 +1570,12 @@ packages: resolution: {integrity: sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==} dev: true - /array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + /array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - is-array-buffer: 3.0.2 + call-bind: 1.0.6 + is-array-buffer: 3.0.4 dev: true /array-ify@1.0.0: @@ -1581,10 +1586,10 @@ packages: resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 is-string: 1.0.7 dev: true @@ -1593,22 +1598,33 @@ packages: engines: {node: '>=8'} dev: true - /array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + /array.prototype.filter@1.0.3: + resolution: {integrity: sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 + es-array-method-boxes-properly: 1.0.0 + is-string: 1.0.7 + dev: true + + /array.prototype.findlastindex@1.2.4: + resolution: {integrity: sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.6 + define-properties: 1.2.1 + es-abstract: 1.22.3 + es-errors: 1.3.0 es-shim-unscopables: 1.0.2 - get-intrinsic: 1.2.2 dev: true /array.prototype.flat@1.3.2: resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 es-shim-unscopables: 1.0.2 @@ -1618,22 +1634,23 @@ packages: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 es-shim-unscopables: 1.0.2 dev: true - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + /arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - call-bind: 1.0.5 + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 - get-intrinsic: 1.2.2 - is-array-buffer: 3.0.2 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.2 dev: true @@ -1651,8 +1668,8 @@ packages: engines: {node: '>=8.0.0'} dev: false - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + /available-typed-arrays@1.0.6: + resolution: {integrity: sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==} engines: {node: '>= 0.4'} dev: true @@ -1758,12 +1775,14 @@ packages: responselike: 3.0.0 dev: false - /call-bind@1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + /call-bind@1.0.6: + resolution: {integrity: sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg==} + engines: {node: '>= 0.4'} dependencies: + es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.2 - set-function-length: 1.2.0 + get-intrinsic: 1.2.4 + set-function-length: 1.2.1 dev: true /callsites@3.1.0: @@ -1771,14 +1790,6 @@ packages: engines: {node: '>=6'} dev: true - /cardinal@2.1.1: - resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} - hasBin: true - dependencies: - ansicolors: 0.3.2 - redeyed: 2.1.1 - dev: true - /chai@4.4.1: resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} @@ -1860,6 +1871,19 @@ packages: restore-cursor: 4.0.0 dev: true + /cli-highlight@2.1.11: + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + dependencies: + chalk: 4.1.2 + highlight.js: 10.7.3 + mz: 2.7.0 + parse5: 5.1.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + yargs: 16.2.0 + dev: true + /cli-table3@0.6.3: resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} engines: {node: 10.* || >= 12.*} @@ -1977,7 +2001,7 @@ packages: handlebars: 4.7.8 json-stringify-safe: 5.0.1 meow: 12.1.1 - semver: 7.5.4 + semver: 7.6.0 split2: 4.2.0 dev: true @@ -2094,11 +2118,12 @@ packages: engines: {node: '>=10'} dev: false - /define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + /define-data-property@1.1.2: + resolution: {integrity: sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 gopd: 1.0.1 has-property-descriptors: 1.0.1 @@ -2106,7 +2131,7 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 + define-data-property: 1.1.2 has-property-descriptors: 1.0.1 object-keys: 1.1.1 @@ -2233,60 +2258,68 @@ packages: resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} engines: {node: '>= 0.4'} dependencies: - array-buffer-byte-length: 1.0.0 - arraybuffer.prototype.slice: 1.0.2 - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.6 + call-bind: 1.0.6 es-set-tostringtag: 2.0.2 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 - get-intrinsic: 1.2.2 - get-symbol-description: 1.0.0 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 globalthis: 1.0.3 gopd: 1.0.1 has-property-descriptors: 1.0.1 has-proto: 1.0.1 has-symbols: 1.0.3 - hasown: 2.0.0 - internal-slot: 1.0.6 - is-array-buffer: 3.0.2 + hasown: 2.0.1 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 is-callable: 1.2.7 is-negative-zero: 2.0.2 is-regex: 1.1.4 is-shared-array-buffer: 1.0.2 is-string: 1.0.7 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 is-weakref: 1.0.2 object-inspect: 1.13.1 object-keys: 1.1.1 object.assign: 4.1.5 - regexp.prototype.flags: 1.5.1 + regexp.prototype.flags: 1.5.2 safe-array-concat: 1.1.0 - safe-regex-test: 1.0.2 + safe-regex-test: 1.0.3 string.prototype.trim: 1.2.8 string.prototype.trimend: 1.0.7 string.prototype.trimstart: 1.0.7 - typed-array-buffer: 1.0.0 + typed-array-buffer: 1.0.1 typed-array-byte-length: 1.0.0 typed-array-byte-offset: 1.0.0 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.13 + which-typed-array: 1.1.14 dev: true + /es-array-method-boxes-properly@1.0.0: + resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + dev: true + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + /es-set-tostringtag@2.0.2: resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 - has-tostringtag: 1.0.0 - hasown: 2.0.0 + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.1 dev: true /es-shim-unscopables@1.0.2: resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: - hasown: 2.0.0 + hasown: 2.0.1 dev: true /es-to-primitive@1.2.1: @@ -2341,8 +2374,8 @@ packages: '@esbuild/win32-x64': 0.20.0 dev: true - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} dev: true @@ -2400,7 +2433,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.20.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0): resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -2410,8 +2443,8 @@ packages: debug: 4.3.4 enhanced-resolve: 5.15.0 eslint: 8.56.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) fast-glob: 3.3.2 get-tsconfig: 4.7.2 is-core-module: 2.13.1 @@ -2423,7 +2456,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2444,16 +2477,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.20.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) debug: 3.2.7 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.20.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.56.0) transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0): resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} engines: {node: '>=4'} peerDependencies: @@ -2463,22 +2496,22 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.20.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.3.3) array-includes: 3.1.7 - array.prototype.findlastindex: 1.2.3 + array.prototype.findlastindex: 1.2.4 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.20.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) - hasown: 2.0.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.56.0) + hasown: 2.0.1 is-core-module: 2.13.1 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.7 - object.groupby: 1.0.1 + object.groupby: 1.0.2 object.values: 1.1.7 semver: 6.3.1 tsconfig-paths: 4.2.0 @@ -2497,7 +2530,7 @@ packages: eslint: 8.56.0 dev: true - /eslint-plugin-jest@27.6.3(@typescript-eslint/eslint-plugin@6.20.0)(eslint@8.56.0)(typescript@5.3.3): + /eslint-plugin-jest@27.6.3(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-+YsJFVH6R+tOiO3gCJon5oqn4KWc+mDq2leudk8mrp8RFubLOo9CVyi3cib4L7XMpxExmkmBZQTPDYVBzgpgOA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -2510,7 +2543,7 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.20.0(@typescript-eslint/parser@6.20.0)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3) '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.3.3) eslint: 8.56.0 transitivePeerDependencies: @@ -2537,8 +2570,8 @@ packages: - typescript dev: true - /eslint-plugin-vitest@0.3.21(@typescript-eslint/eslint-plugin@6.20.0)(eslint@8.56.0)(typescript@5.3.3)(vitest@1.2.2): - resolution: {integrity: sha512-oYwR1MrwaBw/OG6CKU+SJYleAc442w6CWL1RTQl5WLwy8X3sh0bgHIQk5iEtmTak3Q+XAvZglr0bIoDOjFdkcw==} + /eslint-plugin-vitest@0.3.22(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.56.0)(typescript@5.3.3)(vitest@1.2.2): + resolution: {integrity: sha512-atkFGQ7aVgcuSeSMDqnyevIyUpfBPMnosksgEPrKE7Y8xQlqG/5z2IQ6UDau05zXaaFv7Iz8uzqvIuKshjZ0Zw==} engines: {node: ^18.0.0 || >= 20.0.0} peerDependencies: '@typescript-eslint/eslint-plugin': '*' @@ -2550,10 +2583,10 @@ packages: vitest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 6.20.0(@typescript-eslint/parser@6.20.0)(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.20.0(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.3.3) eslint: 8.56.0 - vitest: 1.2.2(@types/node@20.11.16)(@vitest/ui@1.2.2) + vitest: 1.2.2(@types/node@20.11.17)(@vitest/ui@1.2.2) transitivePeerDependencies: - supports-color - typescript @@ -2610,7 +2643,7 @@ packages: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -2636,12 +2669,6 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true - /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} @@ -2760,13 +2787,13 @@ packages: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} dev: false - /fastq@1.16.0: - resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 - /fflate@0.8.1: - resolution: {integrity: sha512-/exOvEuc+/iaUm105QIiOt4LpBdMTWsXxqR0HDF35vx3fmaKzw7354gTilCh5rkzEt8WYyG//ku3h3nRmd7CHQ==} + /fflate@0.8.2: + resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} dev: true /figures@2.0.0: @@ -2902,7 +2929,7 @@ packages: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 functions-have-names: 1.2.3 @@ -2926,13 +2953,15 @@ packages: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true - /get-intrinsic@1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} dependencies: + es-errors: 1.3.0 function-bind: 1.1.2 has-proto: 1.0.1 has-symbols: 1.0.3 - hasown: 2.0.0 + hasown: 2.0.1 /get-stdin@9.0.0: resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} @@ -2952,12 +2981,13 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + /get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.6 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 dev: true /get-tsconfig@4.7.2: @@ -3016,7 +3046,7 @@ packages: es6-error: 4.1.1 matcher: 3.0.0 roarr: 2.15.4 - semver: 7.5.4 + semver: 7.6.0 serialize-error: 7.0.1 dev: false @@ -3040,7 +3070,7 @@ packages: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 dev: true @@ -3051,17 +3081,17 @@ packages: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.3.1 merge2: 1.4.1 slash: 4.0.0 - /globby@14.0.0: - resolution: {integrity: sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==} + /globby@14.0.1: + resolution: {integrity: sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==} engines: {node: '>=18'} dependencies: - '@sindresorhus/merge-streams': 1.0.0 + '@sindresorhus/merge-streams': 2.1.0 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.3.1 path-type: 5.0.0 slash: 5.1.0 unicorn-magic: 0.1.0 @@ -3074,10 +3104,10 @@ packages: /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 - /got@14.1.0: - resolution: {integrity: sha512-jGmSBfxa7jOGg464azcsf/cUlJBZldU8edFpiVebIJrVBE4vqVx0t3Z2f1kz1WrcMvLgQREoC/l2ttDmSHwyRg==} + /got@14.2.0: + resolution: {integrity: sha512-dBq2KkHcQl3AwPoIWsLsQScCPpUgRulz1qZVthjPYKYOPmYfBnekR3vxecjZbm91Vc3JUGnV9mqFX7B+Fe2quw==} engines: {node: '>=20'} dependencies: '@sindresorhus/is': 6.1.0 @@ -3134,7 +3164,7 @@ packages: /has-property-descriptors@1.0.1: resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} dependencies: - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 /has-proto@1.0.1: resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} @@ -3144,8 +3174,8 @@ packages: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 @@ -3156,8 +3186,8 @@ packages: engines: {node: '>= 0.4.0'} dev: true - /hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 @@ -3166,6 +3196,10 @@ packages: resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} dev: false + /highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + dev: true + /hook-std@3.0.0: resolution: {integrity: sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3175,7 +3209,7 @@ packages: resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} engines: {node: ^16.14.0 || >=18.0.0} dependencies: - lru-cache: 10.1.0 + lru-cache: 10.2.0 dev: true /html-escaper@2.0.2: @@ -3242,8 +3276,8 @@ packages: /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - /ignore@5.3.0: - resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} /import-fresh@3.3.0: @@ -3300,13 +3334,13 @@ packages: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: true - /internal-slot@1.0.6: - resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + /internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} dependencies: - get-intrinsic: 1.2.2 - hasown: 2.0.0 - side-channel: 1.0.4 + es-errors: 1.3.0 + hasown: 2.0.1 + side-channel: 1.0.5 dev: true /interpret@1.4.0: @@ -3334,12 +3368,12 @@ packages: resolution: {integrity: sha512-i9m8j/7YIv4mDuYXUAcrpKPSaju/CIly9AHK5jvCBeoiM/2KEsuCQTTP+rzSWWpLYWRukdXFSl6ZTk2/uumbiA==} dev: false - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + /is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 + call-bind: 1.0.6 + get-intrinsic: 1.2.4 dev: true /is-arrayish@0.2.1: @@ -3356,8 +3390,8 @@ packages: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 + call-bind: 1.0.6 + has-tostringtag: 1.0.2 dev: true /is-callable@1.2.7: @@ -3368,7 +3402,7 @@ packages: /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - hasown: 2.0.0 + hasown: 2.0.1 dev: true /is-core-module@2.9.0: @@ -3381,7 +3415,7 @@ packages: resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-extglob@2.1.1: @@ -3420,7 +3454,7 @@ packages: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-number@7.0.0: @@ -3456,14 +3490,14 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - has-tostringtag: 1.0.0 + call-bind: 1.0.6 + has-tostringtag: 1.0.2 dev: true /is-shared-array-buffer@1.0.2: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 dev: true /is-stream@2.0.1: @@ -3479,7 +3513,7 @@ packages: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} dependencies: - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /is-symbol@1.0.4: @@ -3496,11 +3530,11 @@ packages: text-extensions: 2.4.0 dev: true - /is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + /is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.13 + which-typed-array: 1.1.14 dev: true /is-unicode-supported@2.0.0: @@ -3511,7 +3545,7 @@ packages: /is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 dev: true /isarray@1.0.0: @@ -3668,8 +3702,8 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /lint-staged@15.2.1: - resolution: {integrity: sha512-dhwAPnM85VdshybV9FWI/9ghTvMLoQLEXgVMx+ua2DN7mdfzd/tRfoU2yhMcBac0RHkofoxdnnJUokr8s4zKmQ==} + /lint-staged@15.2.2: + resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} engines: {node: '>=18.12.0'} hasBin: true dependencies: @@ -3786,8 +3820,8 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: false - /lru-cache@10.1.0: - resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} engines: {node: 14 || >=16.14} dev: true @@ -3797,8 +3831,8 @@ packages: dependencies: yallist: 4.0.0 - /magic-string@0.30.5: - resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -3807,8 +3841,8 @@ packages: /magicast@0.3.3: resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 source-map-js: 1.0.2 dev: true @@ -3816,26 +3850,26 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} dependencies: - semver: 7.5.4 + semver: 7.6.0 dev: true - /marked-terminal@6.2.0(marked@11.1.1): - resolution: {integrity: sha512-ubWhwcBFHnXsjYNsu+Wndpg0zhY4CahSpPlA70PlO0rR9r2sZpkyU+rkCsOWH+KMEkx847UpALON+HWgxowFtw==} + /marked-terminal@7.0.0(marked@12.0.0): + resolution: {integrity: sha512-sNEx8nn9Ktcm6pL0TnRz8tnXq/mSS0Q1FRSwJOAqw4lAB4l49UeDf85Gm1n9RPFm5qurCPjwi1StAQT2XExhZw==} engines: {node: '>=16.0.0'} peerDependencies: - marked: '>=1 <12' + marked: '>=1 <13' dependencies: ansi-escapes: 6.2.0 - cardinal: 2.1.1 chalk: 5.3.0 + cli-highlight: 2.1.11 cli-table3: 0.6.3 - marked: 11.1.1 + marked: 12.0.0 node-emoji: 2.1.3 supports-hyperlinks: 3.0.0 dev: true - /marked@11.1.1: - resolution: {integrity: sha512-EgxRjgK9axsQuUa/oKMx5DEY8oXpKJfk61rT5iY3aRlgU6QJtUcxU5OAymdhCvWvhYcd9FKmO5eQoX8m9VGJXg==} + /marked@12.0.0: + resolution: {integrity: sha512-Vkwtq9rLqXryZnWaQc86+FHLC6tr/fycMfYAhiOIXkrNmeGAyhSxjqu0Rs1i0bBqw5u0S7+lV9fdH2ZSVaoa0w==} engines: {node: '>= 18'} hasBin: true dev: true @@ -3951,7 +3985,7 @@ packages: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.3.2 + ufo: 1.4.0 dev: true /mrmime@2.0.0: @@ -3973,6 +4007,14 @@ packages: readable-stream: 3.6.2 dev: true + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -4010,7 +4052,7 @@ packages: resolution: {integrity: sha512-p7eGEiQil0YUV3ItH4/tBb781L5impVmmx2E9FRKF7d18XXzp4PGT2tdYMFY6wQqgxD0IwNZOiSJ0/K0fSi/OA==} engines: {node: '>=10'} dependencies: - semver: 7.5.4 + semver: 7.6.0 dev: true /node-emoji@2.1.3: @@ -4041,7 +4083,7 @@ packages: dependencies: hosted-git-info: 7.0.1 is-core-module: 2.13.1 - semver: 7.5.4 + semver: 7.6.0 validate-npm-package-license: 3.0.4 dev: true @@ -4081,8 +4123,8 @@ packages: dependencies: path-key: 4.0.0 - /npm@10.3.0: - resolution: {integrity: sha512-9u5GFc1UqI2DLlGI7QdjkpIaBs3UhTtY8KoCqYJK24gV/j/tByaI4BA4R7RkOc+ASqZMzFPKt4Pj2Z8JcGo//A==} + /npm@10.4.0: + resolution: {integrity: sha512-RS7Mx0OVfXlOcQLRePuDIYdFCVBPCNapWHplDK+mh7GDdP/Tvor4ocuybRRPSvfcRb2vjRJt1fHCqw3cr8qACQ==} engines: {node: ^18.17.0 || >=20.5.0} hasBin: true dev: true @@ -4149,7 +4191,6 @@ packages: - semver - spdx-expression-parse - ssri - - strip-ansi - supports-color - tar - text-table @@ -4159,6 +4200,11 @@ packages: - which - write-file-atomic + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true + /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} dev: true @@ -4171,7 +4217,7 @@ packages: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 @@ -4181,25 +4227,26 @@ packages: resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 dev: true - /object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + /object.groupby@1.0.2: + resolution: {integrity: sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==} dependencies: - call-bind: 1.0.5 + array.prototype.filter: 1.0.3 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 - get-intrinsic: 1.2.2 + es-errors: 1.3.0 dev: true /object.values@1.1.7: resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 dev: true @@ -4357,6 +4404,20 @@ packages: engines: {node: '>=18'} dev: false + /parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + dependencies: + parse5: 6.0.1 + dev: true + + /parse5@5.1.1: + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + dev: true + + /parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: true + /path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} @@ -4483,8 +4544,8 @@ packages: pathe: 1.1.2 dev: true - /postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -4516,7 +4577,7 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier-plugin-packagejson@2.4.10(prettier@3.2.4): + /prettier-plugin-packagejson@2.4.10(prettier@3.2.5): resolution: {integrity: sha512-qFzOfQDHi1tzvVJRuZ2jh1j6IFV5MURh5m5WDt+qfEMOf4SSL5RpwSysiX8u0W1PJYsM0vKJGNULt43wwteKiQ==} peerDependencies: prettier: '>= 1.16.0' @@ -4524,13 +4585,13 @@ packages: prettier: optional: true dependencies: - prettier: 3.2.4 + prettier: 3.2.5 sort-package-json: 2.7.0 synckit: 0.9.0 dev: true - /prettier@3.2.4: - resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} engines: {node: '>=14'} hasBin: true dev: true @@ -4688,22 +4749,17 @@ packages: resolve: 1.22.8 dev: true - /redeyed@2.1.1: - resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} - dependencies: - esprima: 4.0.1 - dev: true - /reflect-metadata@0.2.1: resolution: {integrity: sha512-i5lLI6iw9AU3Uu4szRNPPEkomnkjRTaVt9hy/bn5g/oSzekBSMeLZblcjP74AW0vBabqERLLIrz+gR8QYR54Tw==} dev: false - /regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + /regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 + es-errors: 1.3.0 set-function-name: 2.0.1 dev: true @@ -4787,26 +4843,26 @@ packages: sprintf-js: 1.1.3 dev: false - /rollup@4.9.6: - resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} + /rollup@4.10.0: + resolution: {integrity: sha512-t2v9G2AKxcQ8yrG+WGxctBes1AomT0M4ND7jTFBCVPXQ/WFTvNSefIrNSmLKhIKBrvN8SG+CZslimJcT3W2u2g==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.9.6 - '@rollup/rollup-android-arm64': 4.9.6 - '@rollup/rollup-darwin-arm64': 4.9.6 - '@rollup/rollup-darwin-x64': 4.9.6 - '@rollup/rollup-linux-arm-gnueabihf': 4.9.6 - '@rollup/rollup-linux-arm64-gnu': 4.9.6 - '@rollup/rollup-linux-arm64-musl': 4.9.6 - '@rollup/rollup-linux-riscv64-gnu': 4.9.6 - '@rollup/rollup-linux-x64-gnu': 4.9.6 - '@rollup/rollup-linux-x64-musl': 4.9.6 - '@rollup/rollup-win32-arm64-msvc': 4.9.6 - '@rollup/rollup-win32-ia32-msvc': 4.9.6 - '@rollup/rollup-win32-x64-msvc': 4.9.6 + '@rollup/rollup-android-arm-eabi': 4.10.0 + '@rollup/rollup-android-arm64': 4.10.0 + '@rollup/rollup-darwin-arm64': 4.10.0 + '@rollup/rollup-darwin-x64': 4.10.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.10.0 + '@rollup/rollup-linux-arm64-gnu': 4.10.0 + '@rollup/rollup-linux-arm64-musl': 4.10.0 + '@rollup/rollup-linux-riscv64-gnu': 4.10.0 + '@rollup/rollup-linux-x64-gnu': 4.10.0 + '@rollup/rollup-linux-x64-musl': 4.10.0 + '@rollup/rollup-win32-arm64-msvc': 4.10.0 + '@rollup/rollup-win32-ia32-msvc': 4.10.0 + '@rollup/rollup-win32-x64-msvc': 4.10.0 fsevents: 2.3.3 dev: true @@ -4819,8 +4875,8 @@ packages: resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} engines: {node: '>=0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.6 + get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 dev: true @@ -4832,12 +4888,12 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /safe-regex-test@1.0.2: - resolution: {integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==} + /safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.6 + es-errors: 1.3.0 is-regex: 1.1.4 dev: true @@ -4850,16 +4906,16 @@ packages: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} dev: false - /semantic-release@23.0.0(typescript@5.3.3): - resolution: {integrity: sha512-Jz7jEWO2igTtske112gC4PPE2whCMVrsgxUPG3/SZI7VE357suIUZFlJd1Yu0g2I6RPc2HxNEfUg7KhmDTjwqg==} + /semantic-release@23.0.2(typescript@5.3.3): + resolution: {integrity: sha512-OnVYJ6Xgzwe1x8MKswba7RU9+5djS1MWRTrTn5qsq3xZYpslroZkV9Pt0dA2YcIuieeuSZWJhn+yUWoBUHO5Fw==} engines: {node: '>=20.8.1'} hasBin: true dependencies: - '@semantic-release/commit-analyzer': 11.1.0(semantic-release@23.0.0) + '@semantic-release/commit-analyzer': 11.1.0(semantic-release@23.0.2) '@semantic-release/error': 4.0.0 - '@semantic-release/github': 9.2.6(semantic-release@23.0.0) - '@semantic-release/npm': 11.0.2(semantic-release@23.0.0) - '@semantic-release/release-notes-generator': 12.1.0(semantic-release@23.0.0) + '@semantic-release/github': 9.2.6(semantic-release@23.0.2) + '@semantic-release/npm': 11.0.2(semantic-release@23.0.2) + '@semantic-release/release-notes-generator': 12.1.0(semantic-release@23.0.2) aggregate-error: 5.0.0 cosmiconfig: 9.0.0(typescript@5.3.3) debug: 4.3.4 @@ -4873,14 +4929,14 @@ packages: hosted-git-info: 7.0.1 import-from-esm: 1.3.3 lodash-es: 4.17.21 - marked: 11.1.1 - marked-terminal: 6.2.0(marked@11.1.1) + marked: 12.0.0 + marked-terminal: 7.0.0(marked@12.0.0) micromatch: 4.0.5 p-each-series: 3.0.0 p-reduce: 3.0.0 read-pkg-up: 11.0.0 resolve-from: 5.0.0 - semver: 7.5.4 + semver: 7.6.0 semver-diff: 4.0.0 signale: 1.4.0 yargs: 17.7.2 @@ -4897,7 +4953,7 @@ packages: resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} engines: {node: '>=12'} dependencies: - semver: 7.5.4 + semver: 7.6.0 dev: true /semver-regex@4.0.5: @@ -4910,8 +4966,8 @@ packages: hasBin: true dev: true - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} hasBin: true dependencies: @@ -4924,13 +4980,14 @@ packages: type-fest: 0.13.1 dev: false - /set-function-length@1.2.0: - resolution: {integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==} + /set-function-length@1.2.1: + resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 + define-data-property: 1.1.2 + es-errors: 1.3.0 function-bind: 1.1.2 - get-intrinsic: 1.2.2 + get-intrinsic: 1.2.4 gopd: 1.0.1 has-property-descriptors: 1.0.1 dev: true @@ -4939,7 +4996,7 @@ packages: resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} engines: {node: '>= 0.4'} dependencies: - define-data-property: 1.1.1 + define-data-property: 1.1.2 functions-have-names: 1.2.3 has-property-descriptors: 1.0.1 dev: true @@ -4968,11 +5025,13 @@ packages: rechoir: 0.6.2 dev: true - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + /side-channel@1.0.5: + resolution: {integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==} + engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 + call-bind: 1.0.6 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 object-inspect: 1.13.1 dev: true @@ -5106,22 +5165,22 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.16 + spdx-license-ids: 3.0.17 dev: true - /spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + /spdx-exceptions@2.4.0: + resolution: {integrity: sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==} dev: true /spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.16 + spdx-exceptions: 2.4.0 + spdx-license-ids: 3.0.17 dev: true - /spdx-license-ids@3.0.16: - resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + /spdx-license-ids@3.0.17: + resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} dev: true /split2@1.0.0: @@ -5186,7 +5245,7 @@ packages: resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 dev: true @@ -5194,7 +5253,7 @@ packages: /string.prototype.trimend@1.0.7: resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 dev: true @@ -5202,7 +5261,7 @@ packages: /string.prototype.trimstart@1.0.7: resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 define-properties: 1.2.1 es-abstract: 1.22.3 dev: true @@ -5366,6 +5425,19 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: true + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + /thread-stream@2.4.1: resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} dependencies: @@ -5392,8 +5464,8 @@ packages: engines: {node: '>=14.0.0'} dev: true - /tinyspy@2.2.0: - resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} engines: {node: '>=14.0.0'} dev: true @@ -5422,17 +5494,17 @@ packages: engines: {node: '>= 0.4'} dev: true - /ts-api-utils@1.0.3(typescript@5.3.3): - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} + /ts-api-utils@1.2.1(typescript@5.3.3): + resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} + engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: typescript: 5.3.3 dev: true - /tsconfck@3.0.1(typescript@5.3.3): - resolution: {integrity: sha512-7ppiBlF3UEddCLeI1JRx5m2Ryq+xk4JrZuq4EuYXykipebaq1dV0Fhgr1hb7CkmHt32QSgOZlcqVLEtHBG4/mg==} + /tsconfck@3.0.2(typescript@5.3.3): + resolution: {integrity: sha512-6lWtFjwuhS3XI4HsX4Zg0izOI3FU/AI9EGVlPEUMDIhvLPMD4wkiof0WCoDgW7qY+Dy198g4d9miAqUHWHFH6Q==} engines: {node: ^18 || >=20} hasBin: true peerDependencies: @@ -5471,8 +5543,8 @@ packages: typescript: 5.3.3 dev: true - /tsx@4.7.0: - resolution: {integrity: sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==} + /tsx@4.7.1: + resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} engines: {node: '>=18.0.0'} hasBin: true dependencies: @@ -5539,42 +5611,42 @@ packages: engines: {node: '>=16'} dev: true - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + /typed-array-buffer@1.0.1: + resolution: {integrity: sha512-RSqu1UEuSlrBhHTWC8O9FnPjOduNs4M7rJ4pRKoEjtx1zUNOPN2sSXHLDX+Y2WPbHIxbvg4JFo2DNAEfPIKWoQ==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 - get-intrinsic: 1.2.2 - is-typed-array: 1.1.12 + call-bind: 1.0.6 + es-errors: 1.3.0 + is-typed-array: 1.1.13 dev: true /typed-array-byte-length@1.0.0: resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} engines: {node: '>= 0.4'} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 for-each: 0.3.3 has-proto: 1.0.1 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 dev: true /typed-array-byte-offset@1.0.0: resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.6 + call-bind: 1.0.6 for-each: 0.3.3 has-proto: 1.0.1 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 dev: true /typed-array-length@1.0.4: resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 for-each: 0.3.3 - is-typed-array: 1.1.12 + is-typed-array: 1.1.13 dev: true /typescript@5.3.3: @@ -5583,8 +5655,8 @@ packages: hasBin: true dev: true - /ufo@1.3.2: - resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} dev: true /uglify-js@3.17.4: @@ -5598,7 +5670,7 @@ packages: /unbox-primitive@1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: - call-bind: 1.0.5 + call-bind: 1.0.6 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 @@ -5608,8 +5680,8 @@ packages: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true - /undici@5.28.2: - resolution: {integrity: sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==} + /undici@5.28.3: + resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==} engines: {node: '>=14.0'} dependencies: '@fastify/busboy': 2.1.0 @@ -5677,7 +5749,7 @@ packages: spdx-expression-parse: 3.0.1 dev: true - /vite-node@1.2.2(@types/node@20.11.16): + /vite-node@1.2.2(@types/node@20.11.17): resolution: {integrity: sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5686,7 +5758,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.0.12(@types/node@20.11.16) + vite: 5.1.1(@types/node@20.11.17) transitivePeerDependencies: - '@types/node' - less @@ -5698,25 +5770,25 @@ packages: - terser dev: true - /vite-tsconfig-paths@4.3.1(typescript@5.3.3)(vite@5.0.12): + /vite-tsconfig-paths@4.3.1(typescript@5.3.3)(vite@5.1.1): resolution: {integrity: sha512-cfgJwcGOsIxXOLU/nELPny2/LUD/lcf1IbfyeKTv2bsupVbTH/xpFtdQlBmIP1GEK2CjjLxYhFfB+QODFAx5aw==} peerDependencies: - vite: 5.0.12 + vite: 5.1.1 peerDependenciesMeta: vite: optional: true dependencies: debug: 4.3.4 globrex: 0.1.2 - tsconfck: 3.0.1(typescript@5.3.3) - vite: 5.0.12(@types/node@20.11.16) + tsconfck: 3.0.2(typescript@5.3.3) + vite: 5.1.1(@types/node@20.11.17) transitivePeerDependencies: - supports-color - typescript dev: true - /vite@5.0.12(@types/node@20.11.16): - resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} + /vite@5.1.1(@types/node@20.11.17): + resolution: {integrity: sha512-wclpAgY3F1tR7t9LL5CcHC41YPkQIpKUGeIuT8MdNwNZr6OqOTLs7JX5vIHAtzqLWXts0T+GDrh9pN2arneKqg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -5743,10 +5815,10 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.17 esbuild: 0.20.0 - postcss: 8.4.33 - rollup: 4.9.6 + postcss: 8.4.35 + rollup: 4.10.0 optionalDependencies: fsevents: 2.3.3 dev: true @@ -5758,10 +5830,10 @@ packages: vitest: '>=0.28.5' dependencies: '@actions/core': 1.10.1 - vitest: 1.2.2(@types/node@20.11.16)(@vitest/ui@1.2.2) + vitest: 1.2.2(@types/node@20.11.17)(@vitest/ui@1.2.2) dev: true - /vitest@1.2.2(@types/node@20.11.16)(@vitest/ui@1.2.2): + /vitest@1.2.2(@types/node@20.11.17)(@vitest/ui@1.2.2): resolution: {integrity: sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -5786,7 +5858,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.17 '@vitest/expect': 1.2.2 '@vitest/runner': 1.2.2 '@vitest/snapshot': 1.2.2 @@ -5799,15 +5871,15 @@ packages: debug: 4.3.4 execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.5 + magic-string: 0.30.7 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 strip-literal: 1.3.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.0.12(@types/node@20.11.16) - vite-node: 1.2.2(@types/node@20.11.16) + vite: 5.1.1(@types/node@20.11.17) + vite-node: 1.2.2(@types/node@20.11.17) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -5840,15 +5912,15 @@ packages: is-symbol: 1.0.4 dev: true - /which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + /which-typed-array@1.1.14: + resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==} engines: {node: '>= 0.4'} dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.5 + available-typed-arrays: 1.0.6 + call-bind: 1.0.6 for-each: 0.3.3 gopd: 1.0.1 - has-tostringtag: 1.0.0 + has-tostringtag: 1.0.2 dev: true /which@2.0.2: @@ -5925,7 +5997,7 @@ packages: engines: {node: '>=10'} dependencies: cliui: 7.0.4 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 @@ -5938,7 +6010,7 @@ packages: engines: {node: '>=12'} dependencies: cliui: 8.0.1 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 diff --git a/renovate.json b/renovate.json index ab2e43fde2..750c505400 100644 --- a/renovate.json +++ b/renovate.json @@ -5,7 +5,7 @@ "github>containerbase/.github//merge-queue.json" ], "ignorePaths": ["**/node_modules/**", "test/*/test/**"], - "enabledManagers": ["npm", "dockerfile", "github-actions", "regex"], + "enabledManagers": ["dockerfile", "github-actions", "nodenv", "npm", "regex"], "separateMultipleMajor": false, "separateMajorMinor": true, "packageRules": [ @@ -143,5 +143,15 @@ "extends": ["schedule:weekly"], "automerge": true } + ], + "customManagers": [ + { + "customType": "regex", + "fileMatch": ["^package\\.json$"], + "matchStrings": [ + "\"(?@yao-pkg/pkg|clipanion)@(?\\d+\\.\\d+\\.\\d+)\":" + ], + "datasourceTemplate": "npm" + } ] } diff --git a/src/cli/install-tool/index.ts b/src/cli/install-tool/index.ts index 6a0cc9a6a6..dc5937b51c 100644 --- a/src/cli/install-tool/index.ts +++ b/src/cli/install-tool/index.ts @@ -18,7 +18,7 @@ import { NodeVersionResolver, NpmVersionResolver, } from '../tools/node/resolver'; -import { InstallNodeBaseService } from '../tools/node/utils'; +import { InstallNpmBaseService } from '../tools/node/utils'; import { InstallCocoapodsService } from '../tools/ruby/gem'; import { InstallRubyBaseService } from '../tools/ruby/utils'; import { logger } from '../utils'; @@ -104,7 +104,7 @@ export function installTool( } case 'npm': { @injectable() - class InstallGenericNpmService extends InstallNodeBaseService { + class InstallGenericNpmService extends InstallNpmBaseService { override readonly name: string = tool; override needsPrepare(): boolean { diff --git a/src/cli/tools/node/index.ts b/src/cli/tools/node/index.ts index 37ae8d0937..7cd142a4a0 100644 --- a/src/cli/tools/node/index.ts +++ b/src/cli/tools/node/index.ts @@ -10,7 +10,7 @@ import { PathService, VersionService, } from '../../services'; -import { getDistro, isValid, parse } from '../../utils'; +import { getDistro, parse } from '../../utils'; import { InstallNodeBaseService, prepareGlobalConfig, @@ -188,8 +188,7 @@ fi override async test(version: string): Promise { const src = join(this.pathSvc.versionedToolPath(this.name, version), 'bin'); - // pkg bug, using `node` causes module load error - await execa('/usr/local/bin/node', ['--version'], { + await execa('node', ['--version'], { stdio: ['inherit', 'inherit', 1], }); await execa('npm', ['--version'], { stdio: ['inherit', 'inherit', 1] }); @@ -199,8 +198,4 @@ fi }); } } - - override validate(version: string): Promise { - return Promise.resolve(isValid(version)); - } } diff --git a/src/cli/tools/node/npm.ts b/src/cli/tools/node/npm.ts index 6f3282b5af..d8e118cc13 100644 --- a/src/cli/tools/node/npm.ts +++ b/src/cli/tools/node/npm.ts @@ -1,9 +1,9 @@ import { execa } from 'execa'; import { injectable } from 'inversify'; -import { InstallNodeBaseService } from './utils'; +import { InstallNpmBaseService } from './utils'; @injectable() -export class InstallRenovateService extends InstallNodeBaseService { +export class InstallRenovateService extends InstallNpmBaseService { override readonly name: string = 'renovate'; protected override getAdditionalArgs(): string[] { @@ -21,7 +21,7 @@ export class InstallRenovateService extends InstallNodeBaseService { } @injectable() -export class InstallYarnSlimService extends InstallNodeBaseService { +export class InstallYarnSlimService extends InstallNpmBaseService { override readonly name: string = 'yarn-slim'; protected override get tool(): string { @@ -30,14 +30,15 @@ export class InstallYarnSlimService extends InstallNodeBaseService { override async install(version: string): Promise { await super.install(version); + const node = await this.getNodeVersion(); // TODO: replace with javascript - const prefix = await this.pathSvc.findVersionedToolPath(this.name, version); + const prefix = this.pathSvc.versionedToolPath(this.name, version); await execa( 'sed', [ '-i', 's/ steps,/ steps.slice(0,1),/', - `${prefix}/node_modules/yarn/lib/cli.js`, + `${prefix}/${node}/node_modules/yarn/lib/cli.js`, ], { stdio: ['inherit', 'inherit', 1] }, ); diff --git a/src/cli/tools/node/utils.ts b/src/cli/tools/node/utils.ts index bacec6899d..1ac8661e76 100644 --- a/src/cli/tools/node/utils.ts +++ b/src/cli/tools/node/utils.ts @@ -1,4 +1,4 @@ -import fs, { appendFile, mkdir, readFile } from 'node:fs/promises'; +import fs, { appendFile, chmod, mkdir, readFile } from 'node:fs/promises'; import { join } from 'node:path'; import { env as penv } from 'node:process'; import is from '@sindresorhus/is'; @@ -13,10 +13,6 @@ const defaultRegistry = 'https://registry.npmjs.org/'; @injectable() export abstract class InstallNodeBaseService extends InstallToolBaseService { - protected get tool(): string { - return this.name; - } - constructor( @inject(EnvService) envSvc: EnvService, @inject(PathService) pathSvc: PathService, @@ -25,8 +21,68 @@ export abstract class InstallNodeBaseService extends InstallToolBaseService { super(pathSvc, envSvc); } + protected prepareEnv(tmp: string): NodeJS.ProcessEnv { + const env: NodeJS.ProcessEnv = { + NO_UPDATE_NOTIFIER: '1', + npm_config_update_notifier: 'false', + npm_config_fund: 'false', + }; + + if (!penv.npm_config_cache && !penv.NPM_CONFIG_CACHE) { + env.npm_config_cache = tmp; + } + + const registry = this.envSvc.replaceUrl(defaultRegistry); + if (registry !== defaultRegistry) { + env.npm_config_registry = registry; + } + + return env; + } + + protected async updateNodeGyp( + prefix: string, + tmp: string, + env: NodeJS.ProcessEnv, + global = false, + ): Promise { + const res = await execa( + join(prefix, 'bin/npm'), + [ + 'explore', + 'npm', + ...(global ? ['-g'] : []), + '--prefix', + prefix, + // '--silent', + '--', + 'npm', + 'install', + 'node-gyp@latest', + '--no-audit', + '--cache', + tmp, + '--silent', + ], + { reject: false, env, cwd: this.pathSvc.installDir, all: true }, + ); + + if (res.failed) { + logger.warn(`Npm error:\n${res.all}`); + throw new Error('node-gyp update command failed'); + } + } +} + +@injectable() +export abstract class InstallNpmBaseService extends InstallNodeBaseService { + protected get tool(): string { + return this.name; + } + override async install(version: string): Promise { - const npm = await this.getNodeNpm(); + const node = await this.getNodeVersion(); + const npm = this.getNodeNpm(node); const tmp = await fs.mkdtemp( join(this.pathSvc.tmpDir, 'containerbase-npm-'), ); @@ -37,10 +93,15 @@ export abstract class InstallNodeBaseService extends InstallToolBaseService { await this.pathSvc.createToolPath(this.name); } - const prefix = await this.pathSvc.createVersionedToolPath( - this.name, - version, - ); + let prefix = await this.pathSvc.findVersionedToolPath(this.name, version); + if (!prefix) { + prefix = await this.pathSvc.createVersionedToolPath(this.name, version); + // fix perms for later user installs + await chmod(prefix, 0o775); + } + + prefix = join(prefix, node); + await mkdir(prefix); const res = await execa( npm, @@ -66,9 +127,7 @@ export abstract class InstallNodeBaseService extends InstallToolBaseService { await fs.symlink(`${prefix}/node_modules/.bin`, `${prefix}/bin`); if (this.name === 'npm') { - const pkg = await readPackageJson( - join(prefix, 'node_modules', this.tool), - ); + const pkg = await readPackageJson(this.packageJsonPath(version, node)); const ver = parse(pkg.version); if (ver.major < 7) { // update to latest node-gyp to fully support python3 @@ -83,14 +142,23 @@ export abstract class InstallNodeBaseService extends InstallToolBaseService { }); } + override async isInstalled(version: string): Promise { + const node = await this.getNodeVersion(); + return await this.pathSvc.fileExists(this.packageJsonPath(version, node)); + } + override async link(version: string): Promise { await this.postInstall(version); } override async postInstall(version: string): Promise { - const vtPath = this.pathSvc.versionedToolPath(this.name, version); - const src = join(vtPath, 'bin'); - const pkg = await readPackageJson(join(vtPath, 'node_modules', this.tool)); + const node = await this.getNodeVersion(); + const src = join( + this.pathSvc.versionedToolPath(this.name, version), + node, + 'bin', + ); + const pkg = await readPackageJson(this.packageJsonPath(version, node)); if (!pkg.bin) { logger.warn( @@ -122,70 +190,31 @@ export abstract class InstallNodeBaseService extends InstallToolBaseService { return (await this.versionSvc.find('node')) !== null; } - private async getNodeNpm(): Promise { + private getNodeNpm(nodeVersion: string): string { + return join(this.pathSvc.versionedToolPath('node', nodeVersion), 'bin/npm'); + } + + protected async getNodeVersion(): Promise { const nodeVersion = await this.versionSvc.find('node'); if (!nodeVersion) { throw new Error('Node not installed'); } - - return join(this.pathSvc.versionedToolPath('node', nodeVersion), 'bin/npm'); + return nodeVersion; } protected getAdditionalArgs(): string[] { return []; } - protected prepareEnv(tmp: string): NodeJS.ProcessEnv { - const env: NodeJS.ProcessEnv = { - NO_UPDATE_NOTIFIER: '1', - npm_config_update_notifier: 'false', - npm_config_fund: 'false', - }; - - if (!penv.npm_config_cache && !penv.NPM_CONFIG_CACHE) { - env.npm_config_cache = tmp; - } - - const registry = this.envSvc.replaceUrl(defaultRegistry); - if (registry !== defaultRegistry) { - env.npm_config_registry = registry; - } - - return env; - } - - protected async updateNodeGyp( - prefix: string, - tmp: string, - env: NodeJS.ProcessEnv, - global = false, - ): Promise { - const res = await execa( - join(prefix, 'bin/npm'), - [ - 'explore', - 'npm', - ...(global ? ['-g'] : []), - '--prefix', - prefix, - // '--silent', - '--', - 'npm', - 'install', - 'node-gyp@latest', - '--no-audit', - '--cache', - tmp, - '--silent', - ], - { reject: false, env, cwd: this.pathSvc.installDir, all: true }, + private packageJsonPath(version: string, node: string): string { + return join( + this.pathSvc.versionedToolPath(this.name, version), + node, + 'node_modules', + this.tool, + 'package.json', ); - - if (res.failed) { - logger.warn(`Npm error:\n${res.all}`); - throw new Error('node-gyp update command failed'); - } } } @@ -238,6 +267,6 @@ export async function prepareUserConfig({ } async function readPackageJson(path: string): Promise { - const data = await readFile(join(path, 'package.json'), { encoding: 'utf8' }); + const data = await readFile(path, { encoding: 'utf8' }); return JSON.parse(data); } diff --git a/src/cli/tools/ruby/utils.ts b/src/cli/tools/ruby/utils.ts index 39f0669518..005fce19f0 100644 --- a/src/cli/tools/ruby/utils.ts +++ b/src/cli/tools/ruby/utils.ts @@ -4,7 +4,7 @@ import { execa } from 'execa'; import { inject, injectable } from 'inversify'; import { InstallToolBaseService } from '../../install-tool/install-tool-base.service'; import { EnvService, PathService, VersionService } from '../../services'; -import { logger, parse } from '../../utils'; +import { logger } from '../../utils'; const defaultRegistry = 'https://rubygems.org/'; @@ -27,7 +27,7 @@ export abstract class InstallRubyBaseService extends InstallToolBaseService { } const gem = await this.getRubyGem(); - const ruby = await this.getRubyMinor(); + const ruby = await this.getRubyVersion(); // TODO: create recursive if (!(await this.pathSvc.findToolPath(this.name))) { @@ -69,7 +69,7 @@ export abstract class InstallRubyBaseService extends InstallToolBaseService { } override async isInstalled(version: string): Promise { - const ruby = await this.getRubyMinor(); + const ruby = await this.getRubyVersion(); return this.pathSvc.fileExists(this.getGemSpec(version, ruby)); } @@ -78,7 +78,7 @@ export abstract class InstallRubyBaseService extends InstallToolBaseService { } override async postInstall(version: string): Promise { - const ruby = await this.getRubyMinor(); + const ruby = await this.getRubyVersion(); const vtPath = this.pathSvc.versionedToolPath(this.name, version); const path = join(vtPath, ruby); const src = join(path, 'bin'); @@ -126,12 +126,6 @@ export abstract class InstallRubyBaseService extends InstallToolBaseService { return join(this.pathSvc.versionedToolPath('ruby', rubyVersion), 'bin/gem'); } - private async getRubyMinor(): Promise { - const rubyVersion = await this.getRubyVersion(); - const ver = parse(rubyVersion); - return `${ver.major}.${ver.minor}`; - } - private async getRubyVersion(): Promise { const rubyVersion = await this.versionSvc.find('ruby'); diff --git a/src/usr/local/containerbase/tools/v2/hashin.sh b/src/usr/local/containerbase/tools/v2/hashin.sh index 71dfb06d01..c90e88fb67 100644 --- a/src/usr/local/containerbase/tools/v2/hashin.sh +++ b/src/usr/local/containerbase/tools/v2/hashin.sh @@ -3,46 +3,8 @@ # shellcheck source=/dev/null . "$(get_containerbase_path)/utils/python.sh" -function install_tool() { - # always install with user umask - # shellcheck disable=SC2034 - local ROOT_UMASK=${USER_UMASK} - local python_minor_version - local python_version - local tool_path - - python_version=$(get_tool_version python) - python_minor_version=$(get_python_minor_version "${python_version}") - tool_path="$(create_versioned_tool_path)/${python_minor_version}" - mkdir -p "${tool_path}" - - if [[ $(restore_folder_from_cache "${tool_path}" "${TOOL_NAME}/${TOOL_VERSION}") -ne 0 ]]; then - # restore from cache not possible - # either not in cache or error, install - - python -m virtualenv \ - --no-periodic-update \ - --quiet \ - "${tool_path}" - - "${tool_path}/bin/python" \ - -W ignore \ - -m pip \ - install \ - --compile \ - --use-pep517 \ - --no-warn-script-location \ - --no-cache-dir \ - --quiet \ - setuptools \ - "${TOOL_NAME}==${TOOL_VERSION}" - - # remove virtualenv app-data - rm -rf ~/.local/share/virtualenv - - # store in cache - cache_folder "${tool_path}" "${TOOL_NAME}/${TOOL_VERSION}" - fi +function install_tool () { + install_python_tool setuptools } function link_tool () { diff --git a/src/usr/local/containerbase/util.sh b/src/usr/local/containerbase/util.sh index 2485d1000e..3a99dc68c9 100644 --- a/src/usr/local/containerbase/util.sh +++ b/src/usr/local/containerbase/util.sh @@ -1,8 +1,5 @@ #!/bin/bash -# https://github.com/vercel/pkg/issues/1861 -unset PKG_EXECPATH - # get path location DIR="${BASH_SOURCE%/*}" if [[ ! -d "$DIR" ]]; then DIR="$PWD"; fi diff --git a/src/usr/local/containerbase/utils/python.sh b/src/usr/local/containerbase/utils/python.sh index 3aa27a46cf..6a2c7aa27f 100644 --- a/src/usr/local/containerbase/utils/python.sh +++ b/src/usr/local/containerbase/utils/python.sh @@ -5,21 +5,11 @@ function check_tool_requirements () { check_semver "$TOOL_VERSION" "all" } -function get_python_minor_version() { - local python_version=$1 - if [[ ! "${python_version}" =~ ${SEMVER_REGEX} ]]; then - echo Python is not a semver like version - aborting: "${python_version}" - exit 1 - fi - export PYTHON_MAJOR=${BASH_REMATCH[1]} - echo "${BASH_REMATCH[1]}.${BASH_REMATCH[3]}" -} - function find_pip_versioned_path() { local python_version local tool_dir python_version=$(get_tool_version python) - tool_dir="$(find_versioned_tool_path)/$(get_python_minor_version "${python_version}")" + tool_dir="$(find_versioned_tool_path)/${python_version}" if [[ -d "${tool_dir}" ]]; then echo "${tool_dir}" @@ -30,20 +20,19 @@ function check_tool_installed() { test -n "$(find_pip_versioned_path)" } -function install_tool() { +# shellcheck disable=SC2120 +function install_python_tool() { # always install with user umask # shellcheck disable=SC2034 local ROOT_UMASK=${USER_UMASK} - local python_minor_version local python_version local tool_path python_version=$(get_tool_version python) - python_minor_version=$(get_python_minor_version "${python_version}") - tool_path="$(create_versioned_tool_path)/${python_minor_version}" + tool_path="$(create_versioned_tool_path)/${python_version}" mkdir -p "${tool_path}" - if [[ $(restore_folder_from_cache "${tool_path}" "${TOOL_NAME}/${TOOL_VERSION}") -ne 0 ]]; then + if [[ $(restore_folder_from_cache "${tool_path}" "${TOOL_NAME}/${TOOL_VERSION}/${python_version}") -ne 0 ]]; then # restore from cache not possible # either not in cache or error, install @@ -61,16 +50,21 @@ function install_tool() { --no-warn-script-location \ --no-cache-dir \ --quiet \ - "${TOOL_NAME}==${TOOL_VERSION}" + "${TOOL_NAME}==${TOOL_VERSION}" \ + "$@" # remove virtualenv app-data rm -rf ~/.local/share/virtualenv # store in cache - cache_folder "${tool_path}" "${TOOL_NAME}/${TOOL_VERSION}" + cache_folder "${tool_path}" "${TOOL_NAME}/${TOOL_VERSION}/${python_version}" fi } +function install_tool() { + install_python_tool +} + function python_shell_wrapper () { local tool_path local tool=$1 diff --git a/src/usr/local/containerbase/utils/ruby.sh b/src/usr/local/containerbase/utils/ruby.sh index 4463465c22..2b8b107cc4 100644 --- a/src/usr/local/containerbase/utils/ruby.sh +++ b/src/usr/local/containerbase/utils/ruby.sh @@ -5,20 +5,11 @@ function check_tool_requirements () { check_semver "$TOOL_VERSION" "all" } -function get_ruby_minor_version() { - local ruby_version=$1 - if [[ ! "${ruby_version}" =~ ${SEMVER_REGEX} ]]; then - echo Ruby is not a semver like version - aborting: "${ruby_version}" - exit 1 - fi - echo "${BASH_REMATCH[1]}.${BASH_REMATCH[3]}" -} - function find_gem_versioned_path() { local ruby_version local tool_dir ruby_version=$(get_tool_version ruby) - tool_dir="$(find_versioned_tool_path)/$(get_ruby_minor_version "${ruby_version}")" + tool_dir="$(find_versioned_tool_path)/${ruby_version}" if [[ -d "${tool_dir}" ]]; then echo "${tool_dir}" @@ -36,10 +27,10 @@ function install_tool() { local ruby_version local tool_path ruby_version=$(get_tool_version ruby) - tool_path="$(create_versioned_tool_path)/$(get_ruby_minor_version "${ruby_version}")" + tool_path="$(create_versioned_tool_path)/${ruby_version}" mkdir -p "${tool_path}" - if [[ $(restore_folder_from_cache "${tool_path}" "${TOOL_NAME}/${TOOL_VERSION}") -ne 0 ]]; then + if [[ $(restore_folder_from_cache "${tool_path}" "${TOOL_NAME}/${TOOL_VERSION}/${ruby_version}") -ne 0 ]]; then # restore from cache not possible # either not in cache or error, install @@ -48,7 +39,7 @@ function install_tool() { # TODO: clear gem cache # store in cache - cache_folder "${tool_path}" "${TOOL_NAME}/${TOOL_VERSION}" + cache_folder "${tool_path}" "${TOOL_NAME}/${TOOL_VERSION}/${ruby_version}" fi } diff --git a/test/Dockerfile.jammy b/test/Dockerfile.jammy index 98452929c7..34c5a25827 100644 --- a/test/Dockerfile.jammy +++ b/test/Dockerfile.jammy @@ -36,13 +36,13 @@ FROM build as test RUN install-tool bazelisk v1.19.0 # renovate: datasource=npm -RUN install-tool bun 1.0.25 +RUN install-tool bun 1.0.26 # renovate: datasource=docker RUN install-tool dart 2.19.6 # renovate: datasource=github-releases packageName=moby/moby -RUN install-tool docker v25.0.2 +RUN install-tool docker v25.0.3 # renovate: datasource=dotnet packageName=dotnet-sdk RUN install-tool dotnet 8.0.101 @@ -51,7 +51,7 @@ RUN install-tool dotnet 8.0.101 RUN install-tool flutter 3.16.9 # renovate: datasource=github-releases packageName=fluxcd/flux2 -RUN install-tool flux v2.2.2 +RUN install-tool flux v2.2.3 # renovate: datasource=github-releases packageName=git-lfs/git-lfs RUN install-tool git-lfs v3.4.1 @@ -60,7 +60,7 @@ RUN install-tool git-lfs v3.4.1 RUN install-tool gleam 0.34.1 # renovate: datasource=docker versioning=docker -RUN install-tool golang 1.21.6 +RUN install-tool golang 1.22.0 # renovate: datasource=github-releases packageName=helm/helm RUN install-tool helm v3.14.0 @@ -78,13 +78,13 @@ RUN install-tool nix 2.20.1 RUN install-tool powershell v7.4.1 # renovate: datasource=docker versioning=docker -RUN install-tool rust 1.75.0 +RUN install-tool rust 1.76.0 # renovate: datasource=docker versioning=docker RUN install-tool swift 5.9.2 # renovate: datasource=docker packageName=hashicorp/terraform versioning=docker -RUN install-tool terraform 1.7.2 +RUN install-tool terraform 1.7.3 # renovate: datasource=github-releases packageName=jsonnet-bundler/jsonnet-bundler RUN install-tool jb v0.5.1 @@ -100,7 +100,7 @@ FROM build as test-erlang # renovate: datasource=github-releases packageName=containerbase/erlang-prebuild versioning=docker RUN install-tool erlang 26.2.1.0 # renovate: datasource=docker versioning=docker -RUN install-tool elixir 1.16.0 +RUN install-tool elixir 1.16.1 #-------------------------------------- # Image: test-java @@ -132,7 +132,7 @@ FROM build as test-php # renovate: datasource=github-releases packageName=containerbase/php-prebuild RUN install-tool php 8.3.2 # renovate: datasource=github-releases packageName=composer/composer -RUN install-tool composer 2.6.6 +RUN install-tool composer 2.7.1 #-------------------------------------- # Image: test-python @@ -140,7 +140,7 @@ RUN install-tool composer 2.6.6 FROM build as test-python # renovate: datasource=github-releases packageName=containerbase/python-prebuild -RUN install-tool python 3.12.1 +RUN install-tool python 3.12.2 # renovate: datasource=pypi RUN install-tool pipenv 2023.12.1 # renovate: datasource=pypi @@ -158,9 +158,9 @@ FROM build as test-ruby # renovate: datasource=github-releases packageName=containerbase/ruby-prebuild versioning=ruby RUN install-tool ruby 3.2.3 # renovate: datasource=rubygems versioning=ruby -RUN install-tool bundler 2.5.5 +RUN install-tool bundler 2.5.6 # renovate: datasource=rubygems versioning=ruby -RUN install-tool cocoapods 1.15.0 +RUN install-tool cocoapods 1.15.2 #-------------------------------------- # Image: final diff --git a/test/erlang/Dockerfile b/test/erlang/Dockerfile index f225460929..73f224603c 100644 --- a/test/erlang/Dockerfile +++ b/test/erlang/Dockerfile @@ -39,7 +39,7 @@ FROM base as testa RUN install-tool erlang 26.2.1.0 # renovate: datasource=docker versioning=docker -RUN install-tool elixir 1.16.0 +RUN install-tool elixir 1.16.1 USER 1001 @@ -62,7 +62,7 @@ USER 1001 RUN install-tool erlang 24.3.4.15 # renovate: datasource=docker versioning=docker -RUN install-tool elixir 1.16.0 +RUN install-tool elixir 1.16.1 RUN set -ex; \ diff --git a/test/erlang/Dockerfile.arm64 b/test/erlang/Dockerfile.arm64 index 0b3e02c261..890597f46d 100644 --- a/test/erlang/Dockerfile.arm64 +++ b/test/erlang/Dockerfile.arm64 @@ -33,7 +33,7 @@ RUN install-tool erlang 26.2.1.0 FROM test-erlang as test-elixir # renovate: datasource=docker versioning=docker -RUN install-tool elixir 1.16.0 +RUN install-tool elixir 1.16.1 #-------------------------------------- # Image: final diff --git a/test/flux/Dockerfile b/test/flux/Dockerfile index da4137b7cf..220f6147b5 100644 --- a/test/flux/Dockerfile +++ b/test/flux/Dockerfile @@ -19,7 +19,7 @@ COPY dist/cli/containerbase-cli-${TARGETARCH} /usr/local/containerbase/bin/conta RUN install-containerbase # renovate: datasource=github-releases depName=flux packageName=fluxcd/flux2 -ARG FLUX_VERSION=v2.2.2 +ARG FLUX_VERSION=v2.2.3 USER 1000 diff --git a/test/flux/Dockerfile.arm64 b/test/flux/Dockerfile.arm64 index 176e240934..09f01c51c3 100644 --- a/test/flux/Dockerfile.arm64 +++ b/test/flux/Dockerfile.arm64 @@ -25,7 +25,7 @@ RUN install-containerbase FROM base as test-flux # renovate: datasource=github-releases packageName=fluxcd/flux2 -RUN install-tool flux v2.2.2 +RUN install-tool flux v2.2.3 #-------------------------------------- # Image: final diff --git a/test/golang/Dockerfile b/test/golang/Dockerfile index fde186bc6c..06a7c45670 100644 --- a/test/golang/Dockerfile +++ b/test/golang/Dockerfile @@ -31,7 +31,7 @@ WORKDIR /test FROM base as testa # renovate: datasource=docker versioning=docker -RUN install-tool golang 1.21.6 +RUN install-tool golang 1.22.0 USER 1000 @@ -79,7 +79,7 @@ RUN prepare-tool golang USER 1000 # renovate: datasource=docker versioning=docker -RUN install-tool golang 1.21.6 +RUN install-tool golang 1.22.0 RUN set -ex; cd a; go get -d ./...; cat go.sum; go mod tidy; cat go.sum diff --git a/test/golang/Dockerfile.arm64 b/test/golang/Dockerfile.arm64 index 427f5456b9..958464d13f 100644 --- a/test/golang/Dockerfile.arm64 +++ b/test/golang/Dockerfile.arm64 @@ -29,7 +29,7 @@ RUN install-tool git v2.43.0 FROM base as test-golang # renovate: datasource=docker versioning=docker -RUN install-tool golang 1.21.6 +RUN install-tool golang 1.22.0 #-------------------------------------- # Image: final diff --git a/test/latest/Dockerfile b/test/latest/Dockerfile index 60fde9c14e..00e1ebbc34 100644 --- a/test/latest/Dockerfile +++ b/test/latest/Dockerfile @@ -62,7 +62,7 @@ RUN set -ex; [ $(stat --format '%u' "/usr/local/bin/php") -eq ${USER_ID} ] RUN install-tool powershell v7.4.1 # renovate: datasource=github-releases depName=python packageName=containerbase/python-prebuild -ARG PYTHON_VERSION=3.12.1 +ARG PYTHON_VERSION=3.12.2 RUN install-tool python RUN set -ex; [ $(stat --format '%u' "/usr/local/bin/python") -eq ${USER_ID} ] @@ -141,7 +141,7 @@ SHELL ["/bin/sh", "-c"] RUN set -ex; id | grep "uid=${USER_ID}(${USER_NAME}) gid=${PRIMARY_GROUP_ID}(${USER_NAME}) groups=${USER_ID}(${USER_NAME}),0(root)" # renovate: datasource=docker packageName=hashicorp/terraform versioning=docker -RUN install-tool terraform 1.7.2 +RUN install-tool terraform 1.7.3 WORKDIR /tmp RUN mkdir $HOME/.tf-cache && TF_PLUGIN_CACHE_DIR=$HOME/.tf-cache terraform init @@ -164,7 +164,7 @@ RUN set -ex; id; id | grep "uid=${USER_ID}(${USER_NAME}) gid=0(root) groups=0(ro ARG IGNORED_TOOLS=powershell,node # renovate: datasource=github-releases packageName=fluxcd/flux2 -RUN install-tool flux v2.2.2 +RUN install-tool flux v2.2.3 # renovate: datasource=github-releases packageName=git-lfs/git-lfs RUN install-tool git-lfs v3.4.1 @@ -176,7 +176,7 @@ RUN install-tool powershell v7.4.1 RUN install-tool node v20.11.0 # renovate: datasource=github-releases packageName=moby/moby -RUN install-tool docker v25.0.2 +RUN install-tool docker v25.0.3 #-------------------------------------- # test: bin path has 777 @@ -198,7 +198,7 @@ FROM base as teste RUN install-tool bazelisk v1.19.0 # renovate: datasource=npm -RUN install-tool bun 1.0.25 +RUN install-tool bun 1.0.26 # renovate: datasource=github-releases packageName=gleam-lang/gleam RUN install-tool gleam 0.34.1 diff --git a/test/latest/Dockerfile.arm64 b/test/latest/Dockerfile.arm64 index 0377c1adca..d4c0a342ea 100644 --- a/test/latest/Dockerfile.arm64 +++ b/test/latest/Dockerfile.arm64 @@ -33,7 +33,7 @@ RUN install-tool bazelisk v1.19.0 FROM base as test-bun # renovate: datasource=npm -RUN install-tool bun 1.0.25 +RUN install-tool bun 1.0.26 #-------------------------------------- # Image: gleam @@ -49,7 +49,7 @@ RUN install-tool gleam 0.34.1 FROM base as test-docker # renovate: datasource=github-releases packageName=moby/moby -RUN install-tool docker v25.0.2 +RUN install-tool docker v25.0.3 #-------------------------------------- # Image: git @@ -89,7 +89,7 @@ RUN install-tool kustomize 5.3.0 FROM base as test-terraform # renovate: datasource=docker packageName=hashicorp/terraform versioning=docker -RUN install-tool terraform 1.7.2 +RUN install-tool terraform 1.7.3 #-------------------------------------- # Image: vendir diff --git a/test/node/Dockerfile b/test/node/Dockerfile index 6866a5f78a..5cfe3543ed 100644 --- a/test/node/Dockerfile +++ b/test/node/Dockerfile @@ -328,8 +328,9 @@ RUN npm --version | grep "${NPM_VERSION}" # TODO: use bats test RUN set -ex; \ - [ -r /opt/containerbase/tools/npm/${NPM_VERSION}/node_modules/npm/node_modules/node-gyp/package.json ] || { echo "missing file"; exit 1; }; \ - [ "$(cat /opt/containerbase/tools/npm/${NPM_VERSION}/node_modules/npm/node_modules/node-gyp/package.json | jq -r .version)" != "5.1.0" ] \ + export NODE_VERSION=$(cat /opt/containerbase/versions/node); \ + [ -r /opt/containerbase/tools/npm/${NPM_VERSION}/${NODE_VERSION}/node_modules/npm/node_modules/node-gyp/package.json ] || { echo "missing file"; exit 1; }; \ + [ "$(cat /opt/containerbase/tools/npm/${NPM_VERSION}/${NODE_VERSION}/node_modules/npm/node_modules/node-gyp/package.json | jq -r .version)" != "5.1.0" ] \ && echo node-gyp works || { echo "node-gyp failure"; exit 1; }; #-------------------------------------- @@ -481,13 +482,14 @@ RUN install-tool yarn RUN install-npm del-cli # renovate: datasource=npm depName=renovate -ARG RENOVATE_VERSION=37.172.2 +ARG RENOVATE_VERSION=37.183.0 RUN install-tool renovate RUN set -ex; \ renovate --version; \ renovate-config-validator; \ - ln -sf /opt/containerbase/tools/renovate/${RENOVATE_VERSION}/node_modules ./node_modules; \ + export NODE_VERSION=$(cat /opt/containerbase/versions/node); \ + ln -sf /opt/containerbase/tools/renovate/${RENOVATE_VERSION}/${NODE_VERSION}/node_modules ./node_modules; \ node -e "new require('re2')('.*').exec('test'); console.log('re2 usable')"; \ true diff --git a/test/node/Dockerfile.arm64 b/test/node/Dockerfile.arm64 index 0273d85745..f8c0f6b615 100644 --- a/test/node/Dockerfile.arm64 +++ b/test/node/Dockerfile.arm64 @@ -50,7 +50,7 @@ RUN install-tool yarn 1.22.21 FROM test-node as test-renovate # renovate: datasource=npm -RUN install-tool renovate 37.172.2 +RUN install-tool renovate 37.183.0 # ARG RE2_DOWNLOAD_MIRROR=https://github.com/containerbase/node-re2-prebuild/releases/download RE2_DOWNLOAD_SKIP_PATH=1 # # renovate: datasource=npm diff --git a/test/php/Dockerfile b/test/php/Dockerfile index 2703159307..ee91da3508 100644 --- a/test/php/Dockerfile +++ b/test/php/Dockerfile @@ -111,7 +111,7 @@ RUN install-tool php 8.3.2 # renovate: datasource=github-releases packageName=composer/composer -RUN install-tool composer 2.6.6 +RUN install-tool composer 2.7.1 RUN install-tool composer latest @@ -154,7 +154,7 @@ RUN install-tool php 8.3.2 RUN install-tool composer latest # renovate: datasource=github-releases packageName=composer/composer -RUN install-tool composer 2.6.6 +RUN install-tool composer 2.7.1 RUN set -ex; \ diff --git a/test/php/Dockerfile.arm64 b/test/php/Dockerfile.arm64 index b101188d53..537e073ce8 100644 --- a/test/php/Dockerfile.arm64 +++ b/test/php/Dockerfile.arm64 @@ -32,7 +32,7 @@ RUN install-tool php 8.3.2 FROM test-php as test-composer # renovate: datasource=github-releases packageName=composer/composer -RUN install-tool composer 2.6.6 +RUN install-tool composer 2.7.1 #-------------------------------------- # Image: final diff --git a/test/python/Dockerfile b/test/python/Dockerfile index b043c1df57..898dc988ed 100644 --- a/test/python/Dockerfile +++ b/test/python/Dockerfile @@ -38,7 +38,7 @@ FROM base as build # Python # renovate: datasource=github-releases packageName=containerbase/python-prebuild -RUN install-tool python 3.12.1 +RUN install-tool python 3.12.2 #-------------------------------------- # build-rootless @@ -50,7 +50,7 @@ RUN prepare-tool python USER 1000 # renovate: datasource=github-releases packageName=containerbase/python-prebuild -RUN install-tool python 3.12.1 +RUN install-tool python 3.12.2 #-------------------------------------- # build: pipenv @@ -79,7 +79,7 @@ FROM build as test-poetry-a # try install again, sould skip # renovate: datasource=github-releases packageName=containerbase/python-prebuild -RUN install-tool python 3.12.1 +RUN install-tool python 3.12.2 # renovate: datasource=pypi RUN install-tool poetry 1.7.1 @@ -190,7 +190,7 @@ RUN set -ex \ # renovate: datasource=pypi -RUN install-tool checkov 3.2.7 +RUN install-tool checkov 3.2.20 #-------------------------------------- # test pipenv-b: pipenv (multiple python) @@ -204,7 +204,7 @@ RUN install-tool python 3.8.13 # make as latest # renovate: datasource=github-releases packageName=containerbase/python-prebuild -RUN install-tool python 3.12.1 +RUN install-tool python 3.12.2 # renovate: datasource=pypi RUN install-tool pipenv 2023.12.1 diff --git a/test/python/Dockerfile.arm64 b/test/python/Dockerfile.arm64 index 28d2e6bd89..8574cffc75 100644 --- a/test/python/Dockerfile.arm64 +++ b/test/python/Dockerfile.arm64 @@ -25,7 +25,7 @@ RUN install-containerbase FROM base as test-python # renovate: datasource=github-releases packageName=containerbase/python-prebuild -RUN install-tool python 3.12.1 +RUN install-tool python 3.12.2 #-------------------------------------- # Image: checkov @@ -33,7 +33,7 @@ RUN install-tool python 3.12.1 FROM test-python as test-checkov # renovate: datasource=pypi -RUN install-tool checkov 3.2.7 +RUN install-tool checkov 3.2.20 #-------------------------------------- # Image: hashin diff --git a/test/ruby/Dockerfile b/test/ruby/Dockerfile index 3dc4703c51..04604ac6fc 100644 --- a/test/ruby/Dockerfile +++ b/test/ruby/Dockerfile @@ -50,7 +50,7 @@ RUN ruby --version RUN gem env # renovate: datasource=rubygems depName=bundler -ENV BUNDLER_VERSION=2.5.5 +ENV BUNDLER_VERSION=2.5.6 RUN gem install bundler -v $BUNDLER_VERSION RUN bundle env @@ -92,7 +92,7 @@ FROM build as test-bundler-c USER 1000 # renovate: datasource=rubygems depName=bundler -ENV BUNDLER_VERSION=2.5.5 +ENV BUNDLER_VERSION=2.5.6 RUN install-tool bundler RUN set -ex; \ @@ -113,7 +113,7 @@ RUN set -ex; \ FROM build as test-bundler-d # renovate: datasource=rubygems depName=bundler -ENV BUNDLER_VERSION=2.5.5 +ENV BUNDLER_VERSION=2.5.6 RUN install-tool bundler RUN set -ex; ls -la /usr/local/bin/; [ $(stat --format '%u' "/usr/local/bin/bundler") -eq 1000 ] @@ -124,7 +124,7 @@ USER 1000 RUN install-tool ruby 3.1.0 # renovate: datasource=rubygems depName=bundler -ENV BUNDLER_VERSION=2.5.5 +ENV BUNDLER_VERSION=2.5.6 RUN install-tool bundler @@ -136,7 +136,7 @@ FROM build as test-cocoapods-a USER 1000 # renovate: datasource=rubygems -RUN install-tool cocoapods 1.15.0 +RUN install-tool cocoapods 1.15.2 RUN pod env diff --git a/test/ruby/Dockerfile.arm64 b/test/ruby/Dockerfile.arm64 index 1394710a64..f00c41d5c5 100644 --- a/test/ruby/Dockerfile.arm64 +++ b/test/ruby/Dockerfile.arm64 @@ -33,7 +33,7 @@ RUN install-tool ruby 3.2.3 FROM test-ruby as test-bundler # renovate: datasource=rubygems versioning=ruby -RUN install-tool bundler 2.5.5 +RUN install-tool bundler 2.5.6 #-------------------------------------- # Image: cocoapods @@ -45,7 +45,7 @@ FROM test-ruby as test-cocoapods RUN install-tool git v2.43.0 # renovate: datasource=rubygems versioning=ruby -RUN install-tool cocoapods 1.15.0 +RUN install-tool cocoapods 1.15.2 #-------------------------------------- # Image: final diff --git a/test/rust/Dockerfile b/test/rust/Dockerfile index 70fd82c500..8ba4e0a9d5 100644 --- a/test/rust/Dockerfile +++ b/test/rust/Dockerfile @@ -29,10 +29,10 @@ RUN prepare-tool rust FROM base as build # renovate: datasource=docker versioning=docker -RUN install-tool rust 1.75.0 +RUN install-tool rust 1.76.0 # renovate: datasource=docker versioning=docker -RUN install-tool rust 1.75.0 +RUN install-tool rust 1.76.0 USER 1000 @@ -59,7 +59,7 @@ FROM base as testb USER 1000 # renovate: datasource=docker versioning=docker -RUN install-tool rust 1.75.0 +RUN install-tool rust 1.76.0 RUN set -ex; \ cd a; \ diff --git a/test/rust/Dockerfile.arm64 b/test/rust/Dockerfile.arm64 index bb48ba7ae5..e59882b27a 100644 --- a/test/rust/Dockerfile.arm64 +++ b/test/rust/Dockerfile.arm64 @@ -25,7 +25,7 @@ RUN install-containerbase FROM base as test-rust # renovate: datasource=docker versioning=docker -RUN install-tool rust 1.75.0 +RUN install-tool rust 1.76.0 #-------------------------------------- # Image: final diff --git a/tsconfig.json b/tsconfig.json index 765f55af35..f7a0b8a5ac 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,7 @@ { "extends": [ "@tsconfig/strictest/tsconfig.json", - "@tsconfig/node20/tsconfig.json", + "@tsconfig/node20/tsconfig.json" ], "compilerOptions": { "baseUrl": ".", @@ -15,8 +15,8 @@ "module": "ES2022", "moduleResolution": "Bundler", "paths": { - "~test/*": ["./test/*"], - }, + "~test/*": ["./test/*"] + } }, - "exclude": ["node_modules", "bin", "dist", "coverage", "html"], + "exclude": ["node_modules", "bin", "dist", "coverage", "html"] }