From cdbd6a6cd6b275b460636333f1b1c46cbc0dea6f Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 12 Mar 2025 15:37:01 -0400 Subject: [PATCH 1/5] feat: bumped to bingo@0.5.8 with serializable requests --- package.json | 10 +- pnpm-lock.yaml | 1581 ++++++++--------- src/base.test.ts | 1 + src/base.ts | 16 + .../blockRepositoryBranchRuleset.test.ts | 284 ++- src/blocks/blockRepositoryBranchRuleset.ts | 84 +- src/blocks/blockRepositoryLabels.ts | 62 +- src/blocks/blockRepositorySettings.ts | 43 +- src/blocks/outcomeLabels.ts | 5 +- src/options/getExistingLabels.test.ts | 61 + src/options/getExistingLabels.ts | 38 + 11 files changed, 1257 insertions(+), 928 deletions(-) create mode 100644 src/options/getExistingLabels.test.ts create mode 100644 src/options/getExistingLabels.ts diff --git a/package.json b/package.json index c30fe10a8..6309eaf48 100644 --- a/package.json +++ b/package.json @@ -37,13 +37,14 @@ "*": "prettier --ignore-unknown --write" }, "dependencies": { - "bingo": "^0.5.7", + "bingo": "^0.5.8", "bingo-fs": "^0.5.4", - "bingo-stratum": "^0.5.4", + "bingo-stratum": "^0.5.5", "cspell-populate-words": "^0.3.0", "execa": "^9.5.2", "git-remote-origin-url": "^4.0.0", "git-url-parse": "^16.0.1", + "github-default-labels": "^0.1.0", "html-to-text": "^9.0.5", "image-size": "^1.2.0", "input-from-file": "^0.5.4", @@ -58,7 +59,7 @@ "parse-package-name": "^1.0.0", "remove-dependencies": "^0.1.0", "remove-undefined-objects": "^6.0.0", - "set-github-repository-labels": "^0.1.0", + "set-github-repository-labels": "^0.2.0", "sort-package-json": "^3.0.0", "title-case": "^4.3.2", "zod": "^3.24.2" @@ -78,8 +79,9 @@ "@vitest/coverage-v8": "3.0.7", "@vitest/eslint-plugin": "1.1.36", "all-contributors-cli": "6.26.1", + "bingo-requests": "^0.5.4", "bingo-stratum-testers": "0.5.6", - "bingo-testers": "0.5.4", + "bingo-testers": "^0.5.6", "console-fail-test": "0.5.0", "cspell": "8.17.5", "eslint": "9.21.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ff596300a..1e00d7b41 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,14 +9,14 @@ importers: .: dependencies: bingo: - specifier: ^0.5.7 - version: 0.5.7 + specifier: ^0.5.8 + version: 0.5.8 bingo-fs: specifier: ^0.5.4 version: 0.5.4 bingo-stratum: - specifier: ^0.5.4 - version: 0.5.4(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.7)(zod@3.24.2) + specifier: ^0.5.5 + version: 0.5.5(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.8)(zod@3.24.2) cspell-populate-words: specifier: ^0.3.0 version: 0.3.0 @@ -29,6 +29,9 @@ importers: git-url-parse: specifier: ^16.0.1 version: 16.0.1 + github-default-labels: + specifier: ^0.1.0 + version: 0.1.0 html-to-text: specifier: ^9.0.5 version: 9.0.5 @@ -37,13 +40,13 @@ importers: version: 1.2.0 input-from-file: specifier: ^0.5.4 - version: 0.5.4(bingo@0.5.7) + version: 0.5.4(bingo@0.5.8) input-from-file-json: specifier: ^0.5.4 - version: 0.5.4(bingo@0.5.7)(zod@3.24.2) + version: 0.5.4(bingo@0.5.8)(zod@3.24.2) input-from-script: specifier: ^0.5.4 - version: 0.5.4(bingo@0.5.7) + version: 0.5.4(bingo@0.5.8) js-yaml: specifier: ^4.1.0 version: 4.1.0 @@ -72,8 +75,8 @@ importers: specifier: ^6.0.0 version: 6.0.0 set-github-repository-labels: - specifier: ^0.1.0 - version: 0.1.0 + specifier: ^0.2.0 + version: 0.2.0 sort-package-json: specifier: ^3.0.0 version: 3.0.0 @@ -95,7 +98,7 @@ importers: version: 0.5.2(prettier@3.5.3) '@release-it/conventional-changelog': specifier: 10.0.0 - version: 10.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0)(release-it@18.1.2(@types/node@22.13.9)(typescript@5.8.2)) + version: 10.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0)(release-it@18.1.2(@types/node@22.13.9)(typescript@5.8.2)) '@types/eslint-plugin-markdown': specifier: 2.0.2 version: 2.0.2 @@ -119,19 +122,22 @@ importers: version: 2.0.3 '@vitest/coverage-v8': specifier: 3.0.7 - version: 3.0.7(vitest@3.0.7(@types/debug@4.1.12)(@types/node@22.13.9)) + version: 3.0.7(vitest@3.0.7(@types/debug@4.1.12)(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0)) '@vitest/eslint-plugin': specifier: 1.1.36 - version: 1.1.36(@typescript-eslint/utils@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)(vitest@3.0.7(@types/debug@4.1.12)(@types/node@22.13.9)) + version: 1.1.36(@typescript-eslint/utils@8.26.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)(vitest@3.0.7(@types/debug@4.1.12)(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0)) all-contributors-cli: specifier: 6.26.1 version: 6.26.1 + bingo-requests: + specifier: ^0.5.4 + version: 0.5.4 bingo-stratum-testers: specifier: 0.5.6 - version: 0.5.6(bingo-fs@0.5.4)(bingo-stratum@0.5.4(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.7)(zod@3.24.2))(bingo-systems@0.5.4)(bingo-testers@0.5.4(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.7))(bingo@0.5.7) + version: 0.5.6(bingo-fs@0.5.4)(bingo-stratum@0.5.5(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.8)(zod@3.24.2))(bingo-systems@0.5.4)(bingo-testers@0.5.6(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.8))(bingo@0.5.8) bingo-testers: - specifier: 0.5.4 - version: 0.5.4(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.7) + specifier: ^0.5.6 + version: 0.5.6(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.8) console-fail-test: specifier: 0.5.0 version: 0.5.0 @@ -200,7 +206,7 @@ importers: version: 0.3.0 tsup: specifier: 8.4.0 - version: 8.4.0(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.8.2)(yaml@2.7.0) + version: 8.4.0(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.2)(typescript@5.8.2)(yaml@2.7.0) typescript: specifier: 5.8.2 version: 5.8.2 @@ -209,7 +215,7 @@ importers: version: 8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2) vitest: specifier: 3.0.7 - version: 3.0.7(@types/debug@4.1.12)(@types/node@22.13.9) + version: 3.0.7(@types/debug@4.1.12)(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0) packages: @@ -224,8 +230,8 @@ packages: resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} - '@babel/generator@7.26.5': - resolution: {integrity: sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==} + '@babel/generator@7.26.10': + resolution: {integrity: sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==} engines: {node: '>=6.9.0'} '@babel/helper-string-parser@7.25.9': @@ -236,25 +242,25 @@ packages: resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} - '@babel/parser@7.26.5': - resolution: {integrity: sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==} + '@babel/parser@7.26.10': + resolution: {integrity: sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/runtime@7.26.0': - resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + '@babel/runtime@7.26.10': + resolution: {integrity: sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==} engines: {node: '>=6.9.0'} - '@babel/template@7.25.9': - resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + '@babel/template@7.26.9': + resolution: {integrity: sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.26.5': - resolution: {integrity: sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==} + '@babel/traverse@7.26.10': + resolution: {integrity: sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A==} engines: {node: '>=6.9.0'} - '@babel/types@7.26.5': - resolution: {integrity: sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==} + '@babel/types@7.26.10': + resolution: {integrity: sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@1.0.2': @@ -473,8 +479,8 @@ packages: '@cspell/dict-swift@2.0.5': resolution: {integrity: sha512-3lGzDCwUmnrfckv3Q4eVSW3sK3cHqqHlPprFJZD4nAqt23ot7fic5ALR7J4joHpvDz36nHX34TgcbZNNZOC/JA==} - '@cspell/dict-terraform@1.1.0': - resolution: {integrity: sha512-G55pcUUxeXAhejstmD35B47SkFd4uqCQimc+CMgq8Nx0dr03guL2iMsz8faRWQGkCnGimX8S91rbOhDv9p/heg==} + '@cspell/dict-terraform@1.1.1': + resolution: {integrity: sha512-07KFDwCU7EnKl4hOZLsLKlj6Zceq/IsQ3LRWUyIjvGFfZHdoGtFdCp3ZPVgnFaAcd/DKv+WVkrOzUBSYqHopQQ==} '@cspell/dict-typescript@3.2.0': resolution: {integrity: sha512-Pk3zNePLT8qg51l0M4g1ISowYAEGxTuNfZlgkU5SvHa9Cu7x/BWoyYq9Fvc3kAyoisCjRPyvWF4uRYrPitPDFw==} @@ -502,332 +508,224 @@ packages: resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==} engines: {node: '>=16'} - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.23.1': resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.25.0': - resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==} + '@esbuild/aix-ppc64@0.25.1': + resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.23.1': resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.25.0': - resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==} + '@esbuild/android-arm64@0.25.1': + resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.23.1': resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-arm@0.25.0': - resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==} + '@esbuild/android-arm@0.25.1': + resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.23.1': resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/android-x64@0.25.0': - resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==} + '@esbuild/android-x64@0.25.1': + resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.23.1': resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.25.0': - resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==} + '@esbuild/darwin-arm64@0.25.1': + resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.23.1': resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.25.0': - resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==} + '@esbuild/darwin-x64@0.25.1': + resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.23.1': resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.25.0': - resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==} + '@esbuild/freebsd-arm64@0.25.1': + resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.23.1': resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.0': - resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==} + '@esbuild/freebsd-x64@0.25.1': + resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.23.1': resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.25.0': - resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==} + '@esbuild/linux-arm64@0.25.1': + resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.23.1': resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.25.0': - resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==} + '@esbuild/linux-arm@0.25.1': + resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.23.1': resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.25.0': - resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==} + '@esbuild/linux-ia32@0.25.1': + resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.23.1': resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.25.0': - resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==} + '@esbuild/linux-loong64@0.25.1': + resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.23.1': resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.25.0': - resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==} + '@esbuild/linux-mips64el@0.25.1': + resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.23.1': resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.25.0': - resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==} + '@esbuild/linux-ppc64@0.25.1': + resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.23.1': resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.25.0': - resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==} + '@esbuild/linux-riscv64@0.25.1': + resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.23.1': resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.25.0': - resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==} + '@esbuild/linux-s390x@0.25.1': + resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.23.1': resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.25.0': - resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==} + '@esbuild/linux-x64@0.25.1': + resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.0': - resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==} + '@esbuild/netbsd-arm64@0.25.1': + resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.23.1': resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.0': - resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==} + '@esbuild/netbsd-x64@0.25.1': + resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -838,98 +736,68 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.25.0': - resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==} + '@esbuild/openbsd-arm64@0.25.1': + resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.23.1': resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.0': - resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==} + '@esbuild/openbsd-x64@0.25.1': + resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.23.1': resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.25.0': - resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==} + '@esbuild/sunos-x64@0.25.1': + resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.23.1': resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.25.0': - resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==} + '@esbuild/win32-arm64@0.25.1': + resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.23.1': resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.25.0': - resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==} + '@esbuild/win32-ia32@0.25.1': + resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.23.1': resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} engines: {node: '>=18'} cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.25.0': - resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==} + '@esbuild/win32-x64@0.25.1': + resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -940,8 +808,8 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 - '@eslint-community/eslint-utils@4.4.1': - resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} + '@eslint-community/eslint-utils@4.5.0': + resolution: {integrity: sha512-RoV8Xs9eNwiDvhv7M+xcL4PWyRyIXRY/FLp3buU4h1EYfdF7unWUy3dOjPqb3C7rMUewIcqwW850PgS8h1o1yg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 @@ -1001,85 +869,126 @@ packages: '@iarna/toml@2.2.5': resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} - '@inquirer/checkbox@4.0.6': - resolution: {integrity: sha512-PgP35JfmGjHU0LSXOyRew0zHuA9N6OJwOlos1fZ20b7j8ISeAdib3L+n0jIxBtX958UeEpte6xhG/gxJ5iUqMw==} + '@inquirer/checkbox@4.1.3': + resolution: {integrity: sha512-KU1MGwf24iABJjGESxhyj+/rlQYSRoCfcuHDEHXfZ1DENmbuSRfyrUb+LLjHoee5TNOFKwaFxDXc5/zRwJUPMQ==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@inquirer/confirm@5.1.3': - resolution: {integrity: sha512-fuF9laMmHoOgWapF9h9hv6opA5WvmGFHsTYGCmuFxcghIhEhb3dN0CdQR4BUMqa2H506NCj8cGX4jwMsE4t6dA==} + '@inquirer/confirm@5.1.7': + resolution: {integrity: sha512-Xrfbrw9eSiHb+GsesO8TQIeHSMTP0xyvTCeeYevgZ4sKW+iz9w/47bgfG9b0niQm+xaLY2EWPBINUPldLwvYiw==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@inquirer/core@10.1.4': - resolution: {integrity: sha512-5y4/PUJVnRb4bwWY67KLdebWOhOc7xj5IP2J80oWXa64mVag24rwQ1VAdnj7/eDY/odhguW0zQ1Mp1pj6fO/2w==} + '@inquirer/core@10.1.8': + resolution: {integrity: sha512-HpAqR8y715zPpM9e/9Q+N88bnGwqqL8ePgZ0SMv/s3673JLMv3bIkoivGmjPqXlEgisUksSXibweQccUwEx4qQ==} engines: {node: '>=18'} + peerDependencies: + '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@inquirer/editor@4.2.3': - resolution: {integrity: sha512-S9KnIOJuTZpb9upeRSBBhoDZv7aSV3pG9TECrBj0f+ZsFwccz886hzKBrChGrXMJwd4NKY+pOA9Vy72uqnd6Eg==} + '@inquirer/editor@4.2.8': + resolution: {integrity: sha512-UkGKbMFlQw5k4ZLjDwEi5z8NIVlP/3DAlLHta0o0pSsdpPThNmPtUL8mvGCHUaQtR+QrxR9yRYNWgKMsHkfIUA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@inquirer/expand@4.0.6': - resolution: {integrity: sha512-TRTfi1mv1GeIZGyi9PQmvAaH65ZlG4/FACq6wSzs7Vvf1z5dnNWsAAXBjWMHt76l+1hUY8teIqJFrWBk5N6gsg==} + '@inquirer/expand@4.0.10': + resolution: {integrity: sha512-leyBouGJ77ggv51Jb/OJmLGGnU2HYc13MZ2iiPNLwe2VgFgZPVqsrRWSa1RAHKyazjOyvSNKLD1B2K7A/iWi1g==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@inquirer/figures@1.0.9': - resolution: {integrity: sha512-BXvGj0ehzrngHTPTDqUoDT3NXL8U0RxUk2zJm2A66RhCEIWdtU1v6GuUqNAgArW4PQ9CinqIWyHdQgdwOj06zQ==} + '@inquirer/figures@1.0.11': + resolution: {integrity: sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==} engines: {node: '>=18'} - '@inquirer/input@4.1.3': - resolution: {integrity: sha512-zeo++6f7hxaEe7OjtMzdGZPHiawsfmCZxWB9X1NpmYgbeoyerIbWemvlBxxl+sQIlHC0WuSAG19ibMq3gbhaqQ==} + '@inquirer/input@4.1.7': + resolution: {integrity: sha512-rCQAipJNA14UTH84df/z4jDJ9LZ54H6zzuCAi7WZ0qVqx3CSqLjfXAMd5cpISIxbiHVJCPRB81gZksq6CZsqDg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@inquirer/number@3.0.6': - resolution: {integrity: sha512-xO07lftUHk1rs1gR0KbqB+LJPhkUNkyzV/KhH+937hdkMazmAYHLm1OIrNKpPelppeV1FgWrgFDjdUD8mM+XUg==} + '@inquirer/number@3.0.10': + resolution: {integrity: sha512-GLsdnxzNefjCJUmWyjaAuNklHgDpCTL4RMllAVhVvAzBwRW9g38eZ5tWgzo1lirtSDTpsh593hqXVhxvdrjfwA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@inquirer/password@4.0.6': - resolution: {integrity: sha512-QLF0HmMpHZPPMp10WGXh6F+ZPvzWE7LX6rNoccdktv/Rov0B+0f+eyXkAcgqy5cH9V+WSpbLxu2lo3ysEVK91w==} + '@inquirer/password@4.0.10': + resolution: {integrity: sha512-JC538ujqeYKkFqLoWZ0ILBteIUO2yajBMVEUZSxjl9x6fiEQtM+I5Rca7M2D8edMDbyHLnXifGH1hJZdh8V5rA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@inquirer/prompts@7.2.3': - resolution: {integrity: sha512-hzfnm3uOoDySDXfDNOm9usOuYIaQvTgKp/13l1uJoe6UNY+Zpcn2RYt0jXz3yA+yemGHvDOxVzqWl3S5sQq53Q==} + '@inquirer/prompts@7.3.3': + resolution: {integrity: sha512-QS1AQgJ113iE/nmym03yKZKHvGjVWwkGZT3B1yKrrMG0bJKQg1jUkntFP8aPd2FUQzu/nga7QU2eDpzIP5it0Q==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@inquirer/rawlist@4.0.6': - resolution: {integrity: sha512-QoE4s1SsIPx27FO4L1b1mUjVcoHm1pWE/oCmm4z/Hl+V1Aw5IXl8FYYzGmfXaBT0l/sWr49XmNSiq7kg3Kd/Lg==} + '@inquirer/rawlist@4.0.10': + resolution: {integrity: sha512-vOQbQkmhaCsF2bUmjoyRSZJBz77UnIF/F3ZS2LMgwbgyaG2WgwKHh0WKNj0APDB72WDbZijhW5nObQbk+TnbcA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@inquirer/search@3.0.6': - resolution: {integrity: sha512-eFZ2hiAq0bZcFPuFFBmZEtXU1EarHLigE+ENCtpO+37NHCl4+Yokq1P/d09kUblObaikwfo97w+0FtG/EXl5Ng==} + '@inquirer/search@3.0.10': + resolution: {integrity: sha512-EAVKAz6P1LajZOdoL+R+XC3HJYSU261fbJzO4fCkJJ7UPFcm+nP+gzC+DDZWsb2WK9PQvKsnaKiNKsY8B6dBWQ==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@inquirer/select@4.0.6': - resolution: {integrity: sha512-yANzIiNZ8fhMm4NORm+a74+KFYHmf7BZphSOBovIzYPVLquseTGEkU5l2UTnBOf5k0VLmTgPighNDLE9QtbViQ==} + '@inquirer/select@4.0.10': + resolution: {integrity: sha512-Tg8S9nESnCfISu5tCZSuXpXq0wHuDVimj7xyHstABgR34zcJnLdq/VbjB2mdZvNAMAehYBnNzSjxB06UE8LLAA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true - '@inquirer/type@3.0.2': - resolution: {integrity: sha512-ZhQ4TvhwHZF+lGhQ2O/rsjo80XoZR5/5qhOY3t6FJuX5XBg5Be8YzYTvaUGJnc12AUGI2nr4QSUE4PhKSigx7g==} + '@inquirer/type@3.0.5': + resolution: {integrity: sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' + peerDependenciesMeta: + '@types/node': + optional: true '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} @@ -1131,8 +1040,8 @@ packages: resolution: {integrity: sha512-nIh/M6Kh3ZtOmlY00DaUYB4xeeV6F3/ts1l29iwl3/cfyY/OuCfUx+v08zgx8TKPTifXRcjjqVQ4KB2zOYSbyw==} engines: {node: '>=18.18.0'} - '@octokit/app@15.1.4': - resolution: {integrity: sha512-PM1MqlPAnItjQIKWRmSoJu02+m7Eif4Am3w5C+Ctkw0//QETWMbW2ejBZhcw3aS7wRcFSbS+lH3NoYm614aZVQ==} + '@octokit/app@15.1.5': + resolution: {integrity: sha512-6cxLT9U8x7GGQ7lNWsKtFr4ccg9oLkGvowk373sX9HvX5U37kql5d55SzaQUxPE8PwgX2cqkzDm5NF5aPKevqg==} engines: {node: '>= 18'} '@octokit/auth-app@7.1.5': @@ -1151,8 +1060,8 @@ packages: resolution: {integrity: sha512-zNPByPn9K7TC+OOHKGxU+MxrE9SZAN11UHYEFLsK2NRn3akJN2LHRl85q+Eypr3tuB2GrKx3rfj2phJdkYCvzw==} engines: {node: '>= 18'} - '@octokit/auth-token@5.1.1': - resolution: {integrity: sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==} + '@octokit/auth-token@5.1.2': + resolution: {integrity: sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==} engines: {node: '>= 18'} '@octokit/auth-unauthenticated@6.1.2': @@ -1167,8 +1076,8 @@ packages: resolution: {integrity: sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==} engines: {node: '>= 18'} - '@octokit/graphql@8.1.2': - resolution: {integrity: sha512-bdlj/CJVjpaz06NBpfHhp4kGJaRZfz7AzC+6EwUImRtrwIw8dIgJ63Xg0OzV9pRn3rIzrt5c2sa++BL0JJ8GLw==} + '@octokit/graphql@8.2.1': + resolution: {integrity: sha512-n57hXtOoHrhwTWdvhVkdJHdhTv0JstjDbDRhJfwIRNfFqmSo1DaK/mD2syoNUoLCyqSjBpGAKOG0BuwF392slw==} engines: {node: '>= 18'} '@octokit/oauth-app@7.1.6': @@ -1189,8 +1098,8 @@ packages: '@octokit/openapi-types@24.0.0': resolution: {integrity: sha512-os8hmzrBPC3PDzXq93/9vBcxMvb90yw2SF76ANon+eP1HzVyd+TshkAkMX6bIm3bY5T3uXieQFDibcc35vM9mQ==} - '@octokit/openapi-webhooks-types@9.1.0': - resolution: {integrity: sha512-bO1D2jLdU8qEvqmbWjNxJzDYSFT4wesiYKIKP6f4LaM0XUGtn/0LBv/20hu9YqcnpdX38X5o/xANTMtIAqdwYw==} + '@octokit/openapi-webhooks-types@10.1.1': + resolution: {integrity: sha512-qBfqQVIDQaCFeGCofXieJDwvXcGgDn17+UwZ6WW6lfEvGYGreLFzTiaz9xjet9Us4zDf8iasoW3ixUj/R5lMhA==} '@octokit/plugin-paginate-graphql@5.2.4': resolution: {integrity: sha512-pLZES1jWaOynXKHOqdnwZ5ULeVR6tVVCMm+AUbp0htdcyXDU95WbkYdU4R2ej1wKj5Tu94Mee2Ne0PjPO9cCyA==} @@ -1198,8 +1107,8 @@ packages: peerDependencies: '@octokit/core': '>=6' - '@octokit/plugin-paginate-rest@11.4.2': - resolution: {integrity: sha512-BXJ7XPCTDXFF+wxcg/zscfgw2O/iDPtNSkwwR1W1W5c4Mb3zav/M2XvxQ23nVmKj7jpweB4g8viMeCQdm7LMVA==} + '@octokit/plugin-paginate-rest@11.4.3': + resolution: {integrity: sha512-tBXaAbXkqVJlRoA/zQVe9mUdb8rScmivqtpv3ovsC5xhje/a+NOCivs7eUhWBwCApJVsR4G5HMeaLbq7PxqZGA==} engines: {node: '>= 18'} peerDependencies: '@octokit/core': '>=6' @@ -1247,8 +1156,8 @@ packages: resolution: {integrity: sha512-NGlEHZDseJTCj8TMMFehzwa9g7On4KJMPVHDSrHxCQumL6uSQR8wIkP/qesv52fXqV1BPf4pTxwtS31ldAt9Xg==} engines: {node: '>= 18'} - '@octokit/webhooks@13.6.1': - resolution: {integrity: sha512-vk0jnc5k0/mLMUI4IA9LfSYkLs3OHtfa7B3h4aRG6to912V3wIG8lS/wKwatwYxRkAug4oE8is0ERRI8pzoYTw==} + '@octokit/webhooks@13.7.4': + resolution: {integrity: sha512-f386XyLTieQbgKPKS6ZMlH4dq8eLsxNddwofiKRZCq0bZ2gikoFwMD99K6l1oAwqe/KZNzrEziGicRgnzplplQ==} engines: {node: '>= 18'} '@pkgjs/parseargs@0.11.0': @@ -1282,98 +1191,98 @@ packages: peerDependencies: release-it: ^18.0.0 - '@rollup/rollup-android-arm-eabi@4.34.9': - resolution: {integrity: sha512-qZdlImWXur0CFakn2BJ2znJOdqYZKiedEPEVNTBrpfPjc/YuTGcaYZcdmNFTkUj3DU0ZM/AElcM8Ybww3xVLzA==} + '@rollup/rollup-android-arm-eabi@4.35.0': + resolution: {integrity: sha512-uYQ2WfPaqz5QtVgMxfN6NpLD+no0MYHDBywl7itPYd3K5TjjSghNKmX8ic9S8NU8w81NVhJv/XojcHptRly7qQ==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.34.9': - resolution: {integrity: sha512-4KW7P53h6HtJf5Y608T1ISKvNIYLWRKMvfnG0c44M6In4DQVU58HZFEVhWINDZKp7FZps98G3gxwC1sb0wXUUg==} + '@rollup/rollup-android-arm64@4.35.0': + resolution: {integrity: sha512-FtKddj9XZudurLhdJnBl9fl6BwCJ3ky8riCXjEw3/UIbjmIY58ppWwPEvU3fNu+W7FUsAsB1CdH+7EQE6CXAPA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.34.9': - resolution: {integrity: sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ==} + '@rollup/rollup-darwin-arm64@4.35.0': + resolution: {integrity: sha512-Uk+GjOJR6CY844/q6r5DR/6lkPFOw0hjfOIzVx22THJXMxktXG6CbejseJFznU8vHcEBLpiXKY3/6xc+cBm65Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.34.9': - resolution: {integrity: sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q==} + '@rollup/rollup-darwin-x64@4.35.0': + resolution: {integrity: sha512-3IrHjfAS6Vkp+5bISNQnPogRAW5GAV1n+bNCrDwXmfMHbPl5EhTmWtfmwlJxFRUCBZ+tZ/OxDyU08aF6NI/N5Q==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.34.9': - resolution: {integrity: sha512-2lzjQPJbN5UnHm7bHIUKFMulGTQwdvOkouJDpPysJS+QFBGDJqcfh+CxxtG23Ik/9tEvnebQiylYoazFMAgrYw==} + '@rollup/rollup-freebsd-arm64@4.35.0': + resolution: {integrity: sha512-sxjoD/6F9cDLSELuLNnY0fOrM9WA0KrM0vWm57XhrIMf5FGiN8D0l7fn+bpUeBSU7dCgPV2oX4zHAsAXyHFGcQ==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.34.9': - resolution: {integrity: sha512-SLl0hi2Ah2H7xQYd6Qaiu01kFPzQ+hqvdYSoOtHYg/zCIFs6t8sV95kaoqjzjFwuYQLtOI0RZre/Ke0nPaQV+g==} + '@rollup/rollup-freebsd-x64@4.35.0': + resolution: {integrity: sha512-2mpHCeRuD1u/2kruUiHSsnjWtHjqVbzhBkNVQ1aVD63CcexKVcQGwJ2g5VphOd84GvxfSvnnlEyBtQCE5hxVVw==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.34.9': - resolution: {integrity: sha512-88I+D3TeKItrw+Y/2ud4Tw0+3CxQ2kLgu3QvrogZ0OfkmX/DEppehus7L3TS2Q4lpB+hYyxhkQiYPJ6Mf5/dPg==} + '@rollup/rollup-linux-arm-gnueabihf@4.35.0': + resolution: {integrity: sha512-mrA0v3QMy6ZSvEuLs0dMxcO2LnaCONs1Z73GUDBHWbY8tFFocM6yl7YyMu7rz4zS81NDSqhrUuolyZXGi8TEqg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.34.9': - resolution: {integrity: sha512-3qyfWljSFHi9zH0KgtEPG4cBXHDFhwD8kwg6xLfHQ0IWuH9crp005GfoUUh/6w9/FWGBwEHg3lxK1iHRN1MFlA==} + '@rollup/rollup-linux-arm-musleabihf@4.35.0': + resolution: {integrity: sha512-DnYhhzcvTAKNexIql8pFajr0PiDGrIsBYPRvCKlA5ixSS3uwo/CWNZxB09jhIapEIg945KOzcYEAGGSmTSpk7A==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.34.9': - resolution: {integrity: sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==} + '@rollup/rollup-linux-arm64-gnu@4.35.0': + resolution: {integrity: sha512-uagpnH2M2g2b5iLsCTZ35CL1FgyuzzJQ8L9VtlJ+FckBXroTwNOaD0z0/UF+k5K3aNQjbm8LIVpxykUOQt1m/A==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.34.9': - resolution: {integrity: sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==} + '@rollup/rollup-linux-arm64-musl@4.35.0': + resolution: {integrity: sha512-XQxVOCd6VJeHQA/7YcqyV0/88N6ysSVzRjJ9I9UA/xXpEsjvAgDTgH3wQYz5bmr7SPtVK2TsP2fQ2N9L4ukoUg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.34.9': - resolution: {integrity: sha512-dRAgTfDsn0TE0HI6cmo13hemKpVHOEyeciGtvlBTkpx/F65kTvShtY/EVyZEIfxFkV5JJTuQ9tP5HGBS0hfxIg==} + '@rollup/rollup-linux-loongarch64-gnu@4.35.0': + resolution: {integrity: sha512-5pMT5PzfgwcXEwOaSrqVsz/LvjDZt+vQ8RT/70yhPU06PTuq8WaHhfT1LW+cdD7mW6i/J5/XIkX/1tCAkh1W6g==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.34.9': - resolution: {integrity: sha512-PHcNOAEhkoMSQtMf+rJofwisZqaU8iQ8EaSps58f5HYll9EAY5BSErCZ8qBDMVbq88h4UxaNPlbrKqfWP8RfJA==} + '@rollup/rollup-linux-powerpc64le-gnu@4.35.0': + resolution: {integrity: sha512-c+zkcvbhbXF98f4CtEIP1EBA/lCic5xB0lToneZYvMeKu5Kamq3O8gqrxiYYLzlZH6E3Aq+TSW86E4ay8iD8EA==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.34.9': - resolution: {integrity: sha512-Z2i0Uy5G96KBYKjeQFKbbsB54xFOL5/y1P5wNBsbXB8yE+At3oh0DVMjQVzCJRJSfReiB2tX8T6HUFZ2k8iaKg==} + '@rollup/rollup-linux-riscv64-gnu@4.35.0': + resolution: {integrity: sha512-s91fuAHdOwH/Tad2tzTtPX7UZyytHIRR6V4+2IGlV0Cej5rkG0R61SX4l4y9sh0JBibMiploZx3oHKPnQBKe4g==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.34.9': - resolution: {integrity: sha512-U+5SwTMoeYXoDzJX5dhDTxRltSrIax8KWwfaaYcynuJw8mT33W7oOgz0a+AaXtGuvhzTr2tVKh5UO8GVANTxyQ==} + '@rollup/rollup-linux-s390x-gnu@4.35.0': + resolution: {integrity: sha512-hQRkPQPLYJZYGP+Hj4fR9dDBMIM7zrzJDWFEMPdTnTy95Ljnv0/4w/ixFw3pTBMEuuEuoqtBINYND4M7ujcuQw==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.34.9': - resolution: {integrity: sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==} + '@rollup/rollup-linux-x64-gnu@4.35.0': + resolution: {integrity: sha512-Pim1T8rXOri+0HmV4CdKSGrqcBWX0d1HoPnQ0uw0bdp1aP5SdQVNBy8LjYncvnLgu3fnnCt17xjWGd4cqh8/hA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.34.9': - resolution: {integrity: sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==} + '@rollup/rollup-linux-x64-musl@4.35.0': + resolution: {integrity: sha512-QysqXzYiDvQWfUiTm8XmJNO2zm9yC9P/2Gkrwg2dH9cxotQzunBHYr6jk4SujCTqnfGxduOmQcI7c2ryuW8XVg==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.34.9': - resolution: {integrity: sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==} + '@rollup/rollup-win32-arm64-msvc@4.35.0': + resolution: {integrity: sha512-OUOlGqPkVJCdJETKOCEf1mw848ZyJ5w50/rZ/3IBQVdLfR5jk/6Sr5m3iO2tdPgwo0x7VcncYuOvMhBWZq8ayg==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.34.9': - resolution: {integrity: sha512-KB48mPtaoHy1AwDNkAJfHXvHp24H0ryZog28spEs0V48l3H1fr4i37tiyHsgKZJnCmvxsbATdZGBpbmxTE3a9w==} + '@rollup/rollup-win32-ia32-msvc@4.35.0': + resolution: {integrity: sha512-2/lsgejMrtwQe44glq7AFFHLfJBPafpsTa6JvP2NGef/ifOa4KBoglVf7AKN7EV9o32evBPRqfg96fEHzWo5kw==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.34.9': - resolution: {integrity: sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw==} + '@rollup/rollup-win32-x64-msvc@4.35.0': + resolution: {integrity: sha512-PIQeY5XDkrOysbQblSW7v3l1MDZzkTEzAfTPkj5VAu3FW8fS4ynyLg2sINp0fp3SjZ8xkRYpLqoKcYqAkhU1dw==} cpu: [x64] os: [win32] @@ -1478,6 +1387,10 @@ packages: resolution: {integrity: sha512-E0ntLvsfPqnPwng8b8y4OGuzh/iIOm2z8U3S9zic2TeMLW61u5IH2Q1wu0oSTkfrSzwbDJIB/Lm8O3//8BWMPA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.26.1': + resolution: {integrity: sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/type-utils@8.26.0': resolution: {integrity: sha512-ruk0RNChLKz3zKGn2LwXuVoeBcUMh+jaqzN461uMMdxy5H9epZqIBtYj7UiPXRuOpaALXGbmRuZQhmwHhaS04Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1489,12 +1402,22 @@ packages: resolution: {integrity: sha512-89B1eP3tnpr9A8L6PZlSjBvnJhWXtYfZhECqlBl1D9Lme9mHO6iWlsprBtVenQvY1HMhax1mWOjhtL3fh/u+pA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.26.1': + resolution: {integrity: sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.26.0': resolution: {integrity: sha512-tiJ1Hvy/V/oMVRTbEOIeemA2XoylimlDQ03CgPPNaHYZbpsc78Hmngnt+WXZfJX1pjQ711V7g0H7cSJThGYfPQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/typescript-estree@8.26.1': + resolution: {integrity: sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/utils@8.26.0': resolution: {integrity: sha512-2L2tU3FVwhvU14LndnQCA2frYC8JnPDVKyQtWFPf8IYFMt/ykEN1bPolNhNbCVgOmdzTlWdusCTKA/9nKrf8Ig==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1502,10 +1425,21 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/utils@8.26.1': + resolution: {integrity: sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/visitor-keys@8.26.0': resolution: {integrity: sha512-2z8JQJWAzPdDd51dRQ/oqIJxe99/hoLIqmf8RMCAJQtYDc535W/Jt2+RTP4bP0aKeBG1F65yjIZuczOXCmbWwg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.26.1': + resolution: {integrity: sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@vitest/coverage-v8@3.0.7': resolution: {integrity: sha512-Av8WgBJLTrfLOer0uy3CxjlVuWK4CzcLBndW1Nm2vI+3hZ2ozHututkfc7Blu1u6waeQ7J8gzPK/AsBRnWA5mQ==} peerDependencies: @@ -1545,6 +1479,9 @@ packages: '@vitest/pretty-format@3.0.7': resolution: {integrity: sha512-CiRY0BViD/V8uwuEzz9Yapyao+M9M008/9oMOSQydwbwb+CMokEq3XVaF3XK/VWaOK0Jm9z7ENhybg70Gtxsmg==} + '@vitest/pretty-format@3.0.8': + resolution: {integrity: sha512-BNqwbEyitFhzYMYHUVbIvepOyeQOSFA/NeJMIP9enMntkkxLgOcgABH6fjyXG85ipTgvero6noreavGIqfJcIg==} + '@vitest/runner@3.0.7': resolution: {integrity: sha512-WeEl38Z0S2ZcuRTeyYqaZtm4e26tq6ZFqh5y8YD9YxfWuu0OFiGFUbnxNynwLjNRHPsXyee2M9tV7YxOTPZl2g==} @@ -1562,8 +1499,8 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.14.0: - resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + acorn@8.14.1: + resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} engines: {node: '>=0.4.0'} hasBin: true @@ -1664,6 +1601,10 @@ packages: resolution: {integrity: sha512-0dP52RdNAff6F8MoHszk7YAZKZWes4+s9UYANNZVfr87g2KbgY56o6szVXEXytRtay6UuNIkjMHcRTGWw0ODzw==} engines: {node: '>=18'} + bingo-requests@0.5.4: + resolution: {integrity: sha512-CtibtB3C9Akh7+vQ4gA2e4FdCdh7GdODTzenPZCABYGbYM+n0olVArMH/OG0ww7wat4y7qEcCxA5f9Exqbifcw==} + engines: {node: '>=18'} + bingo-stratum-testers@0.5.6: resolution: {integrity: sha512-SLcCLqseReWHQLbqyxCepwjvsDgAvfDXzrohe2NV833EVuzu1QjQ8SmXTqB+OjtjcBPsaQzrics1SVGA8OMy7A==} engines: {node: '>=18'} @@ -1674,29 +1615,29 @@ packages: bingo-systems: ^0.5.4 bingo-testers: ^0.5.4 - bingo-stratum@0.5.4: - resolution: {integrity: sha512-9+Aj3bob3DOdCK+BNkOP08BTh5my/PcK8ReDGImHZCpHEp0vtrAaI4rmyjWc0qL3GkK9d19n9SjaGWsQ4AUPqg==} + bingo-stratum@0.5.5: + resolution: {integrity: sha512-48Minlfj+vxUM0dJ9+oxustLvLF6AYBlq+iT0WPCfhEMQXMWsA/zVYi7FMhEvm8LCZ7h4W9UoEmnQ5La2UDbAA==} engines: {node: '>=18'} peerDependencies: - bingo: ^0.5.3 - bingo-fs: ^0.5.3 - bingo-systems: ^0.5.3 + bingo: ^0.5.7 + bingo-fs: ^0.5.4 + bingo-systems: ^0.5.4 zod: ^3.24.2 bingo-systems@0.5.4: resolution: {integrity: sha512-DZJ/OGQtGeiw9neP6pDFXOBiuGO0vr1Nqlm70WJs3NfziozE1OeFLe8E4ol5t1sIfH8AAheM4Z/YnU2ftroWzw==} engines: {node: '>=18'} - bingo-testers@0.5.4: - resolution: {integrity: sha512-YELX1R2EnFg9zcF33C5CbOFtOgJCvQ3Nu9QJveyM2oNmbhJig0vzuBdHkPFe4Otx0XPidY9d08KntUFDj+bXOg==} + bingo-testers@0.5.6: + resolution: {integrity: sha512-hgKDmHpKM8QzJzlbFUlqT04vTZiKV6PTVHJERbnQxcXPzncFNHTTAahFDrPjS3F5fJsGLvQgTToyV0r/X5z9Rg==} engines: {node: '>=18'} peerDependencies: - bingo: ^0.5.4 + bingo: ^0.5.6 bingo-fs: ^0.5.4 bingo-systems: ^0.5.4 - bingo@0.5.7: - resolution: {integrity: sha512-LFJGz92cS3/dOKVql12FppnNyDTQyhqLEaR1a0gWLUc+WAN5IXVjRGifXAyAxngcMaUXzw9k1mX7swTJiwKHtg==} + bingo@0.5.8: + resolution: {integrity: sha512-R9klG+JeU/OsbP2TKRLVKJGH9g5VkY5MzflPQvwFUCRgoqSeDFPx78JOfk8URek5X3nPsonNtOdKt1sGs6vRhQ==} engines: {node: '>=18'} hasBin: true @@ -1809,8 +1750,8 @@ packages: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} - ci-info@4.1.0: - resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} + ci-info@4.2.0: + resolution: {integrity: sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==} engines: {node: '>=8'} clean-stack@2.2.0: @@ -1959,8 +1900,8 @@ packages: resolution: {integrity: sha512-SetDSntXLk8Jh1NOAl1Gu5uLiCNSYenB5tm0YVeZKePRIgDW9lQImromTwLa3c/Gae298tsgOM+/CYT9XAl0NA==} engines: {node: '>=18'} - conventional-changelog-writer@8.0.0: - resolution: {integrity: sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==} + conventional-changelog-writer@8.0.1: + resolution: {integrity: sha512-hlqcy3xHred2gyYg/zXSMXraY2mjAYYo0msUCpK+BGyaVJMFCKWVXPIHiaacGO2GGp13kvHWXFhYmxT4QQqW3Q==} engines: {node: '>=18'} hasBin: true @@ -1972,8 +1913,8 @@ packages: resolution: {integrity: sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==} engines: {node: '>=18'} - conventional-commits-parser@6.0.0: - resolution: {integrity: sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==} + conventional-commits-parser@6.1.0: + resolution: {integrity: sha512-5nxDo7TwKB5InYBl4ZC//1g9GRwB/F3TXOGR9hgUjMGfvSP4Vu5NkpNro2+1+TIEy1vwxApl5ircECr2ri5JIw==} engines: {node: '>=18'} hasBin: true @@ -2070,8 +2011,8 @@ packages: resolution: {integrity: sha512-V2Vy+QYSXdgxRPmOZKQWCDf1KQNTUP/Eqswv/3W20gz7+6GB1HTosNrWqK3PqstVpFw/Dd/cGTmXSTKPeOiGVg==} engines: {node: '>=18'} - decode-named-character-reference@1.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + decode-named-character-reference@1.1.0: + resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==} deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} @@ -2173,8 +2114,8 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - enhanced-resolve@5.18.0: - resolution: {integrity: sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==} + enhanced-resolve@5.18.1: + resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} engines: {node: '>=10.13.0'} entities@4.5.0: @@ -2199,18 +2140,13 @@ packages: es-module-lexer@1.6.0: resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} - hasBin: true - esbuild@0.23.1: resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} engines: {node: '>=18'} hasBin: true - esbuild@0.25.0: - resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==} + esbuild@0.25.1: + resolution: {integrity: sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==} engines: {node: '>=18'} hasBin: true @@ -2323,8 +2259,8 @@ packages: peerDependencies: eslint: '>=6.0.0' - eslint-scope@8.2.0: - resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + eslint-scope@8.3.0: + resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: @@ -2388,8 +2324,8 @@ packages: resolution: {integrity: sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==} engines: {node: ^18.19.0 || >=20.5.0} - expect-type@1.1.0: - resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} + expect-type@1.2.0: + resolution: {integrity: sha512-80F22aiJ3GLyVnS/B3HzgR6RelZVumzj9jkL0Rhz4h0xYbNW9PjlQz5h3J/SShErbXBc295vseR4/MIbVmUbeA==} engines: {node: '>=12.0.0'} external-editor@3.1.0: @@ -2416,8 +2352,8 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fastq@1.18.0: - resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} + fastq@1.19.1: + resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} fdir@6.4.3: resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} @@ -2447,8 +2383,8 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - find-up-simple@1.0.0: - resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} + find-up-simple@1.0.1: + resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} engines: {node: '>=18'} find-up@4.1.0: @@ -2467,11 +2403,11 @@ packages: resolution: {integrity: sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==} engines: {node: '>=18'} - flatted@3.3.2: - resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} + flatted@3.3.3: + resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} - foreground-child@3.3.0: - resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} fs.realpath@1.0.0: @@ -2520,8 +2456,8 @@ packages: resolution: {integrity: sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==} engines: {node: '>= 14'} - git-hooks-list@3.1.0: - resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} + git-hooks-list@3.2.0: + resolution: {integrity: sha512-ZHG9a1gEhUMX1TvGrLdyWb9kDopCBbTnI8z4JgRMYxsijWipgjSEYoPWqBuIB0DnRnvqlQSEeVmzpeuPm7NdFQ==} git-raw-commits@5.0.0: resolution: {integrity: sha512-I2ZXrXeOc0KrCvC7swqtIFXFN+rbjnC7b2T943tvemIOVNl+XP8YnA9UVwqFhzzLClnSA60KR/qEjLpXzs73Qg==} @@ -2537,8 +2473,8 @@ packages: engines: {node: '>=18'} hasBin: true - git-up@8.0.0: - resolution: {integrity: sha512-uBI8Zdt1OZlrYfGcSVroLJKgyNNXlgusYFzHk614lTasz35yg2PVpL1RMy0LOO2dcvF9msYW3pRfUSmafZNrjg==} + git-up@8.0.1: + resolution: {integrity: sha512-2XFu1uNZMSjkyetaF+8rqn6P0XqpMq/C+2ycjI6YwrIKcszZ5/WR4UubxjN0lILOKqLkLaHDaCr2B6fP1cke6g==} git-url-parse@16.0.0: resolution: {integrity: sha512-Y8iAF0AmCaqXc6a5GYgPQW9ESbncNLOL+CeQAJRhmWUOmnPkKpBYeWYp4mFd3LA5j53CdGDdslzX12yEBVHQQg==} @@ -2549,6 +2485,10 @@ packages: gitconfiglocal@2.1.0: resolution: {integrity: sha512-qoerOEliJn3z+Zyn1HW2F6eoYJqKwS6MgC9cztTLUB/xLWX8gD/6T60pKn4+t/d6tP7JlybI7Z3z+I572CR/Vg==} + github-default-labels@0.1.0: + resolution: {integrity: sha512-vFpUWrpPKKrtL8AA9RPdsS6JDfQW+YjlVUhYvb8/et8wZUHC+L6OsJ+A8TyaqzT86wvbZxnDkw/BNGJzoz47cQ==} + engines: {node: '>=18.3.0'} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -2577,8 +2517,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@15.14.0: - resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} + globals@15.15.0: + resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} engines: {node: '>=18'} globby@14.0.2: @@ -2843,8 +2783,8 @@ packages: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} - is-ssh@1.4.0: - resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} + is-ssh@1.4.1: + resolution: {integrity: sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg==} is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} @@ -2946,8 +2886,8 @@ packages: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} - katex@0.16.20: - resolution: {integrity: sha512-jjuLaMGD/7P8jUTpdKhA9IoqnH+yMFB3sdAFtq5QdAqeP2PjiSbnC3EaguKPNtv6dXXanHxp1ckwvF4a86LBig==} + katex@0.16.21: + resolution: {integrity: sha512-XvqR7FgOHtWupfMiigNzmh+MgUVmDGU2kXZm899ZkPfcuoPuFxyHmXsgATDpFZDAXCI8tvinaVcDo8PIIJSo4A==} hasBin: true keyv@4.5.4: @@ -2961,8 +2901,8 @@ packages: '@types/node': '>=18' typescript: '>=5.0.4' - ky@1.7.4: - resolution: {integrity: sha512-zYEr/gh7uLW2l4su11bmQ2M9xLgQLjyvx58UyNM/6nuqyWFHPX5ktMjvpev3F8QWdjSsHUpnWew4PBCswBNuMQ==} + ky@1.7.5: + resolution: {integrity: sha512-HzhziW6sc5m0pwi5M196+7cEBtbt0lCYi67wNsiwMUmz833wloE0gbzJPWKs1gliFKQb34huItDQX97LyOdPdA==} engines: {node: '>=18'} latest-version@9.0.0: @@ -3170,8 +3110,8 @@ packages: micromark-util-sanitize-uri@2.0.1: resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} - micromark-util-subtokenize@2.0.3: - resolution: {integrity: sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==} + micromark-util-subtokenize@2.1.0: + resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} micromark-util-symbol@2.0.1: resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} @@ -3239,8 +3179,8 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} + nanoid@3.3.9: + resolution: {integrity: sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -3377,8 +3317,8 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - pac-proxy-agent@7.1.0: - resolution: {integrity: sha512-Z5FnLVVZSnX7WjBg0mhDtydeRZ1xMcATZThjySQUHqr+0ksP8kqaw23fNKkaaN/Z8gwLUs/W7xdl0I75eP2Xyw==} + pac-proxy-agent@7.2.0: + resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==} engines: {node: '>= 14'} pac-resolver@7.0.1: @@ -3434,8 +3374,8 @@ packages: parse-package-name@1.0.0: resolution: {integrity: sha512-kBeTUtcj+SkyfaW4+KBe0HtsloBJ/mKTPoxpVdA57GZiPerREsUWJOhVj9anXweFiJkm5y8FG1sxFZkZ0SN6wg==} - parse-path@7.0.0: - resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} + parse-path@7.0.1: + resolution: {integrity: sha512-6ReLMptznuuOEzLoGEa+I1oWRSj2Zna5jLWC+l6zlfAI4dbbSaIES29ThzuPkbhNahT65dWzfoZEO6cfJw2Ksg==} parse-url@9.2.0: resolution: {integrity: sha512-bCgsFI+GeGWPAvAiUv63ZorMeif3/U0zaXABGJbOWt5OH2KCaPHF6S+0ok4aqM9RuIPGyZdx9tR9l13PsW4AYQ==} @@ -3534,8 +3474,8 @@ packages: yaml: optional: true - postcss@8.5.1: - resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==} + postcss@8.5.3: + resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} engines: {node: ^10 || ^12 || >=14} prelude-ls@1.2.1: @@ -3579,8 +3519,8 @@ packages: proto-list@1.2.4: resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} - protocols@2.0.1: - resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} + protocols@2.0.2: + resolution: {integrity: sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ==} proxy-agent@6.5.0: resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==} @@ -3623,8 +3563,8 @@ packages: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - readdirp@4.1.1: - resolution: {integrity: sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} rechoir@0.6.2: @@ -3642,8 +3582,8 @@ packages: resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - registry-auth-token@5.0.3: - resolution: {integrity: sha512-1bpc9IyC+e+CNFRaWyn77tk4xGG4PPUyfakSmA6F6cvUDjrm58dfyJ3II+9yb10EDkHoy1LaPSmHaWLOH3m6HA==} + registry-auth-token@5.1.0: + resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==} engines: {node: '>=14'} registry-url@6.0.1: @@ -3703,15 +3643,15 @@ packages: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + reusify@1.1.0: + resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rollup@4.34.9: - resolution: {integrity: sha512-nF5XYqWWp9hx/LrpC8sZvvvmq0TeTjQgaZHYmAgwysT9nh8sWnZhBnM8ZyVbbJFIQBLwHDNoMqsBZBbUo4U8sQ==} + rollup@4.35.0: + resolution: {integrity: sha512-kg6oI4g+vc41vePJyO6dHt/yl0Rz3Thv0kJeVQ3D1kS3E5XSuKbPc29G4IpT/Kv1KQwgHVcN+HtyS+HYLNSvQg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3738,8 +3678,8 @@ packages: resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} engines: {npm: '>=2.0.0'} - rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -3771,8 +3711,8 @@ packages: set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - set-github-repository-labels@0.1.0: - resolution: {integrity: sha512-hnTqVqoJq9lFcBOSH6K9NK09RZvSTFSgtbwFjJdqz4qUV4T/7Krzztl71wPYt+IETWlOS+Vn3LlIsStW0Fc60Q==} + set-github-repository-labels@0.2.0: + resolution: {integrity: sha512-Qexnwyg0HleNsSAXrSLw5OMbb1z8++pyF+4L/URt+crFaMx8RUa+rBfIzyByz8vgd0EPcD/Hp1YMR0KGXRLFVw==} engines: {node: '>=18.3.0'} hasBin: true @@ -3837,8 +3777,8 @@ packages: resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} engines: {node: '>= 14'} - socks@2.8.3: - resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} + socks@2.8.4: + resolution: {integrity: sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} sort-keys@5.1.0: @@ -3889,8 +3829,8 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - std-env@3.8.0: - resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + std-env@3.8.1: + resolution: {integrity: sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==} stdin-discarder@0.2.2: resolution: {integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==} @@ -4089,8 +4029,8 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} - type-fest@4.32.0: - resolution: {integrity: sha512-rfgpoi08xagF3JSdtJlCwMq9DGNDE0IMh3Mkpc1wUypg9vPi786AiqeBBKcqvIkq42azsBM85N490fyZjeUftw==} + type-fest@4.37.0: + resolution: {integrity: sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg==} engines: {node: '>=16'} typedarray@0.0.6: @@ -4166,22 +4106,27 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite@5.4.11: - resolution: {integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==} - engines: {node: ^18.0.0 || >=20.0.0} + vite@6.2.1: + resolution: {integrity: sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' less: '*' lightningcss: ^1.21.0 sass: '*' sass-embedded: '*' stylus: '*' sugarss: '*' - terser: ^5.4.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 peerDependenciesMeta: '@types/node': optional: true + jiti: + optional: true less: optional: true lightningcss: @@ -4196,6 +4141,10 @@ packages: optional: true terser: optional: true + tsx: + optional: true + yaml: + optional: true vitest@3.0.7: resolution: {integrity: sha512-IP7gPK3LS3Fvn44x30X1dM9vtawm0aesAa2yBIZ9vQf+qB69NXC5776+Qmcr7ohUXIQuLhk7xQR0aSUIDPqavg==} @@ -4314,8 +4263,8 @@ packages: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - yaml-eslint-parser@1.2.3: - resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==} + yaml-eslint-parser@1.3.0: + resolution: {integrity: sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==} engines: {node: ^14.17.0 || >=16.0.0} yaml@2.7.0: @@ -4375,10 +4324,10 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/generator@7.26.5': + '@babel/generator@7.26.10': dependencies: - '@babel/parser': 7.26.5 - '@babel/types': 7.26.5 + '@babel/parser': 7.26.10 + '@babel/types': 7.26.10 '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.1.0 @@ -4387,33 +4336,33 @@ snapshots: '@babel/helper-validator-identifier@7.25.9': {} - '@babel/parser@7.26.5': + '@babel/parser@7.26.10': dependencies: - '@babel/types': 7.26.5 + '@babel/types': 7.26.10 - '@babel/runtime@7.26.0': + '@babel/runtime@7.26.10': dependencies: regenerator-runtime: 0.14.1 - '@babel/template@7.25.9': + '@babel/template@7.26.9': dependencies: '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.5 - '@babel/types': 7.26.5 + '@babel/parser': 7.26.10 + '@babel/types': 7.26.10 - '@babel/traverse@7.26.5': + '@babel/traverse@7.26.10': dependencies: '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.5 - '@babel/parser': 7.26.5 - '@babel/template': 7.25.9 - '@babel/types': 7.26.5 + '@babel/generator': 7.26.10 + '@babel/parser': 7.26.10 + '@babel/template': 7.26.9 + '@babel/types': 7.26.10 debug: 4.4.0 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.26.5': + '@babel/types@7.26.10': dependencies: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 @@ -4431,13 +4380,13 @@ snapshots: picocolors: 1.1.1 sisteransi: 1.0.5 - '@conventional-changelog/git-client@1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0)': + '@conventional-changelog/git-client@1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0)': dependencies: '@types/semver': 7.5.8 semver: 7.7.1 optionalDependencies: conventional-commits-filter: 5.0.0 - conventional-commits-parser: 6.0.0 + conventional-commits-parser: 6.1.0 '@cspell/cspell-bundled-dicts@8.17.5': dependencies: @@ -4496,7 +4445,7 @@ snapshots: '@cspell/dict-sql': 2.2.0 '@cspell/dict-svelte': 1.0.6 '@cspell/dict-swift': 2.0.5 - '@cspell/dict-terraform': 1.1.0 + '@cspell/dict-terraform': 1.1.1 '@cspell/dict-typescript': 3.2.0 '@cspell/dict-vue': 3.0.4 @@ -4633,7 +4582,7 @@ snapshots: '@cspell/dict-swift@2.0.5': {} - '@cspell/dict-terraform@1.1.0': {} + '@cspell/dict-terraform@1.1.1': {} '@cspell/dict-typescript@3.2.0': {} @@ -4656,220 +4605,151 @@ snapshots: esquery: 1.6.0 jsdoc-type-pratt-parser: 4.1.0 - '@esbuild/aix-ppc64@0.21.5': - optional: true - '@esbuild/aix-ppc64@0.23.1': optional: true - '@esbuild/aix-ppc64@0.25.0': - optional: true - - '@esbuild/android-arm64@0.21.5': + '@esbuild/aix-ppc64@0.25.1': optional: true '@esbuild/android-arm64@0.23.1': optional: true - '@esbuild/android-arm64@0.25.0': - optional: true - - '@esbuild/android-arm@0.21.5': + '@esbuild/android-arm64@0.25.1': optional: true '@esbuild/android-arm@0.23.1': optional: true - '@esbuild/android-arm@0.25.0': - optional: true - - '@esbuild/android-x64@0.21.5': + '@esbuild/android-arm@0.25.1': optional: true '@esbuild/android-x64@0.23.1': optional: true - '@esbuild/android-x64@0.25.0': - optional: true - - '@esbuild/darwin-arm64@0.21.5': + '@esbuild/android-x64@0.25.1': optional: true '@esbuild/darwin-arm64@0.23.1': optional: true - '@esbuild/darwin-arm64@0.25.0': - optional: true - - '@esbuild/darwin-x64@0.21.5': + '@esbuild/darwin-arm64@0.25.1': optional: true '@esbuild/darwin-x64@0.23.1': optional: true - '@esbuild/darwin-x64@0.25.0': - optional: true - - '@esbuild/freebsd-arm64@0.21.5': + '@esbuild/darwin-x64@0.25.1': optional: true '@esbuild/freebsd-arm64@0.23.1': optional: true - '@esbuild/freebsd-arm64@0.25.0': - optional: true - - '@esbuild/freebsd-x64@0.21.5': + '@esbuild/freebsd-arm64@0.25.1': optional: true '@esbuild/freebsd-x64@0.23.1': optional: true - '@esbuild/freebsd-x64@0.25.0': - optional: true - - '@esbuild/linux-arm64@0.21.5': + '@esbuild/freebsd-x64@0.25.1': optional: true '@esbuild/linux-arm64@0.23.1': optional: true - '@esbuild/linux-arm64@0.25.0': - optional: true - - '@esbuild/linux-arm@0.21.5': + '@esbuild/linux-arm64@0.25.1': optional: true '@esbuild/linux-arm@0.23.1': optional: true - '@esbuild/linux-arm@0.25.0': - optional: true - - '@esbuild/linux-ia32@0.21.5': + '@esbuild/linux-arm@0.25.1': optional: true '@esbuild/linux-ia32@0.23.1': optional: true - '@esbuild/linux-ia32@0.25.0': - optional: true - - '@esbuild/linux-loong64@0.21.5': + '@esbuild/linux-ia32@0.25.1': optional: true '@esbuild/linux-loong64@0.23.1': optional: true - '@esbuild/linux-loong64@0.25.0': - optional: true - - '@esbuild/linux-mips64el@0.21.5': + '@esbuild/linux-loong64@0.25.1': optional: true '@esbuild/linux-mips64el@0.23.1': optional: true - '@esbuild/linux-mips64el@0.25.0': - optional: true - - '@esbuild/linux-ppc64@0.21.5': + '@esbuild/linux-mips64el@0.25.1': optional: true '@esbuild/linux-ppc64@0.23.1': optional: true - '@esbuild/linux-ppc64@0.25.0': - optional: true - - '@esbuild/linux-riscv64@0.21.5': + '@esbuild/linux-ppc64@0.25.1': optional: true '@esbuild/linux-riscv64@0.23.1': optional: true - '@esbuild/linux-riscv64@0.25.0': - optional: true - - '@esbuild/linux-s390x@0.21.5': + '@esbuild/linux-riscv64@0.25.1': optional: true '@esbuild/linux-s390x@0.23.1': optional: true - '@esbuild/linux-s390x@0.25.0': - optional: true - - '@esbuild/linux-x64@0.21.5': + '@esbuild/linux-s390x@0.25.1': optional: true '@esbuild/linux-x64@0.23.1': optional: true - '@esbuild/linux-x64@0.25.0': - optional: true - - '@esbuild/netbsd-arm64@0.25.0': + '@esbuild/linux-x64@0.25.1': optional: true - '@esbuild/netbsd-x64@0.21.5': + '@esbuild/netbsd-arm64@0.25.1': optional: true '@esbuild/netbsd-x64@0.23.1': optional: true - '@esbuild/netbsd-x64@0.25.0': + '@esbuild/netbsd-x64@0.25.1': optional: true '@esbuild/openbsd-arm64@0.23.1': optional: true - '@esbuild/openbsd-arm64@0.25.0': - optional: true - - '@esbuild/openbsd-x64@0.21.5': + '@esbuild/openbsd-arm64@0.25.1': optional: true '@esbuild/openbsd-x64@0.23.1': optional: true - '@esbuild/openbsd-x64@0.25.0': - optional: true - - '@esbuild/sunos-x64@0.21.5': + '@esbuild/openbsd-x64@0.25.1': optional: true '@esbuild/sunos-x64@0.23.1': optional: true - '@esbuild/sunos-x64@0.25.0': - optional: true - - '@esbuild/win32-arm64@0.21.5': + '@esbuild/sunos-x64@0.25.1': optional: true '@esbuild/win32-arm64@0.23.1': optional: true - '@esbuild/win32-arm64@0.25.0': - optional: true - - '@esbuild/win32-ia32@0.21.5': + '@esbuild/win32-arm64@0.25.1': optional: true '@esbuild/win32-ia32@0.23.1': optional: true - '@esbuild/win32-ia32@0.25.0': - optional: true - - '@esbuild/win32-x64@0.21.5': + '@esbuild/win32-ia32@0.25.1': optional: true '@esbuild/win32-x64@0.23.1': optional: true - '@esbuild/win32-x64@0.25.0': + '@esbuild/win32-x64@0.25.1': optional: true '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.21.0(jiti@2.4.2))': @@ -4878,7 +4758,7 @@ snapshots: eslint: 9.21.0(jiti@2.4.2) ignore: 5.3.2 - '@eslint-community/eslint-utils@4.4.1(eslint@9.21.0(jiti@2.4.2))': + '@eslint-community/eslint-utils@4.5.0(eslint@9.21.0(jiti@2.4.2))': dependencies: eslint: 9.21.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 @@ -4937,110 +4817,120 @@ snapshots: '@iarna/toml@2.2.5': {} - '@inquirer/checkbox@4.0.6(@types/node@22.13.9)': + '@inquirer/checkbox@4.1.3(@types/node@22.13.9)': dependencies: - '@inquirer/core': 10.1.4(@types/node@22.13.9) - '@inquirer/figures': 1.0.9 - '@inquirer/type': 3.0.2(@types/node@22.13.9) - '@types/node': 22.13.9 + '@inquirer/core': 10.1.8(@types/node@22.13.9) + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.5(@types/node@22.13.9) ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.9 - '@inquirer/confirm@5.1.3(@types/node@22.13.9)': + '@inquirer/confirm@5.1.7(@types/node@22.13.9)': dependencies: - '@inquirer/core': 10.1.4(@types/node@22.13.9) - '@inquirer/type': 3.0.2(@types/node@22.13.9) + '@inquirer/core': 10.1.8(@types/node@22.13.9) + '@inquirer/type': 3.0.5(@types/node@22.13.9) + optionalDependencies: '@types/node': 22.13.9 - '@inquirer/core@10.1.4(@types/node@22.13.9)': + '@inquirer/core@10.1.8(@types/node@22.13.9)': dependencies: - '@inquirer/figures': 1.0.9 - '@inquirer/type': 3.0.2(@types/node@22.13.9) + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.5(@types/node@22.13.9) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 - strip-ansi: 6.0.1 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.2 - transitivePeerDependencies: - - '@types/node' + optionalDependencies: + '@types/node': 22.13.9 - '@inquirer/editor@4.2.3(@types/node@22.13.9)': + '@inquirer/editor@4.2.8(@types/node@22.13.9)': dependencies: - '@inquirer/core': 10.1.4(@types/node@22.13.9) - '@inquirer/type': 3.0.2(@types/node@22.13.9) - '@types/node': 22.13.9 + '@inquirer/core': 10.1.8(@types/node@22.13.9) + '@inquirer/type': 3.0.5(@types/node@22.13.9) external-editor: 3.1.0 + optionalDependencies: + '@types/node': 22.13.9 - '@inquirer/expand@4.0.6(@types/node@22.13.9)': + '@inquirer/expand@4.0.10(@types/node@22.13.9)': dependencies: - '@inquirer/core': 10.1.4(@types/node@22.13.9) - '@inquirer/type': 3.0.2(@types/node@22.13.9) - '@types/node': 22.13.9 + '@inquirer/core': 10.1.8(@types/node@22.13.9) + '@inquirer/type': 3.0.5(@types/node@22.13.9) yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.9 - '@inquirer/figures@1.0.9': {} + '@inquirer/figures@1.0.11': {} - '@inquirer/input@4.1.3(@types/node@22.13.9)': + '@inquirer/input@4.1.7(@types/node@22.13.9)': dependencies: - '@inquirer/core': 10.1.4(@types/node@22.13.9) - '@inquirer/type': 3.0.2(@types/node@22.13.9) + '@inquirer/core': 10.1.8(@types/node@22.13.9) + '@inquirer/type': 3.0.5(@types/node@22.13.9) + optionalDependencies: '@types/node': 22.13.9 - '@inquirer/number@3.0.6(@types/node@22.13.9)': + '@inquirer/number@3.0.10(@types/node@22.13.9)': dependencies: - '@inquirer/core': 10.1.4(@types/node@22.13.9) - '@inquirer/type': 3.0.2(@types/node@22.13.9) + '@inquirer/core': 10.1.8(@types/node@22.13.9) + '@inquirer/type': 3.0.5(@types/node@22.13.9) + optionalDependencies: '@types/node': 22.13.9 - '@inquirer/password@4.0.6(@types/node@22.13.9)': + '@inquirer/password@4.0.10(@types/node@22.13.9)': dependencies: - '@inquirer/core': 10.1.4(@types/node@22.13.9) - '@inquirer/type': 3.0.2(@types/node@22.13.9) - '@types/node': 22.13.9 + '@inquirer/core': 10.1.8(@types/node@22.13.9) + '@inquirer/type': 3.0.5(@types/node@22.13.9) ansi-escapes: 4.3.2 + optionalDependencies: + '@types/node': 22.13.9 - '@inquirer/prompts@7.2.3(@types/node@22.13.9)': - dependencies: - '@inquirer/checkbox': 4.0.6(@types/node@22.13.9) - '@inquirer/confirm': 5.1.3(@types/node@22.13.9) - '@inquirer/editor': 4.2.3(@types/node@22.13.9) - '@inquirer/expand': 4.0.6(@types/node@22.13.9) - '@inquirer/input': 4.1.3(@types/node@22.13.9) - '@inquirer/number': 3.0.6(@types/node@22.13.9) - '@inquirer/password': 4.0.6(@types/node@22.13.9) - '@inquirer/rawlist': 4.0.6(@types/node@22.13.9) - '@inquirer/search': 3.0.6(@types/node@22.13.9) - '@inquirer/select': 4.0.6(@types/node@22.13.9) + '@inquirer/prompts@7.3.3(@types/node@22.13.9)': + dependencies: + '@inquirer/checkbox': 4.1.3(@types/node@22.13.9) + '@inquirer/confirm': 5.1.7(@types/node@22.13.9) + '@inquirer/editor': 4.2.8(@types/node@22.13.9) + '@inquirer/expand': 4.0.10(@types/node@22.13.9) + '@inquirer/input': 4.1.7(@types/node@22.13.9) + '@inquirer/number': 3.0.10(@types/node@22.13.9) + '@inquirer/password': 4.0.10(@types/node@22.13.9) + '@inquirer/rawlist': 4.0.10(@types/node@22.13.9) + '@inquirer/search': 3.0.10(@types/node@22.13.9) + '@inquirer/select': 4.0.10(@types/node@22.13.9) + optionalDependencies: '@types/node': 22.13.9 - '@inquirer/rawlist@4.0.6(@types/node@22.13.9)': + '@inquirer/rawlist@4.0.10(@types/node@22.13.9)': dependencies: - '@inquirer/core': 10.1.4(@types/node@22.13.9) - '@inquirer/type': 3.0.2(@types/node@22.13.9) - '@types/node': 22.13.9 + '@inquirer/core': 10.1.8(@types/node@22.13.9) + '@inquirer/type': 3.0.5(@types/node@22.13.9) yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.9 - '@inquirer/search@3.0.6(@types/node@22.13.9)': + '@inquirer/search@3.0.10(@types/node@22.13.9)': dependencies: - '@inquirer/core': 10.1.4(@types/node@22.13.9) - '@inquirer/figures': 1.0.9 - '@inquirer/type': 3.0.2(@types/node@22.13.9) - '@types/node': 22.13.9 + '@inquirer/core': 10.1.8(@types/node@22.13.9) + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.5(@types/node@22.13.9) yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.9 - '@inquirer/select@4.0.6(@types/node@22.13.9)': + '@inquirer/select@4.0.10(@types/node@22.13.9)': dependencies: - '@inquirer/core': 10.1.4(@types/node@22.13.9) - '@inquirer/figures': 1.0.9 - '@inquirer/type': 3.0.2(@types/node@22.13.9) - '@types/node': 22.13.9 + '@inquirer/core': 10.1.8(@types/node@22.13.9) + '@inquirer/figures': 1.0.11 + '@inquirer/type': 3.0.5(@types/node@22.13.9) ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 + optionalDependencies: + '@types/node': 22.13.9 - '@inquirer/type@3.0.2(@types/node@22.13.9)': - dependencies: + '@inquirer/type@3.0.5(@types/node@22.13.9)': + optionalDependencies: '@types/node': 22.13.9 '@isaacs/cliui@8.0.2': @@ -5088,22 +4978,22 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.18.0 + fastq: 1.19.1 '@nodelib/fs.walk@3.0.1': dependencies: '@nodelib/fs.scandir': 4.0.1 - fastq: 1.18.0 + fastq: 1.19.1 - '@octokit/app@15.1.4': + '@octokit/app@15.1.5': dependencies: '@octokit/auth-app': 7.1.5 '@octokit/auth-unauthenticated': 6.1.2 '@octokit/core': 6.1.4 '@octokit/oauth-app': 7.1.6 - '@octokit/plugin-paginate-rest': 11.4.2(@octokit/core@6.1.4) + '@octokit/plugin-paginate-rest': 11.4.3(@octokit/core@6.1.4) '@octokit/types': 13.8.0 - '@octokit/webhooks': 13.6.1 + '@octokit/webhooks': 13.7.4 '@octokit/auth-app@7.1.5': dependencies: @@ -5139,7 +5029,7 @@ snapshots: '@octokit/types': 13.8.0 universal-user-agent: 7.0.2 - '@octokit/auth-token@5.1.1': {} + '@octokit/auth-token@5.1.2': {} '@octokit/auth-unauthenticated@6.1.2': dependencies: @@ -5148,8 +5038,8 @@ snapshots: '@octokit/core@6.1.4': dependencies: - '@octokit/auth-token': 5.1.1 - '@octokit/graphql': 8.1.2 + '@octokit/auth-token': 5.1.2 + '@octokit/graphql': 8.2.1 '@octokit/request': 9.2.2 '@octokit/request-error': 6.1.7 '@octokit/types': 13.8.0 @@ -5161,7 +5051,7 @@ snapshots: '@octokit/types': 13.8.0 universal-user-agent: 7.0.2 - '@octokit/graphql@8.1.2': + '@octokit/graphql@8.2.1': dependencies: '@octokit/request': 9.2.2 '@octokit/types': 13.8.0 @@ -5191,13 +5081,13 @@ snapshots: '@octokit/openapi-types@24.0.0': {} - '@octokit/openapi-webhooks-types@9.1.0': {} + '@octokit/openapi-webhooks-types@10.1.1': {} '@octokit/plugin-paginate-graphql@5.2.4(@octokit/core@6.1.4)': dependencies: '@octokit/core': 6.1.4 - '@octokit/plugin-paginate-rest@11.4.2(@octokit/core@6.1.4)': + '@octokit/plugin-paginate-rest@11.4.3(@octokit/core@6.1.4)': dependencies: '@octokit/core': 6.1.4 '@octokit/types': 13.8.0 @@ -5239,7 +5129,7 @@ snapshots: '@octokit/rest@21.0.2': dependencies: '@octokit/core': 6.1.4 - '@octokit/plugin-paginate-rest': 11.4.2(@octokit/core@6.1.4) + '@octokit/plugin-paginate-rest': 11.4.3(@octokit/core@6.1.4) '@octokit/plugin-request-log': 5.3.1(@octokit/core@6.1.4) '@octokit/plugin-rest-endpoint-methods': 13.3.1(@octokit/core@6.1.4) @@ -5249,9 +5139,9 @@ snapshots: '@octokit/webhooks-methods@5.1.1': {} - '@octokit/webhooks@13.6.1': + '@octokit/webhooks@13.7.4': dependencies: - '@octokit/openapi-webhooks-types': 9.1.0 + '@octokit/openapi-webhooks-types': 10.1.1 '@octokit/request-error': 6.1.7 '@octokit/webhooks-methods': 5.1.1 @@ -5277,73 +5167,73 @@ snapshots: make-synchronized: 0.2.9 prettier: 3.5.3 - '@release-it/conventional-changelog@10.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0)(release-it@18.1.2(@types/node@22.13.9)(typescript@5.8.2))': + '@release-it/conventional-changelog@10.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0)(release-it@18.1.2(@types/node@22.13.9)(typescript@5.8.2))': dependencies: concat-stream: 2.0.0 conventional-changelog: 6.0.0(conventional-commits-filter@5.0.0) conventional-recommended-bump: 10.0.0 - git-semver-tags: 8.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0) + git-semver-tags: 8.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0) release-it: 18.1.2(@types/node@22.13.9)(typescript@5.8.2) semver: 7.7.1 transitivePeerDependencies: - conventional-commits-filter - conventional-commits-parser - '@rollup/rollup-android-arm-eabi@4.34.9': + '@rollup/rollup-android-arm-eabi@4.35.0': optional: true - '@rollup/rollup-android-arm64@4.34.9': + '@rollup/rollup-android-arm64@4.35.0': optional: true - '@rollup/rollup-darwin-arm64@4.34.9': + '@rollup/rollup-darwin-arm64@4.35.0': optional: true - '@rollup/rollup-darwin-x64@4.34.9': + '@rollup/rollup-darwin-x64@4.35.0': optional: true - '@rollup/rollup-freebsd-arm64@4.34.9': + '@rollup/rollup-freebsd-arm64@4.35.0': optional: true - '@rollup/rollup-freebsd-x64@4.34.9': + '@rollup/rollup-freebsd-x64@4.35.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.34.9': + '@rollup/rollup-linux-arm-gnueabihf@4.35.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.34.9': + '@rollup/rollup-linux-arm-musleabihf@4.35.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.34.9': + '@rollup/rollup-linux-arm64-gnu@4.35.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.34.9': + '@rollup/rollup-linux-arm64-musl@4.35.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.34.9': + '@rollup/rollup-linux-loongarch64-gnu@4.35.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.34.9': + '@rollup/rollup-linux-powerpc64le-gnu@4.35.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.34.9': + '@rollup/rollup-linux-riscv64-gnu@4.35.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.34.9': + '@rollup/rollup-linux-s390x-gnu@4.35.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.34.9': + '@rollup/rollup-linux-x64-gnu@4.35.0': optional: true - '@rollup/rollup-linux-x64-musl@4.34.9': + '@rollup/rollup-linux-x64-musl@4.35.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.34.9': + '@rollup/rollup-win32-arm64-msvc@4.35.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.34.9': + '@rollup/rollup-win32-ia32-msvc@4.35.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.34.9': + '@rollup/rollup-win32-x64-msvc@4.35.0': optional: true '@sec-ant/readable-stream@0.4.1': {} @@ -5451,6 +5341,11 @@ snapshots: '@typescript-eslint/types': 8.26.0 '@typescript-eslint/visitor-keys': 8.26.0 + '@typescript-eslint/scope-manager@8.26.1': + dependencies: + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/visitor-keys': 8.26.1 + '@typescript-eslint/type-utils@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: '@typescript-eslint/typescript-estree': 8.26.0(typescript@5.8.2) @@ -5464,6 +5359,8 @@ snapshots: '@typescript-eslint/types@8.26.0': {} + '@typescript-eslint/types@8.26.1': {} + '@typescript-eslint/typescript-estree@8.26.0(typescript@5.8.2)': dependencies: '@typescript-eslint/types': 8.26.0 @@ -5478,9 +5375,23 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.26.1(typescript@5.8.2)': + dependencies: + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/visitor-keys': 8.26.1 + debug: 4.4.0 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 + ts-api-utils: 2.0.1(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.5.0(eslint@9.21.0(jiti@2.4.2)) '@typescript-eslint/scope-manager': 8.26.0 '@typescript-eslint/types': 8.26.0 '@typescript-eslint/typescript-estree': 8.26.0(typescript@5.8.2) @@ -5489,12 +5400,28 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.26.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)': + dependencies: + '@eslint-community/eslint-utils': 4.5.0(eslint@9.21.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.26.1 + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2) + eslint: 9.21.0(jiti@2.4.2) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@8.26.0': dependencies: '@typescript-eslint/types': 8.26.0 eslint-visitor-keys: 4.2.0 - '@vitest/coverage-v8@3.0.7(vitest@3.0.7(@types/debug@4.1.12)(@types/node@22.13.9))': + '@typescript-eslint/visitor-keys@8.26.1': + dependencies: + '@typescript-eslint/types': 8.26.1 + eslint-visitor-keys: 4.2.0 + + '@vitest/coverage-v8@3.0.7(vitest@3.0.7(@types/debug@4.1.12)(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 1.0.2 @@ -5505,20 +5432,20 @@ snapshots: istanbul-reports: 3.1.7 magic-string: 0.30.17 magicast: 0.3.5 - std-env: 3.8.0 + std-env: 3.8.1 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.0.7(@types/debug@4.1.12)(@types/node@22.13.9) + vitest: 3.0.7(@types/debug@4.1.12)(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - supports-color - '@vitest/eslint-plugin@1.1.36(@typescript-eslint/utils@8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)(vitest@3.0.7(@types/debug@4.1.12)(@types/node@22.13.9))': + '@vitest/eslint-plugin@1.1.36(@typescript-eslint/utils@8.26.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2)(vitest@3.0.7(@types/debug@4.1.12)(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0))': dependencies: - '@typescript-eslint/utils': 8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/utils': 8.26.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2) eslint: 9.21.0(jiti@2.4.2) optionalDependencies: typescript: 5.8.2 - vitest: 3.0.7(@types/debug@4.1.12)(@types/node@22.13.9) + vitest: 3.0.7(@types/debug@4.1.12)(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0) '@vitest/expect@3.0.7': dependencies: @@ -5527,18 +5454,22 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.0.7(vite@5.4.11(@types/node@22.13.9))': + '@vitest/mocker@3.0.7(vite@6.2.1(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0))': dependencies: '@vitest/spy': 3.0.7 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.11(@types/node@22.13.9) + vite: 6.2.1(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0) '@vitest/pretty-format@3.0.7': dependencies: tinyrainbow: 2.0.0 + '@vitest/pretty-format@3.0.8': + dependencies: + tinyrainbow: 2.0.0 + '@vitest/runner@3.0.7': dependencies: '@vitest/utils': 3.0.7 @@ -5560,11 +5491,11 @@ snapshots: loupe: 3.1.3 tinyrainbow: 2.0.0 - acorn-jsx@5.3.2(acorn@8.14.0): + acorn-jsx@5.3.2(acorn@8.14.1): dependencies: - acorn: 8.14.0 + acorn: 8.14.1 - acorn@8.14.0: {} + acorn@8.14.1: {} add-stream@1.0.0: {} @@ -5584,7 +5515,7 @@ snapshots: all-contributors-cli@6.26.1: dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.10 async: 3.2.6 chalk: 4.1.2 didyoumean: 1.2.2 @@ -5658,17 +5589,21 @@ snapshots: bingo-fs@0.5.4: {} - bingo-stratum-testers@0.5.6(bingo-fs@0.5.4)(bingo-stratum@0.5.4(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.7)(zod@3.24.2))(bingo-systems@0.5.4)(bingo-testers@0.5.4(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.7))(bingo@0.5.7): + bingo-requests@0.5.4: dependencies: - bingo: 0.5.7 + '@octokit/types': 13.8.0 + + bingo-stratum-testers@0.5.6(bingo-fs@0.5.4)(bingo-stratum@0.5.5(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.8)(zod@3.24.2))(bingo-systems@0.5.4)(bingo-testers@0.5.6(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.8))(bingo@0.5.8): + dependencies: + bingo: 0.5.8 bingo-fs: 0.5.4 - bingo-stratum: 0.5.4(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.7)(zod@3.24.2) + bingo-stratum: 0.5.5(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.8)(zod@3.24.2) bingo-systems: 0.5.4 - bingo-testers: 0.5.4(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.7) + bingo-testers: 0.5.6(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.8) - bingo-stratum@0.5.4(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.7)(zod@3.24.2): + bingo-stratum@0.5.5(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.8)(zod@3.24.2): dependencies: - bingo: 0.5.7 + bingo: 0.5.8 bingo-fs: 0.5.4 bingo-systems: 0.5.4 chalk: 5.4.1 @@ -5685,19 +5620,20 @@ snapshots: get-github-auth-token: 0.1.1 octokit: 4.1.2 - bingo-testers@0.5.4(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.7): + bingo-testers@0.5.6(bingo-fs@0.5.4)(bingo-systems@0.5.4)(bingo@0.5.8): dependencies: - bingo: 0.5.7 + bingo: 0.5.8 bingo-fs: 0.5.4 bingo-systems: 0.5.4 diff: 7.0.0 octokit: 4.1.2 without-undefined-properties: 0.1.1 - bingo@0.5.7: + bingo@0.5.8: dependencies: '@clack/prompts': 0.10.0 bingo-fs: 0.5.4 + bingo-requests: 0.5.4 bingo-systems: 0.5.4 cached-factory: 0.1.0 call-id: 0.1.0 @@ -5724,7 +5660,7 @@ snapshots: chalk: 5.4.1 cli-boxes: 3.0.0 string-width: 7.2.0 - type-fest: 4.32.0 + type-fest: 4.37.0 widest-line: 5.0.0 wrap-ansi: 9.0.0 @@ -5747,9 +5683,9 @@ snapshots: dependencies: run-applescript: 7.0.0 - bundle-require@5.1.0(esbuild@0.25.0): + bundle-require@5.1.0(esbuild@0.25.1): dependencies: - esbuild: 0.25.0 + esbuild: 0.25.1 load-tsconfig: 0.2.5 cac@6.7.14: {} @@ -5820,9 +5756,9 @@ snapshots: chokidar@4.0.3: dependencies: - readdirp: 4.1.1 + readdirp: 4.1.2 - ci-info@4.1.0: {} + ci-info@4.2.0: {} clean-stack@2.2.0: {} @@ -5937,10 +5873,10 @@ snapshots: dependencies: '@hutson/parse-repository-url': 5.0.0 add-stream: 1.0.0 - conventional-changelog-writer: 8.0.0 - conventional-commits-parser: 6.0.0 - git-raw-commits: 5.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0) - git-semver-tags: 8.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0) + conventional-changelog-writer: 8.0.1 + conventional-commits-parser: 6.1.0 + git-raw-commits: 5.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0) + git-semver-tags: 8.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0) hosted-git-info: 7.0.2 normalize-package-data: 6.0.2 read-package-up: 11.0.0 @@ -5962,9 +5898,8 @@ snapshots: conventional-changelog-preset-loader@5.0.0: {} - conventional-changelog-writer@8.0.0: + conventional-changelog-writer@8.0.1: dependencies: - '@types/semver': 7.5.8 conventional-commits-filter: 5.0.0 handlebars: 4.7.8 meow: 13.2.0 @@ -5988,16 +5923,16 @@ snapshots: conventional-commits-filter@5.0.0: {} - conventional-commits-parser@6.0.0: + conventional-commits-parser@6.1.0: dependencies: meow: 13.2.0 conventional-recommended-bump@10.0.0: dependencies: - '@conventional-changelog/git-client': 1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0) + '@conventional-changelog/git-client': 1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0) conventional-changelog-preset-loader: 5.0.0 conventional-commits-filter: 5.0.0 - conventional-commits-parser: 6.0.0 + conventional-commits-parser: 6.1.0 meow: 13.2.0 core-util-is@1.0.3: {} @@ -6035,7 +5970,7 @@ snapshots: '@cspell/url': 8.17.5 cspell-glob: 8.17.5 cspell-io: 8.17.5 - find-up-simple: 1.0.0 + find-up-simple: 1.0.1 cspell-glob@8.17.5: dependencies: @@ -6130,7 +6065,7 @@ snapshots: decircular@0.1.1: {} - decode-named-character-reference@1.0.2: + decode-named-character-reference@1.1.0: dependencies: character-entities: 2.0.2 @@ -6204,7 +6139,7 @@ snapshots: dot-prop@9.0.0: dependencies: - type-fest: 4.32.0 + type-fest: 4.37.0 eastasianwidth@0.2.0: {} @@ -6220,7 +6155,7 @@ snapshots: emoji-regex@9.2.2: {} - enhanced-resolve@5.18.0: + enhanced-resolve@5.18.1: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 @@ -6239,32 +6174,6 @@ snapshots: es-module-lexer@1.6.0: {} - esbuild@0.21.5: - optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 - esbuild@0.23.1: optionalDependencies: '@esbuild/aix-ppc64': 0.23.1 @@ -6293,33 +6202,33 @@ snapshots: '@esbuild/win32-x64': 0.23.1 optional: true - esbuild@0.25.0: + esbuild@0.25.1: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.0 - '@esbuild/android-arm': 0.25.0 - '@esbuild/android-arm64': 0.25.0 - '@esbuild/android-x64': 0.25.0 - '@esbuild/darwin-arm64': 0.25.0 - '@esbuild/darwin-x64': 0.25.0 - '@esbuild/freebsd-arm64': 0.25.0 - '@esbuild/freebsd-x64': 0.25.0 - '@esbuild/linux-arm': 0.25.0 - '@esbuild/linux-arm64': 0.25.0 - '@esbuild/linux-ia32': 0.25.0 - '@esbuild/linux-loong64': 0.25.0 - '@esbuild/linux-mips64el': 0.25.0 - '@esbuild/linux-ppc64': 0.25.0 - '@esbuild/linux-riscv64': 0.25.0 - '@esbuild/linux-s390x': 0.25.0 - '@esbuild/linux-x64': 0.25.0 - '@esbuild/netbsd-arm64': 0.25.0 - '@esbuild/netbsd-x64': 0.25.0 - '@esbuild/openbsd-arm64': 0.25.0 - '@esbuild/openbsd-x64': 0.25.0 - '@esbuild/sunos-x64': 0.25.0 - '@esbuild/win32-arm64': 0.25.0 - '@esbuild/win32-ia32': 0.25.0 - '@esbuild/win32-x64': 0.25.0 + '@esbuild/aix-ppc64': 0.25.1 + '@esbuild/android-arm': 0.25.1 + '@esbuild/android-arm64': 0.25.1 + '@esbuild/android-x64': 0.25.1 + '@esbuild/darwin-arm64': 0.25.1 + '@esbuild/darwin-x64': 0.25.1 + '@esbuild/freebsd-arm64': 0.25.1 + '@esbuild/freebsd-x64': 0.25.1 + '@esbuild/linux-arm': 0.25.1 + '@esbuild/linux-arm64': 0.25.1 + '@esbuild/linux-ia32': 0.25.1 + '@esbuild/linux-loong64': 0.25.1 + '@esbuild/linux-mips64el': 0.25.1 + '@esbuild/linux-ppc64': 0.25.1 + '@esbuild/linux-riscv64': 0.25.1 + '@esbuild/linux-s390x': 0.25.1 + '@esbuild/linux-x64': 0.25.1 + '@esbuild/netbsd-arm64': 0.25.1 + '@esbuild/netbsd-x64': 0.25.1 + '@esbuild/openbsd-arm64': 0.25.1 + '@esbuild/openbsd-x64': 0.25.1 + '@esbuild/sunos-x64': 0.25.1 + '@esbuild/win32-arm64': 0.25.1 + '@esbuild/win32-ia32': 0.25.1 + '@esbuild/win32-x64': 0.25.1 escalade@3.2.0: {} @@ -6361,7 +6270,7 @@ snapshots: eslint-plugin-es-x@7.8.0(eslint@9.21.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.5.0(eslint@9.21.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 eslint: 9.21.0(jiti@2.4.2) eslint-compat-utils: 0.5.1(eslint@9.21.0(jiti@2.4.2)) @@ -6385,7 +6294,7 @@ snapshots: eslint-plugin-jsonc@2.19.1(eslint@9.21.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.5.0(eslint@9.21.0(jiti@2.4.2)) eslint: 9.21.0(jiti@2.4.2) eslint-compat-utils: 0.6.4(eslint@9.21.0(jiti@2.4.2)) eslint-json-compat-utils: 0.2.1(eslint@9.21.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0) @@ -6406,12 +6315,12 @@ snapshots: eslint-plugin-n@17.16.2(eslint@9.21.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2)) - enhanced-resolve: 5.18.0 + '@eslint-community/eslint-utils': 4.5.0(eslint@9.21.0(jiti@2.4.2)) + enhanced-resolve: 5.18.1 eslint: 9.21.0(jiti@2.4.2) eslint-plugin-es-x: 7.8.0(eslint@9.21.0(jiti@2.4.2)) get-tsconfig: 4.10.0 - globals: 15.14.0 + globals: 15.15.0 ignore: 5.3.2 minimatch: 9.0.5 semver: 7.7.1 @@ -6434,8 +6343,8 @@ snapshots: eslint-plugin-perfectionist@4.9.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2): dependencies: - '@typescript-eslint/types': 8.26.0 - '@typescript-eslint/utils': 8.26.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/utils': 8.26.1(eslint@9.21.0(jiti@2.4.2))(typescript@5.8.2) eslint: 9.21.0(jiti@2.4.2) natural-orderby: 5.0.0 transitivePeerDependencies: @@ -6444,7 +6353,7 @@ snapshots: eslint-plugin-regexp@2.7.0(eslint@9.21.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.5.0(eslint@9.21.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 comment-parser: 1.4.1 eslint: 9.21.0(jiti@2.4.2) @@ -6460,11 +6369,11 @@ snapshots: eslint: 9.21.0(jiti@2.4.2) eslint-compat-utils: 0.6.4(eslint@9.21.0(jiti@2.4.2)) natural-compare: 1.4.0 - yaml-eslint-parser: 1.2.3 + yaml-eslint-parser: 1.3.0 transitivePeerDependencies: - supports-color - eslint-scope@8.2.0: + eslint-scope@8.3.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 @@ -6475,7 +6384,7 @@ snapshots: eslint@9.21.0(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.5.0(eslint@9.21.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.19.2 '@eslint/core': 0.12.0 @@ -6492,7 +6401,7 @@ snapshots: cross-spawn: 7.0.6 debug: 4.4.0 escape-string-regexp: 4.0.0 - eslint-scope: 8.2.0 + eslint-scope: 8.3.0 eslint-visitor-keys: 4.2.0 espree: 10.3.0 esquery: 1.6.0 @@ -6516,14 +6425,14 @@ snapshots: espree@10.3.0: dependencies: - acorn: 8.14.0 - acorn-jsx: 5.3.2(acorn@8.14.0) + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) eslint-visitor-keys: 4.2.0 espree@9.6.1: dependencies: - acorn: 8.14.0 - acorn-jsx: 5.3.2(acorn@8.14.0) + acorn: 8.14.1 + acorn-jsx: 5.3.2(acorn@8.14.1) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -6573,7 +6482,7 @@ snapshots: strip-final-newline: 4.0.0 yoctocolors: 2.1.1 - expect-type@1.1.0: {} + expect-type@1.2.0: {} external-editor@3.1.0: dependencies: @@ -6599,9 +6508,9 @@ snapshots: fast-levenshtein@2.0.6: {} - fastq@1.18.0: + fastq@1.19.1: dependencies: - reusify: 1.0.4 + reusify: 1.1.0 fdir@6.4.3(picomatch@4.0.2): optionalDependencies: @@ -6627,7 +6536,7 @@ snapshots: dependencies: to-regex-range: 5.0.1 - find-up-simple@1.0.0: {} + find-up-simple@1.0.1: {} find-up@4.1.0: dependencies: @@ -6641,17 +6550,17 @@ snapshots: flat-cache@4.0.1: dependencies: - flatted: 3.3.2 + flatted: 3.3.3 keyv: 4.5.4 flat-cache@5.0.0: dependencies: - flatted: 3.3.2 + flatted: 3.3.3 keyv: 4.5.4 - flatted@3.3.2: {} + flatted@3.3.3: {} - foreground-child@3.3.0: + foreground-child@3.3.1: dependencies: cross-spawn: 7.0.6 signal-exit: 4.1.0 @@ -6692,11 +6601,11 @@ snapshots: transitivePeerDependencies: - supports-color - git-hooks-list@3.1.0: {} + git-hooks-list@3.2.0: {} - git-raw-commits@5.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0): + git-raw-commits@5.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0): dependencies: - '@conventional-changelog/git-client': 1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0) + '@conventional-changelog/git-client': 1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0) meow: 13.2.0 transitivePeerDependencies: - conventional-commits-filter @@ -6706,31 +6615,33 @@ snapshots: dependencies: gitconfiglocal: 2.1.0 - git-semver-tags@8.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0): + git-semver-tags@8.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0): dependencies: - '@conventional-changelog/git-client': 1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0) + '@conventional-changelog/git-client': 1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0) meow: 13.2.0 transitivePeerDependencies: - conventional-commits-filter - conventional-commits-parser - git-up@8.0.0: + git-up@8.0.1: dependencies: - is-ssh: 1.4.0 + is-ssh: 1.4.1 parse-url: 9.2.0 git-url-parse@16.0.0: dependencies: - git-up: 8.0.0 + git-up: 8.0.1 git-url-parse@16.0.1: dependencies: - git-up: 8.0.0 + git-up: 8.0.1 gitconfiglocal@2.1.0: dependencies: ini: 1.3.8 + github-default-labels@0.1.0: {} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -6741,7 +6652,7 @@ snapshots: glob@10.4.5: dependencies: - foreground-child: 3.3.0 + foreground-child: 3.3.1 jackspeak: 3.4.3 minimatch: 9.0.5 minipass: 7.1.2 @@ -6765,7 +6676,7 @@ snapshots: globals@14.0.0: {} - globals@15.14.0: {} + globals@15.15.0: {} globby@14.0.2: dependencies: @@ -6800,7 +6711,7 @@ snapshots: decircular: 0.1.1 is-obj: 3.0.0 sort-keys: 5.1.0 - type-fest: 4.32.0 + type-fest: 4.37.0 hasown@2.0.2: dependencies: @@ -6889,32 +6800,32 @@ snapshots: ini@4.1.3: {} - input-from-file-json@0.5.4(bingo@0.5.7)(zod@3.24.2): + input-from-file-json@0.5.4(bingo@0.5.8)(zod@3.24.2): dependencies: - bingo: 0.5.7 - input-from-file: 0.5.4(bingo@0.5.7) + bingo: 0.5.8 + input-from-file: 0.5.4(bingo@0.5.8) zod: 3.24.2 - input-from-file@0.5.4(bingo@0.5.7): + input-from-file@0.5.4(bingo@0.5.8): dependencies: - bingo: 0.5.7 + bingo: 0.5.8 zod: 3.24.2 - input-from-script@0.5.4(bingo@0.5.7): + input-from-script@0.5.4(bingo@0.5.8): dependencies: - bingo: 0.5.7 + bingo: 0.5.8 zod: 3.24.2 inquirer@12.3.0(@types/node@22.13.9): dependencies: - '@inquirer/core': 10.1.4(@types/node@22.13.9) - '@inquirer/prompts': 7.2.3(@types/node@22.13.9) - '@inquirer/type': 3.0.2(@types/node@22.13.9) + '@inquirer/core': 10.1.8(@types/node@22.13.9) + '@inquirer/prompts': 7.3.3(@types/node@22.13.9) + '@inquirer/type': 3.0.5(@types/node@22.13.9) '@types/node': 22.13.9 ansi-escapes: 4.3.2 mute-stream: 2.0.0 run-async: 3.0.0 - rxjs: 7.8.1 + rxjs: 7.8.2 inquirer@7.3.3: dependencies: @@ -7008,9 +6919,9 @@ snapshots: is-plain-obj@4.1.0: {} - is-ssh@1.4.0: + is-ssh@1.4.1: dependencies: - protocols: 2.0.1 + protocols: 2.0.2 is-stream@3.0.0: {} @@ -7081,7 +6992,7 @@ snapshots: json-fixer@1.6.15: dependencies: - '@babel/runtime': 7.26.0 + '@babel/runtime': 7.26.10 chalk: 4.1.2 pegjs: 0.10.0 @@ -7093,7 +7004,7 @@ snapshots: jsonc-eslint-parser@2.4.0: dependencies: - acorn: 8.14.0 + acorn: 8.14.1 eslint-visitor-keys: 3.4.3 espree: 9.6.1 semver: 7.7.1 @@ -7102,7 +7013,7 @@ snapshots: jsonpointer@5.0.1: {} - katex@0.16.20: + katex@0.16.21: dependencies: commander: 8.3.0 @@ -7116,7 +7027,7 @@ snapshots: '@snyk/github-codeowners': 1.1.0 '@types/node': 22.13.9 easy-table: 1.2.0 - enhanced-resolve: 5.18.0 + enhanced-resolve: 5.18.1 fast-glob: 3.3.3 jiti: 2.4.2 js-yaml: 4.1.0 @@ -7131,7 +7042,7 @@ snapshots: zod: 3.24.2 zod-validation-error: 3.4.0(zod@3.24.2) - ky@1.7.4: {} + ky@1.7.5: {} latest-version@9.0.0: dependencies: @@ -7231,8 +7142,8 @@ snapshots: magicast@0.3.5: dependencies: - '@babel/parser': 7.26.5 - '@babel/types': 7.26.5 + '@babel/parser': 7.26.10 + '@babel/types': 7.26.10 source-map-js: 1.2.1 make-dir@4.0.0: @@ -7303,7 +7214,7 @@ snapshots: micromark-core-commonmark@2.0.2: dependencies: - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.1.0 devlop: 1.1.0 micromark-factory-destination: 2.0.1 micromark-factory-label: 2.0.1 @@ -7316,7 +7227,7 @@ snapshots: micromark-util-html-tag-name: 2.0.1 micromark-util-normalize-identifier: 2.0.1 micromark-util-resolve-all: 2.0.1 - micromark-util-subtokenize: 2.0.3 + micromark-util-subtokenize: 2.1.0 micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.1 @@ -7360,7 +7271,7 @@ snapshots: dependencies: '@types/katex': 0.16.7 devlop: 1.1.0 - katex: 0.16.20 + katex: 0.16.21 micromark-factory-space: 2.0.1 micromark-util-character: 2.1.1 micromark-util-symbol: 2.0.1 @@ -7440,7 +7351,7 @@ snapshots: micromark-util-encode: 2.0.1 micromark-util-symbol: 2.0.1 - micromark-util-subtokenize@2.0.3: + micromark-util-subtokenize@2.1.0: dependencies: devlop: 1.1.0 micromark-util-chunked: 2.0.1 @@ -7462,7 +7373,7 @@ snapshots: dependencies: '@types/debug': 4.1.12 debug: 4.4.0 - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.1.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.2 micromark-factory-space: 2.0.1 @@ -7474,7 +7385,7 @@ snapshots: micromark-util-normalize-identifier: 2.0.1 micromark-util-resolve-all: 2.0.1 micromark-util-sanitize-uri: 2.0.1 - micromark-util-subtokenize: 2.0.3 + micromark-util-subtokenize: 2.1.0 micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.1 transitivePeerDependencies: @@ -7523,7 +7434,7 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nanoid@3.3.8: {} + nanoid@3.3.9: {} natural-compare@1.4.0: {} @@ -7555,7 +7466,7 @@ snapshots: npm-email@5.1.0: dependencies: - ky: 1.7.4 + ky: 1.7.5 npm-run-path@5.3.0: dependencies: @@ -7569,7 +7480,7 @@ snapshots: npm-user@6.1.1: dependencies: cheerio: 1.0.0-rc.12 - ky: 1.7.4 + ky: 1.7.5 npm-email: 5.1.0 nth-check@2.1.1: @@ -7592,11 +7503,11 @@ snapshots: octokit@4.1.2: dependencies: - '@octokit/app': 15.1.4 + '@octokit/app': 15.1.5 '@octokit/core': 6.1.4 '@octokit/oauth-app': 7.1.6 '@octokit/plugin-paginate-graphql': 5.2.4(@octokit/core@6.1.4) - '@octokit/plugin-paginate-rest': 11.4.2(@octokit/core@6.1.4) + '@octokit/plugin-paginate-rest': 11.4.3(@octokit/core@6.1.4) '@octokit/plugin-rest-endpoint-methods': 13.3.1(@octokit/core@6.1.4) '@octokit/plugin-retry': 7.1.4(@octokit/core@6.1.4) '@octokit/plugin-throttling': 9.4.0(@octokit/core@6.1.4) @@ -7676,7 +7587,7 @@ snapshots: p-try@2.2.0: {} - pac-proxy-agent@7.1.0: + pac-proxy-agent@7.2.0: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.3 @@ -7702,8 +7613,8 @@ snapshots: package-json@10.0.1: dependencies: - ky: 1.7.4 - registry-auth-token: 5.0.3 + ky: 1.7.5 + registry-auth-token: 5.1.0 registry-url: 6.0.1 semver: 7.7.1 @@ -7733,7 +7644,7 @@ snapshots: '@types/unist': 2.0.11 character-entities-legacy: 3.0.0 character-reference-invalid: 2.0.1 - decode-named-character-reference: 1.0.2 + decode-named-character-reference: 1.1.0 is-alphanumerical: 2.0.1 is-decimal: 2.0.1 is-hexadecimal: 2.0.1 @@ -7754,20 +7665,20 @@ snapshots: dependencies: '@babel/code-frame': 7.26.2 index-to-position: 0.1.2 - type-fest: 4.32.0 + type-fest: 4.37.0 parse-ms@4.0.0: {} parse-package-name@1.0.0: {} - parse-path@7.0.0: + parse-path@7.0.1: dependencies: - protocols: 2.0.1 + protocols: 2.0.2 parse-url@9.2.0: dependencies: '@types/parse-path': 7.0.3 - parse-path: 7.0.0 + parse-path: 7.0.1 parse5-htmlparser2-tree-adapter@7.1.0: dependencies: @@ -7820,18 +7731,18 @@ snapshots: pirates@4.0.6: {} - postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(yaml@2.7.0): + postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.2)(yaml@2.7.0): dependencies: lilconfig: 3.1.3 optionalDependencies: jiti: 2.4.2 - postcss: 8.5.1 + postcss: 8.5.3 tsx: 4.19.2 yaml: 2.7.0 - postcss@8.5.1: + postcss@8.5.3: dependencies: - nanoid: 3.3.8 + nanoid: 3.3.9 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -7839,9 +7750,9 @@ snapshots: prettier-plugin-curly@0.3.1(prettier@3.5.3): dependencies: - '@babel/generator': 7.26.5 - '@babel/parser': 7.26.5 - '@babel/traverse': 7.26.5 + '@babel/generator': 7.26.10 + '@babel/parser': 7.26.10 + '@babel/traverse': 7.26.10 prettier: 3.5.3 transitivePeerDependencies: - supports-color @@ -7870,7 +7781,7 @@ snapshots: proto-list@1.2.4: {} - protocols@2.0.1: {} + protocols@2.0.2: {} proxy-agent@6.5.0: dependencies: @@ -7879,7 +7790,7 @@ snapshots: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 lru-cache: 7.18.3 - pac-proxy-agent: 7.1.0 + pac-proxy-agent: 7.2.0 proxy-from-env: 1.1.0 socks-proxy-agent: 8.0.5 transitivePeerDependencies: @@ -7910,16 +7821,16 @@ snapshots: read-package-up@11.0.0: dependencies: - find-up-simple: 1.0.0 + find-up-simple: 1.0.1 read-pkg: 9.0.1 - type-fest: 4.32.0 + type-fest: 4.37.0 read-pkg@9.0.1: dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 6.0.2 parse-json: 8.1.0 - type-fest: 4.32.0 + type-fest: 4.37.0 unicorn-magic: 0.1.0 readable-stream@3.6.2: @@ -7928,7 +7839,7 @@ snapshots: string_decoder: 1.3.0 util-deprecate: 1.0.2 - readdirp@4.1.1: {} + readdirp@4.1.2: {} rechoir@0.6.2: dependencies: @@ -7945,7 +7856,7 @@ snapshots: '@eslint-community/regexpp': 4.12.1 refa: 0.12.1 - registry-auth-token@5.0.3: + registry-auth-token@5.1.0: dependencies: '@pnpm/npm-conf': 2.3.1 @@ -7959,7 +7870,7 @@ snapshots: '@octokit/rest': 21.0.2 async-retry: 1.3.3 chalk: 5.4.1 - ci-info: 4.1.0 + ci-info: 4.2.0 cosmiconfig: 9.0.0(typescript@5.8.2) execa: 9.5.2 git-url-parse: 16.0.0 @@ -8019,33 +7930,33 @@ snapshots: retry@0.13.1: {} - reusify@1.0.4: {} + reusify@1.1.0: {} rfdc@1.4.1: {} - rollup@4.34.9: + rollup@4.35.0: dependencies: '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.34.9 - '@rollup/rollup-android-arm64': 4.34.9 - '@rollup/rollup-darwin-arm64': 4.34.9 - '@rollup/rollup-darwin-x64': 4.34.9 - '@rollup/rollup-freebsd-arm64': 4.34.9 - '@rollup/rollup-freebsd-x64': 4.34.9 - '@rollup/rollup-linux-arm-gnueabihf': 4.34.9 - '@rollup/rollup-linux-arm-musleabihf': 4.34.9 - '@rollup/rollup-linux-arm64-gnu': 4.34.9 - '@rollup/rollup-linux-arm64-musl': 4.34.9 - '@rollup/rollup-linux-loongarch64-gnu': 4.34.9 - '@rollup/rollup-linux-powerpc64le-gnu': 4.34.9 - '@rollup/rollup-linux-riscv64-gnu': 4.34.9 - '@rollup/rollup-linux-s390x-gnu': 4.34.9 - '@rollup/rollup-linux-x64-gnu': 4.34.9 - '@rollup/rollup-linux-x64-musl': 4.34.9 - '@rollup/rollup-win32-arm64-msvc': 4.34.9 - '@rollup/rollup-win32-ia32-msvc': 4.34.9 - '@rollup/rollup-win32-x64-msvc': 4.34.9 + '@rollup/rollup-android-arm-eabi': 4.35.0 + '@rollup/rollup-android-arm64': 4.35.0 + '@rollup/rollup-darwin-arm64': 4.35.0 + '@rollup/rollup-darwin-x64': 4.35.0 + '@rollup/rollup-freebsd-arm64': 4.35.0 + '@rollup/rollup-freebsd-x64': 4.35.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.35.0 + '@rollup/rollup-linux-arm-musleabihf': 4.35.0 + '@rollup/rollup-linux-arm64-gnu': 4.35.0 + '@rollup/rollup-linux-arm64-musl': 4.35.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.35.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.35.0 + '@rollup/rollup-linux-riscv64-gnu': 4.35.0 + '@rollup/rollup-linux-s390x-gnu': 4.35.0 + '@rollup/rollup-linux-x64-gnu': 4.35.0 + '@rollup/rollup-linux-x64-musl': 4.35.0 + '@rollup/rollup-win32-arm64-msvc': 4.35.0 + '@rollup/rollup-win32-ia32-msvc': 4.35.0 + '@rollup/rollup-win32-x64-msvc': 4.35.0 fsevents: 2.3.3 run-applescript@7.0.0: {} @@ -8069,7 +7980,7 @@ snapshots: dependencies: tslib: 1.14.1 - rxjs@7.8.1: + rxjs@7.8.2: dependencies: tslib: 2.8.1 @@ -8097,7 +8008,7 @@ snapshots: set-blocking@2.0.0: {} - set-github-repository-labels@0.1.0: + set-github-repository-labels@0.2.0: dependencies: octokit-from-auth: 0.2.0 throttled-queue: 2.1.4 @@ -8151,11 +8062,11 @@ snapshots: dependencies: agent-base: 7.1.3 debug: 4.4.0 - socks: 2.8.3 + socks: 2.8.4 transitivePeerDependencies: - supports-color - socks@2.8.3: + socks@2.8.4: dependencies: ip-address: 9.0.5 smart-buffer: 4.2.0 @@ -8171,7 +8082,7 @@ snapshots: detect-indent: 7.0.1 detect-newline: 4.0.1 get-stdin: 9.0.0 - git-hooks-list: 3.1.0 + git-hooks-list: 3.2.0 is-plain-obj: 4.1.0 semver: 7.7.1 sort-object-keys: 1.1.3 @@ -8182,7 +8093,7 @@ snapshots: detect-indent: 7.0.1 detect-newline: 4.0.1 get-stdin: 9.0.0 - git-hooks-list: 3.1.0 + git-hooks-list: 3.2.0 is-plain-obj: 4.1.0 semver: 7.7.1 sort-object-keys: 1.1.3 @@ -8219,7 +8130,7 @@ snapshots: stackback@0.0.2: {} - std-env@3.8.0: {} + std-env@3.8.1: {} stdin-discarder@0.2.2: {} @@ -8359,26 +8270,26 @@ snapshots: tslib@2.8.1: {} - tsup@8.4.0(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(typescript@5.8.2)(yaml@2.7.0): + tsup@8.4.0(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.2)(typescript@5.8.2)(yaml@2.7.0): dependencies: - bundle-require: 5.1.0(esbuild@0.25.0) + bundle-require: 5.1.0(esbuild@0.25.1) cac: 6.7.14 chokidar: 4.0.3 consola: 3.4.0 debug: 4.4.0 - esbuild: 0.25.0 + esbuild: 0.25.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.1)(tsx@4.19.2)(yaml@2.7.0) + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.5.3)(tsx@4.19.2)(yaml@2.7.0) resolve-from: 5.0.0 - rollup: 4.34.9 + rollup: 4.35.0 source-map: 0.8.0-beta.0 sucrase: 3.35.0 tinyexec: 0.3.2 tinyglobby: 0.2.12 tree-kill: 1.2.2 optionalDependencies: - postcss: 8.5.1 + postcss: 8.5.3 typescript: 5.8.2 transitivePeerDependencies: - jiti @@ -8402,7 +8313,7 @@ snapshots: type-fest@2.19.0: {} - type-fest@4.32.0: {} + type-fest@4.37.0: {} typedarray@0.0.6: {} @@ -8467,15 +8378,16 @@ snapshots: validate-npm-package-name@6.0.0: {} - vite-node@3.0.7(@types/node@22.13.9): + vite-node@3.0.7(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 5.4.11(@types/node@22.13.9) + vite: 6.2.1(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' + - jiti - less - lightningcss - sass @@ -8484,42 +8396,48 @@ snapshots: - sugarss - supports-color - terser + - tsx + - yaml - vite@5.4.11(@types/node@22.13.9): + vite@6.2.1(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0): dependencies: - esbuild: 0.21.5 - postcss: 8.5.1 - rollup: 4.34.9 + esbuild: 0.25.1 + postcss: 8.5.3 + rollup: 4.35.0 optionalDependencies: '@types/node': 22.13.9 fsevents: 2.3.3 + jiti: 2.4.2 + tsx: 4.19.2 + yaml: 2.7.0 - vitest@3.0.7(@types/debug@4.1.12)(@types/node@22.13.9): + vitest@3.0.7(@types/debug@4.1.12)(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0): dependencies: '@vitest/expect': 3.0.7 - '@vitest/mocker': 3.0.7(vite@5.4.11(@types/node@22.13.9)) - '@vitest/pretty-format': 3.0.7 + '@vitest/mocker': 3.0.7(vite@6.2.1(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0)) + '@vitest/pretty-format': 3.0.8 '@vitest/runner': 3.0.7 '@vitest/snapshot': 3.0.7 '@vitest/spy': 3.0.7 '@vitest/utils': 3.0.7 chai: 5.2.0 debug: 4.4.0 - expect-type: 1.1.0 + expect-type: 1.2.0 magic-string: 0.30.17 pathe: 2.0.3 - std-env: 3.8.0 + std-env: 3.8.1 tinybench: 2.9.0 tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 5.4.11(@types/node@22.13.9) - vite-node: 3.0.7(@types/node@22.13.9) + vite: 6.2.1(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0) + vite-node: 3.0.7(@types/node@22.13.9)(jiti@2.4.2)(tsx@4.19.2)(yaml@2.7.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 '@types/node': 22.13.9 transitivePeerDependencies: + - jiti - less - lightningcss - msw @@ -8529,6 +8447,8 @@ snapshots: - sugarss - supports-color - terser + - tsx + - yaml vscode-languageserver-textdocument@1.0.12: {} @@ -8615,10 +8535,9 @@ snapshots: y18n@5.0.8: {} - yaml-eslint-parser@1.2.3: + yaml-eslint-parser@1.3.0: dependencies: eslint-visitor-keys: 3.4.3 - lodash: 4.17.21 yaml: 2.7.0 yaml@2.7.0: {} diff --git a/src/base.test.ts b/src/base.test.ts index 678427db2..70b3ca9bd 100644 --- a/src/base.test.ts +++ b/src/base.test.ts @@ -25,6 +25,7 @@ describe("base", () => { github: "github@joshuakgoldberg.com", npm: "npm@joshuakgoldberg.com", }, + existingLabels: expect.any(Array), explainer: [ `\`create-typescript-app\` is a one-stop-shop solution to set up a new or existing repository with the latest and greatest TypeScript tooling.`, `It includes options not just for building and testing but also automated release management, contributor recognition, GitHub repository settings, and more.`, diff --git a/src/base.ts b/src/base.ts index 85e77e626..20c32183f 100644 --- a/src/base.ts +++ b/src/base.ts @@ -9,6 +9,7 @@ import npmUser from "npm-user"; import { z } from "zod"; import { inputFromOctokit } from "./inputs/inputFromOctokit.js"; +import { getExistingLabels } from "./options/getExistingLabels.js"; import { parsePackageAuthor } from "./options/parsePackageAuthor.js"; import { readAllContributors } from "./options/readAllContributors.js"; import { readDefaultsFromReadme } from "./options/readDefaultsFromReadme.js"; @@ -73,6 +74,16 @@ export const base = createBase({ .describe( "email address to be listed as the point of contact in docs and packages", ), + existingLabels: z + .array( + z.object({ + color: z.string(), + description: z.string(), + name: z.string(), + }), + ) + .optional() + .describe("existing labels from the GitHub repository"), explainer: z .array(z.string()) .optional() @@ -155,6 +166,10 @@ export const base = createBase({ }), ); + const existingLabels = lazyValue(async () => + getExistingLabels(take, await owner(), await repository()), + ); + const githubCliUser = lazyValue(async () => { return swallowError( await take(inputFromScript, { @@ -241,6 +256,7 @@ export const base = createBase({ description: async () => await readDescription(packageData, readme), documentation, email, + existingLabels, funding: readFunding, guide: readGuide, login: author, diff --git a/src/blocks/blockRepositoryBranchRuleset.test.ts b/src/blocks/blockRepositoryBranchRuleset.test.ts index bb44763fe..c1827c47d 100644 --- a/src/blocks/blockRepositoryBranchRuleset.test.ts +++ b/src/blocks/blockRepositoryBranchRuleset.test.ts @@ -13,9 +13,6 @@ describe("blockRepositoryBranchRuleset", () => { expect(creation).toMatchInlineSnapshot(`{}`); }); - // TODO for improving the "requests" snapshots: - // https://github.com/JoshuaKGoldberg/bingo/issues/65 - test("without addons when mode is setup", () => { const creation = testBlock(blockRepositoryBranchRuleset, { mode: "setup", @@ -26,8 +23,56 @@ describe("blockRepositoryBranchRuleset", () => { { "requests": [ { - "id": "branch-ruleset-create", - "send": [Function], + "endpoint": "POST /repos/{owner}/{repo}/rulesets", + "parameters": { + "bypass_actors": [ + { + "actor_id": 5, + "actor_type": "RepositoryRole", + "bypass_mode": "always", + }, + ], + "conditions": { + "ref_name": { + "exclude": [], + "include": [ + "refs/heads/main", + ], + }, + }, + "enforcement": "active", + "name": "Branch protection for main", + "owner": "test-owner", + "repo": "test-repository", + "rules": [ + { + "type": "deletion", + }, + { + "parameters": { + "allowed_merge_methods": [ + "squash", + ], + "dismiss_stale_reviews_on_push": false, + "require_code_owner_review": false, + "require_last_push_approval": false, + "required_approving_review_count": 0, + "required_review_thread_resolution": false, + }, + "type": "pull_request", + }, + { + "parameters": { + "required_status_checks": [], + "strict_required_status_checks_policy": false, + }, + "type": "required_status_checks", + }, + ], + "ruleset_id": undefined, + "target": "branch", + }, + "type": "octokit", }, ], } @@ -44,8 +89,56 @@ describe("blockRepositoryBranchRuleset", () => { { "requests": [ { - "id": "branch-ruleset-update", - "send": [Function], + "endpoint": "POST /repos/{owner}/{repo}/rulesets", + "parameters": { + "bypass_actors": [ + { + "actor_id": 5, + "actor_type": "RepositoryRole", + "bypass_mode": "always", + }, + ], + "conditions": { + "ref_name": { + "exclude": [], + "include": [ + "refs/heads/main", + ], + }, + }, + "enforcement": "active", + "name": "Branch protection for main", + "owner": "test-owner", + "repo": "test-repository", + "rules": [ + { + "type": "deletion", + }, + { + "parameters": { + "allowed_merge_methods": [ + "squash", + ], + "dismiss_stale_reviews_on_push": false, + "require_code_owner_review": false, + "require_last_push_approval": false, + "required_approving_review_count": 0, + "required_review_thread_resolution": false, + }, + "type": "pull_request", + }, + { + "parameters": { + "required_status_checks": [], + "strict_required_status_checks_policy": false, + }, + "type": "required_status_checks", + }, + ], + "ruleset_id": undefined, + "target": "branch", + }, + "type": "octokit", }, ], } @@ -76,8 +169,63 @@ describe("blockRepositoryBranchRuleset", () => { { "requests": [ { - "id": "branch-ruleset-create", - "send": [Function], + "endpoint": "POST /repos/{owner}/{repo}/rulesets", + "parameters": { + "bypass_actors": [ + { + "actor_id": 5, + "actor_type": "RepositoryRole", + "bypass_mode": "always", + }, + ], + "conditions": { + "ref_name": { + "exclude": [], + "include": [ + "refs/heads/main", + ], + }, + }, + "enforcement": "active", + "name": "Branch protection for main", + "owner": "test-owner", + "repo": "test-repository", + "rules": [ + { + "type": "deletion", + }, + { + "parameters": { + "allowed_merge_methods": [ + "squash", + ], + "dismiss_stale_reviews_on_push": false, + "require_code_owner_review": false, + "require_last_push_approval": false, + "required_approving_review_count": 0, + "required_review_thread_resolution": false, + }, + "type": "pull_request", + }, + { + "parameters": { + "required_status_checks": [ + { + "context": "build", + }, + { + "context": "test", + }, + ], + "strict_required_status_checks_policy": false, + }, + "type": "required_status_checks", + }, + ], + "ruleset_id": undefined, + "target": "branch", + }, + "type": "octokit", }, ], } @@ -97,8 +245,63 @@ describe("blockRepositoryBranchRuleset", () => { { "requests": [ { - "id": "branch-ruleset-create", - "send": [Function], + "endpoint": "POST /repos/{owner}/{repo}/rulesets", + "parameters": { + "bypass_actors": [ + { + "actor_id": 5, + "actor_type": "RepositoryRole", + "bypass_mode": "always", + }, + ], + "conditions": { + "ref_name": { + "exclude": [], + "include": [ + "refs/heads/main", + ], + }, + }, + "enforcement": "active", + "name": "Branch protection for main", + "owner": "test-owner", + "repo": "test-repository", + "rules": [ + { + "type": "deletion", + }, + { + "parameters": { + "allowed_merge_methods": [ + "squash", + ], + "dismiss_stale_reviews_on_push": false, + "require_code_owner_review": false, + "require_last_push_approval": false, + "required_approving_review_count": 0, + "required_review_thread_resolution": false, + }, + "type": "pull_request", + }, + { + "parameters": { + "required_status_checks": [ + { + "context": "build", + }, + { + "context": "test", + }, + ], + "strict_required_status_checks_policy": false, + }, + "type": "required_status_checks", + }, + ], + "ruleset_id": undefined, + "target": "branch", + }, + "type": "octokit", }, ], } @@ -121,8 +324,63 @@ describe("blockRepositoryBranchRuleset", () => { { "requests": [ { - "id": "branch-ruleset-create", - "send": [Function], + "endpoint": "POST /repos/{owner}/{repo}/rulesets", + "parameters": { + "bypass_actors": [ + { + "actor_id": 5, + "actor_type": "RepositoryRole", + "bypass_mode": "always", + }, + ], + "conditions": { + "ref_name": { + "exclude": [], + "include": [ + "refs/heads/main", + ], + }, + }, + "enforcement": "active", + "name": "Branch protection for main", + "owner": "test-owner", + "repo": "test-repository", + "rules": [ + { + "type": "deletion", + }, + { + "parameters": { + "allowed_merge_methods": [ + "squash", + ], + "dismiss_stale_reviews_on_push": false, + "require_code_owner_review": false, + "require_last_push_approval": false, + "required_approving_review_count": 0, + "required_review_thread_resolution": false, + }, + "type": "pull_request", + }, + { + "parameters": { + "required_status_checks": [ + { + "context": "build", + }, + { + "context": "test", + }, + ], + "strict_required_status_checks_policy": false, + }, + "type": "required_status_checks", + }, + ], + "ruleset_id": undefined, + "target": "branch", + }, + "type": "octokit", }, ], } diff --git a/src/blocks/blockRepositoryBranchRuleset.ts b/src/blocks/blockRepositoryBranchRuleset.ts index 750086bf9..bd5b6359f 100644 --- a/src/blocks/blockRepositoryBranchRuleset.ts +++ b/src/blocks/blockRepositoryBranchRuleset.ts @@ -1,3 +1,5 @@ +import type { CreatedOctokitRequest } from "bingo-requests"; + import { z } from "zod"; import { base, BaseOptions } from "../base.js"; @@ -7,19 +9,18 @@ export const blockRepositoryBranchRuleset = base.createBlock({ name: "Repository Branch Ruleset", }, addons: { - requiredStatusChecks: z.array(z.string()).default([]), + requiredStatusChecks: z.array(z.string()).optional(), }, setup({ addons, options }) { return { requests: [ { - id: "branch-ruleset-create", - async send({ octokit }) { - await octokit.request( - "POST /repos/{owner}/{repo}/rulesets", - createInnerSend(addons.requiredStatusChecks, options), - ); - }, + endpoint: "POST /repos/{owner}/{repo}/rulesets", + parameters: createRulesetParameters( + addons.requiredStatusChecks, + options, + ), + type: "octokit", }, ], }; @@ -27,26 +28,24 @@ export const blockRepositoryBranchRuleset = base.createBlock({ transition({ addons, options }) { return { requests: [ - { - id: "branch-ruleset-update", - async send({ octokit }) { - if (options.rulesetId) { - await octokit.request( - `PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}`, - createInnerSend( - addons.requiredStatusChecks, - options, - options.rulesetId, - ), - ); - } else { - await octokit.request( - `POST /repos/{owner}/{repo}/rulesets/{ruleset_id}`, - createInnerSend(addons.requiredStatusChecks, options), - ); + options.rulesetId + ? { + endpoint: "PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}", + parameters: createRulesetParameters( + addons.requiredStatusChecks, + options, + options.rulesetId, + ), + type: "octokit", } - }, - }, + : { + endpoint: "POST /repos/{owner}/{repo}/rulesets", + parameters: createRulesetParameters( + addons.requiredStatusChecks, + options, + ), + type: "octokit", + }, ], }; }, @@ -57,8 +56,8 @@ export const blockRepositoryBranchRuleset = base.createBlock({ }, }); -function createInnerSend( - contexts: string[], +function createRulesetParameters( + contexts: string[] | undefined, options: BaseOptions, rulesetId?: string, ) { @@ -68,8 +67,8 @@ function createInnerSend( // This *seems* to be the Repository Admin role always? // https://github.com/github/rest-api-description/issues/4406 actor_id: 5, - actor_type: "RepositoryRole" as const, - bypass_mode: "always" as const, + actor_type: "RepositoryRole", + bypass_mode: "always", }, ], conditions: { @@ -78,12 +77,12 @@ function createInnerSend( include: ["refs/heads/main"], }, }, - enforcement: "active" as const, + enforcement: "active", name: "Branch protection for main", owner: options.owner, repo: options.repository, rules: [ - { type: "deletion" as const }, + { type: "deletion" }, { parameters: { allowed_merge_methods: ["squash"], @@ -93,21 +92,20 @@ function createInnerSend( required_approving_review_count: 0, required_review_thread_resolution: false, }, - type: "pull_request" as const, + type: "pull_request", }, { parameters: { - required_status_checks: contexts.map((context) => ({ - context, - })), + required_status_checks: + contexts?.map((context) => ({ + context, + })) ?? [], strict_required_status_checks_policy: false, }, - type: "required_status_checks" as const, + type: "required_status_checks", }, ], - // Type fun because the GitHub Octokit APIs don't provide named types... - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - ruleset_id: (rulesetId === undefined ? rulesetId : Number(rulesetId))!, - target: "branch" as const, - }; + ruleset_id: rulesetId === undefined ? rulesetId : Number(rulesetId), + target: "branch", + } satisfies CreatedOctokitRequest["parameters"]; } diff --git a/src/blocks/blockRepositoryLabels.ts b/src/blocks/blockRepositoryLabels.ts index 4b00f32dc..9adea2f15 100644 --- a/src/blocks/blockRepositoryLabels.ts +++ b/src/blocks/blockRepositoryLabels.ts @@ -1,4 +1,4 @@ -import { setGitHubRepositoryLabels } from "set-github-repository-labels"; +import { determineLabelChanges } from "set-github-repository-labels"; import { base } from "../base.js"; import { outcomeLabels } from "./outcomeLabels.js"; @@ -8,19 +8,55 @@ export const blockRepositoryLabels = base.createBlock({ name: "Repository Labels", }, produce({ options }) { + const changes = determineLabelChanges( + options.existingLabels ?? [], + outcomeLabels, + ); + const requestData = { + owner: options.owner, + repo: options.repository, + }; + return { - requests: [ - { - id: "repository-labels", - async send() { - await setGitHubRepositoryLabels({ - labels: outcomeLabels, - owner: options.owner, - repository: options.repository, - }); - }, - }, - ], + requests: changes.map((change) => { + switch (change.type) { + case "delete": + return { + endpoint: "DELETE /repos/{owner}/{repo}/labels/{name}", + id: `delete label '${change.name}'`, + parameters: { + ...requestData, + name: change.name, + }, + type: "octokit", + }; + case "patch": + return { + endpoint: "PATCH /repos/{owner}/{repo}/labels/{name}", + id: `patch label '${change.originalName}'`, + parameters: { + ...requestData, + color: change.color, + description: change.description, + name: change.originalName, + new_name: change.newName, + }, + type: "octokit", + }; + case "post": + return { + endpoint: "POST /repos/{owner}/{repo}/labels", + id: `post label '${change.name}'`, + parameters: { + ...requestData, + color: change.color, + description: change.description, + name: change.name, + }, + type: "octokit", + }; + } + }), }; }, }); diff --git a/src/blocks/blockRepositorySettings.ts b/src/blocks/blockRepositorySettings.ts index 789544173..71a83519a 100644 --- a/src/blocks/blockRepositorySettings.ts +++ b/src/blocks/blockRepositorySettings.ts @@ -12,30 +12,29 @@ export const blockRepositorySettings = base.createBlock({ return { requests: [ { - id: "repository-settings", - async send({ octokit }) { - await octokit.rest.repos.update({ - allow_auto_merge: true, - allow_merge_commit: false, - allow_rebase_merge: false, - allow_squash_merge: true, - delete_branch_on_merge: true, - description, - has_wiki: false, - owner: options.owner, - repo: options.repository, - security_and_analysis: { - secret_scanning: { - status: "enabled", - }, - secret_scanning_push_protection: { - status: "enabled", - }, + endpoint: "PATCH /repos/{owner}/{repo}", + parameters: { + allow_auto_merge: true, + allow_merge_commit: false, + allow_rebase_merge: false, + allow_squash_merge: true, + delete_branch_on_merge: true, + description, + has_wiki: false, + owner: options.owner, + repo: options.repository, + security_and_analysis: { + secret_scanning: { + status: "enabled", }, - squash_merge_commit_message: "PR_BODY", - squash_merge_commit_title: "PR_TITLE", - }); + secret_scanning_push_protection: { + status: "enabled", + }, + }, + squash_merge_commit_message: "PR_BODY", + squash_merge_commit_title: "PR_TITLE", }, + type: "octokit", }, ], }; diff --git a/src/blocks/outcomeLabels.ts b/src/blocks/outcomeLabels.ts index e589e97eb..c26c5c135 100644 --- a/src/blocks/outcomeLabels.ts +++ b/src/blocks/outcomeLabels.ts @@ -1,3 +1,4 @@ +/* spellchecker:disable */ export const outcomeLabels = [ { aliases: ["docs"], @@ -38,7 +39,7 @@ export const outcomeLabels = [ name: "status: aged away", }, { - color: "#ddcccc", + color: "ddcccc", description: "Waiting for something else to be resolved ๐Ÿ™…", name: "status: blocked", }, @@ -48,7 +49,7 @@ export const outcomeLabels = [ name: "status: duplicate", }, { - color: "#05104F", + color: "05104F", description: "Not yet ready for implementation or a pull request", name: "status: in discussion", }, diff --git a/src/options/getExistingLabels.test.ts b/src/options/getExistingLabels.test.ts new file mode 100644 index 000000000..f96eb0268 --- /dev/null +++ b/src/options/getExistingLabels.test.ts @@ -0,0 +1,61 @@ +import { githubDefaultLabels } from "github-default-labels"; +import { describe, expect, it, vi } from "vitest"; + +import { inputFromOctokit } from "../inputs/inputFromOctokit.js"; +import { getExistingLabels } from "./getExistingLabels.js"; + +const owner = "TestOwner"; +const repository = "test-repository"; + +describe(getExistingLabels, () => { + it("returns default labels when owner is undefined", async () => { + const take = vi.fn(); + + const actual = await getExistingLabels(take, undefined, repository); + + expect(actual).toBe(githubDefaultLabels); + expect(take).not.toHaveBeenCalled(); + }); + + it("returns default labels when repository is undefined", async () => { + const take = vi.fn(); + + const actual = await getExistingLabels(take, owner, undefined); + + expect(actual).toBe(githubDefaultLabels); + expect(take).not.toHaveBeenCalled(); + }); + + it("returns default labels when owner and repository are defined but the GET call fails", async () => { + const take = vi.fn().mockResolvedValueOnce(undefined); + + const actual = await getExistingLabels(take, owner, repository); + + expect(actual).toBe(githubDefaultLabels); + expect(take).toHaveBeenCalledWith(inputFromOctokit, { + endpoint: "GET /repos/{owner}/{repo}/labels", + options: { + owner, + repo: repository, + }, + }); + }); + + it("returns the repository's labels when owner and repository are defined and the GET call succeeds", async () => { + const labels = [ + { color: "ffffff", description: "Welcome!", name: "good first issue" }, + ]; + const take = vi.fn().mockResolvedValueOnce(labels); + + const actual = await getExistingLabels(take, owner, repository); + + expect(actual).toEqual(labels); + expect(take).toHaveBeenCalledWith(inputFromOctokit, { + endpoint: "GET /repos/{owner}/{repo}/labels", + options: { + owner, + repo: repository, + }, + }); + }); +}); diff --git a/src/options/getExistingLabels.ts b/src/options/getExistingLabels.ts new file mode 100644 index 000000000..a270eb942 --- /dev/null +++ b/src/options/getExistingLabels.ts @@ -0,0 +1,38 @@ +import { TakeInput } from "bingo"; +import { githubDefaultLabels } from "github-default-labels"; +import { OutcomeLabel } from "set-github-repository-labels"; + +import { inputFromOctokit } from "../inputs/inputFromOctokit.js"; + +export async function getExistingLabels( + take: TakeInput, + owner: string | undefined, + repository: string | undefined, +) { + // When transitioning an existing repo, it should already have labels + const existingLabelsActual = + owner && + repository && + ((await take(inputFromOctokit, { + endpoint: "GET /repos/{owner}/{repo}/labels", + options: { + owner, + repo: repository, + }, + })) as OutcomeLabel[] | undefined); + + if (existingLabelsActual) { + // The labels API includes more properties than we use + return existingLabelsActual.map((label) => ({ + color: label.color, + description: label.description, + name: label.name, + })); + } + + // In setup mode, options evaluate before creating the repository. + // We'd want the owner's defaults in case they've customized them... + // ...except, GitHub doesn't have an API for this ๐Ÿ™. + // We instead go with the known default labels: + return githubDefaultLabels; +} From 2e46b1775e67346cfcf321ea373bc35dbfb49471 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 12 Mar 2025 16:02:32 -0400 Subject: [PATCH 2/5] Add tests for blockRepositoryLabels --- src/blocks/blockRepositoryLabels.test.ts | 451 +++++++++++++++++++++++ 1 file changed, 451 insertions(+) create mode 100644 src/blocks/blockRepositoryLabels.test.ts diff --git a/src/blocks/blockRepositoryLabels.test.ts b/src/blocks/blockRepositoryLabels.test.ts new file mode 100644 index 000000000..9d1092afa --- /dev/null +++ b/src/blocks/blockRepositoryLabels.test.ts @@ -0,0 +1,451 @@ +import { testBlock } from "bingo-stratum-testers"; +import { githubDefaultLabels } from "github-default-labels"; +import { describe, expect, test } from "vitest"; + +import { blockRepositoryLabels } from "./blockRepositoryLabels.js"; +import { optionsBase } from "./options.fakes.js"; + +describe("blockRepositoryLabels", () => { + test("when options.existingLabels is undefined", () => { + const creation = testBlock(blockRepositoryLabels, { + options: { ...optionsBase, existingLabels: undefined }, + }); + + expect(creation).toMatchInlineSnapshot(` + { + "requests": [ + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'area: documentation'", + "parameters": { + "color": "0075ca", + "description": "Improvements or additions to docs ๐Ÿ“", + "name": "area: documentation", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'area: testing'", + "parameters": { + "color": "1177aa", + "description": "Improving how the repository's tests are run and/or code is tested ๐Ÿงช", + "name": "area: testing", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'area: tooling'", + "parameters": { + "color": "f9d0c4", + "description": "Managing the repository's maintenance ๐Ÿ› ๏ธ", + "name": "area: tooling", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'good first issue'", + "parameters": { + "color": "5319E7", + "description": "Good for newcomers, please hop on! ๐Ÿ™Œ", + "name": "good first issue", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'invalid'", + "parameters": { + "color": "7a5901", + "description": "This doesn't seem right", + "name": "invalid", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'status: accepting prs'", + "parameters": { + "color": "0E8A16", + "description": "Please, send a pull request to resolve this! ๐Ÿ™", + "name": "status: accepting prs", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'status: aged away'", + "parameters": { + "color": "eeeeee", + "description": "Issue is stale and/or no longer valid", + "name": "status: aged away", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'status: blocked'", + "parameters": { + "color": "ddcccc", + "description": "Waiting for something else to be resolved ๐Ÿ™…", + "name": "status: blocked", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'status: duplicate'", + "parameters": { + "color": "cfd3d7", + "description": "This issue or pull request already exists", + "name": "status: duplicate", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'status: in discussion'", + "parameters": { + "color": "05104F", + "description": "Not yet ready for implementation or a pull request", + "name": "status: in discussion", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'status: needs investigation'", + "parameters": { + "color": "D3F82D", + "description": "Further research required...? ๐Ÿ”Ž", + "name": "status: needs investigation", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'status: waiting for author'", + "parameters": { + "color": "E4BC82", + "description": "Needs an action taken by the original poster", + "name": "status: waiting for author", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'status: wontfix'", + "parameters": { + "color": "ffffff", + "description": "This will not be worked on", + "name": "status: wontfix", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'type: bug'", + "parameters": { + "color": "d73a4a", + "description": "Something isn't working ๐Ÿ›", + "name": "type: bug", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'type: feature'", + "parameters": { + "color": "a2eeef", + "description": "New enhancement or request ๐Ÿš€", + "name": "type: feature", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'type: question'", + "parameters": { + "color": "d876e3", + "description": "Further information is requested", + "name": "type: question", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'type: cleanup'", + "parameters": { + "color": "fde282", + "description": "Tech debt or other code/repository cleanups ๐Ÿงน", + "name": "type: cleanup", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + ], + } + `); + }); + + test("when options.existingLabels contains entries", () => { + const creation = testBlock(blockRepositoryLabels, { + options: { ...optionsBase, existingLabels: githubDefaultLabels }, + }); + + expect(creation).toMatchInlineSnapshot(` + { + "requests": [ + { + "endpoint": "PATCH /repos/{owner}/{repo}/labels/{name}", + "id": "patch label 'documentation'", + "parameters": { + "color": "0075ca", + "description": "Improvements or additions to docs ๐Ÿ“", + "name": "documentation", + "new_name": "area: documentation", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'area: testing'", + "parameters": { + "color": "1177aa", + "description": "Improving how the repository's tests are run and/or code is tested ๐Ÿงช", + "name": "area: testing", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'area: tooling'", + "parameters": { + "color": "f9d0c4", + "description": "Managing the repository's maintenance ๐Ÿ› ๏ธ", + "name": "area: tooling", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "PATCH /repos/{owner}/{repo}/labels/{name}", + "id": "patch label 'good first issue'", + "parameters": { + "color": "5319E7", + "description": "Good for newcomers, please hop on! ๐Ÿ™Œ", + "name": "good first issue", + "new_name": "good first issue", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "PATCH /repos/{owner}/{repo}/labels/{name}", + "id": "patch label 'invalid'", + "parameters": { + "color": "7a5901", + "description": "This doesn't seem right", + "name": "invalid", + "new_name": "invalid", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "PATCH /repos/{owner}/{repo}/labels/{name}", + "id": "patch label 'help wanted'", + "parameters": { + "color": "0E8A16", + "description": "Please, send a pull request to resolve this! ๐Ÿ™", + "name": "help wanted", + "new_name": "status: accepting prs", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'status: aged away'", + "parameters": { + "color": "eeeeee", + "description": "Issue is stale and/or no longer valid", + "name": "status: aged away", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'status: blocked'", + "parameters": { + "color": "ddcccc", + "description": "Waiting for something else to be resolved ๐Ÿ™…", + "name": "status: blocked", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "PATCH /repos/{owner}/{repo}/labels/{name}", + "id": "patch label 'duplicate'", + "parameters": { + "color": "cfd3d7", + "description": "This issue or pull request already exists", + "name": "duplicate", + "new_name": "status: duplicate", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'status: in discussion'", + "parameters": { + "color": "05104F", + "description": "Not yet ready for implementation or a pull request", + "name": "status: in discussion", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'status: needs investigation'", + "parameters": { + "color": "D3F82D", + "description": "Further research required...? ๐Ÿ”Ž", + "name": "status: needs investigation", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'status: waiting for author'", + "parameters": { + "color": "E4BC82", + "description": "Needs an action taken by the original poster", + "name": "status: waiting for author", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "PATCH /repos/{owner}/{repo}/labels/{name}", + "id": "patch label 'wontfix'", + "parameters": { + "color": "ffffff", + "description": "This will not be worked on", + "name": "wontfix", + "new_name": "status: wontfix", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "PATCH /repos/{owner}/{repo}/labels/{name}", + "id": "patch label 'bug'", + "parameters": { + "color": "d73a4a", + "description": "Something isn't working ๐Ÿ›", + "name": "bug", + "new_name": "type: bug", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "PATCH /repos/{owner}/{repo}/labels/{name}", + "id": "patch label 'enhancement'", + "parameters": { + "color": "a2eeef", + "description": "New enhancement or request ๐Ÿš€", + "name": "enhancement", + "new_name": "type: feature", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "PATCH /repos/{owner}/{repo}/labels/{name}", + "id": "patch label 'question'", + "parameters": { + "color": "d876e3", + "description": "Further information is requested", + "name": "question", + "new_name": "type: question", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + { + "endpoint": "POST /repos/{owner}/{repo}/labels", + "id": "post label 'type: cleanup'", + "parameters": { + "color": "fde282", + "description": "Tech debt or other code/repository cleanups ๐Ÿงน", + "name": "type: cleanup", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + ], + } + `); + }); +}); From 0f086cc5df3babd75769e10976eb7024d038c625 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 12 Mar 2025 16:04:23 -0400 Subject: [PATCH 3/5] A bit more testing, for DELETE --- src/blocks/blockRepositoryLabels.test.ts | 43 +++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/src/blocks/blockRepositoryLabels.test.ts b/src/blocks/blockRepositoryLabels.test.ts index 9d1092afa..23611661e 100644 --- a/src/blocks/blockRepositoryLabels.test.ts +++ b/src/blocks/blockRepositoryLabels.test.ts @@ -4,6 +4,7 @@ import { describe, expect, test } from "vitest"; import { blockRepositoryLabels } from "./blockRepositoryLabels.js"; import { optionsBase } from "./options.fakes.js"; +import { outcomeLabels } from "./outcomeLabels.js"; describe("blockRepositoryLabels", () => { test("when options.existingLabels is undefined", () => { @@ -223,7 +224,7 @@ describe("blockRepositoryLabels", () => { `); }); - test("when options.existingLabels contains entries", () => { + test("when options.existingLabels contains default entries", () => { const creation = testBlock(blockRepositoryLabels, { options: { ...optionsBase, existingLabels: githubDefaultLabels }, }); @@ -448,4 +449,44 @@ describe("blockRepositoryLabels", () => { } `); }); + + test("when options.existingLabels contains duplicate entries", () => { + const creation = testBlock(blockRepositoryLabels, { + options: { + ...optionsBase, + existingLabels: [ + ...outcomeLabels.filter( + (label) => !label.name.includes("documentation"), + ), + { + color: "0075ca", + description: "Improvements or additions to docs ๐Ÿ“", + name: "docs", + }, + { + color: "0075ca", + description: "Improvements or additions to docs ๐Ÿ“", + name: "area: documentation", + }, + ], + }, + }); + + expect(creation).toMatchInlineSnapshot(` + { + "requests": [ + { + "endpoint": "DELETE /repos/{owner}/{repo}/labels/{name}", + "id": "delete label 'docs'", + "parameters": { + "name": "docs", + "owner": "test-owner", + "repo": "test-repository", + }, + "type": "octokit", + }, + ], + } + `); + }); }); From e3e94114e8db35a748485095a48df20b6b4067dc Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 12 Mar 2025 16:04:59 -0400 Subject: [PATCH 4/5] disable cspell in test too --- src/blocks/blockRepositoryLabels.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/blocks/blockRepositoryLabels.test.ts b/src/blocks/blockRepositoryLabels.test.ts index 23611661e..fada57f60 100644 --- a/src/blocks/blockRepositoryLabels.test.ts +++ b/src/blocks/blockRepositoryLabels.test.ts @@ -1,3 +1,4 @@ +/* spellchecker:disable */ import { testBlock } from "bingo-stratum-testers"; import { githubDefaultLabels } from "github-default-labels"; import { describe, expect, test } from "vitest"; From bc9305038001f2d9fa218de5221237d6ca88afb6 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 12 Mar 2025 16:06:20 -0400 Subject: [PATCH 5/5] Update ruleset block tests too --- .../blockRepositoryBranchRuleset.test.ts | 84 ++++++++++++++++++- 1 file changed, 80 insertions(+), 4 deletions(-) diff --git a/src/blocks/blockRepositoryBranchRuleset.test.ts b/src/blocks/blockRepositoryBranchRuleset.test.ts index c1827c47d..ff751ba09 100644 --- a/src/blocks/blockRepositoryBranchRuleset.test.ts +++ b/src/blocks/blockRepositoryBranchRuleset.test.ts @@ -237,7 +237,83 @@ describe("blockRepositoryBranchRuleset", () => { addons: { requiredStatusChecks: ["build", "test"], }, - mode: "setup", + mode: "transition", + options: optionsBase, + }); + + expect(creation).toMatchInlineSnapshot(` + { + "requests": [ + { + "endpoint": "POST /repos/{owner}/{repo}/rulesets", + "parameters": { + "bypass_actors": [ + { + "actor_id": 5, + "actor_type": "RepositoryRole", + "bypass_mode": "always", + }, + ], + "conditions": { + "ref_name": { + "exclude": [], + "include": [ + "refs/heads/main", + ], + }, + }, + "enforcement": "active", + "name": "Branch protection for main", + "owner": "test-owner", + "repo": "test-repository", + "rules": [ + { + "type": "deletion", + }, + { + "parameters": { + "allowed_merge_methods": [ + "squash", + ], + "dismiss_stale_reviews_on_push": false, + "require_code_owner_review": false, + "require_last_push_approval": false, + "required_approving_review_count": 0, + "required_review_thread_resolution": false, + }, + "type": "pull_request", + }, + { + "parameters": { + "required_status_checks": [ + { + "context": "build", + }, + { + "context": "test", + }, + ], + "strict_required_status_checks_policy": false, + }, + "type": "required_status_checks", + }, + ], + "ruleset_id": undefined, + "target": "branch", + }, + "type": "octokit", + }, + ], + } + `); + }); + + test("with addons and no rulesetId option when mode is transition", () => { + const creation = testBlock(blockRepositoryBranchRuleset, { + addons: { + requiredStatusChecks: ["build", "test"], + }, + mode: "transition", options: optionsBase, }); @@ -313,7 +389,7 @@ describe("blockRepositoryBranchRuleset", () => { addons: { requiredStatusChecks: ["build", "test"], }, - mode: "setup", + mode: "transition", options: { ...optionsBase, rulesetId: "1234", @@ -324,7 +400,7 @@ describe("blockRepositoryBranchRuleset", () => { { "requests": [ { - "endpoint": "POST /repos/{owner}/{repo}/rulesets", + "endpoint": "PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}", "parameters": { "bypass_actors": [ { @@ -377,7 +453,7 @@ describe("blockRepositoryBranchRuleset", () => { "type": "required_status_checks", }, ], - "ruleset_id": undefined, + "ruleset_id": 1234, "target": "branch", }, "type": "octokit",