diff --git a/.c8rc.json b/.c8rc.json deleted file mode 100644 index ed9e7533..00000000 --- a/.c8rc.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "src": "./src", - "all": true, - "reporter": [ - "text", - "lcovonly" - ] -} \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b7be44d5..3209ba04 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -108,4 +108,4 @@ jobs: with: debug: true coverageLocations: | - ${{github.workspace}}/coverage/lcov.info:lcov + ${{github.workspace}}/.tap/report/lcov.info:lcov diff --git a/.gitignore b/.gitignore index f62f9ab1..8aeb48c7 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,5 @@ node_modules/ coverage/ test.sh test.sh.sha256 +.tap/ .tsimp/ -**/*.js - diff --git a/bin/test.ts b/bin/test.ts deleted file mode 100644 index f7403145..00000000 --- a/bin/test.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { assert } from '@japa/assert'; -import { configure, processCLIArgs, run } from '@japa/runner'; - -processCLIArgs(process.argv.splice(2)); -configure({ - suites: [ - { - name: 'unit', - files: ['test/unit/**/*.test.ts'], - }, - { - name: 'integration', - files: ['test/integration/**/*.test.ts'], - }, - ], - plugins: [assert()], -}); - -await run(); diff --git a/biome.json b/biome.json index 8567a050..9a955e62 100644 --- a/biome.json +++ b/biome.json @@ -1,7 +1,7 @@ { "$schema": "https://biomejs.dev/schemas/1.7.1/schema.json", "files": { - "include": ["./src/**/*.ts", "bin/test.ts", "./test/**/*.ts"], + "include": ["./src/**/*.ts", "./test/**/*.ts"], "ignore": ["./test/fixtures/**/*"] }, "organizeImports": { diff --git a/package.json b/package.json index 30287de0..3da1fe07 100644 --- a/package.json +++ b/package.json @@ -5,12 +5,13 @@ "description": "Publish code coverage to Code Climate", "type": "module", "main": "lib/main.js", - "packageManager": "pnpm@9.1.4", + "packageManager": "pnpm@9.2.0", "scripts": { "build": "tsc -p tsconfig.build.json", - "test": "node --import=tsimp/import --enable-source-maps bin/test.ts", - "coverage": "c8 pnpm run test", - "coverage:html": "c8 --reporter=html pnpm run test", + "test": "cross-env NODE_OPTIONS=\"--no-warnings\" tap run --disable-coverage", + "test:only": "pnpm run test --only", + "coverage": "pnpm run test --no-disable-coverage --allow-incomplete-coverage --coverage-report=lcovonly", + "coverage:html": "pnpm run coverage --coverage-report=html", "biome:ci": "biome ci", "format:check": "biome format", "format": "biome format --fix", @@ -41,12 +42,13 @@ }, "devDependencies": { "@biomejs/biome": "1.8.0", - "@japa/assert": "3.0.0", - "@japa/runner": "3.1.4", "@openpgp/web-stream-tools": "0.1.1", + "@tapjs/core": "2.1.3", + "@tapjs/test": "2.2.1", + "@tapjs/tsx": "1.1.29", "@tsconfig/node20": "20.1.4", "@tsconfig/strictest": "2.0.5", - "@types/node": "20.14.1", + "@types/node": "20.14.2", "@types/node-fetch": "2.6.11", "@types/sinon": "17.0.3", "@types/which": "3.0.4", @@ -55,8 +57,15 @@ "into-stream": "8.0.1", "nock": "13.5.4", "sinon": "18.0.0", + "tap": "19.2.1", "tsimp": "2.0.11", "typescript": "5.4.5", "which": "4.0.0" + }, + "tap": { + "plugin": [ + "!@tapjs/typescript", + "@tapjs/tsx" + ] } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c35bd720..08b78b84 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,15 +33,18 @@ importers: '@biomejs/biome': specifier: 1.8.0 version: 1.8.0 - '@japa/assert': - specifier: 3.0.0 - version: 3.0.0(@japa/runner@3.1.4)(openapi-types@1.3.4) - '@japa/runner': - specifier: 3.1.4 - version: 3.1.4 '@openpgp/web-stream-tools': specifier: 0.1.1 version: 0.1.1(typescript@5.4.5) + '@tapjs/core': + specifier: 2.1.3 + version: 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/test': + specifier: 2.2.1 + version: 2.2.1(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/tsx': + specifier: 1.1.29 + version: 1.1.29(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) '@tsconfig/node20': specifier: 20.1.4 version: 20.1.4 @@ -49,8 +52,8 @@ importers: specifier: 2.0.5 version: 2.0.5 '@types/node': - specifier: 20.14.1 - version: 20.14.1 + specifier: 20.14.2 + version: 20.14.2 '@types/node-fetch': specifier: 2.6.11 version: 2.6.11 @@ -75,6 +78,9 @@ importers: sinon: specifier: 18.0.0 version: 18.0.0 + tap: + specifier: 19.2.1 + version: 19.2.1(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5) tsimp: specifier: 2.0.11 version: 2.0.11(typescript@5.4.5) @@ -105,20 +111,12 @@ packages: '@actions/io@1.1.3': resolution: {integrity: sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==} - '@apidevtools/json-schema-ref-parser@9.1.2': - resolution: {integrity: sha512-r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg==} - - '@apidevtools/openapi-schemas@2.1.0': - resolution: {integrity: sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==} - engines: {node: '>=10'} - - '@apidevtools/swagger-methods@3.0.2': - resolution: {integrity: sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==} + '@alcalzone/ansi-tokenize@0.1.3': + resolution: {integrity: sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw==} + engines: {node: '>=14.13.1'} - '@apidevtools/swagger-parser@10.0.3': - resolution: {integrity: sha512-sNiLY51vZOmSPFZA5TF35KZ2HbgYklQnTSDnkghamzLb3EkNtcQnrBQEj5AOCxHpTtXpqMCRM1CrmV2rG6nw4g==} - peerDependencies: - openapi-types: '>=7' + '@base2/pretty-print-object@1.0.1': + resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -176,9 +174,147 @@ packages: cpu: [x64] os: [win32] - '@colors/colors@1.5.0': - resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} - engines: {node: '>=0.1.90'} + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + + '@esbuild/aix-ppc64@0.20.2': + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.20.2': + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.20.2': + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.20.2': + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.20.2': + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.20.2': + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.20.2': + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.20.2': + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.20.2': + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.20.2': + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.20.2': + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.20.2': + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.20.2': + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.20.2': + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.20.2': + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.20.2': + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.20.2': + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.20.2': + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.20.2': + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.20.2': + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.20.2': + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.20.2': + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.20.2': + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] '@fastify/busboy@2.1.1': resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} @@ -194,36 +330,24 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@isaacs/ts-node-temp-fork-for-pr-2009@10.9.7': + resolution: {integrity: sha512-9f0bhUr9TnwwpgUhEpr3FjxSaH/OHaARkE2F9fM0lS4nIs2GNerrvGwQz493dk0JKlTaGYVrKbq36vA/whZ34g==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=4.2' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + '@istanbuljs/schema@0.1.3': resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - '@japa/assert@3.0.0': - resolution: {integrity: sha512-4Uvixj78PBpRGeNTqO1GN/qYyl4EeWmIwt/cKiQSLLsoZQpQfe8tvF4PO2Z+zteUi3Zv7WR6pluKYbLQrn3vjg==} - engines: {node: '>=18.16.0'} - peerDependencies: - '@japa/runner': ^3.1.2 - - '@japa/core@9.0.1': - resolution: {integrity: sha512-snngJNbvYC92nn+dB69DT2iyosWZLXPRnOp8NJnVEeotkkKAWSmcDqBKw9qq2+MVdshwClvKFVXTxko4MtmlEQ==} - engines: {node: '>=18.16.0'} - - '@japa/errors-printer@3.0.4': - resolution: {integrity: sha512-gqBWkc8X6n5y91HH7H8fXyfe3rKV1+YeMNgE/+CY6hXf0/BS7J55s/QldosKEV2ZiWj/WmE6UPZiFH8W873fGw==} - engines: {node: '>=18.16.0'} - - '@japa/runner@3.1.4': - resolution: {integrity: sha512-ShaVZLdYq3GbFwyNiqQMCfdEoNq9vgYC0P6Z9gflqPcSUfOmN5jeJTLrLpChCBM5Sx9kYuAm5Bh6cqv1ZrArkQ==} - engines: {node: '>=18.16.0'} - - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/types@25.5.0': - resolution: {integrity: sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==} - engines: {node: '>= 8.3'} - '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -234,20 +358,45 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@jsdevtools/ono@7.1.3': - resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@npmcli/agent@2.2.2': + resolution: {integrity: sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==} + engines: {node: ^16.14.0 || >=18.0.0} - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + '@npmcli/fs@3.1.1': + resolution: {integrity: sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@npmcli/git@5.0.7': + resolution: {integrity: sha512-WaOVvto604d5IpdCRV2KjQu8PzkfE96d50CQGKgywXh2GxXmDeUO5EWcBC4V57uFyrNqx83+MewuJh3WTR3xPA==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@npmcli/installed-package-contents@2.1.0': + resolution: {integrity: sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + + '@npmcli/node-gyp@3.0.0': + resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + '@npmcli/package-json@5.2.0': + resolution: {integrity: sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@npmcli/promise-spawn@7.0.2': + resolution: {integrity: sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@npmcli/redact@1.1.0': + resolution: {integrity: sha512-PfnWuOkQgu7gCbnSsAisaX7hKOdZ4wSAhAzH3/ph5dSGau52kCRrMMGbiSQLwyTZpgldkZ49b0brkOr1AzGBHQ==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@npmcli/run-script@7.0.4': + resolution: {integrity: sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==} + engines: {node: ^16.14.0 || >=18.0.0} '@octokit/auth-token@4.0.0': resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} @@ -310,24 +459,29 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@poppinss/cliui@6.4.1': - resolution: {integrity: sha512-tdV3QpAfrPFRLPOh98F8QxWBvwYF3ziWGGtpVqfZtFNTFkC7nQnVQlUW55UtQ7rkeMmFohxfDI+2JNWScGJ1jQ==} - engines: {node: '>=18.16.0'} + '@sigstore/bundle@2.3.2': + resolution: {integrity: sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@sigstore/core@1.1.0': + resolution: {integrity: sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==} + engines: {node: ^16.14.0 || >=18.0.0} - '@poppinss/colors@4.1.3': - resolution: {integrity: sha512-A0FjJ6x14donWDN3bHAFFjJaPWTwM2PgWT834+bPKVK6Xukf25CscoRqCPYI939a8yuJFX9PYWWnVbUVI0E2Cg==} - engines: {node: '>=18.16.0'} + '@sigstore/protobuf-specs@0.3.2': + resolution: {integrity: sha512-c6B0ehIWxMI8wiS/bj6rHMPqeFvngFV7cDU/MY+B16P9Z3Mp9k8L93eYZ7BYzSickzuqAQqAq0V956b3Ju6mLw==} + engines: {node: ^16.14.0 || >=18.0.0} - '@poppinss/hooks@7.2.3': - resolution: {integrity: sha512-+B7YSazGaCMcoUubwEkCTnpAvJ+Fv7tqgtpu7cm9qt1adEjmXDmaiG76loEnmxAkyHrbZJ5xHGNSD0NwMhLcnA==} - engines: {node: '>=18.16.0'} + '@sigstore/sign@2.3.2': + resolution: {integrity: sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==} + engines: {node: ^16.14.0 || >=18.0.0} - '@poppinss/macroable@1.0.2': - resolution: {integrity: sha512-xhhEcEvhQC8mP5oOr5hbE4CmUgmw/IPV1jhpGg2xSkzoFrt9i8YVqBQt9744EFesi5F7pBheWozg63RUBM/5JA==} - engines: {node: '>=18.16.0'} + '@sigstore/tuf@2.3.4': + resolution: {integrity: sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==} + engines: {node: ^16.14.0 || >=18.0.0} - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@sigstore/verify@1.2.1': + resolution: {integrity: sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==} + engines: {node: ^16.14.0 || >=18.0.0} '@sinonjs/commons@2.0.0': resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} @@ -344,32 +498,182 @@ packages: '@sinonjs/text-encoding@0.7.2': resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} + '@tapjs/after-each@2.0.5': + resolution: {integrity: sha512-ia9wRt3rgEt0ns7T5oMFoKaQdqw+2cjCYXnMT4smFJZFKmD8+C+VoykmNbIQ+QR4bIib1CCk3VMxE1Qcky8c/w==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/after@1.1.28': + resolution: {integrity: sha512-KzPXl5NcMXzA94O6r8vHALU9rHQbeYmqGoS34PGnBOOPvSdbQBt1uq1B2855Ab6G4y4d/VmgKdD8+ZvgRNjozg==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/asserts@2.0.5': + resolution: {integrity: sha512-3AzDwJvHY7mNwxhKOvf453rut67cytQ4iZtMUWycClz9M+PbZs38g++5dw/9IIP5z+lRGknxAYiy7eRLjGSCrw==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/before-each@2.0.5': + resolution: {integrity: sha512-KTbvxyRojSA1eaZQobvsHft/2hqAZRuZjYhLtrkqd4WYQb2O8dqYcQyxczHnKaJtQ4PcBnZQujy4zJQyRfSVDw==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/before@2.0.5': + resolution: {integrity: sha512-HwhBK1dndpfJqBF/TS5n2QVrES4El0HJO34z7/Dn3syxEcbvMiAMjv0ljkGIfdIbbVYUAD3y89ExujvdZr+0PA==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/chdir@1.1.1': + resolution: {integrity: sha512-dO6P5Jp/Cyta7tRRKjiBW/8uNgy2yTY70lF9i3ZAfJ9GMWp7/U8Q67uXNMB9x4KZK12xtoBkuk98/+Mmqlii+w==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/config@3.1.3': + resolution: {integrity: sha512-j2afpa51YKCwFk+TCzeZGMTKW3ZODoqtDFJJkQUjtLb/1Df/hzC0/3upK/RMp088dRJG3sP1onXAQ5QkuB4s5w==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + '@tapjs/test': 2.2.1 + + '@tapjs/core@2.1.3': + resolution: {integrity: sha512-l5EdRizMGRBIqMZoOeLEE9FkTzhoih7xMf1LUOMHby9uE3v2FnSjcBxyKl7kuf/b+0d2dKeEs7BTO1IENXppcw==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + + '@tapjs/error-serdes@2.0.1': + resolution: {integrity: sha512-P+M4rtcfkDsUveKKmoRNF+07xpbPnRY5KrstIUOnyn483clQ7BJhsnWr162yYNCsyOj4zEfZmAJI1f8Bi7h/ZA==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + + '@tapjs/filter@2.0.5': + resolution: {integrity: sha512-aSEusWNbHBrVQ5z22T4d0wOcHCm5MEsKvq1WFXGPlgxmcqY2Suy52Um/eRlhVpdx7KnmRJ0ha0vc6Vdd2LszLw==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/fixture@2.0.5': + resolution: {integrity: sha512-f3DL2azD7FsNqtcSrQ/J0XArhMu/sFamF8LVnvWKKEMycNsjiTvJXf/kb30WMzDNLm3CkCtUmti6/M45CB4SBA==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/intercept@2.0.5': + resolution: {integrity: sha512-WfxAR331dXRY35+A+DNvYkoGZhFOACrxnPbD/S9SqforgUPxlueL3/v3d3JtrZurG2z82qfyj6t0Dx/BSf05ag==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/mock@2.1.3': + resolution: {integrity: sha512-qaBqUXHDfjHiZY7e0sRoqOys5SdaHmin3tqDfOlas2eWQabtBwMSvu4xDitVvJ11kGZZhU79LmhzU/iZsksbTg==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/node-serialize@2.0.5': + resolution: {integrity: sha512-zCYuLBxKIMl5GeO4AFWw3Gr6Sm7E4YLIVdMv/YuLddKKFWz/h3nttS7vwe8dhj5tcEXbt8u9lpIHWLlgKFzp2A==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/processinfo@3.1.8': + resolution: {integrity: sha512-FIriEB+qqArPhmVYc1PZwRHD99myRdl7C9Oe/uts04Q2LOxQ5MEmqP9XOP8vVYzpDOYwmL8OmL6eOYt9eZlQKQ==} + engines: {node: '>=16.17'} + + '@tapjs/reporter@2.0.5': + resolution: {integrity: sha512-w7r0s6sZ0myOcb/IUueYk11vLnRUa4OLMabWUnFxbDHrJshsJBWgl9GgHfbrBp0ao0iwlnGBse7r27WgnnkDig==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/run@2.1.3': + resolution: {integrity: sha512-27O2AmOXnBBeVDH7hQMv/3tT9o3OiRk9gDn/Gib9HH7DuPrsXe+YRfb1R6FUfq6/AHTVOE9uEoFk7f9fDb5uHA==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + hasBin: true + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/snapshot@2.0.5': + resolution: {integrity: sha512-POgktTGfO/rpBrmZ5TNk9Baikn81AnKADcQG7llo+8JEz6aNAslhVtT2Lc0O/bkHDn+rY/Jd4j0J5K9MUEdyNQ==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/spawn@2.0.5': + resolution: {integrity: sha512-jndPELclb7AFF8jJYu/szUdMv28Z6w2dS2TJJl4e3v0v9NH8khQL9UsP2uk+NYfcwX7oe/w+G4/McpIE5Ml1eg==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/stack@2.0.1': + resolution: {integrity: sha512-3rKbZkRkLeJl9ilV/6b80YfI4C4+OYf7iEz5/d0MIVhmVvxv0ttIy5JnZutAc4Gy9eRp5Ne5UTAIFOVY5k36cg==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + + '@tapjs/stdin@2.0.5': + resolution: {integrity: sha512-PQrFlf0ss1q8v6Og2e6zY1WPxEH34cxUpNBK+N+qTVWIojNOg/53n/FTHYJ8bP3Tb1gzt3RknkO/hBNtsICYEg==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/test@2.2.1': + resolution: {integrity: sha512-hfnvwiyjn8o7DTVZ7TJRERx0xb/SRXvL6yMvda1c7R0FEKQ3ecLxtiHqHAhgoh/P8OvT7URB8e0gv8e3ZWTjRg==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + hasBin: true + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/tsx@1.1.29': + resolution: {integrity: sha512-+8b0ugmxNb87mFeeYl43EffnxAYR5vNAXF6w7vmI+DOhLitUyWOuIfZ2sWL6rf5I2d6xRGnuZIjPS291OAZuag==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/typescript@1.4.10': + resolution: {integrity: sha512-4IQcS81vNmvqxuwlFTN1v8dLHVpaC1uZH7Z/hj5xpnDMiIGjlxw63birFLCVrDRaAofOp58f4Q2/QwLTSBYgeg==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tapjs/worker@2.0.5': + resolution: {integrity: sha512-POniNB6pTX3+jof3GjbFhCYZtSTC7ZThISyXy8mVsEV/ujcz5t+i7DHu8CdNR3utMe84tIVkzRoZRVVhiYZ1HQ==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.1.3 + + '@tsconfig/node14@14.1.2': + resolution: {integrity: sha512-1vncsbfCZ3TBLPxesRYz02Rn7SNJfbLoDVkcZ7F/ixOV6nwxwgdhD1mdPcc5YQ413qBJ8CvMxXMFfJ7oawjo7Q==} + + '@tsconfig/node16@16.1.3': + resolution: {integrity: sha512-9nTOUBn+EMKO6rtSZJk+DcqsfgtlERGT9XPJ5PRj/HNENPCBY1yu/JEj5wT6GLtbCLBO2k46SeXDaY0pjMqypw==} + + '@tsconfig/node18@18.2.4': + resolution: {integrity: sha512-5xxU8vVs9/FNcvm3gE07fPbn9tl6tqGGWA9tSlwsUEkBxtRnTsNmwrV8gasZ9F/EobaSv9+nu8AxUKccw77JpQ==} + '@tsconfig/node20@20.1.4': resolution: {integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==} '@tsconfig/strictest@2.0.5': resolution: {integrity: sha512-ec4tjL2Rr0pkZ5hww65c+EEPYwxOi4Ryv+0MtjeaSQRJyq322Q27eOQiFbuNgw2hpL4hB1/W/HBGk3VKS43osg==} - '@types/chai@4.3.16': - resolution: {integrity: sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==} + '@tufjs/canonical-json@2.0.0': + resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} + engines: {node: ^16.14.0 || >=18.0.0} + + '@tufjs/models@2.0.1': + resolution: {integrity: sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==} + engines: {node: ^16.14.0 || >=18.0.0} '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - - '@types/istanbul-reports@1.1.2': - resolution: {integrity: sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw==} - - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/node-fetch@2.6.11': resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} - '@types/node@20.14.1': - resolution: {integrity: sha512-T2MzSGEu+ysB/FkWfqmhV3PLyQlowdptmmgD20C6QxsS8Fmv5SjpZ1ayXaEC0S21/h5UJ9iA6W/5vSNU5l00OA==} + '@types/node@20.14.2': + resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} '@types/sinon@17.0.3': resolution: {integrity: sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==} @@ -380,14 +684,26 @@ packages: '@types/which@3.0.4': resolution: {integrity: sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==} - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + abbrev@2.0.0: + resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true - '@types/yargs@15.0.19': - resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} + agent-base@7.1.1: + resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} + engines: {node: '>= 14'} - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} ansi-escapes@6.2.1: resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} @@ -405,55 +721,30 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - api-contract-validator@2.2.8: - resolution: {integrity: sha512-YM3rMcrIp8Thf/WWbVBXBGX793Mm3Phw2pn3VbJpiZkpeTCTtF10huKPrzQ2gSIaK5GjAhTRJMAOyf+rsS7MAw==} - engines: {node: '>=8'} - - api-schema-builder@2.0.11: - resolution: {integrity: sha512-85zbwf8MtPWodhfnmQRW5YD/fuGR12FP+8TbcYai5wbRnoUmPYLftLSbp7NB6zQMPb61Gjz+ApPUSyTdcCos7g==} - engines: {node: '>=8'} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - - array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} - - arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} - as-table@1.0.55: - resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==} + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} asn1.js@5.4.1: resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} - assertion-error@2.0.1: - resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} - engines: {node: '>=12'} - - async-retry@1.3.3: - resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + async-hook-domain@4.0.1: + resolution: {integrity: sha512-bSktexGodAjfHWIrSrrqxqWzf1hWBZBpmPNZv+TYUMyWa2eoefFc6q6H1+KtdHYSz35lrhWdmXt/XK9wNEZvww==} + engines: {node: '>=16'} asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} + auto-bind@5.0.1: + resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -461,6 +752,10 @@ packages: before-after-hook@2.2.3: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + bn.js@4.12.0: resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} @@ -479,31 +774,29 @@ packages: engines: {node: '>=14.14.0'} hasBin: true - call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} - - call-me-maybe@1.0.2: - resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + cacache@18.0.3: + resolution: {integrity: sha512-qXCd4rh6I07cnDqh8V48/94Tc/WSfj+o3Gn6NZ0aZovS255bUx8O13uKxRFd2eWG0xgsco7+YItQNPaa5E85hg==} + engines: {node: ^16.14.0 || >=18.0.0} - chai@5.1.1: - resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} - engines: {node: '>=12'} + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} - charenc@0.0.2: - resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} - check-error@2.1.1: - resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} - engines: {node: '>= 16'} + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} cli-boxes@3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} @@ -513,29 +806,17 @@ packages: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - cli-table3@0.6.5: - resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} - engines: {node: 10.* || >= 12.*} - - cli-truncate@4.0.0: - resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} - engines: {node: '>=18'} + cli-truncate@3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} - clone-deep@4.0.1: - resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} - engines: {node: '>=6'} - - clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - - clone@2.1.2: - resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} - engines: {node: '>=0.8'} + code-excerpt@4.0.0: + resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -544,34 +825,19 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - columnify@1.6.0: - resolution: {integrity: sha512-lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==} - engines: {node: '>=8.0.0'} - combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - - common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} - concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - convert-hrtime@5.0.0: - resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==} - engines: {node: '>=12'} - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} + convert-to-spaces@2.0.1: + resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} cross-env@7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} @@ -582,31 +848,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - crypt@0.0.2: - resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} - - dag-map@1.0.2: - resolution: {integrity: sha512-+LSAiGFwQ9dRnRdOeaj7g47ZFJcOUPukAP8J3A3fuZ1g9Y44BG+P1sgApjLXTQPOzC4+7S9Wr8kXsfpINM4jpw==} - - data-uri-to-buffer@2.0.2: - resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} - data-uri-to-buffer@4.0.1: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} - debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -616,24 +861,6 @@ packages: supports-color: optional: true - decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} - - deep-eql@5.0.1: - resolution: {integrity: sha512-nwQCf6ne2gez3o1MxWifqkciwt0zhl0LO1/UwVu4uMBuPmflWM4oQ70XMqHqnBJA+nhzncaqL9HVL6KkHJ28lw==} - engines: {node: '>=6'} - - defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -641,13 +868,9 @@ packages: deprecation@2.3.1: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} - diff-sequences@25.2.6: - resolution: {integrity: sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==} - engines: {node: '>= 8.3'} - - diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} diff@5.2.0: resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} @@ -656,64 +879,41 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - emittery@1.0.3: - resolution: {integrity: sha512-tJdCJitoy2lrC2ldJcqN4vkqJ00lT+tOWNT1hBJjO/3FDMJa5TTIiYGCKGkn/WfCyOzUMObeohbVTj00fhiLiA==} - engines: {node: '>=14.16'} - - emoji-regex@10.3.0: - resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} - emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} + encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} + err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} - - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} + esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + events-to-array@2.0.3: + resolution: {integrity: sha512-f/qE2gImHRa4Cp2y1stEOSgw8wTFyUdVJX7G//bMwbaV9JqISFxg99NbmVQeP7YLnDUZ2un851jlaDrlpmGehQ==} + engines: {node: '>=12'} - fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} @@ -723,21 +923,10 @@ packages: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} - find-cache-dir@5.0.0: - resolution: {integrity: sha512-OuWNfjfP05JcpAP3JPgAKUhWefjMRfI5iAoSsvE24ANYWJaepAtlSgWECSVEuRgSXpyNEc9DJwG/TZpgcOqyig==} - engines: {node: '>=16'} - find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - foreground-child@3.1.1: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} engines: {node: '>=14'} @@ -750,43 +939,37 @@ packages: resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} engines: {node: '>=12.20.0'} + fromentries@1.3.2: + resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} + + fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + + fs-minipass@3.0.3: + resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - - functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + function-loop@4.0.0: + resolution: {integrity: sha512-f34iQBedYF3XcI93uewZZOnyscDragxgTK/eTvVB74k3fCD0ZorOi5BV9GS4M8rz/JoNi0Kl3qX5Y9MH3S/CLQ==} get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.2.0: - resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} - engines: {node: '>=18'} - - get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - - get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} - - get-source@2.0.12: - resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==} - - get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} - - getopts@2.3.0: - resolution: {integrity: sha512-5eDf9fuSXwxBL6q5HX+dhDj+dslFGWzU5thZ9kNKUkcPtaPdatmUFKwHFrLb/uf/WpA4BHET+AX3Scl56cAjpA==} + get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -797,39 +980,22 @@ packages: engines: {node: '>=16 || 14 >=14.18'} hasBin: true + glob@10.4.1: + resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} + engines: {node: '>=16 || 14 >=14.18'} + hasBin: true + glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported - globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} - - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - - has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} - - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -838,9 +1004,44 @@ packages: resolution: {integrity: sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hosted-git-info@7.0.2: + resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} + engines: {node: ^16.14.0 || >=18.0.0} + html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + https-proxy-agent@7.0.4: + resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} + engines: {node: '>= 14'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + ignore-walk@6.0.5: + resolution: {integrity: sha512-VuuG0wCnjhnylG1ABXT3dAuIpTNDs/G8jlpmwXY03fXoXy/8ZK8/T+hMzt8L4WnrLCJgdybqgPagnF/f97cg3A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. @@ -848,43 +1049,40 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} + ink@4.4.1: + resolution: {integrity: sha512-rXckvqPBB0Krifk5rn/5LvQGmyXwCUpBfmTwbkQNBY9JY8RSl3b8OftBNEYxg4+SWUhEKcPifgope28uL9inlA==} + engines: {node: '>=14.16'} + peerDependencies: + '@types/react': '>=18.0.0' + react: '>=18.0.0' + react-devtools-core: ^4.19.1 + peerDependenciesMeta: + '@types/react': + optional: true + react-devtools-core: + optional: true into-stream@8.0.1: resolution: {integrity: sha512-Vp2df7Utjs/1/sv0Vlj2X4u2e2yaCrcMd4T9u0D9B36XvxIOBHA2JIZTXCp2TPCa7w/ebwWVkXhbp9At1wJ0zg==} engines: {node: '>=16'} - is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} - - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - - is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + ip-address@9.0.5: + resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + engines: {node: '>= 12'} - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} + is-actual-promise@1.0.2: + resolution: {integrity: sha512-xsFiO1of0CLsQnPZ1iXHNTyR9YszOeWKYv+q6n8oSFW3ipooFJ1j1lbRMgiMCr+pp2gLruESI4zb5Ak6eK5OnQ==} - is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true - is-extglob@1.0.0: - resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==} - engines: {node: '>=0.10.0'} + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} @@ -898,67 +1096,26 @@ packages: resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} engines: {node: '>=12'} - is-fullwidth-code-point@5.0.0: - resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} - engines: {node: '>=18'} - - is-glob@2.0.1: - resolution: {integrity: sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==} - engines: {node: '>=0.10.0'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-invalid-path@0.1.0: - resolution: {integrity: sha512-aZMG0T3F34mTg4eTdszcGXx54oiZ4NtHSft3hWNJMGJXUUqdIj3cOZuHcU0nCWWcY3jd7yRe/3AEm3vSNTpBGQ==} - engines: {node: '>=0.10.0'} - - is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} + is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} + is-lower-case@2.0.2: + resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} engines: {node: '>=0.10.0'} - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - - is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} - - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} - - is-valid-path@0.1.1: - resolution: {integrity: sha512-+kwPrVDu9Ms03L90Qaml+79+6DZHqHyRoANI6IsZJ/g8frhnfchDOBCa0RbQ6/kdHt5CS5OeIEyrYznNuVN+8A==} - engines: {node: '>=0.10.0'} - - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - - isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + is-upper-case@2.0.2: + resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -967,10 +1124,6 @@ packages: resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} engines: {node: '>=16'} - isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} engines: {node: '>=8'} @@ -987,87 +1140,43 @@ packages: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} - jest-diff@25.5.0: - resolution: {integrity: sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A==} - engines: {node: '>= 8.3'} - - jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-get-type@25.2.6: - resolution: {integrity: sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==} - engines: {node: '>= 8.3'} - - jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-matcher-utils@25.5.0: - resolution: {integrity: sha512-VWI269+9JS5cpndnpCwm7dy7JtGQT30UHfrnM3mXl22gHGt/b7NkjBqXfbhZ8V4B7ANUsjK18PlSBmG0YH7gjw==} - engines: {node: '>= 8.3'} - - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true + jackspeak@3.3.0: + resolution: {integrity: sha512-glPiBfKguqA7v8JsXO3iLjJWZ9FV1vNpoI0I9hI9Mnk5yetO9uPLSpiCEmiVijAssv2f54HpvtzvAHfhPieiDQ==} + engines: {node: '>=14'} - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - json-schema-deref-sync@0.14.0: - resolution: {integrity: sha512-yGR1xmhdiD6R0MSrwWcFxQzAj5b3i5Gb/mt5tvQKgFMMeNe0KZYNEN/jWr7G+xn39Azqgcvk4ZKMs8dQl8e4wA==} - engines: {node: '>=6.0.0'} + jsbn@1.1.0: + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + json-parse-even-better-errors@3.0.2: + resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + just-extend@6.2.0: resolution: {integrity: sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==} - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} - locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} - locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - lodash.flatten@4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - lodash.get@4.4.2: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - lodash.set@4.3.2: - resolution: {integrity: sha512-4hNPN5jlm/N/HLMCO43v8BXKq9Z7QdAGc/VGrRD61w8gN9g/6jF9A4L1pbUgBLCffi0w9VsXfTOij5x8iTyFvg==} - lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - log-update@6.0.0: - resolution: {integrity: sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==} - engines: {node: '>=18'} - - loupe@3.1.1: - resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true lru-cache@10.2.2: resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} @@ -1077,19 +1186,12 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} - md5@2.2.1: - resolution: {integrity: sha512-PlGG4z5mBANDGCKsYQe0CaUYHdZYZt8ZPZLmEt+Urf0W4GlpTX4HescwHU+dc9+Z/G/vZKYZYFrwgm9VxK6QOQ==} - - memory-cache@0.2.0: - resolution: {integrity: sha512-OcjA+jzjOYzKmKS6IQVALHLVz+rNTMPoJvCztFaZxwG14wtAW7VRZjwTQu06vKCYOxh4jVnik7ya0SXTB0W+xA==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + make-fetch-happen@13.0.1: + resolution: {integrity: sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==} + engines: {node: ^16.14.0 || >=18.0.0} mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} @@ -1113,10 +1215,54 @@ packages: resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} + minipass-collect@2.0.1: + resolution: {integrity: sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==} + engines: {node: '>=16 || 14 >=14.17'} + + minipass-fetch@3.0.5: + resolution: {integrity: sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + + minipass-json-stream@1.0.1: + resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} + + minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + + minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + + minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + + minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + minipass@7.1.1: resolution: {integrity: sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==} engines: {node: '>=16 || 14 >=14.17'} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + mkdirp@3.0.1: resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} engines: {node: '>=10'} @@ -1128,9 +1274,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - mustache@4.2.0: - resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} - hasBin: true + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} nise@6.0.0: resolution: {integrity: sha512-K8ePqo9BFvN31HXwEtTNGzgrPpmvgciDsFz8aztFjt4LqKO/JeFD8tBOeuDiCMXrIl/m1YvfH8auSpxfaD09wg==} @@ -1147,16 +1293,51 @@ packages: resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + node-gyp@10.1.0: + resolution: {integrity: sha512-B4J5M1cABxPc5PwfjhbV5hoy2DP9p8lFXASnEN6hugXOa61416tnTZ29x9sSwAd0o99XNIcpvDDy1swAExsVKA==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} + nopt@7.2.1: + resolution: {integrity: sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true - object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} + normalize-package-data@6.0.1: + resolution: {integrity: sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==} + engines: {node: ^16.14.0 || >=18.0.0} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-bundled@3.0.1: + resolution: {integrity: sha512-+AvaheE/ww1JEwRHOrn4WHNzOxGtVp+adrg2AeZS/7KuxGUYFuBta98wYpfHBbJp6Tg6j1NKSEVHNcfZzJHQwQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-install-checks@6.3.0: + resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-normalize-package-bin@3.0.1: + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-package-arg@11.0.2: + resolution: {integrity: sha512-IGN0IAwmhDJwy13Wc8k+4PEbTPhpJnMtfR53ZbOyjkvmEcLS4nCwp6mvMWjS5sUjeiW3mpx6cHmuhKEu9XmcQw==} + engines: {node: ^16.14.0 || >=18.0.0} + + npm-packlist@8.0.2: + resolution: {integrity: sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-pick-manifest@9.0.1: + resolution: {integrity: sha512-Udm1f0l2nXb3wxDpKjfohwgdFUSV50UVwzEIpDXVsbDMXVIEF81a/i0UhuQbhrPMMmdiq3+YMFLFIRVLs3hxQw==} + engines: {node: ^16.14.0 || >=18.0.0} + + npm-registry-fetch@16.2.1: + resolution: {integrity: sha512-8l+7jxhim55S85fjiDGJ1rZXBWGtRLi1OSb4Z3BPLObPuIaeKRlPRiYMSHU4/81ck3t71Z+UwDDl47gcpmfQQA==} + engines: {node: ^16.14.0 || >=18.0.0} once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -1165,11 +1346,9 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - openapi-schema-validator@3.0.3: - resolution: {integrity: sha512-KKpeNEvAmpy6B2JCfyrM4yWjL6vggDCVbBoR8Yfkj0Jltc6PCW+dBbcg+1yrTCuDv80qBQJ6w0ejA71DlOFegA==} - - openapi-types@1.3.4: - resolution: {integrity: sha512-h8rADpW3k/wepLdERKF0VKMAPdoFYNQCLGPmc/f8sgQ2dxUy+7sY4WAX2XDUDjhKTjbJVbxxofLkzy7f1/tE4g==} + opener@1.5.2: + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + hasBin: true openpgp@5.11.1: resolution: {integrity: sha512-TynUBPuaSI7dN0gP+A38CjNRLxkOkkptefNanalDQ71BFAKKm+dLbksymSW5bUrB7RcAneMySL/Y+r/TbLpOnQ==} @@ -1179,26 +1358,30 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + + pacote@17.0.7: + resolution: {integrity: sha512-sgvnoUMlkv9xHwDUKjKQFXVyUi8dtJGKp3vg6sYy+TxbDic5RjZCHF3ygv0EJgNRZ2GfRONjlKPUfokJ9lDpwQ==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + + patch-console@2.0.0: + resolution: {integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -1214,10 +1397,6 @@ packages: path-to-regexp@6.2.2: resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} - pathval@2.0.0: - resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} - engines: {node: '>= 14.16'} - picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -1226,106 +1405,118 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} - pkg-dir@7.0.0: - resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} - engines: {node: '>=14.16'} + polite-json@4.0.1: + resolution: {integrity: sha512-8LI5ZeCPBEb4uBbcYKNVwk4jgqNx1yHReWoW4H4uUihWlSqZsUDfSITrRhjliuPgxsNPFhNSudGO2Zu4cbWinQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} + prismjs-terminal@1.2.3: + resolution: {integrity: sha512-xc0zuJ5FMqvW+DpiRkvxURlz98DdfDsZcFHdO699+oL+ykbFfgI7O4VDEgUyc07BSL2NHl3zdb8m/tZ/aaqUrw==} + engines: {node: '>=16'} - pretty-format@25.5.0: - resolution: {integrity: sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==} - engines: {node: '>= 8.3'} + prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} - pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + proc-log@3.0.0: + resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - pretty-hrtime@1.0.3: - resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} - engines: {node: '>= 0.8'} + proc-log@4.2.0: + resolution: {integrity: sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + process-on-spawn@1.0.0: + resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} + engines: {node: '>=8'} - printable-characters@1.0.42: - resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} + promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + + promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} propagate@2.0.1: resolution: {integrity: sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==} engines: {node: '>= 8'} - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + + react-element-to-jsx-string@15.0.0: + resolution: {integrity: sha512-UDg4lXB6BzlobN60P8fHWVPX3Kyw8ORrTeBtClmIlGdkOOE+GYQSFvmEU5iLLpwp/6v42DINwNcwOhOLfQ//FQ==} + peerDependencies: + react: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 + react-dom: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 + + react-is@18.1.0: + resolution: {integrity: sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==} + + react-reconciler@0.29.2: + resolution: {integrity: sha512-zZQqIiYgDCTP/f1N/mAR10nJGrPD2ZR+jDSEsKWJHYC7Cm2wodlwbR3upZRdC3cjIjSlTLNVyO7Iu0Yy7t2AYg==} + engines: {node: '>=0.10.0'} + peerDependencies: + react: ^18.3.1 - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} - react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + read-package-json-fast@3.0.2: + resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + read-package-json@7.0.1: + resolution: {integrity: sha512-8PcDiZ8DXUjLf687Ol4BR8Bpm2umR7vhoZOzNRt+uxD9GpBh/K+CAAALVIiYFknmvlmyg7hM7BSNUXPaCCqd0Q==} + engines: {node: ^16.14.0 || >=18.0.0} + deprecated: This package is no longer supported. Please use @npmcli/package-json instead. - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} + resolve-import@1.4.5: + resolution: {integrity: sha512-HXb4YqODuuXT7Icq1Z++0g2JmhgbUHSs3VT2xR83gqvAPUikYT2Xk+562KHQgiaNkbBOlPddYrDLsC44qQggzw==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + restore-cursor@4.0.0: resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@5.0.7: resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==} engines: {node: '>=14.18'} hasBin: true - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} - - safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + semver@7.6.2: resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true - serialize-error@11.0.3: - resolution: {integrity: sha512-2G2y++21dhj2R7iHAdd0FIzjGwuKZld+7Pl/bTU6YIkrC2ZMbVUjm+luj6A6V34Rv9XfKJDKpTWu9W4Gse1D9g==} - engines: {node: '>=14.16'} - - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - - shallow-clone@3.0.1: - resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} - engines: {node: '>=8'} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -1334,10 +1525,6 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} - engines: {node: '>= 0.4'} - signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -1345,20 +1532,24 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + sigstore@2.3.1: + resolution: {integrity: sha512-8G+/XDU8wNsJOQS5ysDVO0Etg9/2uA5gR9l4ZwijjlwxBcrU6RPfwi2+jJmbP+Ap1Hlp/nVAaEO4Fj22/SL2gQ==} + engines: {node: ^16.14.0 || >=18.0.0} + sinon@18.0.0: resolution: {integrity: sha512-+dXDXzD1sBO6HlmZDd7mXZCR/y5ECiEiGCBSGuFD/kZ0bDTofPYc6JaeGmPSF+1j1MejGUWkORbYOLDyvqCWpA==} - slash@5.1.0: - resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} - engines: {node: '>=14.16'} - slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} engines: {node: '>=12'} - slice-ansi@7.1.0: - resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} - engines: {node: '>=18'} + slice-ansi@6.0.0: + resolution: {integrity: sha512-6bn4hRfkTvDfUoEQYkERg0BVF1D0vrX9HEkMl08uDiNWvVvjylLHvZFZWkDo6wjT8tUctbYl1nCOuE66ZTaUtA==} + engines: {node: '>=14.16'} + + smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} sock-daemon@1.4.2: resolution: {integrity: sha512-IzbegWshWWR+UzQ7487mbdYNmfJ1jXUXQBUHooqtpylO+aW0vMVbFN2d2ug3CSPZ0wbG7ZTTGwpUuthIDFIOGg==} @@ -1367,15 +1558,40 @@ packages: socket-post-message@1.0.3: resolution: {integrity: sha512-UhJaB3xR2oF+HvddFOq2cBZi4zVKOHvdiBo+BaScNxsEUg3TLWSP8BkweKfe07kfH1thjn1hJR0af/w1EtBFjg==} - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + socks-proxy-agent@8.0.3: + resolution: {integrity: sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==} + engines: {node: '>= 14'} - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + socks@2.8.3: + resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.18: + resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} + + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + + ssri@10.0.6: + resolution: {integrity: sha512-MGrFH9Z4NP9Iyhqn16sDtBpRRNJ0Y2hNa6D65h736fVSaPCHr4DM4sWUNvVaSuC+0OBGhwsrydQwmgfg5LncqQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} - stacktracey@2.1.8: - resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==} + string-length@6.0.0: + resolution: {integrity: sha512-1U361pxZHEQ+FeSjzqRpV+cu2vTzYeWeafXFLykiFlv4Vc0n3njgU8HrMbyik5uwm77naWMuVG8fhEF+Ovb1Kg==} + engines: {node: '>=16'} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -1385,21 +1601,6 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} - string-width@7.1.0: - resolution: {integrity: sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==} - engines: {node: '>=18'} - - string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} @@ -1412,36 +1613,49 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - supports-color@9.4.0: - resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} - engines: {node: '>=12'} + sync-content@1.0.2: + resolution: {integrity: sha512-znd3rYiiSxU3WteWyS9a6FXkTA/Wjk8WQsOyzHbineeL837dLn3DA4MRhsIX3qGcxDMH6+uuFV4axztssk7wEQ==} + engines: {node: '>=14'} + hasBin: true - swagger-parser@10.0.3: - resolution: {integrity: sha512-nF7oMeL4KypldrQhac8RyHerJeGPD1p2xDh900GPvc+Nk7nWP6jX2FcC7WmkinMoAmoO774+AFXcWsW8gMWEIg==} - engines: {node: '>=10'} + tap-parser@16.0.1: + resolution: {integrity: sha512-vKianJzSSzLkJ3bHBwzvZDDRi9yGMwkRANJxwPAjAue50owB8rlluYySmTN4tZVH0nsh6stvrQbg9kuCL5svdg==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + hasBin: true + + tap-yaml@2.2.2: + resolution: {integrity: sha512-MWG4OpAKtNoNVjCz/BqlDJiwTM99tiHRhHPS4iGOe1ZS0CgM4jSFH92lthSFvvy4EdDjQZDV7uYqUFlU9JuNhw==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + + tap@19.2.1: + resolution: {integrity: sha512-PehUUGJ5chU1pKjrbKhG1IQVdiz2F2+0mifNQcNnLgOyfel36C8xKnBsiQaesrFUt6FZE1cmpmUcZM2z7Nb61w==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + hasBin: true - swagger-schema-official@2.0.0-bab6bed: - resolution: {integrity: sha512-rCC0NWGKr/IJhtRuPq/t37qvZHI/mH4I4sxflVM+qgVe5Z2uOCivzWaVbuioJaB61kvm5UvB7b49E+oBY0M8jA==} + tar@6.2.1: + resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} + engines: {node: '>=10'} - terminal-size@4.0.0: - resolution: {integrity: sha512-rcdty1xZ2/BkWa4ANjWRp4JGpda2quksXIHgn5TMjNBPZfwzJIgR68DKfSYiTL+CZWowDX/sbOo5ME/FRURvYQ==} - engines: {node: '>=18'} + tcompare@7.0.1: + resolution: {integrity: sha512-JN5s7hgmg/Ya5HxZqCnywT+XiOGRFcJRgYhtMyt/1m+h0yWpWwApO7HIM8Bpwyno9hI151ljjp5eAPCHhIGbpQ==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - time-span@5.1.0: - resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==} - engines: {node: '>=12'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - traverse@0.6.9: - resolution: {integrity: sha512-7bBrcF+/LQzSgFmT0X5YclVqQxtv7TDJ1f8Wj7ibBu/U6BMLeOpUxuZjV7rMc44UtKxlnMFigdhFAIszSX1DMg==} - engines: {node: '>= 0.4'} + trivial-deferred@2.0.0: + resolution: {integrity: sha512-iGbM7X2slv9ORDVj2y2FFUq3cP/ypbtu2nQ8S38ufjL0glBABvmR9pTdsib1XtS2LUhhLMbelaBUaf/s5J3dSw==} + engines: {node: '>= 8'} + + tshy@1.14.0: + resolution: {integrity: sha512-YiUujgi4Jb+t2I48LwSRzHkBpniH9WjjktNozn+nlsGmVemKSjDNY7EwBRPvPCr5zAC/3ITAYWH9Z7kUinGSrw==} + engines: {node: 16 >=16.17 || 18 >=18.15.0 || >=20.6.1} + hasBin: true tsimp@2.0.11: resolution: {integrity: sha512-wRhMmvar8tWHN3ZmykD8f4B4sjCn/f8DFM67LRY+stf/LPa2Kq8ATE2PIi570/DiDJA8kjjxzos3EgP0LmnFLA==} @@ -1450,6 +1664,18 @@ packages: peerDependencies: typescript: ^5.1.0 + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + + tsx@4.11.2: + resolution: {integrity: sha512-V5DL5v1BuItjsQ2FN9+4OjR7n5cr8hSgN+VGmm/fd2/0cgQdBIWHcQ3bFYm/5ZTmyxkTDBUIaRuW2divgfPe0A==} + engines: {node: '>=18.0.0'} + hasBin: true + + tuf-js@2.2.1: + resolution: {integrity: sha512-GwIJau9XaA8nLVbUXsN3IlFi7WmQ48gBUrl3FTkkL/XLu/POhBzfmX9hd33FNMX1qAsfl6ozO1iMmW9NC8YniA==} + engines: {node: ^16.14.0 || >=18.0.0} + tunnel@0.0.6: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} @@ -1458,38 +1684,15 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@2.19.0: - resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} - engines: {node: '>=12.20'} - - typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} - - typedarray.prototype.slice@1.0.3: - resolution: {integrity: sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==} - engines: {node: '>= 0.4'} + type-fest@0.12.0: + resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} + engines: {node: '>=10'} typescript@5.4.5: resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -1497,44 +1700,42 @@ packages: resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} + unique-filename@3.0.0: + resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + unique-slug@4.0.0: + resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + universal-user-agent@6.0.1: resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - uuid@8.3.2: resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + v8-to-istanbul@9.2.0: resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} engines: {node: '>=10.12.0'} - valid-url@1.0.9: - resolution: {integrity: sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==} + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - validator@13.12.0: - resolution: {integrity: sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==} - engines: {node: '>= 0.10'} + validate-npm-package-name@5.0.1: + resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} walk-up-path@3.0.1: resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} - wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - web-streams-polyfill@3.3.3: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - - which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -1545,8 +1746,9 @@ packages: engines: {node: ^16.13.0 || >=18.0.0} hasBin: true - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} @@ -1556,17 +1758,39 @@ packages: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} - wrap-ansi@9.0.0: - resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} - engines: {node: '>=18'} - wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + ws@8.17.0: + resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml-types@0.3.0: + resolution: {integrity: sha512-i9RxAO/LZBiE0NJUy9pbN5jFz5EasYDImzRkj8Y81kkInTi1laia3P3K/wlMKzOxFQutZip8TejvQP/DwgbU7A==} + engines: {node: '>= 16', npm: '>= 7'} + peerDependencies: + yaml: ^2.3.0 + + yaml@2.4.3: + resolution: {integrity: sha512-sntgmxj8o7DE7g/Qi60cqpLBA3HG3STcDA0kO+WfB05jEKhZMbY7umNm2rBpQvsmZ16/lPXCJGW2672dgOUkrg==} + engines: {node: '>= 14'} + hasBin: true + yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -1579,20 +1803,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - - youch-terminal@2.2.3: - resolution: {integrity: sha512-/PE77ZwG072tXBvF47S9RL9/G80u86icZ5QwyjblyM67L4n/T5qQeM3Xrecbu8kkDDr/9T/PTj/X+6G/OSRQug==} - - youch@3.3.3: - resolution: {integrity: sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==} - - z-schema@5.0.5: - resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} - engines: {node: '>=8.0.0'} - hasBin: true + yoga-wasm-web@0.3.3: + resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} snapshots: @@ -1624,26 +1836,12 @@ snapshots: '@actions/io@1.1.3': {} - '@apidevtools/json-schema-ref-parser@9.1.2': + '@alcalzone/ansi-tokenize@0.1.3': dependencies: - '@jsdevtools/ono': 7.1.3 - '@types/json-schema': 7.0.15 - call-me-maybe: 1.0.2 - js-yaml: 4.1.0 - - '@apidevtools/openapi-schemas@2.1.0': {} - - '@apidevtools/swagger-methods@3.0.2': {} + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 - '@apidevtools/swagger-parser@10.0.3(openapi-types@1.3.4)': - dependencies: - '@apidevtools/json-schema-ref-parser': 9.1.2 - '@apidevtools/openapi-schemas': 2.1.0 - '@apidevtools/swagger-methods': 3.0.2 - '@jsdevtools/ono': 7.1.3 - call-me-maybe: 1.0.2 - openapi-types: 1.3.4 - z-schema: 5.0.5 + '@base2/pretty-print-object@1.0.1': {} '@bcoe/v8-coverage@0.2.3': {} @@ -1682,7 +1880,77 @@ snapshots: '@biomejs/cli-win32-x64@1.8.0': optional: true - '@colors/colors@1.5.0': + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + + '@esbuild/aix-ppc64@0.20.2': + optional: true + + '@esbuild/android-arm64@0.20.2': + optional: true + + '@esbuild/android-arm@0.20.2': + optional: true + + '@esbuild/android-x64@0.20.2': + optional: true + + '@esbuild/darwin-arm64@0.20.2': + optional: true + + '@esbuild/darwin-x64@0.20.2': + optional: true + + '@esbuild/freebsd-arm64@0.20.2': + optional: true + + '@esbuild/freebsd-x64@0.20.2': + optional: true + + '@esbuild/linux-arm64@0.20.2': + optional: true + + '@esbuild/linux-arm@0.20.2': + optional: true + + '@esbuild/linux-ia32@0.20.2': + optional: true + + '@esbuild/linux-loong64@0.20.2': + optional: true + + '@esbuild/linux-mips64el@0.20.2': + optional: true + + '@esbuild/linux-ppc64@0.20.2': + optional: true + + '@esbuild/linux-riscv64@0.20.2': + optional: true + + '@esbuild/linux-s390x@0.20.2': + optional: true + + '@esbuild/linux-x64@0.20.2': + optional: true + + '@esbuild/netbsd-x64@0.20.2': + optional: true + + '@esbuild/openbsd-x64@0.20.2': + optional: true + + '@esbuild/sunos-x64@0.20.2': + optional: true + + '@esbuild/win32-arm64@0.20.2': + optional: true + + '@esbuild/win32-ia32@0.20.2': + optional: true + + '@esbuild/win32-x64@0.20.2': optional: true '@fastify/busboy@2.1.1': {} @@ -1702,83 +1970,100 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/ts-node-temp-fork-for-pr-2009@10.9.7(@types/node@20.14.2)(typescript@5.4.5)': + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node14': 14.1.2 + '@tsconfig/node16': 16.1.3 + '@tsconfig/node18': 18.2.4 + '@tsconfig/node20': 20.1.4 + '@types/node': 20.14.2 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.4.5 + v8-compile-cache-lib: 3.0.1 + '@istanbuljs/schema@0.1.3': {} - '@japa/assert@3.0.0(@japa/runner@3.1.4)(openapi-types@1.3.4)': + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@jridgewell/trace-mapping@0.3.25': dependencies: - '@japa/runner': 3.1.4 - '@poppinss/macroable': 1.0.2 - '@types/chai': 4.3.16 - api-contract-validator: 2.2.8(openapi-types@1.3.4) - chai: 5.1.1 - transitivePeerDependencies: - - openapi-types - - '@japa/core@9.0.1': - dependencies: - '@poppinss/cliui': 6.4.1 - '@poppinss/hooks': 7.2.3 - '@poppinss/macroable': 1.0.2 - async-retry: 1.3.3 - emittery: 1.0.3 - string-width: 7.1.0 - time-span: 5.1.0 - - '@japa/errors-printer@3.0.4': - dependencies: - '@poppinss/colors': 4.1.3 - jest-diff: 29.7.0 - supports-color: 9.4.0 - youch: 3.3.3 - youch-terminal: 2.2.3 - - '@japa/runner@3.1.4': - dependencies: - '@japa/core': 9.0.1 - '@japa/errors-printer': 3.0.4 - '@poppinss/colors': 4.1.3 - '@poppinss/hooks': 7.2.3 - fast-glob: 3.3.2 - find-cache-dir: 5.0.0 - getopts: 2.3.0 - ms: 2.1.3 - serialize-error: 11.0.3 - slash: 5.1.0 - supports-color: 9.4.0 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 - '@jest/schemas@29.6.3': + '@jridgewell/trace-mapping@0.3.9': dependencies: - '@sinclair/typebox': 0.27.8 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 - '@jest/types@25.5.0': + '@npmcli/agent@2.2.2': dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-reports': 1.1.2 - '@types/yargs': 15.0.19 - chalk: 3.0.0 + agent-base: 7.1.1 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.4 + lru-cache: 10.2.2 + socks-proxy-agent: 8.0.3 + transitivePeerDependencies: + - supports-color - '@jridgewell/resolve-uri@3.1.2': {} + '@npmcli/fs@3.1.1': + dependencies: + semver: 7.6.2 - '@jridgewell/sourcemap-codec@1.4.15': {} + '@npmcli/git@5.0.7': + dependencies: + '@npmcli/promise-spawn': 7.0.2 + lru-cache: 10.2.2 + npm-pick-manifest: 9.0.1 + proc-log: 4.2.0 + promise-inflight: 1.0.1 + promise-retry: 2.0.1 + semver: 7.6.2 + which: 4.0.0 + transitivePeerDependencies: + - bluebird - '@jridgewell/trace-mapping@0.3.25': + '@npmcli/installed-package-contents@2.1.0': dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 + npm-bundled: 3.0.1 + npm-normalize-package-bin: 3.0.1 + + '@npmcli/node-gyp@3.0.0': {} - '@jsdevtools/ono@7.1.3': {} + '@npmcli/package-json@5.2.0': + dependencies: + '@npmcli/git': 5.0.7 + glob: 10.4.1 + hosted-git-info: 7.0.2 + json-parse-even-better-errors: 3.0.2 + normalize-package-data: 6.0.1 + proc-log: 4.2.0 + semver: 7.6.2 + transitivePeerDependencies: + - bluebird - '@nodelib/fs.scandir@2.1.5': + '@npmcli/promise-spawn@7.0.2': dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 + which: 4.0.0 - '@nodelib/fs.stat@2.0.5': {} + '@npmcli/redact@1.1.0': {} - '@nodelib/fs.walk@1.2.8': + '@npmcli/run-script@7.0.4': dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 + '@npmcli/node-gyp': 3.0.0 + '@npmcli/package-json': 5.2.0 + '@npmcli/promise-spawn': 7.0.2 + node-gyp: 10.1.0 + which: 4.0.0 + transitivePeerDependencies: + - bluebird + - supports-color '@octokit/auth-token@4.0.0': {} @@ -1845,28 +2130,37 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@poppinss/cliui@6.4.1': + '@sigstore/bundle@2.3.2': dependencies: - '@poppinss/colors': 4.1.3 - cli-boxes: 3.0.0 - cli-table3: 0.6.5 - cli-truncate: 4.0.0 - log-update: 6.0.0 - pretty-hrtime: 1.0.3 - string-width: 7.1.0 - supports-color: 9.4.0 - terminal-size: 4.0.0 - wordwrap: 1.0.0 + '@sigstore/protobuf-specs': 0.3.2 - '@poppinss/colors@4.1.3': - dependencies: - kleur: 4.1.5 + '@sigstore/core@1.1.0': {} + + '@sigstore/protobuf-specs@0.3.2': {} - '@poppinss/hooks@7.2.3': {} + '@sigstore/sign@2.3.2': + dependencies: + '@sigstore/bundle': 2.3.2 + '@sigstore/core': 1.1.0 + '@sigstore/protobuf-specs': 0.3.2 + make-fetch-happen: 13.0.1 + proc-log: 4.2.0 + promise-retry: 2.0.1 + transitivePeerDependencies: + - supports-color - '@poppinss/macroable@1.0.2': {} + '@sigstore/tuf@2.3.4': + dependencies: + '@sigstore/protobuf-specs': 0.3.2 + tuf-js: 2.2.1 + transitivePeerDependencies: + - supports-color - '@sinclair/typebox@0.27.8': {} + '@sigstore/verify@1.2.1': + dependencies: + '@sigstore/bundle': 2.3.2 + '@sigstore/core': 1.1.0 + '@sigstore/protobuf-specs': 0.3.2 '@sinonjs/commons@2.0.0': dependencies: @@ -1888,31 +2182,283 @@ snapshots: '@sinonjs/text-encoding@0.7.2': {} - '@tsconfig/node20@20.1.4': {} + '@tapjs/after-each@2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + function-loop: 4.0.0 - '@tsconfig/strictest@2.0.5': {} + '@tapjs/after@1.1.28(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + is-actual-promise: 1.0.2 - '@types/chai@4.3.16': {} + '@tapjs/asserts@2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/stack': 2.0.1 + is-actual-promise: 1.0.2 + tcompare: 7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + trivial-deferred: 2.0.0 + transitivePeerDependencies: + - react + - react-dom - '@types/istanbul-lib-coverage@2.0.6': {} + '@tapjs/before-each@2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + function-loop: 4.0.0 - '@types/istanbul-lib-report@3.0.3': + '@tapjs/before@2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@types/istanbul-lib-coverage': 2.0.6 + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + is-actual-promise: 1.0.2 - '@types/istanbul-reports@1.1.2': + '@tapjs/chdir@1.1.1(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@types/istanbul-lib-coverage': 2.0.6 - '@types/istanbul-lib-report': 3.0.3 + '@tapjs/after': 1.1.28(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + '@tapjs/config@3.1.3(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.1(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/test': 2.2.1(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + chalk: 5.3.0 + jackspeak: 3.3.0 + polite-json: 4.0.1 + tap-yaml: 2.2.2 + walk-up-path: 3.0.1 + + '@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@tapjs/processinfo': 3.1.8 + '@tapjs/stack': 2.0.1 + '@tapjs/test': 2.2.1(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + async-hook-domain: 4.0.1 + diff: 5.2.0 + is-actual-promise: 1.0.2 + minipass: 7.1.2 + signal-exit: 4.1.0 + tap-parser: 16.0.1 + tap-yaml: 2.2.2 + tcompare: 7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + trivial-deferred: 2.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - react + - react-dom + + '@tapjs/error-serdes@2.0.1': + dependencies: + minipass: 7.1.2 + + '@tapjs/filter@2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + '@tapjs/fixture@2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + mkdirp: 3.0.1 + rimraf: 5.0.7 + + '@tapjs/intercept@2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@tapjs/after': 1.1.28(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/stack': 2.0.1 + + '@tapjs/mock@2.1.3(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@tapjs/after': 1.1.28(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/stack': 2.0.1 + resolve-import: 1.4.5 + walk-up-path: 3.0.1 + + '@tapjs/node-serialize@2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/error-serdes': 2.0.1 + '@tapjs/stack': 2.0.1 + tap-parser: 16.0.1 + + '@tapjs/processinfo@3.1.8': + dependencies: + pirates: 4.0.6 + process-on-spawn: 1.0.0 + signal-exit: 4.1.0 + uuid: 8.3.2 + + '@tapjs/reporter@2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.1(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))': + dependencies: + '@tapjs/config': 3.1.3(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.1(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/stack': 2.0.1 + chalk: 5.3.0 + ink: 4.4.1(react@18.3.1) + minipass: 7.1.2 + ms: 2.1.3 + patch-console: 2.0.0 + prismjs-terminal: 1.2.3 + react: 18.3.1 + string-length: 6.0.0 + tap-parser: 16.0.1 + tap-yaml: 2.2.2 + tcompare: 7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - '@tapjs/test' + - '@types/react' + - bufferutil + - react-devtools-core + - react-dom + - utf-8-validate + + '@tapjs/run@2.1.3(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@tapjs/after': 1.1.28(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/before': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/config': 3.1.3(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.1(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/processinfo': 3.1.8 + '@tapjs/reporter': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.1(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1)) + '@tapjs/spawn': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/stdin': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/test': 2.2.1(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + c8: 9.1.0 + chalk: 5.3.0 + chokidar: 3.6.0 + foreground-child: 3.1.1 + glob: 10.4.1 + minipass: 7.1.2 + mkdirp: 3.0.1 + opener: 1.5.2 + pacote: 17.0.7 + resolve-import: 1.4.5 + rimraf: 5.0.7 + semver: 7.6.2 + signal-exit: 4.1.0 + tap-parser: 16.0.1 + tap-yaml: 2.2.2 + tcompare: 7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + trivial-deferred: 2.0.0 + which: 4.0.0 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - '@types/react' + - bluebird + - bufferutil + - react + - react-devtools-core + - react-dom + - supports-color + - utf-8-validate + + '@tapjs/snapshot@2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + is-actual-promise: 1.0.2 + tcompare: 7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + trivial-deferred: 2.0.0 + transitivePeerDependencies: + - react + - react-dom + + '@tapjs/spawn@2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + '@tapjs/stack@2.0.1': {} + + '@tapjs/stdin@2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + '@tapjs/test@2.2.1(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.7(@types/node@20.14.2)(typescript@5.4.5) + '@tapjs/after': 1.1.28(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/after-each': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/asserts': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/before': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/before-each': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/chdir': 1.1.1(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/filter': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/fixture': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/intercept': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/mock': 2.1.3(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/node-serialize': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/snapshot': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/spawn': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/stdin': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/typescript': 1.4.10(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(typescript@5.4.5) + '@tapjs/worker': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + glob: 10.4.1 + jackspeak: 3.3.0 + mkdirp: 3.0.1 + package-json-from-dist: 1.0.0 + resolve-import: 1.4.5 + rimraf: 5.0.7 + sync-content: 1.0.2 + tap-parser: 16.0.1 + tshy: 1.14.0 + typescript: 5.4.5 + walk-up-path: 3.0.1 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - react + - react-dom + + '@tapjs/tsx@1.1.29(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + tsx: 4.11.2 + + '@tapjs/typescript@1.4.10(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(typescript@5.4.5)': + dependencies: + '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.7(@types/node@20.14.2)(typescript@5.4.5) + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - typescript + + '@tapjs/worker@2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + dependencies: + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + + '@tsconfig/node14@14.1.2': {} + + '@tsconfig/node16@16.1.3': {} + + '@tsconfig/node18@18.2.4': {} + + '@tsconfig/node20@20.1.4': {} + + '@tsconfig/strictest@2.0.5': {} - '@types/json-schema@7.0.15': {} + '@tufjs/canonical-json@2.0.0': {} + + '@tufjs/models@2.0.1': + dependencies: + '@tufjs/canonical-json': 2.0.0 + minimatch: 9.0.4 + + '@types/istanbul-lib-coverage@2.0.6': {} '@types/node-fetch@2.6.11': dependencies: - '@types/node': 20.14.1 + '@types/node': 20.14.2 form-data: 4.0.0 - '@types/node@20.14.1': + '@types/node@20.14.2': dependencies: undici-types: 5.26.5 @@ -1924,18 +2470,22 @@ snapshots: '@types/which@3.0.4': {} - '@types/yargs-parser@21.0.3': {} + abbrev@2.0.0: {} + + acorn-walk@8.3.2: {} - '@types/yargs@15.0.19': + acorn@8.11.3: {} + + agent-base@7.1.1: dependencies: - '@types/yargs-parser': 21.0.3 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color - ajv@6.12.6: + aggregate-error@3.1.0: dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 + clean-stack: 2.2.0 + indent-string: 4.0.0 ansi-escapes@6.2.1: {} @@ -1947,62 +2497,14 @@ snapshots: dependencies: color-convert: 2.0.1 - ansi-styles@5.2.0: {} - ansi-styles@6.2.1: {} - api-contract-validator@2.2.8(openapi-types@1.3.4): - dependencies: - api-schema-builder: 2.0.11(openapi-types@1.3.4) - chalk: 3.0.0 - columnify: 1.6.0 - jest-diff: 25.5.0 - jest-matcher-utils: 25.5.0 - lodash.flatten: 4.4.0 - lodash.get: 4.4.2 - lodash.set: 4.3.2 - uri-js: 4.4.1 - transitivePeerDependencies: - - openapi-types - - api-schema-builder@2.0.11(openapi-types@1.3.4): - dependencies: - ajv: 6.12.6 - clone-deep: 4.0.1 - decimal.js: 10.4.3 - js-yaml: 3.14.1 - json-schema-deref-sync: 0.14.0 - lodash.get: 4.4.2 - openapi-schema-validator: 3.0.3 - swagger-parser: 10.0.3(openapi-types@1.3.4) - transitivePeerDependencies: - - openapi-types - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - - argparse@2.0.1: {} - - array-buffer-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 - - arraybuffer.prototype.slice@1.0.3: + anymatch@3.1.3: dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 + normalize-path: 3.0.0 + picomatch: 2.3.1 - as-table@1.0.55: - dependencies: - printable-characters: 1.0.42 + arg@4.1.3: {} asn1.js@5.4.1: dependencies: @@ -2011,22 +2513,18 @@ snapshots: minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 - assertion-error@2.0.1: {} - - async-retry@1.3.3: - dependencies: - retry: 0.13.1 + async-hook-domain@4.0.1: {} asynckit@0.4.0: {} - available-typed-arrays@1.0.7: - dependencies: - possible-typed-array-names: 1.0.0 + auto-bind@5.0.1: {} balanced-match@1.0.2: {} before-after-hook@2.2.3: {} + binary-extensions@2.3.0: {} + bn.js@4.12.0: {} brace-expansion@1.1.11: @@ -2056,37 +2554,40 @@ snapshots: yargs: 17.7.2 yargs-parser: 21.1.1 - call-bind@1.0.7: + cacache@18.0.3: dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.2.2 - - call-me-maybe@1.0.2: {} + '@npmcli/fs': 3.1.1 + fs-minipass: 3.0.3 + glob: 10.4.1 + lru-cache: 10.2.2 + minipass: 7.1.2 + minipass-collect: 2.0.1 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + p-map: 4.0.0 + ssri: 10.0.6 + tar: 6.2.1 + unique-filename: 3.0.0 - chai@5.1.1: - dependencies: - assertion-error: 2.0.1 - check-error: 2.1.1 - deep-eql: 5.0.1 - loupe: 3.1.1 - pathval: 2.0.0 + chalk@5.3.0: {} - chalk@3.0.0: + chokidar@3.6.0: dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 + chownr@2.0.0: {} - charenc@0.0.2: {} + ci-info@3.9.0: {} - check-error@2.1.1: {} + clean-stack@2.2.0: {} cli-boxes@3.0.0: {} @@ -2094,16 +2595,10 @@ snapshots: dependencies: restore-cursor: 4.0.0 - cli-table3@0.6.5: - dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 - - cli-truncate@4.0.0: + cli-truncate@3.1.0: dependencies: slice-ansi: 5.0.0 - string-width: 7.1.0 + string-width: 5.1.2 cliui@8.0.1: dependencies: @@ -2111,15 +2606,9 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - clone-deep@4.0.1: + code-excerpt@4.0.0: dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 - - clone@1.0.4: {} - - clone@2.1.2: {} + convert-to-spaces: 2.0.1 color-convert@2.0.1: dependencies: @@ -2127,27 +2616,15 @@ snapshots: color-name@1.1.4: {} - columnify@1.6.0: - dependencies: - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 - commander@9.5.0: - optional: true - - common-path-prefix@3.0.0: {} - concat-map@0.0.1: {} - convert-hrtime@5.0.0: {} - convert-source-map@2.0.0: {} - cookie@0.5.0: {} + convert-to-spaces@2.0.1: {} cross-env@7.0.3: dependencies: @@ -2159,166 +2636,68 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - crypt@0.0.2: {} - - dag-map@1.0.2: {} - - data-uri-to-buffer@2.0.2: {} - data-uri-to-buffer@4.0.1: {} - data-view-buffer@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - - data-view-byte-length@1.0.1: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - - data-view-byte-offset@1.0.0: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - debug@4.3.4: dependencies: ms: 2.1.2 - decimal.js@10.4.3: {} - - deep-eql@5.0.1: {} - - defaults@1.0.4: - dependencies: - clone: 1.0.4 - - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - gopd: 1.0.1 - - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - delayed-stream@1.0.0: {} deprecation@2.3.1: {} - diff-sequences@25.2.6: {} - - diff-sequences@29.6.3: {} + diff@4.0.2: {} diff@5.2.0: {} eastasianwidth@0.2.0: {} - emittery@1.0.3: {} - - emoji-regex@10.3.0: {} - emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} - es-abstract@1.23.3: - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 - globalthis: 1.0.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-data-view: 1.0.1 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.1 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - - es-define-property@1.0.0: - dependencies: - get-intrinsic: 1.2.4 - - es-errors@1.3.0: {} - - es-object-atoms@1.0.0: - dependencies: - es-errors: 1.3.0 - - es-set-tostringtag@2.0.3: - dependencies: - get-intrinsic: 1.2.4 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - - es-to-primitive@1.2.1: + encoding@0.1.13: dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 + iconv-lite: 0.6.3 + optional: true - escalade@3.1.2: {} + env-paths@2.2.1: {} - esprima@4.0.1: {} + err-code@2.0.3: {} - fast-deep-equal@3.1.3: {} + esbuild@0.20.2: + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 - fast-glob@3.3.2: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 + escalade@3.1.2: {} - fast-json-stable-stringify@2.1.0: {} + escape-string-regexp@2.0.0: {} - fastq@1.17.1: - dependencies: - reusify: 1.0.4 + events-to-array@2.0.3: {} + + exponential-backoff@3.1.1: {} fetch-blob@3.2.0: dependencies: @@ -2329,25 +2708,11 @@ snapshots: dependencies: to-regex-range: 5.0.1 - find-cache-dir@5.0.0: - dependencies: - common-path-prefix: 3.0.0 - pkg-dir: 7.0.0 - find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - find-up@6.3.0: - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - - for-each@0.3.3: - dependencies: - is-callable: 1.2.7 - foreground-child@3.1.1: dependencies: cross-spawn: 7.0.3 @@ -2363,45 +2728,30 @@ snapshots: dependencies: fetch-blob: 3.2.0 - fs.realpath@1.0.0: {} + fromentries@1.3.2: {} - function-bind@1.1.2: {} - - function.prototype.name@1.1.6: + fs-minipass@2.1.0: dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - functions-have-names: 1.2.3 + minipass: 3.3.6 - functions-have-names@1.2.3: {} + fs-minipass@3.0.3: + dependencies: + minipass: 7.1.2 - get-caller-file@2.0.5: {} + fs.realpath@1.0.0: {} - get-east-asian-width@1.2.0: {} + fsevents@2.3.3: + optional: true - get-func-name@2.0.2: {} + function-bind@1.1.2: {} - get-intrinsic@1.2.4: - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 + function-loop@4.0.0: {} - get-source@2.0.12: - dependencies: - data-uri-to-buffer: 2.0.2 - source-map: 0.6.1 + get-caller-file@2.0.5: {} - get-symbol-description@1.0.2: + get-tsconfig@4.7.5: dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - - getopts@2.3.0: {} + resolve-pkg-maps: 1.0.0 glob-parent@5.1.2: dependencies: @@ -2415,6 +2765,14 @@ snapshots: minipass: 7.1.1 path-scurry: 1.11.1 + glob@10.4.1: + dependencies: + foreground-child: 3.1.1 + jackspeak: 3.3.0 + minimatch: 9.0.4 + minipass: 7.1.2 + path-scurry: 1.11.1 + glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -2424,38 +2782,52 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - globalthis@1.0.4: + graceful-fs@4.2.11: {} + + has-flag@4.0.0: {} + + hasown@2.0.2: dependencies: - define-properties: 1.2.1 - gopd: 1.0.1 + function-bind: 1.1.2 + + hook-std@3.0.0: {} - gopd@1.0.1: + hosted-git-info@7.0.2: dependencies: - get-intrinsic: 1.2.4 + lru-cache: 10.2.2 - has-bigints@1.0.2: {} + html-escaper@2.0.2: {} - has-flag@4.0.0: {} + http-cache-semantics@4.1.1: {} - has-property-descriptors@1.0.2: + http-proxy-agent@7.0.2: dependencies: - es-define-property: 1.0.0 - - has-proto@1.0.3: {} + agent-base: 7.1.1 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color - has-symbols@1.0.3: {} + https-proxy-agent@7.0.4: + dependencies: + agent-base: 7.1.1 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color - has-tostringtag@1.0.2: + iconv-lite@0.6.3: dependencies: - has-symbols: 1.0.3 + safer-buffer: 2.1.2 + optional: true - hasown@2.0.2: + ignore-walk@6.0.5: dependencies: - function-bind: 1.1.2 + minimatch: 9.0.4 - hook-std@3.0.0: {} + imurmurhash@0.1.4: {} - html-escaper@2.0.2: {} + indent-string@4.0.0: {} + + indent-string@5.0.0: {} inflight@1.0.6: dependencies: @@ -2464,41 +2836,58 @@ snapshots: inherits@2.0.4: {} - internal-slot@1.0.7: + ink@4.4.1(react@18.3.1): dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.0.6 + '@alcalzone/ansi-tokenize': 0.1.3 + ansi-escapes: 6.2.1 + auto-bind: 5.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 + cli-cursor: 4.0.0 + cli-truncate: 3.1.0 + code-excerpt: 4.0.0 + indent-string: 5.0.0 + is-ci: 3.0.1 + is-lower-case: 2.0.2 + is-upper-case: 2.0.2 + lodash: 4.17.21 + patch-console: 2.0.0 + react: 18.3.1 + react-reconciler: 0.29.2(react@18.3.1) + scheduler: 0.23.2 + signal-exit: 3.0.7 + slice-ansi: 6.0.0 + stack-utils: 2.0.6 + string-width: 5.1.2 + type-fest: 0.12.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + ws: 8.17.0 + yoga-wasm-web: 0.3.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate into-stream@8.0.1: {} - is-array-buffer@3.0.4: + ip-address@9.0.5: dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 + jsbn: 1.1.0 + sprintf-js: 1.1.3 - is-bigint@1.0.4: - dependencies: - has-bigints: 1.0.2 + is-actual-promise@1.0.2: {} - is-boolean-object@1.1.2: + is-binary-path@2.1.0: dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 + binary-extensions: 2.3.0 - is-buffer@1.1.6: {} - - is-callable@1.2.7: {} - - is-data-view@1.0.1: + is-ci@3.0.1: dependencies: - is-typed-array: 1.1.13 + ci-info: 3.9.0 - is-date-object@1.0.5: + is-core-module@2.13.1: dependencies: - has-tostringtag: 1.0.2 - - is-extglob@1.0.0: {} + hasown: 2.0.2 is-extglob@2.1.1: {} @@ -2506,71 +2895,28 @@ snapshots: is-fullwidth-code-point@4.0.0: {} - is-fullwidth-code-point@5.0.0: - dependencies: - get-east-asian-width: 1.2.0 - - is-glob@2.0.1: - dependencies: - is-extglob: 1.0.0 - is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - is-invalid-path@0.1.0: - dependencies: - is-glob: 2.0.1 - - is-negative-zero@2.0.3: {} + is-lambda@1.0.1: {} - is-number-object@1.0.7: + is-lower-case@2.0.2: dependencies: - has-tostringtag: 1.0.2 + tslib: 2.6.3 is-number@7.0.0: {} - is-plain-object@2.0.4: - dependencies: - isobject: 3.0.1 - - is-regex@1.1.4: - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - - is-shared-array-buffer@1.0.3: - dependencies: - call-bind: 1.0.7 - - is-string@1.0.7: - dependencies: - has-tostringtag: 1.0.2 - - is-symbol@1.0.4: - dependencies: - has-symbols: 1.0.3 + is-plain-object@5.0.0: {} - is-typed-array@1.1.13: + is-upper-case@2.0.2: dependencies: - which-typed-array: 1.1.15 - - is-valid-path@0.1.1: - dependencies: - is-invalid-path: 0.1.0 - - is-weakref@1.0.2: - dependencies: - call-bind: 1.0.7 - - isarray@2.0.5: {} + tslib: 2.6.3 isexe@2.0.0: {} isexe@3.1.1: {} - isobject@3.0.1: {} - istanbul-lib-coverage@3.2.2: {} istanbul-lib-report@3.0.1: @@ -2590,92 +2936,35 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jest-diff@25.5.0: - dependencies: - chalk: 3.0.0 - diff-sequences: 25.2.6 - jest-get-type: 25.2.6 - pretty-format: 25.5.0 - - jest-diff@29.7.0: + jackspeak@3.3.0: dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - - jest-get-type@25.2.6: {} - - jest-get-type@29.6.3: {} - - jest-matcher-utils@25.5.0: - dependencies: - chalk: 3.0.0 - jest-diff: 25.5.0 - jest-get-type: 25.2.6 - pretty-format: 25.5.0 + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 - js-yaml@3.14.1: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 + js-tokens@4.0.0: {} - js-yaml@4.1.0: - dependencies: - argparse: 2.0.1 + jsbn@1.1.0: {} - json-schema-deref-sync@0.14.0: - dependencies: - clone: 2.1.2 - dag-map: 1.0.2 - is-valid-path: 0.1.1 - lodash: 4.17.21 - md5: 2.2.1 - memory-cache: 0.2.0 - traverse: 0.6.9 - valid-url: 1.0.9 - - json-schema-traverse@0.4.1: {} + json-parse-even-better-errors@3.0.2: {} json-stringify-safe@5.0.1: {} - just-extend@6.2.0: {} - - kind-of@6.0.3: {} + jsonparse@1.3.1: {} - kleur@4.1.5: {} + just-extend@6.2.0: {} locate-path@6.0.0: dependencies: p-locate: 5.0.0 - locate-path@7.2.0: - dependencies: - p-locate: 6.0.0 - - lodash.flatten@4.4.0: {} - lodash.get@4.4.2: {} - lodash.isequal@4.5.0: {} - - lodash.merge@4.6.2: {} - - lodash.set@4.3.2: {} - lodash@4.17.21: {} - log-update@6.0.0: - dependencies: - ansi-escapes: 6.2.1 - cli-cursor: 4.0.0 - slice-ansi: 7.1.0 - strip-ansi: 7.1.0 - wrap-ansi: 9.0.0 - - loupe@3.1.1: + loose-envify@1.4.0: dependencies: - get-func-name: 2.0.2 + js-tokens: 4.0.0 lru-cache@10.2.2: {} @@ -2683,20 +2972,24 @@ snapshots: dependencies: semver: 7.6.2 - md5@2.2.1: - dependencies: - charenc: 0.0.2 - crypt: 0.0.2 - is-buffer: 1.1.6 - - memory-cache@0.2.0: {} - - merge2@1.4.1: {} - - micromatch@4.0.5: - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 + make-error@1.3.6: {} + + make-fetch-happen@13.0.1: + dependencies: + '@npmcli/agent': 2.2.2 + cacache: 18.0.3 + http-cache-semantics: 4.1.1 + is-lambda: 1.0.1 + minipass: 7.1.2 + minipass-fetch: 3.0.5 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.3 + proc-log: 4.2.0 + promise-retry: 2.0.1 + ssri: 10.0.6 + transitivePeerDependencies: + - supports-color mime-db@1.52.0: {} @@ -2716,15 +3009,59 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minipass-collect@2.0.1: + dependencies: + minipass: 7.1.2 + + minipass-fetch@3.0.5: + dependencies: + minipass: 7.1.2 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + + minipass-flush@1.0.5: + dependencies: + minipass: 3.3.6 + + minipass-json-stream@1.0.1: + dependencies: + jsonparse: 1.3.1 + minipass: 3.3.6 + + minipass-pipeline@1.2.4: + dependencies: + minipass: 3.3.6 + + minipass-sized@1.0.3: + dependencies: + minipass: 3.3.6 + + minipass@3.3.6: + dependencies: + yallist: 4.0.0 + + minipass@5.0.0: {} + minipass@7.1.1: {} + minipass@7.1.2: {} + + minizlib@2.1.2: + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + + mkdirp@1.0.4: {} + mkdirp@3.0.1: {} ms@2.1.2: {} ms@2.1.3: {} - mustache@4.2.0: {} + negotiator@0.6.3: {} nise@6.0.0: dependencies: @@ -2750,16 +3087,74 @@ snapshots: fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - object-inspect@1.13.1: {} + node-gyp@10.1.0: + dependencies: + env-paths: 2.2.1 + exponential-backoff: 3.1.1 + glob: 10.4.1 + graceful-fs: 4.2.11 + make-fetch-happen: 13.0.1 + nopt: 7.2.1 + proc-log: 3.0.0 + semver: 7.6.2 + tar: 6.2.1 + which: 4.0.0 + transitivePeerDependencies: + - supports-color + + nopt@7.2.1: + dependencies: + abbrev: 2.0.0 + + normalize-package-data@6.0.1: + dependencies: + hosted-git-info: 7.0.2 + is-core-module: 2.13.1 + semver: 7.6.2 + validate-npm-package-license: 3.0.4 + + normalize-path@3.0.0: {} + + npm-bundled@3.0.1: + dependencies: + npm-normalize-package-bin: 3.0.1 + + npm-install-checks@6.3.0: + dependencies: + semver: 7.6.2 + + npm-normalize-package-bin@3.0.1: {} + + npm-package-arg@11.0.2: + dependencies: + hosted-git-info: 7.0.2 + proc-log: 4.2.0 + semver: 7.6.2 + validate-npm-package-name: 5.0.1 + + npm-packlist@8.0.2: + dependencies: + ignore-walk: 6.0.5 - object-keys@1.1.1: {} + npm-pick-manifest@9.0.1: + dependencies: + npm-install-checks: 6.3.0 + npm-normalize-package-bin: 3.0.1 + npm-package-arg: 11.0.2 + semver: 7.6.2 - object.assign@4.1.5: + npm-registry-fetch@16.2.1: dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - has-symbols: 1.0.3 - object-keys: 1.1.1 + '@npmcli/redact': 1.1.0 + make-fetch-happen: 13.0.1 + minipass: 7.1.2 + minipass-fetch: 3.0.5 + minipass-json-stream: 1.0.1 + minizlib: 2.1.2 + npm-package-arg: 11.0.2 + proc-log: 4.2.0 + transitivePeerDependencies: + - supports-color once@1.4.0: dependencies: @@ -2769,14 +3164,7 @@ snapshots: dependencies: mimic-fn: 2.1.0 - openapi-schema-validator@3.0.3: - dependencies: - ajv: 6.12.6 - lodash.merge: 4.6.2 - openapi-types: 1.3.4 - swagger-schema-official: 2.0.0-bab6bed - - openapi-types@1.3.4: {} + opener@1.5.2: {} openpgp@5.11.1: dependencies: @@ -2786,21 +3174,43 @@ snapshots: dependencies: yocto-queue: 0.1.0 - p-limit@4.0.0: - dependencies: - yocto-queue: 1.0.0 - p-locate@5.0.0: dependencies: p-limit: 3.1.0 - p-locate@6.0.0: - dependencies: - p-limit: 4.0.0 + p-map@4.0.0: + dependencies: + aggregate-error: 3.1.0 + + package-json-from-dist@1.0.0: {} + + pacote@17.0.7: + dependencies: + '@npmcli/git': 5.0.7 + '@npmcli/installed-package-contents': 2.1.0 + '@npmcli/promise-spawn': 7.0.2 + '@npmcli/run-script': 7.0.4 + cacache: 18.0.3 + fs-minipass: 3.0.3 + minipass: 7.1.2 + npm-package-arg: 11.0.2 + npm-packlist: 8.0.2 + npm-pick-manifest: 9.0.1 + npm-registry-fetch: 16.2.1 + proc-log: 4.2.0 + promise-retry: 2.0.1 + read-package-json: 7.0.1 + read-package-json-fast: 3.0.2 + sigstore: 2.3.1 + ssri: 10.0.6 + tar: 6.2.1 + transitivePeerDependencies: + - bluebird + - supports-color - path-exists@4.0.0: {} + patch-console@2.0.0: {} - path-exists@5.0.0: {} + path-exists@4.0.0: {} path-is-absolute@1.0.1: {} @@ -2813,111 +3223,106 @@ snapshots: path-to-regexp@6.2.2: {} - pathval@2.0.0: {} - picomatch@2.3.1: {} pirates@4.0.6: {} - pkg-dir@7.0.0: - dependencies: - find-up: 6.3.0 - - possible-typed-array-names@1.0.0: {} + polite-json@4.0.1: {} - pretty-format@25.5.0: + prismjs-terminal@1.2.3: dependencies: - '@jest/types': 25.5.0 - ansi-regex: 5.0.1 - ansi-styles: 4.3.0 - react-is: 16.13.1 - - pretty-format@29.7.0: - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.3.1 + chalk: 5.3.0 + prismjs: 1.29.0 + string-length: 6.0.0 - pretty-hrtime@1.0.3: {} + prismjs@1.29.0: {} - printable-characters@1.0.42: {} - - propagate@2.0.1: {} + proc-log@3.0.0: {} - punycode@2.3.1: {} + proc-log@4.2.0: {} - queue-microtask@1.2.3: {} - - react-is@16.13.1: {} + process-on-spawn@1.0.0: + dependencies: + fromentries: 1.3.2 - react-is@18.3.1: {} + promise-inflight@1.0.1: {} - regexp.prototype.flags@1.5.2: + promise-retry@2.0.1: dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-errors: 1.3.0 - set-function-name: 2.0.2 + err-code: 2.0.3 + retry: 0.12.0 - require-directory@2.1.1: {} + propagate@2.0.1: {} - restore-cursor@4.0.0: + react-dom@18.3.1(react@18.3.1): dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 - retry@0.13.1: {} + react-element-to-jsx-string@15.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + '@base2/pretty-print-object': 1.0.1 + is-plain-object: 5.0.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-is: 18.1.0 - reusify@1.0.4: {} + react-is@18.1.0: {} - rimraf@5.0.7: + react-reconciler@0.29.2(react@18.3.1): dependencies: - glob: 10.3.15 + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 - run-parallel@1.2.0: + react@18.3.1: dependencies: - queue-microtask: 1.2.3 + loose-envify: 1.4.0 - safe-array-concat@1.1.2: + read-package-json-fast@3.0.2: dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 + json-parse-even-better-errors: 3.0.2 + npm-normalize-package-bin: 3.0.1 - safe-regex-test@1.0.3: + read-package-json@7.0.1: dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-regex: 1.1.4 + glob: 10.4.1 + json-parse-even-better-errors: 3.0.2 + normalize-package-data: 6.0.1 + npm-normalize-package-bin: 3.0.1 - safer-buffer@2.1.2: {} + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 - semver@7.6.2: {} + require-directory@2.1.1: {} - serialize-error@11.0.3: + resolve-import@1.4.5: dependencies: - type-fest: 2.19.0 + glob: 10.4.1 + walk-up-path: 3.0.1 + + resolve-pkg-maps@1.0.0: {} - set-function-length@1.2.2: + restore-cursor@4.0.0: dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 + onetime: 5.1.2 + signal-exit: 3.0.7 + + retry@0.12.0: {} - set-function-name@2.0.2: + rimraf@5.0.7: dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 + glob: 10.3.15 + + safer-buffer@2.1.2: {} - shallow-clone@3.0.1: + scheduler@0.23.2: dependencies: - kind-of: 6.0.3 + loose-envify: 1.4.0 + + semver@7.6.2: {} shebang-command@2.0.0: dependencies: @@ -2925,17 +3330,21 @@ snapshots: shebang-regex@3.0.0: {} - side-channel@1.0.6: - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - object-inspect: 1.13.1 - signal-exit@3.0.7: {} signal-exit@4.1.0: {} + sigstore@2.3.1: + dependencies: + '@sigstore/bundle': 2.3.2 + '@sigstore/core': 1.1.0 + '@sigstore/protobuf-specs': 0.3.2 + '@sigstore/sign': 2.3.2 + '@sigstore/tuf': 2.3.4 + '@sigstore/verify': 1.2.1 + transitivePeerDependencies: + - supports-color + sinon@18.0.0: dependencies: '@sinonjs/commons': 3.0.1 @@ -2945,17 +3354,17 @@ snapshots: nise: 6.0.0 supports-color: 7.2.0 - slash@5.1.0: {} - slice-ansi@5.0.0: dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 - slice-ansi@7.1.0: + slice-ansi@6.0.0: dependencies: ansi-styles: 6.2.1 - is-fullwidth-code-point: 5.0.0 + is-fullwidth-code-point: 4.0.0 + + smart-buffer@4.2.0: {} sock-daemon@1.4.2: dependencies: @@ -2965,51 +3374,58 @@ snapshots: socket-post-message@1.0.3: {} - source-map@0.6.1: {} + socks-proxy-agent@8.0.3: + dependencies: + agent-base: 7.1.1 + debug: 4.3.4 + socks: 2.8.3 + transitivePeerDependencies: + - supports-color - sprintf-js@1.0.3: {} + socks@2.8.3: + dependencies: + ip-address: 9.0.5 + smart-buffer: 4.2.0 - stacktracey@2.1.8: + spdx-correct@3.2.0: dependencies: - as-table: 1.0.55 - get-source: 2.0.12 + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.18 - string-width@4.2.3: + spdx-exceptions@2.5.0: {} + + spdx-expression-parse@3.0.1: dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.18 - string-width@5.1.2: + spdx-license-ids@3.0.18: {} + + sprintf-js@1.1.3: {} + + ssri@10.0.6: dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 + minipass: 7.1.2 - string-width@7.1.0: + stack-utils@2.0.6: dependencies: - emoji-regex: 10.3.0 - get-east-asian-width: 1.2.0 - strip-ansi: 7.1.0 + escape-string-regexp: 2.0.0 - string.prototype.trim@1.2.9: + string-length@6.0.0: dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-object-atoms: 1.0.0 + strip-ansi: 7.1.0 - string.prototype.trimend@1.0.8: + string-width@4.2.3: dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 - string.prototype.trimstart@1.0.8: + string-width@5.1.2: dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 strip-ansi@6.0.1: dependencies: @@ -3023,17 +3439,75 @@ snapshots: dependencies: has-flag: 4.0.0 - supports-color@9.4.0: {} - - swagger-parser@10.0.3(openapi-types@1.3.4): + sync-content@1.0.2: dependencies: - '@apidevtools/swagger-parser': 10.0.3(openapi-types@1.3.4) + glob: 10.4.1 + mkdirp: 3.0.1 + path-scurry: 1.11.1 + rimraf: 5.0.7 + + tap-parser@16.0.1: + dependencies: + events-to-array: 2.0.3 + tap-yaml: 2.2.2 + + tap-yaml@2.2.2: + dependencies: + yaml: 2.4.3 + yaml-types: 0.3.0(yaml@2.4.3) + + tap@19.2.1(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5): + dependencies: + '@tapjs/after': 1.1.28(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/after-each': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/asserts': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/before': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/before-each': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/chdir': 1.1.1(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/filter': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/fixture': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/intercept': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/mock': 2.1.3(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/node-serialize': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/run': 2.1.3(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/snapshot': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/spawn': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/stdin': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/test': 2.2.1(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/typescript': 1.4.10(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/node@20.14.2)(typescript@5.4.5) + '@tapjs/worker': 2.0.5(@tapjs/core@2.1.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + resolve-import: 1.4.5 transitivePeerDependencies: - - openapi-types + - '@swc/core' + - '@swc/wasm' + - '@types/node' + - '@types/react' + - bluebird + - bufferutil + - react + - react-devtools-core + - react-dom + - supports-color + - typescript + - utf-8-validate - swagger-schema-official@2.0.0-bab6bed: {} + tar@6.2.1: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 - terminal-size@4.0.0: {} + tcompare@7.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + diff: 5.2.0 + react-element-to-jsx-string: 15.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + transitivePeerDependencies: + - react + - react-dom test-exclude@6.0.0: dependencies: @@ -3041,19 +3515,25 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 - time-span@5.1.0: - dependencies: - convert-hrtime: 5.0.0 - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - traverse@0.6.9: + trivial-deferred@2.0.0: {} + + tshy@1.14.0: dependencies: - gopd: 1.0.1 - typedarray.prototype.slice: 1.0.3 - which-typed-array: 1.1.15 + chalk: 5.3.0 + chokidar: 3.6.0 + foreground-child: 3.1.1 + minimatch: 9.0.4 + mkdirp: 3.0.1 + polite-json: 4.0.1 + resolve-import: 1.4.5 + rimraf: 5.0.7 + sync-content: 1.0.2 + typescript: 5.4.5 + walk-up-path: 3.0.1 tsimp@2.0.11(typescript@5.4.5): dependencies: @@ -3068,110 +3548,68 @@ snapshots: typescript: 5.4.5 walk-up-path: 3.0.1 - tunnel@0.0.6: {} - - type-detect@4.0.8: {} - - type-fest@2.19.0: {} + tslib@2.6.3: {} - typed-array-buffer@1.0.2: + tsx@4.11.2: dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-typed-array: 1.1.13 + esbuild: 0.20.2 + get-tsconfig: 4.7.5 + optionalDependencies: + fsevents: 2.3.3 - typed-array-byte-length@1.0.1: + tuf-js@2.2.1: dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 + '@tufjs/models': 2.0.1 + debug: 4.3.4 + make-fetch-happen: 13.0.1 + transitivePeerDependencies: + - supports-color - typed-array-byte-offset@1.0.2: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 + tunnel@0.0.6: {} - typed-array-length@1.0.6: - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 + type-detect@4.0.8: {} - typedarray.prototype.slice@1.0.3: - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - es-errors: 1.3.0 - typed-array-buffer: 1.0.2 - typed-array-byte-offset: 1.0.2 + type-fest@0.12.0: {} typescript@5.4.5: {} - unbox-primitive@1.0.2: - dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - undici-types@5.26.5: {} undici@5.28.4: dependencies: '@fastify/busboy': 2.1.1 - universal-user-agent@6.0.1: {} + unique-filename@3.0.0: + dependencies: + unique-slug: 4.0.0 - uri-js@4.4.1: + unique-slug@4.0.0: dependencies: - punycode: 2.3.1 + imurmurhash: 0.1.4 + + universal-user-agent@6.0.1: {} uuid@8.3.2: {} + v8-compile-cache-lib@3.0.1: {} + v8-to-istanbul@9.2.0: dependencies: '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 - valid-url@1.0.9: {} + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 - validator@13.12.0: {} + validate-npm-package-name@5.0.1: {} walk-up-path@3.0.1: {} - wcwidth@1.0.1: - dependencies: - defaults: 1.0.4 - web-streams-polyfill@3.3.3: {} - which-boxed-primitive@1.0.2: - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - - which-typed-array@1.1.15: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.2 - which@2.0.2: dependencies: isexe: 2.0.0 @@ -3180,7 +3618,9 @@ snapshots: dependencies: isexe: 3.1.1 - wordwrap@1.0.0: {} + widest-line@4.0.1: + dependencies: + string-width: 5.1.2 wrap-ansi@7.0.0: dependencies: @@ -3194,16 +3634,20 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 - wrap-ansi@9.0.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 7.1.0 - strip-ansi: 7.1.0 - wrappy@1.0.2: {} + ws@8.17.0: {} + y18n@5.0.8: {} + yallist@4.0.0: {} + + yaml-types@0.3.0(yaml@2.4.3): + dependencies: + yaml: 2.4.3 + + yaml@2.4.3: {} + yargs-parser@21.1.1: {} yargs@17.7.2: @@ -3218,24 +3662,4 @@ snapshots: yocto-queue@0.1.0: {} - yocto-queue@1.0.0: {} - - youch-terminal@2.2.3: - dependencies: - kleur: 4.1.5 - string-width: 4.2.3 - wordwrap: 1.0.0 - - youch@3.3.3: - dependencies: - cookie: 0.5.0 - mustache: 4.2.0 - stacktracey: 2.1.8 - - z-schema@5.0.5: - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.12.0 - optionalDependencies: - commander: 9.5.0 + yoga-wasm-web@0.3.3: {} diff --git a/test/integration/integration.test.ts b/test/integration.test.ts similarity index 68% rename from test/integration/integration.test.ts rename to test/integration.test.ts index 62d968b5..9a61ed89 100644 --- a/test/integration/integration.test.ts +++ b/test/integration.test.ts @@ -1,20 +1,25 @@ import { unlinkSync } from 'node:fs'; import { EOL, arch, platform } from 'node:os'; -import { test } from '@japa/runner'; import { hookStd } from 'hook-std'; +import t from 'tap'; import { DOWNLOAD_URL, EXECUTABLE, FILE_ARTIFACTS, downloadAndRecord, verifyChecksumAndSignature, -} from '../../src/main.js'; +} from '../src/main.js'; -test.group('🌏 integration tests', () => { - test('🧪 verifyChecksumAndSignature() should download the CC reporter and pass all validations (happy path).', async ({ - assert, - }) => { - assert.plan(1); +t.test( + '🧪 verifyChecksumAndSignature() should download the CC reporter and pass all validations (happy path).', + { + skip: + platform() === 'darwin' && arch() === 'arm64' + ? 'Skipping because the CC reporter is not available on macOS Apple Silicon!' + : false, + }, + async (t) => { + t.plan(1); let capturedOutput = ''; const stdHook = hookStd((text: string) => { capturedOutput += text; @@ -26,7 +31,7 @@ test.group('🌏 integration tests', () => { stdHook.unhook(); } catch (err) { stdHook.unhook(); - assert.fail((err as Error).message); + t.fail(err); } finally { for (const artifact of FILE_ARTIFACTS) { try { @@ -35,7 +40,7 @@ test.group('🌏 integration tests', () => { } } - assert.equal( + t.equal( capturedOutput, [ '::debug::ℹ️ Verifying CC Reporter checksum...', @@ -46,8 +51,6 @@ test.group('🌏 integration tests', () => { ].join(EOL), 'should download the reporter and correctly pass checksum and signature verification steps.', ); - }).skip( - platform() === 'darwin' && arch() === 'arm64', - 'Skipping because the CC reporter is not available on macOS Apple Silicon!', - ); -}); + t.end(); + }, +); diff --git a/test/unit/main.test.ts b/test/main.test.ts similarity index 71% rename from test/unit/main.test.ts rename to test/main.test.ts index 45f942e2..48cc412a 100644 --- a/test/unit/main.test.ts +++ b/test/main.test.ts @@ -10,18 +10,14 @@ import { fileURLToPath } from 'node:url'; import { promisify } from 'node:util'; import { context } from '@actions/github'; import * as glob from '@actions/glob'; -import { test } from '@japa/runner'; import { hookStd } from 'hook-std'; import intoStream from 'into-stream'; import nock from 'nock'; import sinon from 'sinon'; +import t from 'tap'; import which from 'which'; -import { - CODECLIMATE_GPG_PUBLIC_KEY_ID, - prepareEnv, - run, -} from '../../src/main.js'; -import * as utils from '../../src/utils.js'; +import { CODECLIMATE_GPG_PUBLIC_KEY_ID, prepareEnv, run } from '../src/main.js'; +import * as utils from '../src/utils.js'; /** * Dev Notes @@ -39,9 +35,7 @@ const readFileAsync = promisify(readFile); const PLATFORM = os.platform(); const EXE_EXT = PLATFORM === 'win32' ? 'bat' : ('sh' as const); const DEFAULT_WORKDIR = process.cwd(); - const __DIRNAME = dirname(fileURLToPath(import.meta.url)); - const EXE_PATH_PREFIX = PLATFORM === 'win32' ? 'C:\\Windows\\system32\\cmd.exe /D /S /C' @@ -52,25 +46,18 @@ const ECHO_CMD = const sandbox = sinon.createSandbox(); -test.group('🫀 core unit tests', (g) => { - g.setup(() => { - nock.disableNetConnect(); - if (!nock.isActive()) nock.activate(); - }); - - g.teardown(() => { - nock.restore(); - nock.cleanAll(); - nock.enableNetConnect(); - if (process.exitCode === 1) process.exitCode = 0; // This is required because @actions/core `setFailed` sets the exit code to 1 when we're testing errors. - }); +t.test('🛠 setup', (t) => { + t.plan(0); + nock.disableNetConnect(); + if (!nock.isActive()) nock.activate(); + t.end(); +}); - test('🧪 prepareEnv() should return envs as-is in the absence of any GitHub-related variables.', ({ - assert, - test, - }) => { - assert.plan(1); - test.teardown(() => sandbox.restore()); +t.test( + '🧪 prepareEnv() should return envs as-is in the absence of any GitHub-related variables.', + (t) => { + t.plan(1); + t.teardown(() => sandbox.restore()); const expected = { HOME: '/home', USER: 'gp', @@ -78,15 +65,15 @@ test.group('🫀 core unit tests', (g) => { }; sandbox.stub(process, 'env').value(expected); const output = prepareEnv(); - assert.deepEqual(output, expected, 'should return envs as-is'); - }); - - test('🧪 prepareEnv() should return Git branch correctly when those GitHub-related variables are available.', ({ - assert, - test, - }) => { - assert.plan(1); - test.teardown(() => sandbox.restore()); + t.strictSame(output, expected, 'should return envs as-is'); + }, +); + +t.test( + '🧪 prepareEnv() should return Git branch correctly when those GitHub-related variables are available.', + (t) => { + t.plan(1); + t.teardown(() => sandbox.restore()); const mockEnv = { HOME: '/home', USER: 'gp', @@ -99,19 +86,19 @@ test.group('🫀 core unit tests', (g) => { GIT_BRANCH: 'main', }; const output = prepareEnv(); - assert.deepEqual( + t.strictSame( output, expected, 'should return correctly updated additional environment variables', ); - }); - - test('🧪 prepareEnv() should return Git commit SHA and branch correctly when those GitHub-related variables are available.', ({ - assert, - test, - }) => { - assert.plan(1); - test.teardown(() => sandbox.restore()); + }, +); + +t.test( + '🧪 prepareEnv() should return Git commit SHA and branch correctly when those GitHub-related variables are available.', + (t) => { + t.plan(1); + t.teardown(() => sandbox.restore()); const mockEnv = { HOME: '/home', USER: 'gp', @@ -126,19 +113,19 @@ test.group('🫀 core unit tests', (g) => { GIT_BRANCH: 'main', }; const output = prepareEnv(); - assert.deepEqual( + t.strictSame( output, expected, 'should return correctly updated additional environment variables', ); - }); - - test('🧪 prepareEnv() should return Git commit SHA and branch correctly when the relevant GitHub event context is available.', ({ - assert, - test, - }) => { - assert.plan(1); - test.teardown(() => sandbox.restore()); + }, +); + +t.test( + '🧪 prepareEnv() should return Git commit SHA and branch correctly when the relevant GitHub event context is available.', + (t) => { + t.plan(1); + t.teardown(() => sandbox.restore()); const mockEnv = { HOME: '/home', USER: 'gp', @@ -160,86 +147,90 @@ test.group('🫀 core unit tests', (g) => { }; const output = prepareEnv(); - assert.deepEqual( + t.strictSame( output, expected, 'should return correctly updated additional environment variables', ); - }); - - test('🧪 run() should run the CC reporter (happy path).', async ({ - assert, - test, - }) => { - assert.plan(1); - test.teardown(() => sandbox.restore()); - const filePath = `./test.${EXE_EXT}`; - nock('http://localhost.test') - .get('/dummy-cc-reporter') - .reply(200, async () => { - const dummyReporterFile = `./test/fixtures/dummy-cc-reporter.${EXE_EXT}`; - const dummyReporter = await readFileAsync(dummyReporterFile); - return intoStream(dummyReporter); - }); - - let capturedOutput = ''; - const stdHook = hookStd((text: string) => { - capturedOutput += text; + }, +); + +t.test('🧪 run() should run the CC reporter (happy path).', async (t) => { + t.plan(1); + t.teardown(() => sandbox.restore()); + const filePath = `./test.${EXE_EXT}`; + nock('http://localhost.test') + .get('/dummy-cc-reporter') + .reply(200, async () => { + const dummyReporterFile = joinPath( + __DIRNAME, + `../test/fixtures/dummy-cc-reporter.${EXE_EXT}`, + ); + const dummyReporter = await readFileAsync(dummyReporterFile); + return intoStream(dummyReporter); }); - try { - await run({ - downloadUrl: 'http://localhost.test/dummy-cc-reporter', - executable: filePath, - coverageCommand: `${ECHO_CMD} 'coverage ok'`, - verifyDownload: 'false', - }); - stdHook.unhook(); - } catch (err) { - stdHook.unhook(); - assert.fail((err as Error).message); - } finally { - nock.cleanAll(); - } + let capturedOutput = ''; + const stdHook = hookStd((text: string) => { + capturedOutput += text; + }); - const expected = [ - '::debug::ℹ️ Downloading CC Reporter from http://localhost.test/dummy-cc-reporter ...', - '::debug::✅ CC Reporter downloaded...', - PLATFORM === 'win32' - ? `[command]${EXE_PATH_PREFIX} "${DEFAULT_WORKDIR}\\test.${EXE_EXT} before-build"` - : `[command]${DEFAULT_WORKDIR}/test.${EXE_EXT} before-build`, - 'before-build', - '::debug::✅ CC Reporter before-build checkin completed...', - `[command]${ECHO_CMD} 'coverage ok'`, - `'coverage ok'`, - '::debug::✅ Coverage run completed...', - PLATFORM === 'win32' - ? `[command]${EXE_PATH_PREFIX} "${DEFAULT_WORKDIR}\\test.${EXE_EXT} after-build --exit-code 0"` - : `[command]${DEFAULT_WORKDIR}/test.${EXE_EXT} after-build --exit-code 0`, - 'after-build --exit-code 0', - '::debug::✅ CC Reporter after-build checkin completed!', - '', - ].join(EOL); - assert.equal( - JSON.stringify(capturedOutput), - JSON.stringify(expected), - 'should execute all steps in happy path.', - ); - unlinkSync(filePath); + try { + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + coverageCommand: `${ECHO_CMD} 'coverage ok'`, + verifyDownload: 'false', + }); + stdHook.unhook(); + } catch (err) { + stdHook.unhook(); + t.fail(err); + } finally { nock.cleanAll(); - }); + } + + const expected = [ + '::debug::ℹ️ Downloading CC Reporter from http://localhost.test/dummy-cc-reporter ...', + '::debug::✅ CC Reporter downloaded...', + PLATFORM === 'win32' + ? `[command]${EXE_PATH_PREFIX} "${DEFAULT_WORKDIR}\\test.${EXE_EXT} before-build"` + : `[command]${DEFAULT_WORKDIR}/test.${EXE_EXT} before-build`, + 'before-build', + '::debug::✅ CC Reporter before-build checkin completed...', + `[command]${ECHO_CMD} 'coverage ok'`, + `'coverage ok'`, + '::debug::✅ Coverage run completed...', + PLATFORM === 'win32' + ? `[command]${EXE_PATH_PREFIX} "${DEFAULT_WORKDIR}\\test.${EXE_EXT} after-build --exit-code 0"` + : `[command]${DEFAULT_WORKDIR}/test.${EXE_EXT} after-build --exit-code 0`, + 'after-build --exit-code 0', + '::debug::✅ CC Reporter after-build checkin completed!', + '', + ].join(EOL); + t.equal( + JSON.stringify(capturedOutput), + JSON.stringify(expected), + 'should execute all steps in happy path.', + ); + unlinkSync(filePath); + nock.cleanAll(); + t.end(); +}); - test('🧪 run() should run the CC reporter without verification if configured.', async ({ - assert, - test, - }) => { - assert.plan(1); - test.teardown(() => sandbox.restore()); +t.test( + '🧪 run() should run the CC reporter without verification if configured.', + async (t) => { + t.plan(1); + t.teardown(() => sandbox.restore()); const filePath = `./test.${EXE_EXT}`; nock('http://localhost.test') .get('/dummy-cc-reporter') .reply(200, async () => { - const dummyReporterFile = `./test/fixtures/dummy-cc-reporter.${EXE_EXT}`; + const dummyReporterFile = joinPath( + __DIRNAME, + `../test/fixtures/dummy-cc-reporter.${EXE_EXT}`, + ); const dummyReporter = await readFileAsync(dummyReporterFile); return intoStream(dummyReporter); }); @@ -259,12 +250,12 @@ test.group('🫀 core unit tests', (g) => { stdHook.unhook(); } catch (err) { stdHook.unhook(); - assert.fail((err as Error).message); + t.fail(err); } finally { nock.cleanAll(); } - assert.equal( + t.equal( capturedOutput, [ '::debug::ℹ️ Downloading CC Reporter from http://localhost.test/dummy-cc-reporter ...', @@ -288,19 +279,23 @@ test.group('🫀 core unit tests', (g) => { ); unlinkSync(filePath); nock.cleanAll(); - }); - - test('🧪 run() should run the CC reporter without a coverage command.', async ({ - assert, - test, - }) => { - assert.plan(1); - test.teardown(() => sandbox.restore()); + t.end(); + }, +); + +t.test( + '🧪 run() should run the CC reporter without a coverage command.', + async (t) => { + t.plan(1); + t.teardown(() => sandbox.restore()); const filePath = `./test.${EXE_EXT}`; nock('http://localhost.test') .get('/dummy-cc-reporter') .reply(200, async () => { - const dummyReporterFile = `./test/fixtures/dummy-cc-reporter.${EXE_EXT}`; + const dummyReporterFile = joinPath( + __DIRNAME, + `../test/fixtures/dummy-cc-reporter.${EXE_EXT}`, + ); const dummyReporter = await readFileAsync(dummyReporterFile); return intoStream(dummyReporter); }); @@ -314,17 +309,18 @@ test.group('🫀 core unit tests', (g) => { await run({ downloadUrl: 'http://localhost.test/dummy-cc-reporter', executable: filePath, + coverageCommand: '', verifyDownload: 'false', }); stdHook.unhook(); } catch (err) { stdHook.unhook(); - assert.fail((err as Error).message); + t.fail(err); } finally { nock.cleanAll(); } - assert.equal( + t.equal( capturedOutput, [ '::debug::ℹ️ Downloading CC Reporter from http://localhost.test/dummy-cc-reporter ...', @@ -346,14 +342,18 @@ test.group('🫀 core unit tests', (g) => { ); unlinkSync(filePath); nock.cleanAll(); - }); - - test('🧪 run() should convert patterns to locations.', async ({ - assert, - test, - }) => { - assert.plan(3); - test.teardown(() => sandbox.restore()); + t.end(); + }, +); + +t.test( + '🧪 run() should convert patterns to locations.', + { + skip: 'Skipping for now as ES modules cannot be stubbed 😭', + }, + async (t) => { + t.plan(3); + t.teardown(() => sandbox.restore()); const globSpy = sandbox .stub() .resolves([ @@ -369,11 +369,50 @@ test.group('🫀 core unit tests', (g) => { nock('http://localhost.test') .get('/dummy-cc-reporter') .reply(200, async () => { - const dummyReporterFile = `./test/fixtures/dummy-cc-reporter.${EXE_EXT}`; + const dummyReporterFile = joinPath( + __DIRNAME, + `../test/fixtures/dummy-cc-reporter.${EXE_EXT}`, + ); const dummyReporter = await readFileAsync(dummyReporterFile); return intoStream(dummyReporter); }); + nock('http://localhost.test') + .get('/dummy-cc-reporter.sha256') + .reply(200, async () => { + const checksumFile = joinPath( + __DIRNAME, + `../test/fixtures/dummy-cc-reporter.${EXE_EXT}.sha256`, + ); + const checksum = await readFileAsync(checksumFile); + return intoStream(checksum); + }); + + nock('http://localhost.test') + .get('/dummy-cc-reporter.sha256.sig') + .reply(200, async () => { + const signatureFile = joinPath( + __DIRNAME, + `../test/fixtures/dummy-cc-reporter.${EXE_EXT}.sha256.sig`, + ); + const signature = await readFileAsync(signatureFile); + return intoStream(signature); + }); + + nock('https://keys.openpgp.org') + .get(`/vks/v1/by-fingerprint/${CODECLIMATE_GPG_PUBLIC_KEY_ID}`) + .reply(200, async () => { + const publicKeyFile = joinPath( + __DIRNAME, + '../test/fixtures/9BD9E2DD46DA965A537E5B0A5CBF320243B6FD85.asc', + ); + const publicKey = await readFileAsync(publicKeyFile); + return intoStream(publicKey); + }); + + sandbox.stub(utils, 'verifyChecksum').resolves(true); + sandbox.stub(utils, 'verifySignature').resolves(true); + const filePattern = PLATFORM === 'win32' ? `${DEFAULT_WORKDIR}\\*.lcov:lcov` @@ -393,33 +432,38 @@ test.group('🫀 core unit tests', (g) => { await run({ downloadUrl: 'http://localhost.test/dummy-cc-reporter', executable: filePath, - verifyDownload: 'false', + coverageCommand: '', coverageLocationsParam: filePattern, + codeClimateDebug: 'false', }); stdHook.unhook(); } catch (err) { stdHook.unhook(); - assert.fail((err as Error).message); + t.fail(err); } finally { nock.cleanAll(); } - assert.equal( + t.equal( (glob.create as unknown as sinon.SinonSpy).firstCall.firstArg, PLATFORM === 'win32' ? `${DEFAULT_WORKDIR}\\*.lcov` : `${DEFAULT_WORKDIR}/*.lcov`, 'should create a globber with given pattern.', ); - assert.ok( + t.ok( globSpy.calledOnceWithExactly(), 'should get the paths of the files from the newly created globber instance.', ); - assert.equal( + t.equal( capturedOutput, [ '::debug::ℹ️ Downloading CC Reporter from http://localhost.test/dummy-cc-reporter ...', '::debug::✅ CC Reporter downloaded...', + '::debug::ℹ️ Verifying CC Reporter checksum...', + '::debug::✅ CC Reported checksum verification completed...', + '::debug::ℹ️ Verifying CC Reporter GPG signature...', + '::debug::✅ CC Reported GPG signature verification completed...', PLATFORM === 'win32' ? `[command]${EXE_PATH_PREFIX} "${DEFAULT_WORKDIR}\\test.${EXE_EXT} before-build"` : `[command]${DEFAULT_WORKDIR}/test.${EXE_EXT} before-build`, @@ -458,21 +502,22 @@ test.group('🫀 core unit tests', (g) => { unlinkSync(fileA); unlinkSync(fileB); nock.cleanAll(); - }).skip(true, 'Skipping because ES modules cannot be stubbed 😭'); - - test('🧪 run() should correctly switch the working directory if given.', async ({ - assert, - test, - }) => { - assert.plan(1); - test.teardown(() => sandbox.restore()); - const filePath = `./test.${EXE_EXT}`; + t.end(); + }, +); + +t.test( + '🧪 run() should correctly switch the working directory if given.',{ only: true }, + async (t) => { + t.plan(1); + t.teardown(() => sandbox.restore()); + nock('http://localhost.test') .get('/dummy-cc-reporter') .reply(200, async () => { const dummyReporterFile = joinPath( - __DIRNAME, - `../fixtures/dummy-cc-reporter.${EXE_EXT}`, + __dirname, + `./fixtures/dummy-cc-reporter.${EXE_EXT}`, ); const dummyReporter = await readFileAsync(dummyReporterFile); return intoStream(dummyReporter); @@ -484,6 +529,11 @@ test.group('🫀 core unit tests', (g) => { }); const CUSTOM_WORKDIR = await realpath(tmpdir()); + const filePath = joinPath( + CUSTOM_WORKDIR, + `./test.${EXE_EXT}` + ); + try { await run({ downloadUrl: 'http://localhost.test/dummy-cc-reporter', @@ -495,12 +545,12 @@ test.group('🫀 core unit tests', (g) => { stdHook.unhook(); } catch (err) { stdHook.unhook(); - assert.fail((err as Error).message); + t.fail(err); } finally { nock.cleanAll(); } - assert.equal( + t.equal( capturedOutput, [ `::debug::Changing working directory to ${CUSTOM_WORKDIR}`, @@ -527,19 +577,23 @@ test.group('🫀 core unit tests', (g) => { unlinkSync(filePath); nock.cleanAll(); process.chdir(DEFAULT_WORKDIR); - }); - - test('🧪 run() should throw an error if the checksum verification fails.', async ({ - assert, - test, - }) => { - assert.plan(1); - test.teardown(() => sandbox.restore()); + t.end(); + }, +); + +t.test( + '🧪 run() should throw an error if the checksum verification fails.', + async (t) => { + t.plan(1); + t.teardown(() => sandbox.restore()); const filePath = `./test.${EXE_EXT}`; nock('http://localhost.test') .get('/dummy-cc-reporter') .reply(200, async () => { - const dummyReporterFile = `./test/fixtures/dummy-cc-reporter-before-build-error.${EXE_EXT}`; + const dummyReporterFile = joinPath( + __DIRNAME, + `../test/fixtures/dummy-cc-reporter-before-build-error.${EXE_EXT}`, + ); const dummyReporter = await readFileAsync(dummyReporterFile); return intoStream(dummyReporter); }); @@ -561,8 +615,9 @@ test.group('🫀 core unit tests', (g) => { downloadUrl: 'http://localhost.test/dummy-cc-reporter', executable: filePath, coverageCommand: `${ECHO_CMD} 'coverage ok'`, + verifyDownload: 'true', }); - assert.fail('should have thrown an error'); + t.fail('should have thrown an error'); stdHook.unhook(); } catch (err) { stdHook.unhook(); @@ -571,7 +626,7 @@ test.group('🫀 core unit tests', (g) => { nock.cleanAll(); } - assert.equal( + t.equal( capturedOutput, [ '::debug::ℹ️ Downloading CC Reporter from http://localhost.test/dummy-cc-reporter ...', @@ -586,19 +641,26 @@ test.group('🫀 core unit tests', (g) => { unlinkSync(filePath); unlinkSync(`${filePath}.sha256`); nock.cleanAll(); - }); - - test('🧪 run() should throw an error if the GPG signature verification fails.', async ({ - assert, - test, - }) => { - assert.plan(1); - test.teardown(() => sandbox.restore()); + t.end(); + }, +); + +t.test( + '🧪 run() should throw an error if the GPG signature verification fails.', + { + skip: 'Skipping for now as ES modules cannot be stubbed 😭', + }, + async (t) => { + t.plan(1); + t.teardown(() => sandbox.restore()); const filePath = `./test.${EXE_EXT}`; nock('http://localhost.test') .get('/dummy-cc-reporter') .reply(200, async () => { - const dummyReporterFile = `./test/fixtures/dummy-cc-reporter-before-build-error.${EXE_EXT}`; + const dummyReporterFile = joinPath( + __DIRNAME, + `../test/fixtures/dummy-cc-reporter-before-build-error.${EXE_EXT}`, + ); const dummyReporter = await readFileAsync(dummyReporterFile); return intoStream(dummyReporter); }); @@ -606,7 +668,10 @@ test.group('🫀 core unit tests', (g) => { nock('http://localhost.test') .get('/dummy-cc-reporter.sha256') .reply(200, async () => { - const checksumFile = `./test/fixtures/dummy-cc-reporter-before-build-error.${EXE_EXT}.sha256`; + const checksumFile = joinPath( + __DIRNAME, + `../test/fixtures/dummy-cc-reporter-before-build-error.${EXE_EXT}`, + ); const checksum = await readFileAsync(checksumFile); return intoStream(checksum); }); @@ -614,7 +679,10 @@ test.group('🫀 core unit tests', (g) => { nock('http://localhost.test') .get('/dummy-cc-reporter.sha256.sig') .reply(200, async () => { - const signatureFile = `./test/fixtures/dummy-cc-reporter.${EXE_EXT}.sha256.sig`; + const signatureFile = joinPath( + __DIRNAME, + `../test/fixtures/dummy-cc-reporter.${EXE_EXT}.sha256.sig`, + ); const signature = await readFileAsync(signatureFile); return intoStream(signature); }); @@ -622,8 +690,10 @@ test.group('🫀 core unit tests', (g) => { nock('https://keys.openpgp.org') .get(`/vks/v1/by-fingerprint/${CODECLIMATE_GPG_PUBLIC_KEY_ID}`) .reply(200, async () => { - const publicKeyFile = - './test/fixtures/9BD9E2DD46DA965A537E5B0A5CBF320243B6FD85.asc'; + const publicKeyFile = joinPath( + __DIRNAME, + '../test/fixtures/9BD9E2DD46DA965A537E5B0A5CBF320243B6FD85.asc', + ); const publicKey = await readFileAsync(publicKeyFile); return intoStream(publicKey); }); @@ -650,7 +720,7 @@ test.group('🫀 core unit tests', (g) => { nock.cleanAll(); } - assert.equal( + t.equal( capturedOutput, [ '::debug::ℹ️ Downloading CC Reporter from http://localhost.test/dummy-cc-reporter ...', @@ -665,27 +735,39 @@ test.group('🫀 core unit tests', (g) => { 'should correctly throw the error if the GPG signature verification fails.', ); unlinkSync(filePath); - unlinkSync(`${filePath}.sha256`); - unlinkSync(`${filePath}.sha256.sig`); - unlinkSync('public-key.asc'); nock.cleanAll(); - }).skip(true, 'Skipping because ES modules cannot be stubbed 😭'); - - test('🧪 run() should throw an error if the before-build step throws an error.', async ({ - assert, - test, - }) => { - assert.plan(1); - test.teardown(() => sandbox.restore()); + t.end(); + }, +); + +t.test( + '🧪 run() should throw an error if the before-build step throws an error.', + async (t) => { + t.plan(1); + t.teardown(() => sandbox.restore()); const filePath = `./test.${EXE_EXT}`; nock('http://localhost.test') .get('/dummy-cc-reporter') .reply(200, async () => { - const dummyReporterFile = `./test/fixtures/dummy-cc-reporter-before-build-error.${EXE_EXT}`; + const dummyReporterFile = joinPath( + __DIRNAME, + `../test/fixtures/dummy-cc-reporter-before-build-error.${EXE_EXT}`, + ); const dummyReporter = await readFileAsync(dummyReporterFile); return intoStream(dummyReporter); }); + nock('http://localhost.test') + .get('/dummy-cc-reporter.sha256') + .reply(200, async () => { + const checksumFile = joinPath( + __DIRNAME, + `../test/fixtures/dummy-cc-reporter-before-build-error.${EXE_EXT}.sha256`, + ); + const checksum = await readFileAsync(checksumFile); + return intoStream(checksum); + }); + let capturedOutput = ''; const stdHook = hookStd((text: string) => { capturedOutput += text; @@ -706,7 +788,7 @@ test.group('🫀 core unit tests', (g) => { nock.cleanAll(); } - assert.equal( + t.equal( capturedOutput, [ '::debug::ℹ️ Downloading CC Reporter from http://localhost.test/dummy-cc-reporter ...', @@ -724,19 +806,23 @@ test.group('🫀 core unit tests', (g) => { ); unlinkSync(filePath); nock.cleanAll(); - }); - - test('🧪 run() should throw an error if the after-build step throws an error.', async ({ - assert, - test, - }) => { - assert.plan(1); - test.teardown(() => sandbox.restore()); + t.end(); + }, +); + +t.test( + '🧪 run() should throw an error if the after-build step throws an error.', + async (t) => { + t.plan(1); + t.teardown(() => sandbox.restore()); const filePath = `./test.${EXE_EXT}`; nock('http://localhost.test') .get('/dummy-cc-reporter') .reply(200, async () => { - const dummyReporterFile = `./test/fixtures/dummy-cc-reporter-after-build-error.${EXE_EXT}`; + const dummyReporterFile = joinPath( + __DIRNAME, + `../test/fixtures/dummy-cc-reporter-after-build-error.${EXE_EXT}`, + ); const dummyReporter = await readFileAsync(dummyReporterFile); return intoStream(dummyReporter); }); @@ -761,7 +847,7 @@ test.group('🫀 core unit tests', (g) => { nock.cleanAll(); } - assert.equal( + t.equal( capturedOutput, [ '::debug::ℹ️ Downloading CC Reporter from http://localhost.test/dummy-cc-reporter ...', @@ -786,20 +872,24 @@ test.group('🫀 core unit tests', (g) => { ); unlinkSync(filePath); nock.cleanAll(); - }); - - test('🧪 run() should exit cleanly when the coverage command fails.', async ({ - assert, - test, - }) => { - assert.plan(1); - test.teardown(() => sandbox.restore()); + t.end(); + }, +); + +t.test( + '🧪 run() should exit cleanly when the coverage command fails.', + async (t) => { + t.plan(1); + t.teardown(() => sandbox.restore()); const COVERAGE_COMMAND = 'wololololo'; // Random command that doesn't exist (and so should fail). const filePath = `./test.${EXE_EXT}`; nock('http://localhost.test') .get('/dummy-cc-reporter') .reply(200, async () => { - const dummyReporterFile = `./test/fixtures/dummy-cc-reporter.${EXE_EXT}`; + const dummyReporterFile = joinPath( + __DIRNAME, + `../test/fixtures/dummy-cc-reporter.${EXE_EXT}`, + ); const dummyReporter = await readFileAsync(dummyReporterFile); return intoStream(dummyReporter); }); @@ -817,10 +907,10 @@ test.group('🫀 core unit tests', (g) => { verifyDownload: 'false', }); stdHook.unhook(); - assert.fail('Should throw an error.'); + t.fail('Should throw an error.'); } catch (err) { stdHook.unhook(); - assert.equal( + t.equal( capturedOutput, [ '::debug::ℹ️ Downloading CC Reporter from http://localhost.test/dummy-cc-reporter ...', @@ -841,6 +931,16 @@ test.group('🫀 core unit tests', (g) => { } finally { unlinkSync(filePath); nock.cleanAll(); + t.end(); } - }); + }, +); + +t.test('💣 teardown', (t) => { + nock.restore(); + nock.cleanAll(); + nock.enableNetConnect(); + sandbox.restore(); + if (process.exitCode === 1) process.exitCode = 0; // This is required because @actions/core `setFailed` sets the exit code to 0 when we're testing errors. + t.end(); }); diff --git a/test/unit/utils.test.ts b/test/unit/utils.test.ts deleted file mode 100644 index a381c588..00000000 --- a/test/unit/utils.test.ts +++ /dev/null @@ -1,134 +0,0 @@ -import { stat as statCallback, unlinkSync } from 'node:fs'; -import { platform } from 'node:os'; -import { promisify } from 'node:util'; -import { test } from '@japa/runner'; -import intoStream from 'into-stream'; -import nock from 'nock'; -import { - areObjectsEqual, - downloadToFile, - parsePathAndFormat, -} from '../../src/utils.js'; - -const stat = promisify(statCallback); - -test.group('⚒️ utils tests', (group) => { - group.setup(() => { - nock.disableNetConnect(); - if (!nock.isActive()) nock.activate(); - }); - - group.teardown(() => { - nock.restore(); - nock.cleanAll(); - nock.enableNetConnect(); - if (process.exitCode === 1) process.exitCode = 0; // This is required because @actions/core `setFailed` sets the exit code to 1 when we're testing errors. - }); - - test('🧪 areObjectsEqual() should correctly check object equality', ({ - assert, - }) => { - assert.plan(1); - const obj1 = { - a: 1, - b: true, - c: null, - d: undefined, - 45: -45.223232323, - }; - assert.ok( - areObjectsEqual(obj1, { ...obj1 }), - 'objects should be compared correctly.', - ); - }); - - test('🧪 downloadToFile() should download the give URL and write to given file location with given mode.', async ({ - assert, - }) => { - assert.plan(1); - const filePath = './test.sh'; - nock('http://localhost.test') - .get('/dummy-cc-reporter') - .reply(200, () => { - return intoStream(`#!/bin/bash - echo "hello" - `); - }); - await downloadToFile( - 'http://localhost.test/dummy-cc-reporter', - filePath, - 0o777, - ); - const stats = await stat(filePath); - assert.equal( - stats.mode, - platform() === 'win32' ? 33206 : 33261, - 'downloaded file should exist and have executable permissions on valid platforms.', - ); - unlinkSync(filePath); - nock.cleanAll(); - }); - - test('🧪 parsePathAndFormat() should correctly parse path patterns and formats correctly on Windows.', async ({ - assert, - }) => { - assert.plan(1); - const fixture = - 'C:\\Users\\gp\\Projects\\codeclimate-action\\test\\*.lcov:lcov' as const; - const expected = { - format: 'lcov', - pattern: 'C:\\Users\\gp\\Projects\\codeclimate-action\\test\\*.lcov', - }; - const result = parsePathAndFormat(fixture); - assert.strictEqual( - result, - expected, - 'path patterns and formats should be correctly parsed on Windows', - ); - }).skip( - platform() !== 'win32', - `Skipping because this test is only for Windows, but the current OS is ${platform()}`, - ); - - test('🧪 parsePathAndFormat() should correctly parse path patterns and formats correctly on macOS.', async ({ - assert, - }) => { - assert.plan(1); - const fixture = - '/Users/gp/Projects/codeclimate-action/test/*.lcov:lcov' as const; - const expected = { - format: 'lcov', - pattern: '/Users/gp/Projects/codeclimate-action/test/*.lcov', - }; - const result = parsePathAndFormat(fixture); - assert.deepEqual( - result, - expected, - 'path patterns and formats should be correctly parsed on macOS', - ); - }).skip( - platform() !== 'darwin', - `Skipping because this test is only for macOS, but the current OS is ${platform()}`, - ); - - test('🧪 parsePathAndFormat() should correctly parse path patterns and formats correctly on Linux.', async ({ - assert, - }) => { - assert.plan(1); - const fixture = - '/home/gp/Projects/codeclimate-action/test/*.lcov:lcov' as const; - const expected = { - format: 'lcov', - pattern: '/home/gp/Projects/codeclimate-action/test/*.lcov', - }; - const result = parsePathAndFormat(fixture); - assert.deepEqual( - result, - expected, - 'path patterns and formats should be correctly parsed on Linux', - ); - }).skip( - platform() !== 'linux', - `Skipping because this test is only for Linux, but the current OS is ${platform()}`, - ); -}); diff --git a/test/utils.test.ts b/test/utils.test.ts new file mode 100644 index 00000000..56cf64a6 --- /dev/null +++ b/test/utils.test.ts @@ -0,0 +1,150 @@ +import { stat as statCallback, unlinkSync } from 'node:fs'; +import { platform } from 'node:os'; +import { promisify } from 'node:util'; +import intoStream from 'into-stream'; +import nock from 'nock'; +import t from 'tap'; +import { + areObjectsEqual, + downloadToFile, + parsePathAndFormat, +} from '../src/utils.js'; + +const stat = promisify(statCallback); + +t.test('🛠 setup', (t) => { + nock.disableNetConnect(); + if (!nock.isActive()) nock.activate(); + t.end(); +}); + +t.test('🧪 areObjectsEqual() should correctly check object equality', (t) => { + t.plan(1); + const obj1 = { + a: 1, + b: true, + c: null, + d: undefined, + 45: -45.223232323, + }; + t.ok( + areObjectsEqual(obj1, { ...obj1 }), + 'objects should be compared correctly.', + ); + t.end(); +}); + +t.test( + '🧪 downloadToFile() should download the give URL and write to given file location with given mode.', + async (t) => { + t.plan(1); + const filePath = './test.sh'; + nock('http://localhost.test') + .get('/dummy-cc-reporter') + .reply(200, () => { + return intoStream(`#!/bin/bash +echo "hello" +`); + }); + await downloadToFile( + 'http://localhost.test/dummy-cc-reporter', + filePath, + 0o777, + ); + const stats = await stat(filePath); + t.equal( + stats.mode, + platform() === 'win32' ? 33206 : 33261, + 'downloaded file should exist and have executable permissions on valid platforms.', + ); + unlinkSync(filePath); + nock.cleanAll(); + t.end(); + }, +); + +t.test( + '🧪 parsePathAndFormat() should correctly parse path patterns and formats correctly on Windows.', + { + skip: + platform() !== 'win32' + ? `Skipping because this test is only for Windows, but the current OS is ${platform()}` + : false, + }, + async (t) => { + t.plan(1); + const fixture = + 'C:\\Users\\gp\\Projects\\codeclimate-action\\test\\*.lcov:lcov' as const; + const expected = { + format: 'lcov', + pattern: 'C:\\Users\\gp\\Projects\\codeclimate-action\\test\\*.lcov', + }; + const result = parsePathAndFormat(fixture); + t.strictSame( + result, + expected, + 'path patterns and formats should be correctly parsed on Windows', + ); + t.end(); + }, +); + +t.test( + '🧪 parsePathAndFormat() should correctly parse path patterns and formats correctly on macOS.', + { + skip: + platform() !== 'darwin' + ? `Skipping because this test is only for macOS, but the current OS is ${platform()}` + : false, + }, + async (t) => { + t.plan(1); + const fixture = + '/Users/gp/Projects/codeclimate-action/test/*.lcov:lcov' as const; + const expected = { + format: 'lcov', + pattern: '/Users/gp/Projects/codeclimate-action/test/*.lcov', + }; + const result = parsePathAndFormat(fixture); + t.strictSame( + result, + expected, + 'path patterns and formats should be correctly parsed on macOS', + ); + t.end(); + }, +); + +t.test( + '🧪 parsePathAndFormat() should correctly parse path patterns and formats correctly on Linux.', + { + skip: + platform() !== 'linux' + ? `Skipping because this test is only for Linux, but the current OS is ${platform()}` + : false, + }, + async (t) => { + t.plan(1); + const fixture = + '/home/gp/Projects/codeclimate-action/test/*.lcov:lcov' as const; + const expected = { + format: 'lcov', + pattern: '/home/gp/Projects/codeclimate-action/test/*.lcov', + }; + const result = parsePathAndFormat(fixture); + t.strictSame( + result, + expected, + 'path patterns and formats should be correctly parsed on Linux', + ); + t.end(); + }, +); + +t.test('💣 teardown', (t) => { + nock.restore(); + nock.cleanAll(); + nock.enableNetConnect(); + if (process.exitCode === 1) process.exitCode = 0; // This is required because @actions/core `setFailed` sets the exit code to 1 when we're testing errors. + t.end(); +}); diff --git a/tsconfig.json b/tsconfig.json index 98424e07..ca9f19f0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,7 +7,6 @@ "compilerOptions": { "outDir": "./lib", "rootDirs": [ - "./bin", "./src", "./test" ],