From 6e2b10b46edc4c533e010d5f6df2d446de6beccf Mon Sep 17 00:00:00 2001 From: "Ganesh Prasannah (GP)" Date: Fri, 26 Apr 2024 13:46:00 +0530 Subject: [PATCH 01/30] feat(core): migrate everything to ESM-only --- package.json | 11 +- pnpm-lock.yaml | 211 ++++++++++++++++++++++++++------------- src/main.ts | 15 ++- src/utils.ts | 39 ++++++-- test/integration.test.ts | 5 +- test/main.test.ts | 6 +- test/utils.test.ts | 2 +- tsconfig.json | 61 ++--------- 8 files changed, 202 insertions(+), 148 deletions(-) diff --git a/package.json b/package.json index f8a7f18b..cac54a57 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "6.0.0", "private": true, "description": "Publish code coverage to Code Climate", + "type": "module", "main": "lib/main.js", "packageManager": "pnpm@9.0.6", "scripts": { @@ -35,14 +36,17 @@ "@actions/exec": "1.1.1", "@actions/github": "6.0.0", "@actions/glob": "0.4.0", - "hook-std": "2.0.0", - "node-fetch": "2.7.0", + "hook-std": "3.0.0", + "node-fetch": "3.3.2", "openpgp": "5.11.1" }, "devDependencies": { "@biomejs/biome": "1.7.1", "@openpgp/web-stream-tools": "0.1.1", + "@tapjs/core": "1.5.2", "@tapjs/test": "1.4.2", + "@tsconfig/node20": "20.1.4", + "@tsconfig/strictest": "2.0.5", "@types/node": "20.12.7", "@types/node-fetch": "2.6.11", "@types/sinon": "17.0.3", @@ -51,7 +55,8 @@ "nock": "13.5.4", "sinon": "17.0.1", "tap": "18.7.2", - "to-readable-stream": "2.1.0", + "to-readable-stream": "4.0.0", + "ts-node": "10.9.2", "typescript": "5.4.5", "which": "4.0.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 505fb563..51251ec4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,11 +21,11 @@ importers: specifier: 0.4.0 version: 0.4.0 hook-std: - specifier: 2.0.0 - version: 2.0.0 + specifier: 3.0.0 + version: 3.0.0 node-fetch: - specifier: 2.7.0 - version: 2.7.0(encoding@0.1.13) + specifier: 3.3.2 + version: 3.3.2 openpgp: specifier: 5.11.1 version: 5.11.1 @@ -36,9 +36,18 @@ importers: '@openpgp/web-stream-tools': specifier: 0.1.1 version: 0.1.1(typescript@5.4.5) + '@tapjs/core': + specifier: 1.5.2 + version: 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tapjs/test': specifier: 1.4.2 version: 1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tsconfig/node20': + specifier: 20.1.4 + version: 20.1.4 + '@tsconfig/strictest': + specifier: 2.0.5 + version: 2.0.5 '@types/node': specifier: 20.12.7 version: 20.12.7 @@ -64,8 +73,11 @@ importers: specifier: 18.7.2 version: 18.7.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5) to-readable-stream: - specifier: 2.1.0 - version: 2.1.0 + specifier: 4.0.0 + version: 4.0.0 + ts-node: + specifier: 10.9.2 + version: 10.9.2(@types/node@20.12.7)(typescript@5.4.5) typescript: specifier: 5.4.5 version: 5.4.5 @@ -458,17 +470,32 @@ packages: peerDependencies: '@tapjs/core': 1.5.2 + '@tsconfig/node10@1.0.11': + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + '@tsconfig/node14@14.1.0': resolution: {integrity: sha512-VmsCG04YR58ciHBeJKBDNMWWfYbyP8FekWVuTlpstaUPlat1D0x/tXzkWP7yCMU0eSz9V4OZU0LBWTFJ3xZf6w==} + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@tsconfig/node16@16.1.1': resolution: {integrity: sha512-+pio93ejHN4nINX4pXqfnR/fPLRtJBaT4ORaa5RH0Oc1zoYmo2B2koG+M328CQhHKn1Wj6FcOxCDFXAot9NhvA==} '@tsconfig/node18@18.2.2': resolution: {integrity: sha512-d6McJeGsuoRlwWZmVIeE8CUA27lu6jLjvv1JzqmpsytOYYbVi1tHZEnwCNVOXnj4pyLvneZlFlpXUK+X9wBWyw==} - '@tsconfig/node20@20.1.2': - resolution: {integrity: sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ==} + '@tsconfig/node20@20.1.4': + resolution: {integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==} + + '@tsconfig/strictest@2.0.5': + resolution: {integrity: sha512-ec4tjL2Rr0pkZ5hww65c+EEPYwxOi4Ryv+0MtjeaSQRJyq322Q27eOQiFbuNgw2hpL4hB1/W/HBGk3VKS43osg==} '@tufjs/canonical-json@2.0.0': resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} @@ -654,6 +681,9 @@ packages: resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + cross-env@7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} @@ -663,6 +693,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -725,6 +759,10 @@ packages: exponential-backoff@3.1.1: resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -745,6 +783,10 @@ packages: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + fromentries@1.3.2: resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} @@ -797,9 +839,9 @@ packages: resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} engines: {node: '>= 0.4'} - hook-std@2.0.0: - resolution: {integrity: sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g==} - engines: {node: '>=8'} + hook-std@3.0.0: + resolution: {integrity: sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hosted-git-info@7.0.1: resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} @@ -1002,10 +1044,6 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.4: resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} @@ -1076,14 +1114,13 @@ packages: resolution: {integrity: sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw==} engines: {node: '>= 10.13'} - node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} node-gyp@10.0.1: resolution: {integrity: sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==} @@ -1301,11 +1338,6 @@ packages: scheduler@0.23.0: resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} - semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - semver@7.6.0: resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} @@ -1428,21 +1460,32 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - to-readable-stream@2.1.0: - resolution: {integrity: sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==} - engines: {node: '>=8'} + to-readable-stream@4.0.0: + resolution: {integrity: sha512-b39z6yUzkmzZXTNlKZoLo1kIPXJDioGSMMX4ydudA3XX8M/AjcsPdJRVz2zbrGZoekhkMlz6qYok2iVdlMH/yQ==} + engines: {node: '>=18'} to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - trivial-deferred@2.0.0: resolution: {integrity: sha512-iGbM7X2slv9ORDVj2y2FFUq3cP/ypbtu2nQ8S38ufjL0glBABvmR9pTdsib1XtS2LUhhLMbelaBUaf/s5J3dSw==} engines: {node: '>= 8'} + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + tshy@1.14.0: resolution: {integrity: sha512-YiUujgi4Jb+t2I48LwSRzHkBpniH9WjjktNozn+nlsGmVemKSjDNY7EwBRPvPCr5zAC/3ITAYWH9Z7kUinGSrw==} engines: {node: 16 >=16.17 || 18 >=18.15.0 || >=20.6.1} @@ -1520,11 +1563,9 @@ packages: walk-up-path@3.0.1: resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} @@ -1589,6 +1630,10 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -1691,7 +1736,7 @@ snapshots: '@tsconfig/node14': 14.1.0 '@tsconfig/node16': 16.1.1 '@tsconfig/node18': 18.2.2 - '@tsconfig/node20': 20.1.2 + '@tsconfig/node20': 20.1.4 '@types/node': 20.12.7 acorn: 8.11.2 acorn-walk: 8.3.0 @@ -1707,7 +1752,7 @@ snapshots: '@tsconfig/node14': 14.1.0 '@tsconfig/node16': 16.1.1 '@tsconfig/node18': 18.2.2 - '@tsconfig/node20': 20.1.2 + '@tsconfig/node20': 20.1.4 '@types/node': 20.12.7 acorn: 8.11.2 acorn-walk: 8.3.0 @@ -2145,20 +2190,30 @@ snapshots: dependencies: '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tsconfig/node10@1.0.11': {} + + '@tsconfig/node12@1.0.11': {} + + '@tsconfig/node14@1.0.3': {} + '@tsconfig/node14@14.1.0': {} + '@tsconfig/node16@1.0.4': {} + '@tsconfig/node16@16.1.1': {} '@tsconfig/node18@18.2.2': {} - '@tsconfig/node20@20.1.2': {} + '@tsconfig/node20@20.1.4': {} + + '@tsconfig/strictest@2.0.5': {} '@tufjs/canonical-json@2.0.0': {} '@tufjs/models@2.0.0': dependencies: '@tufjs/canonical-json': 2.0.0 - minimatch: 9.0.3 + minimatch: 9.0.4 '@types/istanbul-lib-coverage@2.0.6': {} @@ -2342,6 +2397,8 @@ snapshots: convert-to-spaces@2.0.1: {} + create-require@1.1.1: {} + cross-env@7.0.3: dependencies: cross-spawn: 7.0.3 @@ -2352,6 +2409,8 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + data-uri-to-buffer@4.0.1: {} + debug@4.3.4: dependencies: ms: 2.1.2 @@ -2389,6 +2448,11 @@ snapshots: exponential-backoff@3.1.1: {} + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 @@ -2414,6 +2478,10 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + fromentries@1.3.2: {} fs-minipass@2.1.0: @@ -2443,7 +2511,7 @@ snapshots: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 - minimatch: 9.0.3 + minimatch: 9.0.4 minipass: 7.0.4 path-scurry: 1.10.1 @@ -2464,7 +2532,7 @@ snapshots: dependencies: function-bind: 1.1.2 - hook-std@2.0.0: {} + hook-std@3.0.0: {} hosted-git-info@7.0.1: dependencies: @@ -2495,7 +2563,7 @@ snapshots: ignore-walk@6.0.3: dependencies: - minimatch: 9.0.3 + minimatch: 9.0.4 imurmurhash@0.1.4: {} @@ -2633,7 +2701,7 @@ snapshots: lru-cache@10.0.2: dependencies: - semver: 7.5.4 + semver: 7.6.0 lru-cache@6.0.0: dependencies: @@ -2675,10 +2743,6 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@9.0.3: - dependencies: - brace-expansion: 2.0.1 - minimatch@9.0.4: dependencies: brace-expansion: 2.0.1 @@ -2751,11 +2815,13 @@ snapshots: transitivePeerDependencies: - supports-color - node-fetch@2.7.0(encoding@0.1.13): + node-domexception@1.0.0: {} + + node-fetch@3.3.2: dependencies: - whatwg-url: 5.0.0 - optionalDependencies: - encoding: 0.1.13 + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 node-gyp@10.0.1: dependencies: @@ -2993,10 +3059,6 @@ snapshots: dependencies: loose-envify: 1.4.0 - semver@7.5.4: - dependencies: - lru-cache: 6.0.0 - semver@7.6.0: dependencies: lru-cache: 6.0.0 @@ -3181,16 +3243,32 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 - to-readable-stream@2.1.0: {} + to-readable-stream@4.0.0: {} to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - tr46@0.0.3: {} - trivial-deferred@2.0.0: {} + ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.12.7 + acorn: 8.11.2 + acorn-walk: 8.3.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.4.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + tshy@1.14.0: dependencies: chalk: 5.3.0 @@ -3264,12 +3342,7 @@ snapshots: walk-up-path@3.0.1: {} - webidl-conversions@3.0.1: {} - - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 + web-streams-polyfill@3.3.3: {} which@2.0.2: dependencies: @@ -3321,6 +3394,8 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 + yn@3.1.1: {} + yocto-queue@0.1.0: {} yoga-wasm-web@0.3.3: {} diff --git a/src/main.ts b/src/main.ts index 879d8592..eda9e030 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,9 +1,11 @@ import { unlinkSync } from 'node:fs'; import { arch, platform } from 'node:os'; +import { resolve } from 'node:path'; import { chdir } from 'node:process'; +import { fileURLToPath } from 'node:url'; import { debug, error, info, setFailed, warning } from '@actions/core'; import { exec } from '@actions/exec'; -import type { ExecOptions } from '@actions/exec/lib/interfaces'; +import type { ExecOptions } from '@actions/exec/lib/interfaces.js'; import { context } from '@actions/github'; import * as glob from '@actions/glob'; import { @@ -12,7 +14,7 @@ import { parsePathAndFormat, verifyChecksum, verifySignature, -} from './utils'; +} from './utils.js'; const PLATFORM = platform(); // REFER: https://docs.codeclimate.com/docs/configuring-test-coverage#locations-of-pre-built-binaries @@ -73,7 +75,7 @@ export function prepareEnv() { process.env.GITHUB_EVENT_NAME && SUPPORTED_GITHUB_EVENTS.includes(process.env.GITHUB_EVENT_NAME) ) { - env.GIT_BRANCH = process.env.GITHUB_HEAD_REF || env.GIT_BRANCH; // Report correct branch for PRs (See https://github.com/paambaati/codeclimate-action/issues/86) + env.GIT_BRANCH = process.env.GITHUB_HEAD_REF || (env.GIT_BRANCH as string); // Report correct branch for PRs (See https://github.com/paambaati/codeclimate-action/issues/86) env.GIT_COMMIT_SHA = context.payload.pull_request?.head?.sha; // Report correct SHA for the head branch (See https://github.com/paambaati/codeclimate-action/issues/140) } @@ -250,7 +252,7 @@ export async function run( const parts: Array = []; for (const i in coverageLocations) { const { format: type, pattern: location } = parsePathAndFormat( - coverageLocations[i], + coverageLocations[i] as string, ); if (!type) { const err = new Error(`Invalid formatter type ${type}`); @@ -356,7 +358,10 @@ export async function run( } /* c8 ignore start */ -if (require.main === module) { +const pathToThisFile = resolve(fileURLToPath(import.meta.url)); +const pathPassedToNode = resolve(process.argv[1] as string); +const isThisFileBeingRunViaCLI = pathToThisFile.includes(pathPassedToNode); +if (isThisFileBeingRunViaCLI) { const coverageCommand = getOptionalString( 'coverageCommand', DEFAULT_COVERAGE_COMMAND, diff --git a/src/utils.ts b/src/utils.ts index cc8115f2..be952d00 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -4,7 +4,13 @@ import { platform } from 'node:os'; import { promisify } from 'node:util'; import { getInput } from '@actions/core'; import fetch from 'node-fetch'; -import { createMessage, readKey, readSignature, verify } from 'openpgp'; +import { + type VerificationResult, + createMessage, + readKey, + readSignature, + verify, +} from 'openpgp'; const readFileAsync = promisify(readFile); type ReadFileAsyncOptions = Omit[1], 'string'>; @@ -44,11 +50,19 @@ export function downloadToFile( mode = 0o755, ): Promise { return new Promise((resolve, reject) => { + const controller = new AbortController(); + const timeout = setTimeout( + () => { + controller.abort(); + }, + // Timeout in 2 minutes. + 2 * 60 * 1000, + ); try { fetch(url, { redirect: 'follow', follow: 5, - timeout: 2 * 60 * 1000, // Timeout in 2 minutes. + signal: controller.signal, }) .then((response) => { if (response.status < 200 || response.status > 299) { @@ -57,7 +71,7 @@ export function downloadToFile( ); } const writer = createWriteStream(file, { mode }); - response.body.pipe(writer); + response.body?.pipe(writer); writer.on('close', () => { return resolve(); }); @@ -67,6 +81,8 @@ export function downloadToFile( }); } catch (err) { return reject(err); + } finally { + clearTimeout(timeout); } }); } @@ -132,10 +148,8 @@ export async function verifyChecksum( ): Promise { const binaryChecksum = await getFileChecksum(originalFile, algorithm); const declaredChecksumFileContents = await getFileContents(checksumFile); - const declaredChecksum = declaredChecksumFileContents - .toString() - .trim() - .split(/\s+/)[0]; + const declaredChecksum = + declaredChecksumFileContents.toString().trim().split(/\s+/)[0] || ''; try { return timingSafeEqual( Buffer.from(binaryChecksum), @@ -178,7 +192,7 @@ export async function verifySignature( signature, verificationKeys: publicKey, }); - const { verified } = verificationResult.signatures[0]; + const { verified } = verificationResult.signatures[0] as VerificationResult; try { await verified; return true; @@ -226,9 +240,12 @@ export function parsePathAndFormat(coverageConfigLine: string): { platform() === 'win32' && (coverageConfigLine.match(/:/g) || []).length > 1 ) { - lineParts = [lineParts.slice(0, -1).join(':'), lineParts.slice(-1)[0]]; + lineParts = [ + lineParts.slice(0, -1).join(':'), + lineParts.slice(-1)[0] as string, + ]; } - const format = lineParts.slice(-1)[0]; - const pattern = lineParts.slice(0, -1)[0]; + const format = lineParts.slice(-1)[0] as string; + const pattern = lineParts.slice(0, -1)[0] as string; return { format, pattern }; } diff --git a/test/integration.test.ts b/test/integration.test.ts index 9e5ac79d..faf751b5 100644 --- a/test/integration.test.ts +++ b/test/integration.test.ts @@ -1,14 +1,13 @@ import { unlinkSync } from 'node:fs'; import { EOL, arch, platform } from 'node:os'; -import { default as hookStd } from 'hook-std'; -import t from 'tap'; +import { hookStd } from 'hook-std'; import { DOWNLOAD_URL, EXECUTABLE, FILE_ARTIFACTS, downloadAndRecord, verifyChecksumAndSignature, -} from '../src/main'; +} from '../src/main.js'; t.test( '🧪 verifyChecksumAndSignature() should download the CC reporter and pass all validations (happy path).', diff --git a/test/main.test.ts b/test/main.test.ts index 5b4afbd3..d0ee8fac 100644 --- a/test/main.test.ts +++ b/test/main.test.ts @@ -9,14 +9,14 @@ import { join as joinPath } from 'node:path'; import { promisify } from 'node:util'; import { context } from '@actions/github'; import * as glob from '@actions/glob'; -import { default as hookStd } from 'hook-std'; +import { hookStd } from 'hook-std'; import nock from 'nock'; import sinon from 'sinon'; import t from 'tap'; import toReadableStream from 'to-readable-stream'; import which from 'which'; -import { CODECLIMATE_GPG_PUBLIC_KEY_ID, prepareEnv, run } from '../src/main'; -import * as utils from '../src/utils'; +import { CODECLIMATE_GPG_PUBLIC_KEY_ID, prepareEnv, run } from '../src/main.js'; +import * as utils from '../src/utils.js'; /** * Dev Notes diff --git a/test/utils.test.ts b/test/utils.test.ts index 13ed24c5..70acecc5 100644 --- a/test/utils.test.ts +++ b/test/utils.test.ts @@ -8,7 +8,7 @@ import { areObjectsEqual, downloadToFile, parsePathAndFormat, -} from '../src/utils'; +} from '../src/utils.js'; const stat = promisify(statCallback); diff --git a/tsconfig.json b/tsconfig.json index 06fd76e0..f88297a0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,60 +1,13 @@ { "$schema": "https://json.schemastore.org/tsconfig", + "extends": [ + "@tsconfig/node20/tsconfig.json", + "@tsconfig/strictest/tsconfig.json" + ], "compilerOptions": { - /* Basic Options */ - // "incremental": true, /* Enable incremental compilation */ - "target": "ES2022", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */ - "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ - "skipLibCheck": true, /* Skip type checking all .d.ts files. */ - // "allowJs": true, /* Allow javascript files to be compiled. */ - // "checkJs": true, /* Report errors in .js files. */ - // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ - // "declaration": true, /* Generates corresponding '.d.ts' file. */ - // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ - // "sourceMap": true, /* Generates corresponding '.map' file. */ - // "outFile": "./", /* Concatenate and emit output to single file. */ - "outDir": "./lib", /* Redirect output structure to the directory. */ - "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - // "composite": true, /* Enable project compilation */ - // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ - // "removeComments": true, /* Do not emit comments to output. */ - // "noEmit": true, /* Do not emit outputs. */ - // "importHelpers": true, /* Import emit helpers from 'tslib'. */ - // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ - // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ - /* Strict Type-Checking Options */ - "strict": true, /* Enable all strict type-checking options. */ - "noImplicitAny": false, /* Raise error on expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* Enable strict null checks. */ - // "strictFunctionTypes": true, /* Enable strict checking of function types. */ - // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ - // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ - // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ - // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ - /* Additional Checks */ - // "noUnusedLocals": true, /* Report errors on unused locals. */ - // "noUnusedParameters": true, /* Report errors on unused parameters. */ - // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ - // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ - /* Module Resolution Options */ - // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ - // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ - // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ - "rootDirs": ["./src", "./test"], /* List of root folders whose combined content represents the structure of the project at runtime. */ - // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ - // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ - "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ - // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - /* Source Map Options */ - // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ - // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ - /* Experimental Options */ - // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ - // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + "outDir": "./lib", /* Redirect output structure to the directory. */ + "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + "rootDirs": ["./src", "./test"] /* List of root folders whose combined content represents the structure of the project at runtime. */ }, "exclude": [ "node_modules", From 98bdcc2c09132c1efcb34f84f31ac871b8efb878 Mon Sep 17 00:00:00 2001 From: "Ganesh Prasannah (GP)" Date: Fri, 26 Apr 2024 13:46:28 +0530 Subject: [PATCH 02/30] chore(ci): remove dependabot ignores for CJS-only versions --- .github/dependabot.yml | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 666179dd..dcef4fdd 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -6,22 +6,3 @@ updates: schedule: interval: monthly open-pull-requests-limit: 5 - ignore: - # Ignore ESM-only package versions. - # This can be fully removed once everything is ESM-native without all the weird issues. - - dependency-name: hook-std - versions: - - '3.x' - - dependency-name: node-fetch - versions: - - '3.x' - - dependency-name: to-readable-stream - versions: - - '3.x' - - '4.x' - - dependency-name: '@semantic-release/release-notes-generator' - versions: - - '11.x' - - dependency-name: '@types/node' - versions: - - '20.x' From 857516516b5b1f4e204d0db02452273e71f2ae4e Mon Sep 17 00:00:00 2001 From: GP Date: Fri, 26 Apr 2024 15:26:45 +0530 Subject: [PATCH 03/30] chore(core): better refactoring so Biome and TS strict mode don't clash --- src/main.ts | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/main.ts b/src/main.ts index eda9e030..4d7d5dda 100644 --- a/src/main.ts +++ b/src/main.ts @@ -61,22 +61,27 @@ export async function downloadAndRecord( } export function prepareEnv() { - const env = process.env as { [key: string]: string }; + const actionEnv = { ...process.env } as Record< + 'GITHUB_SHA' | 'GITHUB_REF' | 'GITHUB_EVENT_NAME' | 'GITHUB_HEAD_REF', + string + >; + const env = { ...process.env } as typeof actionEnv & + Record<'GIT_COMMIT_SHA' | 'GIT_BRANCH', string>; - if (process.env.GITHUB_SHA !== undefined) - env.GIT_COMMIT_SHA = process.env.GITHUB_SHA; - if (process.env.GITHUB_REF !== undefined) - env.GIT_BRANCH = process.env.GITHUB_REF; + if (actionEnv.GITHUB_SHA !== undefined) + env.GIT_COMMIT_SHA = actionEnv.GITHUB_SHA; + if (actionEnv.GITHUB_REF !== undefined) env.GIT_BRANCH = actionEnv.GITHUB_REF; if (env.GIT_BRANCH) env.GIT_BRANCH = env.GIT_BRANCH.replace(/^refs\/heads\//, ''); // Remove 'refs/heads/' prefix (See https://github.com/paambaati/codeclimate-action/issues/42) if ( - process.env.GITHUB_EVENT_NAME && - SUPPORTED_GITHUB_EVENTS.includes(process.env.GITHUB_EVENT_NAME) + actionEnv.GITHUB_EVENT_NAME && + SUPPORTED_GITHUB_EVENTS.includes(actionEnv.GITHUB_EVENT_NAME) ) { - env.GIT_BRANCH = process.env.GITHUB_HEAD_REF || (env.GIT_BRANCH as string); // Report correct branch for PRs (See https://github.com/paambaati/codeclimate-action/issues/86) - env.GIT_COMMIT_SHA = context.payload.pull_request?.head?.sha; // Report correct SHA for the head branch (See https://github.com/paambaati/codeclimate-action/issues/140) + env.GIT_BRANCH = actionEnv.GITHUB_HEAD_REF || env.GIT_BRANCH; // Report correct branch for PRs (See https://github.com/paambaati/codeclimate-action/issues/86) + // biome-ignore lint/complexity/useLiteralKeys: This is so Biome and TypeScript strict mode don't fight. + env.GIT_COMMIT_SHA = context.payload.pull_request?.['head']?.sha; // Report correct SHA for the head branch (See https://github.com/paambaati/codeclimate-action/issues/140) } return env; From d6a8fe14cf788a7f815dd01ea8a2af4fa8bd5135 Mon Sep 17 00:00:00 2001 From: GP Date: Mon, 20 May 2024 12:42:05 +0530 Subject: [PATCH 04/30] chore: upgrade dependencies --- package.json | 14 +- pnpm-lock.yaml | 496 ++++++++++++++++++++++++------------------------- 2 files changed, 245 insertions(+), 265 deletions(-) diff --git a/package.json b/package.json index cac54a57..a10417ce 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "description": "Publish code coverage to Code Climate", "type": "module", "main": "lib/main.js", - "packageManager": "pnpm@9.0.6", + "packageManager": "pnpm@9.1.1", "scripts": { "build": "tsc", "test": "cross-env NODE_OPTIONS=\"--no-warnings\" tap run --disable-coverage", @@ -41,20 +41,20 @@ "openpgp": "5.11.1" }, "devDependencies": { - "@biomejs/biome": "1.7.1", + "@biomejs/biome": "1.7.3", "@openpgp/web-stream-tools": "0.1.1", - "@tapjs/core": "1.5.2", - "@tapjs/test": "1.4.2", + "@tapjs/core": "1.5.4", + "@tapjs/test": "1.4.4", "@tsconfig/node20": "20.1.4", "@tsconfig/strictest": "2.0.5", - "@types/node": "20.12.7", + "@types/node": "20.12.12", "@types/node-fetch": "2.6.11", "@types/sinon": "17.0.3", "@types/which": "3.0.3", "cross-env": "7.0.3", "nock": "13.5.4", - "sinon": "17.0.1", - "tap": "18.7.2", + "sinon": "18.0.0", + "tap": "18.8.0", "to-readable-stream": "4.0.0", "ts-node": "10.9.2", "typescript": "5.4.5", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 51251ec4..b37071e9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,17 +31,17 @@ importers: version: 5.11.1 devDependencies: '@biomejs/biome': - specifier: 1.7.1 - version: 1.7.1 + specifier: 1.7.3 + version: 1.7.3 '@openpgp/web-stream-tools': specifier: 0.1.1 version: 0.1.1(typescript@5.4.5) '@tapjs/core': - specifier: 1.5.2 - version: 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 1.5.4 + version: 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tapjs/test': - specifier: 1.4.2 - version: 1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 1.4.4 + version: 1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tsconfig/node20': specifier: 20.1.4 version: 20.1.4 @@ -49,8 +49,8 @@ importers: specifier: 2.0.5 version: 2.0.5 '@types/node': - specifier: 20.12.7 - version: 20.12.7 + specifier: 20.12.12 + version: 20.12.12 '@types/node-fetch': specifier: 2.6.11 version: 2.6.11 @@ -67,17 +67,17 @@ importers: specifier: 13.5.4 version: 13.5.4 sinon: - specifier: 17.0.1 - version: 17.0.1 + specifier: 18.0.0 + version: 18.0.0 tap: - specifier: 18.7.2 - version: 18.7.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5) + specifier: 18.8.0 + version: 18.8.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5) to-readable-stream: specifier: 4.0.0 version: 4.0.0 ts-node: specifier: 10.9.2 - version: 10.9.2(@types/node@20.12.7)(typescript@5.4.5) + version: 10.9.2(@types/node@20.12.12)(typescript@5.4.5) typescript: specifier: 5.4.5 version: 5.4.5 @@ -115,55 +115,55 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@biomejs/biome@1.7.1': - resolution: {integrity: sha512-wb2UNoFXcgaMdKXKT5ytsYntaogl2FSTjDt20CZynF3v7OXQUcIpTrr+be3XoOGpoZRj3Ytq9TSpmplUREXmeA==} + '@biomejs/biome@1.7.3': + resolution: {integrity: sha512-ogFQI+fpXftr+tiahA6bIXwZ7CSikygASdqMtH07J2cUzrpjyTMVc9Y97v23c7/tL1xCZhM+W9k4hYIBm7Q6cQ==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@1.7.1': - resolution: {integrity: sha512-qfLrIIB58dkgiY/1tgG6fSCBK22PZaSIf6blweZBsG6iMij05mEuJt50ne+zPnNFNUmt8t43NC/qOXT3iFHQBA==} + '@biomejs/cli-darwin-arm64@1.7.3': + resolution: {integrity: sha512-eDvLQWmGRqrPIRY7AIrkPHkQ3visEItJKkPYSHCscSDdGvKzYjmBJwG1Gu8+QC5ed6R7eiU63LEC0APFBobmfQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@1.7.1': - resolution: {integrity: sha512-OGeyNsEcp5VnKbF9/TBjPCTHNEOm7oHegEve07U3KZmzqfpw2Oe3i9DVW8t6vvj1TYbrwWYCld25H34kBDY7Vg==} + '@biomejs/cli-darwin-x64@1.7.3': + resolution: {integrity: sha512-JXCaIseKRER7dIURsVlAJacnm8SG5I0RpxZ4ya3dudASYUc68WGl4+FEN03ABY3KMIq7hcK1tzsJiWlmXyosZg==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@1.7.1': - resolution: {integrity: sha512-giH0/CzLOJ+wbxLxd5Shnr5xQf5fGnTRWLDe3lzjaF7IplVydNCEeZJtncB01SvyA6DAFJsvQ4LNxzAOQfEVCg==} + '@biomejs/cli-linux-arm64-musl@1.7.3': + resolution: {integrity: sha512-c8AlO45PNFZ1BYcwaKzdt46kYbuP6xPGuGQ6h4j3XiEDpyseRRUy/h+6gxj07XovmyxKnSX9GSZ6nVbZvcVUAw==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-arm64@1.7.1': - resolution: {integrity: sha512-MQDf5wErj1iBvlcxCyOa0XqZYN8WJrupVgbNnqhntO3yVATg8GxduVUn1fDSaolznkDRsj7Pz3Xu1esBFwvfmg==} + '@biomejs/cli-linux-arm64@1.7.3': + resolution: {integrity: sha512-phNTBpo7joDFastnmZsFjYcDYobLTx4qR4oPvc9tJ486Bd1SfEVPHEvJdNJrMwUQK56T+TRClOQd/8X1nnjA9w==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-x64-musl@1.7.1': - resolution: {integrity: sha512-ySNDtPhsLxU125IFHHAxfpoHBpkM56s4mEXeO70GZtgZay/o1h8IUPWCWf5Z7gKgc4jwgYN1U1U9xabI3hZVAg==} + '@biomejs/cli-linux-x64-musl@1.7.3': + resolution: {integrity: sha512-UdEHKtYGWEX3eDmVWvQeT+z05T9/Sdt2+F/7zmMOFQ7boANeX8pcO6EkJPK3wxMudrApsNEKT26rzqK6sZRTRA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-linux-x64@1.7.1': - resolution: {integrity: sha512-3wmCsGcC3KZ4pfTknXHfyMMlXPMhgfXVAcG5GlrR+Tq2JGiAw0EUydaLpsSBEbcG7IxH6OiUZEJZ95kAycCHBA==} + '@biomejs/cli-linux-x64@1.7.3': + resolution: {integrity: sha512-vnedYcd5p4keT3iD48oSKjOIRPYcjSNNbd8MO1bKo9ajg3GwQXZLAH+0Cvlr+eMsO67/HddWmscSQwTFrC/uPA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-win32-arm64@1.7.1': - resolution: {integrity: sha512-8hIDakEqZn0i6+388noYKdZ0ZrovTwnvMU/Qp/oJou0G7EPVdXupOe0oxiQSdRN0W7f6CS/yjPCYuVGzDG6r0g==} + '@biomejs/cli-win32-arm64@1.7.3': + resolution: {integrity: sha512-unNCDqUKjujYkkSxs7gFIfdasttbDC4+z0kYmcqzRk6yWVoQBL4dNLcCbdnJS+qvVDNdI9rHp2NwpQ0WAdla4Q==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@1.7.1': - resolution: {integrity: sha512-3W9k3uH6Ea6VOpAS9xkkAlS0LTfnGQjmIUCegZ8SDtK2NgJ1gO+qdEkGJb0ltahusFTN1QxJ107dM7ASA9IUEg==} + '@biomejs/cli-win32-x64@1.7.3': + resolution: {integrity: sha512-ZmByhbrnmz/UUFYB622CECwhKIPjJLLPr5zr3edhu04LzbfcOrz16VYeNq5dpO1ADG70FORhAJkaIGdaVBG00w==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -322,11 +322,8 @@ packages: '@sinonjs/commons@2.0.0': resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} - '@sinonjs/commons@3.0.0': - resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} - - '@sinonjs/fake-timers@10.3.0': - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} '@sinonjs/fake-timers@11.2.2': resolution: {integrity: sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==} @@ -337,138 +334,138 @@ packages: '@sinonjs/text-encoding@0.7.2': resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} - '@tapjs/after-each@1.1.20': - resolution: {integrity: sha512-j5+VLjyssCfC4+fEP31tJpKdXO4pBuouovauHHc5xR2qo/hMonB/MlDHhFOL9PbC4sLBHvY4EkotwET36aLECg==} + '@tapjs/after-each@1.1.22': + resolution: {integrity: sha512-KKbCnMlOFspW6YoaFfzbU3kwwolF9DfP7ikGGMZItex/EB+OcLxoFV++DCWIDIl12mzQfYZMJ0wJXtHFc0ux0Q==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 - '@tapjs/after@1.1.20': - resolution: {integrity: sha512-EGosPLlKe8MaZMkoyA2lJhF2h/zNNzKA93yA4fkg+tOvKaVvtI8BtSmErN2sMIYRFPHxaLzQgr0268h7m2Ysow==} + '@tapjs/after@1.1.22': + resolution: {integrity: sha512-8Ui8dfTFgDS3ENfzKpsWGJw+v4LHXvifaSB79chQbucuggW+nM2zzWu7grw7mDUBBR3Mknk+qL4Nb1KrnZvfWQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 - '@tapjs/asserts@1.1.20': - resolution: {integrity: sha512-0w+c3+1TVzpObrQTRfDnE/Z3TTCWUVA4sZwzjfmhbwbF8VA83HR0Bh6fj7dIsrrsufWwp4QMyXPwN62HPwSCgg==} + '@tapjs/asserts@1.2.0': + resolution: {integrity: sha512-QTs1kALeJKrlX9Yns3f8/hfsWgf4mdFYPN3lQKxZ/3C/DkGnjlrpVd4I2fnTC7cgJ116kwEgwhxVJUpw9QPp9A==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 - '@tapjs/before-each@1.1.20': - resolution: {integrity: sha512-ln27bSetJoDo1AIFCdpwPupGhJN6dA1Sc55qHJ2Ni9O9IYc/9s5JvzzQ4eEV1hFaiROvpsS945MtQY4mRS09Lg==} + '@tapjs/before-each@1.1.22': + resolution: {integrity: sha512-uKKllHDvQgTXjAm+F+29Iqcb9Bzh5U6LH45m6v/zfKPm8UNnNpJ/XxFbbsFqi0EQX2czYH0ivHfyQwiO40R8lw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 - '@tapjs/before@1.1.20': - resolution: {integrity: sha512-UuYor/jk+BRw9i3KuI6vrf7QF7g4V+z5ku/6qwUg7dkAE3qrCsRGNQ7Es1161ncXQUSoUy91vw/mRvFoTTRQ7Q==} + '@tapjs/before@1.1.22': + resolution: {integrity: sha512-Uv2odGCtOgY/EevyDZv2rHbIbe9WGrouC6HI+lJv4whGUKgiIYTOjrssl4YxvqvnNWx289/6Tp4Kpu7EeXT7yA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 - '@tapjs/config@2.4.17': - resolution: {integrity: sha512-zMuOR2/i3IvKSEjKizGaR3LQ2x7VPbH3DOHGe0nW/BRnzTss9ZnKx579guHwYRBMJIqKLOsKYrBBAgM+7k6qvA==} + '@tapjs/config@2.4.19': + resolution: {integrity: sha512-8fkUnf2d3g9wbnfSirXI92bx4ZO5X37nqYVb5fua9VDC2MsTLAmd4JyDSNG1ngn8/nO5o8aFNEeUaePswGId4A==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 - '@tapjs/test': 1.4.2 + '@tapjs/core': 1.5.4 + '@tapjs/test': 1.4.4 - '@tapjs/core@1.5.2': - resolution: {integrity: sha512-Z/xkjJBOzS3mjUxFTOvtQX34GmOLx+C27w6bFRHrPCO1YTtu08SXJ9Mdkv+7vbSlAnBLWFgZddWvpgpAYud/uQ==} + '@tapjs/core@1.5.4': + resolution: {integrity: sha512-kDgRxTkSRxfLbX5orDmizxuyFBLLC3Mu4mQ2dMzw/UMYkrN8jZbkKZqIR0BdXgxE+GqvVFqkYvFJImXJBygBKQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} '@tapjs/error-serdes@1.2.2': resolution: {integrity: sha512-RW2aU50JR7SSAlvoTyuwouXETLM9lP+7oZ5Z+dyKhNp8mkbbz4mXKcgd9SDHY5qTh6zvVN7OFK7ev7dYWXbrWw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - '@tapjs/filter@1.2.20': - resolution: {integrity: sha512-8zyTBjY8lYVz2W0S8nw8vq0kkwCM6Ike76n71mVzMOFcW/qXIn2ImW/PJtHREMFwLEN0aL51Ey/60Cs85EevxA==} + '@tapjs/filter@1.2.22': + resolution: {integrity: sha512-qVWbsFem2R1htQVh0+4xWMPsDPpQ2NhA/6mnlg4ApzAFvaTr5T/zK72VpR+AqPaMcMgrp4a/m5DQ03dLFqckZQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 - '@tapjs/fixture@1.2.20': - resolution: {integrity: sha512-QJwANuumhNv59ONrpGOMy0hY+P2rHPakOlAR8ZkkAKbdQS5E0YExZLDna/Ug47Qin6MbaqXPk6zP/eiiBxZxig==} + '@tapjs/fixture@1.2.22': + resolution: {integrity: sha512-ZYjkRzLSwW+cOg2CbL3GrgjatKVXcEGLQa7vjfmYVxDrPHkK7tiu3lf1KU6pFxTyqTlMMRUfMehHQrH+JjDC7Q==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 - '@tapjs/intercept@1.2.20': - resolution: {integrity: sha512-LEjE2rKfELh8CM6NPAGKIi1HDFjb66G//qbTs8lnLCiulUvUWGlx4RzeBdky0532+vyR9Q3JdHsidCNOsq33ow==} + '@tapjs/intercept@1.2.22': + resolution: {integrity: sha512-OiayUlV+0fxwGM3B7JyRSwryq2kRpuWiF+4wQCiufSbbF20H4uEIlkRq1YrfUlla4zWVvHeQOQlUoqb6fSEcSQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 - '@tapjs/mock@1.3.2': - resolution: {integrity: sha512-QN3Nft/wxww/oxPpx/bgW4EF7EfxfvcAY/0VPphI3NjG/ZSNeZ7lbO9kYvh+RSRC1PtDR6OvfGA2dwQ7V/81DQ==} + '@tapjs/mock@1.3.4': + resolution: {integrity: sha512-tEz5hIdJdAGzl+KxjZol4DD7cWAdYMmvLU/QCZ5BThAOJ+FUAOxtBFA31nd7IWkMseIqcbeeqLmeMtan6QlPKA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 - '@tapjs/node-serialize@1.3.2': - resolution: {integrity: sha512-KyYYU1tOTn3udST4lQUl2KsZFPbA7UGqHKT3Os/FmHplmgJeSPc5nKKCI+R2h/ADSULQx7ZiBUYot8o0GTqndw==} + '@tapjs/node-serialize@1.3.4': + resolution: {integrity: sha512-OwnSWdNnukgIGBsgnPy1ZpBDxp274GwLx2Ag+CulhsQ+IF9rOCq5P0EQ2kbxhxRet1386kbNzgXgaEeXmDXlLQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 '@tapjs/processinfo@3.1.7': resolution: {integrity: sha512-SI5RJQ5HnUKEWnHSAF6hOm6XPdnjZ+CJzIaVHdFebed8iDAPTqb+IwMVu9yq9+VQ7FRsMMlgLL2SW4rss2iJbQ==} engines: {node: '>=16.17'} - '@tapjs/reporter@1.3.18': - resolution: {integrity: sha512-IVJf+zb1chL5uLXxWojmeylKlBlRsAQQA417FhF7V3jcTGzSSM017hI602ljnmgltvAh0vD6OHjVozDVh94b8w==} + '@tapjs/reporter@1.3.20': + resolution: {integrity: sha512-OTZeTC1/dr69mtZlRulynFH7+b7/C45MwLdLqaeTTeW2saAtojDMt7K2J8c74JlOO5+EKl71rBxrdKS6VBFqLw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 - '@tapjs/run@1.5.2': - resolution: {integrity: sha512-4JdFP3UKmv2rWVPoRHQAUp/dSMlyzRDwnSJPE9wuXEnlZhoqjpa6n4rNrWbh02PFohogJZn1G8h5u4CBtocQRQ==} + '@tapjs/run@1.5.4': + resolution: {integrity: sha512-mwzU/KalqYOGZTTf7lPyfBdRDCoIgec69NXrq/+Le7PXYWKrRoYvIUoBGwgZYyjfiYshhnzb+ayZdtd76Lj0Kw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 - '@tapjs/snapshot@1.2.20': - resolution: {integrity: sha512-/7ct6j//nNjiabJGMSxRsJEXSLOc6SwNC3dHuYeXP+yHIOeRK3qoonLqkt8+/9JgkZyaqIvWMdlo9ezoNPCrAw==} + '@tapjs/snapshot@1.2.22': + resolution: {integrity: sha512-6nhNY6uFPnQEVQ8vuxV3rKiC7NXDY5k/Bv1bPatfo//6z1T41INfQbnfwQXoufaHveLPpGBTLwpOWjtFsUHgdg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 - '@tapjs/spawn@1.1.20': - resolution: {integrity: sha512-7w396QXOQb8P3Sar9Ldas7tyTMqFBASpRjr/a6Coyj21s/HejlaX8nnGKldbMhokCR2gZAgkmWg45B3tVqxZJA==} + '@tapjs/spawn@1.1.22': + resolution: {integrity: sha512-/MbFSmSpvLA0N2rKd8rI0vMLYM+0E3OB+doj+YUZe5m3G0YCHTBzZrnFGLw7Am1VsaREy4fSgchNEdn1NyikcQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 '@tapjs/stack@1.2.8': resolution: {integrity: sha512-VC8h6U62ScerTKN+MYpRPiwH2bCL65S6v1wcj1hukE2hojLcRvVdET7S3ZtRfSj/eNWW/5OVfzTpHiGjEYD6Xg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - '@tapjs/stdin@1.1.20': - resolution: {integrity: sha512-OX5Q8WtZU48z2SCGEfIarqinDbhX7ajPpIUYHddtK/MbDowHZvgIFZzes7bH9tP2YcQdIRu/tuuyKi/WJMWxdg==} + '@tapjs/stdin@1.1.22': + resolution: {integrity: sha512-JUyzZHG01iM6uDfplVGRiK+OdNalwl5Okv+eljHBdZOA8kO3hHI6N9bkZa472/st4NBj0lcMMGb2IKGgIBBUQg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 - '@tapjs/test@1.4.2': - resolution: {integrity: sha512-xPcnhADRI1dua+1rcdZegLdGmkoyKxFneflQzdSPj4zOBXnzD7Kps269LBndrfA5df4ZjZBaFB0M5xSiu0cUGA==} + '@tapjs/test@1.4.4': + resolution: {integrity: sha512-I0mzxs8+RUULd9g0R6+LXsLzkeqhu5jJPpA7w5BzTxA++jQ0ACjyHs1BBy1IhhP9DeZ5N2LPg+WxLs7Dijs9Uw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 - '@tapjs/typescript@1.4.2': - resolution: {integrity: sha512-JUSd3c+aly+xP0FLkcw/afYWGeobZ3//f12MUias5f0tLj7AaxpKePGyLeY1f0QvcuzPF/UKjk3BLd1Fh4u86g==} + '@tapjs/typescript@1.4.4': + resolution: {integrity: sha512-Mf2vIK1yk5ipQRmuIznFtC8Iboti0p0D90ENDZdEx678h60vAVPh9vebVX+oQ0LccAHGyu/CiOSFL4Za8b5/Rg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 - '@tapjs/worker@1.1.20': - resolution: {integrity: sha512-I7wvUqoe8vD8Ld65VgSWVTdbWyP6eTpSJ8At/TRKznlJj4CVSvZ3lV5RxvLCBTg7ITCKcS+mQbqsmjpsvPGXEg==} + '@tapjs/worker@1.1.22': + resolution: {integrity: sha512-1PO9Qstfevr4Wdh318eC3O1mytSyXT3q/K6EeivBhnuPeyHsy3QCAd1bfVD7gqzWNbJ/UzeGN3knfIi5qXifmA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.2 + '@tapjs/core': 1.5.4 '@tsconfig/node10@1.0.11': resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} @@ -511,8 +508,8 @@ packages: '@types/node-fetch@2.6.11': resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} - '@types/node@20.12.7': - resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + '@types/node@20.12.12': + resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} '@types/sinon@17.0.3': resolution: {integrity: sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==} @@ -717,10 +714,6 @@ packages: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} - diff@5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} - engines: {node: '>=0.3.1'} - diff@5.2.0: resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} engines: {node: '>=0.3.1'} @@ -950,9 +943,6 @@ packages: is-upper-case@2.0.2: resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} - isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -990,8 +980,8 @@ packages: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} - just-extend@4.2.1: - resolution: {integrity: sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==} + just-extend@6.2.0: + resolution: {integrity: sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==} locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} @@ -1107,8 +1097,8 @@ packages: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} - nise@5.1.5: - resolution: {integrity: sha512-VJuPIfUFaXNRzETTQEEItTOP8Y171ijr+JLq42wHes3DiryR8vT+1TXQW/Rx8JNUhyYYWyIvjXTU6dOhJcs9Nw==} + nise@6.0.0: + resolution: {integrity: sha512-K8ePqo9BFvN31HXwEtTNGzgrPpmvgciDsFz8aztFjt4LqKO/JeFD8tBOeuDiCMXrIl/m1YvfH8auSpxfaD09wg==} nock@13.5.4: resolution: {integrity: sha512-yAyTfdeNJGGBFxWdzSKCBYxs5FxLbCg5X5Q4ets974hcQzG1+qCxvIyOo4j2Ry6MUlhWVMX4OoYDefAIIwupjw==} @@ -1220,8 +1210,8 @@ packages: resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} - path-to-regexp@1.8.0: - resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} + path-to-regexp@6.2.2: + resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -1362,8 +1352,8 @@ packages: resolution: {integrity: sha512-q+o8L2ebiWD1AxD17eglf1pFrl9jtW7FHa0ygqY6EKvibK8JHyq9Z26v9MZXeDiw+RbfOJ9j2v70M10Hd6E06A==} engines: {node: ^16.14.0 || >=18.0.0} - sinon@17.0.1: - resolution: {integrity: sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==} + sinon@18.0.0: + resolution: {integrity: sha512-+dXDXzD1sBO6HlmZDd7mXZCR/y5ECiEiGCBSGuFD/kZ0bDTofPYc6JaeGmPSF+1j1MejGUWkORbYOLDyvqCWpA==} slice-ansi@5.0.0: resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} @@ -1443,8 +1433,8 @@ packages: resolution: {integrity: sha512-MWG4OpAKtNoNVjCz/BqlDJiwTM99tiHRhHPS4iGOe1ZS0CgM4jSFH92lthSFvvy4EdDjQZDV7uYqUFlU9JuNhw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - tap@18.7.2: - resolution: {integrity: sha512-cGrB6laenHPOj3VaExITM54VjM9bR6fd0DK6Co9cm0/eJBog8XL05MX8TLxVPZSJtCu3nUESGjFhpATE8obxcw==} + tap@18.8.0: + resolution: {integrity: sha512-tX02yXmzBcemYfNGKtTJFf3cn7e8VgBvxKswaew8YnrE+1cUZtxyN0GhMzPQ5cWznVz47DfgcuYR1QtCr+4LOw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true @@ -1680,39 +1670,39 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} - '@biomejs/biome@1.7.1': + '@biomejs/biome@1.7.3': optionalDependencies: - '@biomejs/cli-darwin-arm64': 1.7.1 - '@biomejs/cli-darwin-x64': 1.7.1 - '@biomejs/cli-linux-arm64': 1.7.1 - '@biomejs/cli-linux-arm64-musl': 1.7.1 - '@biomejs/cli-linux-x64': 1.7.1 - '@biomejs/cli-linux-x64-musl': 1.7.1 - '@biomejs/cli-win32-arm64': 1.7.1 - '@biomejs/cli-win32-x64': 1.7.1 - - '@biomejs/cli-darwin-arm64@1.7.1': + '@biomejs/cli-darwin-arm64': 1.7.3 + '@biomejs/cli-darwin-x64': 1.7.3 + '@biomejs/cli-linux-arm64': 1.7.3 + '@biomejs/cli-linux-arm64-musl': 1.7.3 + '@biomejs/cli-linux-x64': 1.7.3 + '@biomejs/cli-linux-x64-musl': 1.7.3 + '@biomejs/cli-win32-arm64': 1.7.3 + '@biomejs/cli-win32-x64': 1.7.3 + + '@biomejs/cli-darwin-arm64@1.7.3': optional: true - '@biomejs/cli-darwin-x64@1.7.1': + '@biomejs/cli-darwin-x64@1.7.3': optional: true - '@biomejs/cli-linux-arm64-musl@1.7.1': + '@biomejs/cli-linux-arm64-musl@1.7.3': optional: true - '@biomejs/cli-linux-arm64@1.7.1': + '@biomejs/cli-linux-arm64@1.7.3': optional: true - '@biomejs/cli-linux-x64-musl@1.7.1': + '@biomejs/cli-linux-x64-musl@1.7.3': optional: true - '@biomejs/cli-linux-x64@1.7.1': + '@biomejs/cli-linux-x64@1.7.3': optional: true - '@biomejs/cli-win32-arm64@1.7.1': + '@biomejs/cli-win32-arm64@1.7.3': optional: true - '@biomejs/cli-win32-x64@1.7.1': + '@biomejs/cli-win32-x64@1.7.3': optional: true '@cspotcode/source-map-support@0.8.1': @@ -1730,14 +1720,14 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@isaacs/ts-node-temp-fork-for-pr-2009@10.9.5(@types/node@20.12.7)(typescript@5.2.2)': + '@isaacs/ts-node-temp-fork-for-pr-2009@10.9.5(@types/node@20.12.12)(typescript@5.2.2)': dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node14': 14.1.0 '@tsconfig/node16': 16.1.1 '@tsconfig/node18': 18.2.2 '@tsconfig/node20': 20.1.4 - '@types/node': 20.12.7 + '@types/node': 20.12.12 acorn: 8.11.2 acorn-walk: 8.3.0 arg: 4.1.3 @@ -1746,14 +1736,14 @@ snapshots: typescript: 5.2.2 v8-compile-cache-lib: 3.0.1 - '@isaacs/ts-node-temp-fork-for-pr-2009@10.9.5(@types/node@20.12.7)(typescript@5.4.5)': + '@isaacs/ts-node-temp-fork-for-pr-2009@10.9.5(@types/node@20.12.12)(typescript@5.4.5)': dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node14': 14.1.0 '@tsconfig/node16': 16.1.1 '@tsconfig/node18': 18.2.2 '@tsconfig/node20': 20.1.4 - '@types/node': 20.12.7 + '@types/node': 20.12.12 acorn: 8.11.2 acorn-walk: 8.3.0 arg: 4.1.3 @@ -1921,17 +1911,13 @@ snapshots: dependencies: type-detect: 4.0.8 - '@sinonjs/commons@3.0.0': + '@sinonjs/commons@3.0.1': dependencies: type-detect: 4.0.8 - '@sinonjs/fake-timers@10.3.0': - dependencies: - '@sinonjs/commons': 3.0.0 - '@sinonjs/fake-timers@11.2.2': dependencies: - '@sinonjs/commons': 3.0.0 + '@sinonjs/commons': 3.0.1 '@sinonjs/samsam@8.0.0': dependencies: @@ -1941,19 +1927,19 @@ snapshots: '@sinonjs/text-encoding@0.7.2': {} - '@tapjs/after-each@1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/after-each@1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) function-loop: 4.0.0 - '@tapjs/after@1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/after@1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) is-actual-promise: 1.0.1 - '@tapjs/asserts@1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tapjs/asserts@1.2.0(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tapjs/stack': 1.2.8 is-actual-promise: 1.0.1 tcompare: 6.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -1962,31 +1948,31 @@ snapshots: - react - react-dom - '@tapjs/before-each@1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/before-each@1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) function-loop: 4.0.0 - '@tapjs/before@1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/before@1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) is-actual-promise: 1.0.1 - '@tapjs/config@2.4.17(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/config@2.4.19(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/test': 1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/test': 1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) chalk: 5.3.0 jackspeak: 2.3.6 polite-json: 4.0.1 tap-yaml: 2.2.2 walk-up-path: 3.0.1 - '@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@tapjs/processinfo': 3.1.7 '@tapjs/stack': 1.2.8 - '@tapjs/test': 1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/test': 1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) async-hook-domain: 4.0.1 diff: 5.2.0 is-actual-promise: 1.0.1 @@ -2007,33 +1993,33 @@ snapshots: dependencies: minipass: 7.0.4 - '@tapjs/filter@1.2.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/filter@1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/fixture@1.2.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/fixture@1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) mkdirp: 3.0.1 rimraf: 5.0.5 - '@tapjs/intercept@1.2.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/intercept@1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/after': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/after': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tapjs/stack': 1.2.8 - '@tapjs/mock@1.3.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/mock@1.3.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/after': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/after': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tapjs/stack': 1.2.8 resolve-import: 1.4.5 walk-up-path: 3.0.1 - '@tapjs/node-serialize@1.3.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/node-serialize@1.3.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tapjs/error-serdes': 1.2.2 '@tapjs/stack': 1.2.8 tap-parser: 15.3.2 @@ -2045,10 +2031,10 @@ snapshots: signal-exit: 4.1.0 uuid: 8.3.2 - '@tapjs/reporter@1.3.18(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))': + '@tapjs/reporter@1.3.20(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))': dependencies: - '@tapjs/config': 2.4.17(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/config': 2.4.19(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tapjs/stack': 1.2.8 chalk: 5.3.0 ink: 4.4.1(react@18.2.0) @@ -2069,17 +2055,17 @@ snapshots: - react-dom - utf-8-validate - '@tapjs/run@1.5.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tapjs/run@1.5.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@tapjs/after': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/before': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/config': 2.4.17(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/after': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/before': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/config': 2.4.19(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tapjs/processinfo': 3.1.7 - '@tapjs/reporter': 1.3.18(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0)) - '@tapjs/spawn': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/stdin': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/test': 1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/reporter': 1.3.20(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0)) + '@tapjs/spawn': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/stdin': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/test': 1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) c8: 8.0.1 chalk: 5.3.0 chokidar: 3.6.0 @@ -2111,9 +2097,9 @@ snapshots: - supports-color - utf-8-validate - '@tapjs/snapshot@1.2.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tapjs/snapshot@1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) is-actual-promise: 1.0.1 tcompare: 6.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) trivial-deferred: 2.0.0 @@ -2121,35 +2107,35 @@ snapshots: - react - react-dom - '@tapjs/spawn@1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/spawn@1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tapjs/stack@1.2.8': {} - '@tapjs/stdin@1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - - '@tapjs/test@1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.5(@types/node@20.12.7)(typescript@5.2.2) - '@tapjs/after': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/after-each': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/asserts': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/before': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/before-each': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/filter': 1.2.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/fixture': 1.2.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/intercept': 1.2.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/mock': 1.3.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/node-serialize': 1.3.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/snapshot': 1.2.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/spawn': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/stdin': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/typescript': 1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(typescript@5.2.2) - '@tapjs/worker': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/stdin@1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + dependencies: + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + + '@tapjs/test@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.5(@types/node@20.12.12)(typescript@5.2.2) + '@tapjs/after': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/after-each': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/asserts': 1.2.0(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/before': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/before-each': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/filter': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/fixture': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/intercept': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/mock': 1.3.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/node-serialize': 1.3.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/snapshot': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/spawn': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/stdin': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/typescript': 1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.2.2) + '@tapjs/worker': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) glob: 10.3.10 jackspeak: 2.3.6 mkdirp: 3.0.1 @@ -2166,29 +2152,29 @@ snapshots: - react - react-dom - '@tapjs/typescript@1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(typescript@5.2.2)': + '@tapjs/typescript@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.2.2)': dependencies: - '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.5(@types/node@20.12.7)(typescript@5.2.2) - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.5(@types/node@20.12.12)(typescript@5.2.2) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - '@types/node' - typescript - '@tapjs/typescript@1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(typescript@5.4.5)': + '@tapjs/typescript@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5)': dependencies: - '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.5(@types/node@20.12.7)(typescript@5.4.5) - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.5(@types/node@20.12.12)(typescript@5.4.5) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - '@types/node' - typescript - '@tapjs/worker@1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/worker@1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tsconfig/node10@1.0.11': {} @@ -2219,10 +2205,10 @@ snapshots: '@types/node-fetch@2.6.11': dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 form-data: 4.0.0 - '@types/node@20.12.7': + '@types/node@20.12.12': dependencies: undici-types: 5.26.5 @@ -2421,8 +2407,6 @@ snapshots: diff@4.0.2: {} - diff@5.1.0: {} - diff@5.2.0: {} eastasianwidth@0.2.0: {} @@ -2652,8 +2636,6 @@ snapshots: dependencies: tslib: 2.6.2 - isarray@0.0.1: {} - isexe@2.0.0: {} isexe@3.1.1: {} @@ -2685,7 +2667,7 @@ snapshots: jsonparse@1.3.1: {} - just-extend@4.2.1: {} + just-extend@6.2.0: {} locate-path@6.0.0: dependencies: @@ -2799,13 +2781,13 @@ snapshots: negotiator@0.6.3: {} - nise@5.1.5: + nise@6.0.0: dependencies: - '@sinonjs/commons': 2.0.0 - '@sinonjs/fake-timers': 10.3.0 + '@sinonjs/commons': 3.0.1 + '@sinonjs/fake-timers': 11.2.2 '@sinonjs/text-encoding': 0.7.2 - just-extend: 4.2.1 - path-to-regexp: 1.8.0 + just-extend: 6.2.0 + path-to-regexp: 6.2.2 nock@13.5.4: dependencies: @@ -2954,9 +2936,7 @@ snapshots: lru-cache: 10.0.2 minipass: 7.0.4 - path-to-regexp@1.8.0: - dependencies: - isarray: 0.0.1 + path-to-regexp@6.2.2: {} picomatch@2.3.1: {} @@ -3084,13 +3064,13 @@ snapshots: transitivePeerDependencies: - supports-color - sinon@17.0.1: + sinon@18.0.0: dependencies: - '@sinonjs/commons': 3.0.0 + '@sinonjs/commons': 3.0.1 '@sinonjs/fake-timers': 11.2.2 '@sinonjs/samsam': 8.0.0 - diff: 5.1.0 - nise: 5.1.5 + diff: 5.2.0 + nise: 6.0.0 supports-color: 7.2.0 slice-ansi@5.0.0: @@ -3185,26 +3165,26 @@ snapshots: yaml: 2.4.1 yaml-types: 0.3.0(yaml@2.4.1) - tap@18.7.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5): - dependencies: - '@tapjs/after': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/after-each': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/asserts': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/before': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/before-each': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/filter': 1.2.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/fixture': 1.2.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/intercept': 1.2.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/mock': 1.3.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/node-serialize': 1.3.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/run': 1.5.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/snapshot': 1.2.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/spawn': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/stdin': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/test': 1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/typescript': 1.4.2(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.7)(typescript@5.4.5) - '@tapjs/worker': 1.1.20(@tapjs/core@1.5.2(@types/node@20.12.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + tap@18.8.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5): + dependencies: + '@tapjs/after': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/after-each': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/asserts': 1.2.0(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/before': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/before-each': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/filter': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/fixture': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/intercept': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/mock': 1.3.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/node-serialize': 1.3.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/run': 1.5.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/snapshot': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/spawn': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/stdin': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/test': 1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/typescript': 1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5) + '@tapjs/worker': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) resolve-import: 1.4.5 transitivePeerDependencies: - '@swc/core' @@ -3251,14 +3231,14 @@ snapshots: trivial-deferred@2.0.0: {} - ts-node@10.9.2(@types/node@20.12.7)(typescript@5.4.5): + ts-node@10.9.2(@types/node@20.12.12)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.12.7 + '@types/node': 20.12.12 acorn: 8.11.2 acorn-walk: 8.3.0 arg: 4.1.3 From 9eb669015a1fa3a9642367df2c7f03d3249ad72b Mon Sep 17 00:00:00 2001 From: GP Date: Fri, 24 May 2024 16:19:14 +0530 Subject: [PATCH 05/30] fix(tests): add back missing import --- test/integration.test.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/test/integration.test.ts b/test/integration.test.ts index faf751b5..31eae164 100644 --- a/test/integration.test.ts +++ b/test/integration.test.ts @@ -1,6 +1,7 @@ import { unlinkSync } from 'node:fs'; import { EOL, arch, platform } from 'node:os'; import { hookStd } from 'hook-std'; +import t from 'tap'; import { DOWNLOAD_URL, EXECUTABLE, From 295386a66f5a648a1a1d048d80cb43aa738b3b75 Mon Sep 17 00:00:00 2001 From: GP Date: Fri, 24 May 2024 16:19:57 +0530 Subject: [PATCH 06/30] fix(test): use the @tapjs/tsx import loader to fix TS issues --- package.json | 16 +- pnpm-lock.yaml | 743 +++++++++++++++++++++++++++++++++---------------- 2 files changed, 513 insertions(+), 246 deletions(-) diff --git a/package.json b/package.json index a10417ce..c6ce8cf8 100644 --- a/package.json +++ b/package.json @@ -5,10 +5,10 @@ "description": "Publish code coverage to Code Climate", "type": "module", "main": "lib/main.js", - "packageManager": "pnpm@9.1.1", + "packageManager": "pnpm@9.1.2", "scripts": { "build": "tsc", - "test": "cross-env NODE_OPTIONS=\"--no-warnings\" tap run --disable-coverage", + "test": "cross-env NODE_OPTIONS=\"--no-warnings --import=@tapjs/tsx/loader\" tap run --disable-coverage --include=\"test/**/*.test.ts\"", "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", @@ -43,8 +43,9 @@ "devDependencies": { "@biomejs/biome": "1.7.3", "@openpgp/web-stream-tools": "0.1.1", - "@tapjs/core": "1.5.4", - "@tapjs/test": "1.4.4", + "@tapjs/core": "2.0.0", + "@tapjs/test": "2.0.0", + "@tapjs/tsx": "1.1.24", "@tsconfig/node20": "20.1.4", "@tsconfig/strictest": "2.0.5", "@types/node": "20.12.12", @@ -54,10 +55,15 @@ "cross-env": "7.0.3", "nock": "13.5.4", "sinon": "18.0.0", - "tap": "18.8.0", + "tap": "19.0.0", "to-readable-stream": "4.0.0", "ts-node": "10.9.2", "typescript": "5.4.5", "which": "4.0.0" + }, + "tap": { + "plugin": [ + "!@tapjs/typescript" + ] } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b37071e9..844e43eb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,11 +37,14 @@ importers: specifier: 0.1.1 version: 0.1.1(typescript@5.4.5) '@tapjs/core': - specifier: 1.5.4 - version: 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 2.0.0 + version: 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tapjs/test': - specifier: 1.4.4 - version: 1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 2.0.0 + version: 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/tsx': + specifier: 1.1.24 + version: 1.1.24(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) '@tsconfig/node20': specifier: 20.1.4 version: 20.1.4 @@ -70,8 +73,8 @@ importers: specifier: 18.0.0 version: 18.0.0 tap: - specifier: 18.8.0 - version: 18.8.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5) + specifier: 19.0.0 + version: 19.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5) to-readable-stream: specifier: 4.0.0 version: 4.0.0 @@ -172,6 +175,144 @@ packages: 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.0': resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==} engines: {node: '>=14'} @@ -334,138 +475,144 @@ packages: '@sinonjs/text-encoding@0.7.2': resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} - '@tapjs/after-each@1.1.22': - resolution: {integrity: sha512-KKbCnMlOFspW6YoaFfzbU3kwwolF9DfP7ikGGMZItex/EB+OcLxoFV++DCWIDIl12mzQfYZMJ0wJXtHFc0ux0Q==} + '@tapjs/after-each@2.0.0': + resolution: {integrity: sha512-G66l0fx/st1qoap6OEfiofbhkeet8eEr6rNFy0lDZd1UPdnOpVOXu4Oqk1WoWIhnWepezxZLiMYgm2ERh9lL8Q==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/after@1.1.22': - resolution: {integrity: sha512-8Ui8dfTFgDS3ENfzKpsWGJw+v4LHXvifaSB79chQbucuggW+nM2zzWu7grw7mDUBBR3Mknk+qL4Nb1KrnZvfWQ==} + '@tapjs/after@1.1.23': + resolution: {integrity: sha512-H/78/46SJBS257cu8xHGdC1+aBgz8hp/XrKQb3jvgVd1Wr8VOslHs61cP0OYjctU2bQlaPUMfHB5+8JrmYw48w==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/asserts@1.2.0': - resolution: {integrity: sha512-QTs1kALeJKrlX9Yns3f8/hfsWgf4mdFYPN3lQKxZ/3C/DkGnjlrpVd4I2fnTC7cgJ116kwEgwhxVJUpw9QPp9A==} + '@tapjs/asserts@2.0.0': + resolution: {integrity: sha512-69XfDpbuBMnYCoxNXH6bcLEN3+TM23l1+YfYBpCy3h7OtKbNUQ142Rczaez1xmHoUNjCpIwS0I1cLkKxkYOpvA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/before-each@1.1.22': - resolution: {integrity: sha512-uKKllHDvQgTXjAm+F+29Iqcb9Bzh5U6LH45m6v/zfKPm8UNnNpJ/XxFbbsFqi0EQX2czYH0ivHfyQwiO40R8lw==} + '@tapjs/before-each@2.0.0': + resolution: {integrity: sha512-++7EdcVAjyxFnAeMPg0y3OXEpPZRN6jl72/uWUth6h4oPoliPA1pKtJu8gYOjnWS170C7gbyTOc999ZfLjxe+A==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/before@1.1.22': - resolution: {integrity: sha512-Uv2odGCtOgY/EevyDZv2rHbIbe9WGrouC6HI+lJv4whGUKgiIYTOjrssl4YxvqvnNWx289/6Tp4Kpu7EeXT7yA==} + '@tapjs/before@2.0.0': + resolution: {integrity: sha512-aZDIcQc4E8bDOoIR2jRSZrPiWVXQk+ilFKstSvndaqApg2WeNDLYA4rN9v5v8aJJV6X7X9QxDDnVnLOwAFDbRw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/config@2.4.19': - resolution: {integrity: sha512-8fkUnf2d3g9wbnfSirXI92bx4ZO5X37nqYVb5fua9VDC2MsTLAmd4JyDSNG1ngn8/nO5o8aFNEeUaePswGId4A==} + '@tapjs/config@3.0.0': + resolution: {integrity: sha512-MOj68l0Li1Xb/F1reXWEqYfEETkI1TPhCEq/7OIxcHkGMkiEciEnOM7AF/nsnYIOioc5qg6wSy9TTMzDzAiiYQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 - '@tapjs/test': 1.4.4 + '@tapjs/core': 2.0.0 + '@tapjs/test': 2.0.0 - '@tapjs/core@1.5.4': - resolution: {integrity: sha512-kDgRxTkSRxfLbX5orDmizxuyFBLLC3Mu4mQ2dMzw/UMYkrN8jZbkKZqIR0BdXgxE+GqvVFqkYvFJImXJBygBKQ==} + '@tapjs/core@2.0.0': + resolution: {integrity: sha512-a8jffmbrh8Cjgpn4hhmcCO71eJ/94bW12U+JDzoc91ij6q+J2AiTHKH7AHgyN1FNJ/AdSXHKT+nyboBkezWHzg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - '@tapjs/error-serdes@1.2.2': - resolution: {integrity: sha512-RW2aU50JR7SSAlvoTyuwouXETLM9lP+7oZ5Z+dyKhNp8mkbbz4mXKcgd9SDHY5qTh6zvVN7OFK7ev7dYWXbrWw==} + '@tapjs/error-serdes@2.0.0': + resolution: {integrity: sha512-ZfFW73nLcohtoSGp8tJSG/L8dvYbd3W8Z3mwbwfwt+DBPKr03RgbEn5OMkvoCwPw8xp1Rb+qC6tb2LrssZmMUA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - '@tapjs/filter@1.2.22': - resolution: {integrity: sha512-qVWbsFem2R1htQVh0+4xWMPsDPpQ2NhA/6mnlg4ApzAFvaTr5T/zK72VpR+AqPaMcMgrp4a/m5DQ03dLFqckZQ==} + '@tapjs/filter@2.0.0': + resolution: {integrity: sha512-0lZJl16N1k4sR1SKNXzFJMXBTxOcC8VIK6dtFb8QI4QABVivtw9+zsj9NWH1gN9yrahT9excXL1i53WHujKsEg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/fixture@1.2.22': - resolution: {integrity: sha512-ZYjkRzLSwW+cOg2CbL3GrgjatKVXcEGLQa7vjfmYVxDrPHkK7tiu3lf1KU6pFxTyqTlMMRUfMehHQrH+JjDC7Q==} + '@tapjs/fixture@2.0.0': + resolution: {integrity: sha512-Cf9fV5WnkAv7Ii4YZ1bX06Jcqsv1347EzhQrHB2zHioc3nxKDx6zJmh+RIx09+lGFD9jSAXQ90LRSgQJHqrUSQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/intercept@1.2.22': - resolution: {integrity: sha512-OiayUlV+0fxwGM3B7JyRSwryq2kRpuWiF+4wQCiufSbbF20H4uEIlkRq1YrfUlla4zWVvHeQOQlUoqb6fSEcSQ==} + '@tapjs/intercept@2.0.0': + resolution: {integrity: sha512-Brh1lU8Q49HR+B4lhpGX6MqZ4d5VRWugTx6CmTc2abJnUmGNI95OR3rk3MNva6yCP4KLvbDxHmgGwqOpo8LsTA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/mock@1.3.4': - resolution: {integrity: sha512-tEz5hIdJdAGzl+KxjZol4DD7cWAdYMmvLU/QCZ5BThAOJ+FUAOxtBFA31nd7IWkMseIqcbeeqLmeMtan6QlPKA==} + '@tapjs/mock@2.0.0': + resolution: {integrity: sha512-lq73tB0U4KihKaZBdflRIoTId2uhRoklvAM6BDsByPWkYFLaWtJRB9rEJ7fcOR9wB9ckrQFo32ozwKkdPqqzlw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/node-serialize@1.3.4': - resolution: {integrity: sha512-OwnSWdNnukgIGBsgnPy1ZpBDxp274GwLx2Ag+CulhsQ+IF9rOCq5P0EQ2kbxhxRet1386kbNzgXgaEeXmDXlLQ==} + '@tapjs/node-serialize@2.0.0': + resolution: {integrity: sha512-QnulP84StsKXX6vr38geYBrUNRYNDGMLXsVRdo5lyl7v4lR4bbUASrXU4vEMc/kKRNi5dbe63EVriFQXOp7A6Q==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 '@tapjs/processinfo@3.1.7': resolution: {integrity: sha512-SI5RJQ5HnUKEWnHSAF6hOm6XPdnjZ+CJzIaVHdFebed8iDAPTqb+IwMVu9yq9+VQ7FRsMMlgLL2SW4rss2iJbQ==} engines: {node: '>=16.17'} - '@tapjs/reporter@1.3.20': - resolution: {integrity: sha512-OTZeTC1/dr69mtZlRulynFH7+b7/C45MwLdLqaeTTeW2saAtojDMt7K2J8c74JlOO5+EKl71rBxrdKS6VBFqLw==} + '@tapjs/reporter@2.0.0': + resolution: {integrity: sha512-zFK+fAc7lKdMbKWOB7pj9phT/A/qRnmAfPFnKGxbTW0SaBi37Uno/NGCb3hHX6Rstku4HFp7KMAD7dLQ5MK72w==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/run@1.5.4': - resolution: {integrity: sha512-mwzU/KalqYOGZTTf7lPyfBdRDCoIgec69NXrq/+Le7PXYWKrRoYvIUoBGwgZYyjfiYshhnzb+ayZdtd76Lj0Kw==} + '@tapjs/run@2.0.0': + resolution: {integrity: sha512-H+VsiJG3AxZcHCLKMAWS5DD+XlLhceJb59lAqJIW0zCBjDKHntQh/7BJkw0F6OcwteSPagMqiA2muLFEBdGGPA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/snapshot@1.2.22': - resolution: {integrity: sha512-6nhNY6uFPnQEVQ8vuxV3rKiC7NXDY5k/Bv1bPatfo//6z1T41INfQbnfwQXoufaHveLPpGBTLwpOWjtFsUHgdg==} + '@tapjs/snapshot@2.0.0': + resolution: {integrity: sha512-MCUsWgdyWo9AOhSCdyOkK4pfG5/2m4P5FrvPblJ4+qSx+nMebZ01RRgtrRcSn+AScuCkkjgAU9Y9lkXsvxjKJw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/spawn@1.1.22': - resolution: {integrity: sha512-/MbFSmSpvLA0N2rKd8rI0vMLYM+0E3OB+doj+YUZe5m3G0YCHTBzZrnFGLw7Am1VsaREy4fSgchNEdn1NyikcQ==} + '@tapjs/spawn@2.0.0': + resolution: {integrity: sha512-+mBE0joes/Zn2TE76K7OpuRLP/C0zpmuH73acLU+zGpSnkndc7nS6tllLeObCaA0wxioS3RbLUxnoXUuvJtkAA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/stack@1.2.8': - resolution: {integrity: sha512-VC8h6U62ScerTKN+MYpRPiwH2bCL65S6v1wcj1hukE2hojLcRvVdET7S3ZtRfSj/eNWW/5OVfzTpHiGjEYD6Xg==} + '@tapjs/stack@2.0.0': + resolution: {integrity: sha512-8Ebx6CfG0W2s9UusxRXla5x1Gi5dfCm6OCig4ZuD6X+NS7HQD1DltM0KCmKssV2M3mj6k1XOdxRqAKwo9TS0eg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - '@tapjs/stdin@1.1.22': - resolution: {integrity: sha512-JUyzZHG01iM6uDfplVGRiK+OdNalwl5Okv+eljHBdZOA8kO3hHI6N9bkZa472/st4NBj0lcMMGb2IKGgIBBUQg==} + '@tapjs/stdin@2.0.0': + resolution: {integrity: sha512-ZNJDusDVDOJSN1N46DJHp9jvE1PhzyjWbI5CLV96hhcWOTKKGqddEnS2KpyqNncp3kCf1tg9Nprr2vX2ySgQRA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/test@1.4.4': - resolution: {integrity: sha512-I0mzxs8+RUULd9g0R6+LXsLzkeqhu5jJPpA7w5BzTxA++jQ0ACjyHs1BBy1IhhP9DeZ5N2LPg+WxLs7Dijs9Uw==} + '@tapjs/test@2.0.0': + resolution: {integrity: sha512-CRlCq3E1U3Gn2vF1GYpHxOf9wXd3SN+kDR3d74P03sYqG4yT32W8mPDQNtPeMb5i40kvNE0+vkb6Mi73Rof/vA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/typescript@1.4.4': - resolution: {integrity: sha512-Mf2vIK1yk5ipQRmuIznFtC8Iboti0p0D90ENDZdEx678h60vAVPh9vebVX+oQ0LccAHGyu/CiOSFL4Za8b5/Rg==} + '@tapjs/tsx@1.1.24': + resolution: {integrity: sha512-ZybaF8WJwbJEIK7CO7dYnBDtxv3VldxL3/xER+o1xQVdlrFpDRgJ6om7MzwfAD00ePwu1oyAH5rPX6k2N+SyfQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 - '@tapjs/worker@1.1.22': - resolution: {integrity: sha512-1PO9Qstfevr4Wdh318eC3O1mytSyXT3q/K6EeivBhnuPeyHsy3QCAd1bfVD7gqzWNbJ/UzeGN3knfIi5qXifmA==} + '@tapjs/typescript@1.4.5': + resolution: {integrity: sha512-pZBvBMOCTKeLiD2xHi7woqOlEg5+zww7n4QhzW7qEx8jKojiWAs06aZzcHV+rbaWBPPrPCgJVn4eKqtHV0mH3Q==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 1.5.4 + '@tapjs/core': 2.0.0 + + '@tapjs/worker@2.0.0': + resolution: {integrity: sha512-XnIcbeuVegYdqeMsb/U2vCzRWI6UFD7tatad4fan60e0md6qpKKKEsJKhgI25ucL85mL+9OCMv0e2iNCgo6X+A==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + peerDependencies: + '@tapjs/core': 2.0.0 '@tsconfig/node10@1.0.11': resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} @@ -737,6 +884,11 @@ packages: err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -809,13 +961,16 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} + get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} + glob@10.3.16: + resolution: {integrity: sha512-JDKXl1DiuuHJ6fVS2FXjownaavciiHNUU4mOvV/B793RLh05vZL1rcPnCSaOgv1hDT6RDlY7AB7ZUvFYAtPgAw==} + engines: {node: '>=16 || 14 >=14.18'} hasBin: true glob@7.2.3: @@ -876,6 +1031,7 @@ packages: 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. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -962,8 +1118,8 @@ packages: resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} engines: {node: '>=8'} - jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + jackspeak@3.1.2: + resolution: {integrity: sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==} engines: {node: '>=14'} js-tokens@4.0.0: @@ -1001,6 +1157,10 @@ packages: resolution: {integrity: sha512-Yj9mA8fPiVgOUpByoTZO5pNrcl5Yk37FcSHsUINpAsaBIEZIuqcCclDZJCVxqQShDsmYX8QG63svJiTbOATZwg==} engines: {node: 14 || >=16.14} + lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} + lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -1210,6 +1370,10 @@ packages: resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + path-to-regexp@6.2.2: resolution: {integrity: sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==} @@ -1292,6 +1456,7 @@ packages: read-package-json@7.0.0: resolution: {integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==} engines: {node: ^16.14.0 || >=18.0.0} + deprecated: This package is no longer supported. Please use @npmcli/package-json instead. readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} @@ -1305,6 +1470,9 @@ packages: 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} @@ -1424,8 +1592,8 @@ packages: engines: {node: '>=14'} hasBin: true - tap-parser@15.3.2: - resolution: {integrity: sha512-uvauHuQqAMwfeFVxNpFXhvnWLVL0sthnHk4TxRM3cUy6+dejO9fatoKR7YejbMu4+2/1nR6UQE9+eUcX3PUmsA==} + tap-parser@16.0.0: + resolution: {integrity: sha512-OVtDFWbjQoQbzdLsRNCHG8mWScyxm0m2WWsHeqV6URDXO8idqvCtSu1+FvjggTN+Qq/TQQnnoLcQ09J+T+Wp5w==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true @@ -1433,8 +1601,8 @@ packages: resolution: {integrity: sha512-MWG4OpAKtNoNVjCz/BqlDJiwTM99tiHRhHPS4iGOe1ZS0CgM4jSFH92lthSFvvy4EdDjQZDV7uYqUFlU9JuNhw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - tap@18.8.0: - resolution: {integrity: sha512-tX02yXmzBcemYfNGKtTJFf3cn7e8VgBvxKswaew8YnrE+1cUZtxyN0GhMzPQ5cWznVz47DfgcuYR1QtCr+4LOw==} + tap@19.0.0: + resolution: {integrity: sha512-mtRlLSMBwrRadU215uoz/27aOKRg6PvylUf1c0Ji0o+7JQgPukw7VgYKts7BS0yZms85lYz5NH+6wtfutKOuVQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true @@ -1442,8 +1610,8 @@ packages: resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} engines: {node: '>=10'} - tcompare@6.4.6: - resolution: {integrity: sha512-sxvgCgO2GAIWHibnK4zLvvi9GHd/ZlR9DOUJ4ufwvNtkdKE2I9MNwJUwzYvOmGrJXMcfhhw0CDBb+6j0ia+I7A==} + tcompare@7.0.0: + resolution: {integrity: sha512-x2xjQ6TydWImqNaXhS8rjj9JNefYf31NlMlEANxOZOZsQWT31SwOODipW39kehncbf/NnvMPnI7P0Yn6nHmAug==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} test-exclude@6.0.0: @@ -1484,6 +1652,11 @@ packages: tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tsx@4.11.0: + resolution: {integrity: sha512-vzGGELOgAupsNVssAmZjbUDfdm/pWP4R+Kg8TVdsonxbXk0bEpE1qh0yV6/QxUVXaVlNemgcPajGdJJ82n3stg==} + engines: {node: '>=18.0.0'} + hasBin: true + tuf-js@2.2.0: resolution: {integrity: sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==} engines: {node: ^16.14.0 || >=18.0.0} @@ -1504,11 +1677,6 @@ packages: resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} - typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} - engines: {node: '>=14.17'} - hasBin: true - typescript@5.4.5: resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} @@ -1709,6 +1877,75 @@ snapshots: 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.0': {} '@isaacs/cliui@8.0.2': @@ -1720,22 +1957,6 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@isaacs/ts-node-temp-fork-for-pr-2009@10.9.5(@types/node@20.12.12)(typescript@5.2.2)': - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node14': 14.1.0 - '@tsconfig/node16': 16.1.1 - '@tsconfig/node18': 18.2.2 - '@tsconfig/node20': 20.1.4 - '@types/node': 20.12.12 - acorn: 8.11.2 - acorn-walk: 8.3.0 - arg: 4.1.3 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.2.2 - v8-compile-cache-lib: 3.0.1 - '@isaacs/ts-node-temp-fork-for-pr-2009@10.9.5(@types/node@20.12.12)(typescript@5.4.5)': dependencies: '@cspotcode/source-map-support': 0.8.1 @@ -1927,60 +2148,60 @@ snapshots: '@sinonjs/text-encoding@0.7.2': {} - '@tapjs/after-each@1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/after-each@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) function-loop: 4.0.0 - '@tapjs/after@1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/after@1.1.23(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) is-actual-promise: 1.0.1 - '@tapjs/asserts@1.2.0(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tapjs/asserts@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/stack': 1.2.8 + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/stack': 2.0.0 is-actual-promise: 1.0.1 - tcompare: 6.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + tcompare: 7.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) trivial-deferred: 2.0.0 transitivePeerDependencies: - react - react-dom - '@tapjs/before-each@1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/before-each@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) function-loop: 4.0.0 - '@tapjs/before@1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/before@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) is-actual-promise: 1.0.1 - '@tapjs/config@2.4.19(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/config@3.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/test': 1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/test': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) chalk: 5.3.0 - jackspeak: 2.3.6 + jackspeak: 3.1.2 polite-json: 4.0.1 tap-yaml: 2.2.2 walk-up-path: 3.0.1 - '@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@tapjs/processinfo': 3.1.7 - '@tapjs/stack': 1.2.8 - '@tapjs/test': 1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/stack': 2.0.0 + '@tapjs/test': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) async-hook-domain: 4.0.1 diff: 5.2.0 is-actual-promise: 1.0.1 minipass: 7.0.4 signal-exit: 4.1.0 - tap-parser: 15.3.2 + tap-parser: 16.0.0 tap-yaml: 2.2.2 - tcompare: 6.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + tcompare: 7.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) trivial-deferred: 2.0.0 transitivePeerDependencies: - '@swc/core' @@ -1989,40 +2210,40 @@ snapshots: - react - react-dom - '@tapjs/error-serdes@1.2.2': + '@tapjs/error-serdes@2.0.0': dependencies: minipass: 7.0.4 - '@tapjs/filter@1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/filter@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/fixture@1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/fixture@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) mkdirp: 3.0.1 rimraf: 5.0.5 - '@tapjs/intercept@1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/intercept@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/after': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/stack': 1.2.8 + '@tapjs/after': 1.1.23(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/stack': 2.0.0 - '@tapjs/mock@1.3.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/mock@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/after': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/stack': 1.2.8 + '@tapjs/after': 1.1.23(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/stack': 2.0.0 resolve-import: 1.4.5 walk-up-path: 3.0.1 - '@tapjs/node-serialize@1.3.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/node-serialize@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/error-serdes': 1.2.2 - '@tapjs/stack': 1.2.8 - tap-parser: 15.3.2 + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/error-serdes': 2.0.0 + '@tapjs/stack': 2.0.0 + tap-parser: 16.0.0 '@tapjs/processinfo@3.1.7': dependencies: @@ -2031,11 +2252,11 @@ snapshots: signal-exit: 4.1.0 uuid: 8.3.2 - '@tapjs/reporter@1.3.20(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))': + '@tapjs/reporter@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))': dependencies: - '@tapjs/config': 2.4.19(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/stack': 1.2.8 + '@tapjs/config': 3.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/stack': 2.0.0 chalk: 5.3.0 ink: 4.4.1(react@18.2.0) minipass: 7.0.4 @@ -2044,9 +2265,9 @@ snapshots: prismjs-terminal: 1.2.3 react: 18.2.0 string-length: 6.0.0 - tap-parser: 15.3.2 + tap-parser: 16.0.0 tap-yaml: 2.2.2 - tcompare: 6.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + tcompare: 7.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) transitivePeerDependencies: - '@tapjs/test' - '@types/react' @@ -2055,22 +2276,22 @@ snapshots: - react-dom - utf-8-validate - '@tapjs/run@1.5.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tapjs/run@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@tapjs/after': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/before': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/config': 2.4.19(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/after': 1.1.23(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/before': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/config': 3.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tapjs/processinfo': 3.1.7 - '@tapjs/reporter': 1.3.20(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0)) - '@tapjs/spawn': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/stdin': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/test': 1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/reporter': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0)) + '@tapjs/spawn': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/stdin': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/test': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) c8: 8.0.1 chalk: 5.3.0 chokidar: 3.6.0 foreground-child: 3.1.1 - glob: 10.3.10 + glob: 10.3.16 minipass: 7.0.4 mkdirp: 3.0.1 opener: 1.5.2 @@ -2079,9 +2300,9 @@ snapshots: rimraf: 5.0.5 semver: 7.6.0 signal-exit: 4.1.0 - tap-parser: 15.3.2 + tap-parser: 16.0.0 tap-yaml: 2.2.2 - tcompare: 6.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + tcompare: 7.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) trivial-deferred: 2.0.0 which: 4.0.0 transitivePeerDependencies: @@ -2097,54 +2318,55 @@ snapshots: - supports-color - utf-8-validate - '@tapjs/snapshot@1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tapjs/snapshot@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) is-actual-promise: 1.0.1 - tcompare: 6.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + tcompare: 7.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) trivial-deferred: 2.0.0 transitivePeerDependencies: - react - react-dom - '@tapjs/spawn@1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - - '@tapjs/stack@1.2.8': {} - - '@tapjs/stdin@1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - - '@tapjs/test@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.5(@types/node@20.12.12)(typescript@5.2.2) - '@tapjs/after': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/after-each': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/asserts': 1.2.0(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/before': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/before-each': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/filter': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/fixture': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/intercept': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/mock': 1.3.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/node-serialize': 1.3.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/snapshot': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/spawn': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/stdin': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/typescript': 1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.2.2) - '@tapjs/worker': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - glob: 10.3.10 - jackspeak: 2.3.6 + '@tapjs/spawn@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + dependencies: + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + + '@tapjs/stack@2.0.0': {} + + '@tapjs/stdin@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + dependencies: + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + + '@tapjs/test@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.5(@types/node@20.12.12)(typescript@5.4.5) + '@tapjs/after': 1.1.23(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/after-each': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/asserts': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/before': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/before-each': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/filter': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/fixture': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/intercept': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/mock': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/node-serialize': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/snapshot': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/spawn': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/stdin': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/typescript': 1.4.5(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5) + '@tapjs/worker': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + glob: 10.3.16 + jackspeak: 3.1.2 mkdirp: 3.0.1 resolve-import: 1.4.5 rimraf: 5.0.5 sync-content: 1.0.2 - tap-parser: 15.3.2 + tap-parser: 16.0.0 tshy: 1.14.0 - typescript: 5.2.2 + typescript: 5.4.5 + walk-up-path: 3.0.1 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -2152,29 +2374,24 @@ snapshots: - react - react-dom - '@tapjs/typescript@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.2.2)': + '@tapjs/tsx@1.1.24(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.5(@types/node@20.12.12)(typescript@5.2.2) - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - typescript + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + tsx: 4.11.0 - '@tapjs/typescript@1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5)': + '@tapjs/typescript@1.4.5(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5)': dependencies: '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.5(@types/node@20.12.12)(typescript@5.4.5) - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - '@types/node' - typescript - '@tapjs/worker@1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/worker@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tsconfig/node10@1.0.11': {} @@ -2315,7 +2532,7 @@ snapshots: dependencies: '@npmcli/fs': 3.1.0 fs-minipass: 3.0.3 - glob: 10.3.10 + glob: 10.3.16 lru-cache: 10.0.2 minipass: 7.0.4 minipass-collect: 1.0.2 @@ -2424,6 +2641,32 @@ snapshots: err-code@2.0.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 + escalade@3.1.1: {} escape-string-regexp@2.0.0: {} @@ -2487,17 +2730,21 @@ snapshots: get-caller-file@2.0.5: {} + get-tsconfig@4.7.5: + dependencies: + resolve-pkg-maps: 1.0.0 + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - glob@10.3.10: + glob@10.3.16: dependencies: foreground-child: 3.1.1 - jackspeak: 2.3.6 + jackspeak: 3.1.2 minimatch: 9.0.4 minipass: 7.0.4 - path-scurry: 1.10.1 + path-scurry: 1.11.1 glob@7.2.3: dependencies: @@ -2653,7 +2900,7 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - jackspeak@2.3.6: + jackspeak@3.1.2: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -2685,6 +2932,8 @@ snapshots: dependencies: semver: 7.6.0 + lru-cache@10.2.2: {} + lru-cache@6.0.0: dependencies: yallist: 4.0.0 @@ -2809,7 +3058,7 @@ snapshots: dependencies: env-paths: 2.2.1 exponential-backoff: 3.1.1 - glob: 10.3.10 + glob: 10.3.16 graceful-fs: 4.2.11 make-fetch-happen: 13.0.0 nopt: 7.2.0 @@ -2936,6 +3185,11 @@ snapshots: lru-cache: 10.0.2 minipass: 7.0.4 + path-scurry@1.11.1: + dependencies: + lru-cache: 10.2.2 + minipass: 7.0.4 + path-to-regexp@6.2.2: {} picomatch@2.3.1: {} @@ -3002,7 +3256,7 @@ snapshots: read-package-json@7.0.0: dependencies: - glob: 10.3.10 + glob: 10.3.16 json-parse-even-better-errors: 3.0.0 normalize-package-data: 6.0.0 npm-normalize-package-bin: 3.0.1 @@ -3015,9 +3269,11 @@ snapshots: resolve-import@1.4.5: dependencies: - glob: 10.3.10 + glob: 10.3.16 walk-up-path: 3.0.1 + resolve-pkg-maps@1.0.0: {} + restore-cursor@4.0.0: dependencies: onetime: 5.1.2 @@ -3031,7 +3287,7 @@ snapshots: rimraf@5.0.5: dependencies: - glob: 10.3.10 + glob: 10.3.16 safer-buffer@2.1.2: {} @@ -3150,12 +3406,12 @@ snapshots: sync-content@1.0.2: dependencies: - glob: 10.3.10 + glob: 10.3.16 mkdirp: 3.0.1 path-scurry: 1.10.1 rimraf: 5.0.5 - tap-parser@15.3.2: + tap-parser@16.0.0: dependencies: events-to-array: 2.0.3 tap-yaml: 2.2.2 @@ -3165,26 +3421,26 @@ snapshots: yaml: 2.4.1 yaml-types: 0.3.0(yaml@2.4.1) - tap@18.8.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5): - dependencies: - '@tapjs/after': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/after-each': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/asserts': 1.2.0(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/before': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/before-each': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/filter': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/fixture': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/intercept': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/mock': 1.3.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/node-serialize': 1.3.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/run': 1.5.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/snapshot': 1.2.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/spawn': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/stdin': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/test': 1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/typescript': 1.4.4(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5) - '@tapjs/worker': 1.1.22(@tapjs/core@1.5.4(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + tap@19.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5): + dependencies: + '@tapjs/after': 1.1.23(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/after-each': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/asserts': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/before': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/before-each': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/filter': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/fixture': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/intercept': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/mock': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/node-serialize': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/run': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/snapshot': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/spawn': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/stdin': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/test': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/typescript': 1.4.5(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5) + '@tapjs/worker': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) resolve-import: 1.4.5 transitivePeerDependencies: - '@swc/core' @@ -3209,7 +3465,7 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 - tcompare@6.4.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + tcompare@7.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: diff: 5.2.0 react-element-to-jsx-string: 15.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -3265,6 +3521,13 @@ snapshots: tslib@2.6.2: {} + tsx@4.11.0: + dependencies: + esbuild: 0.20.2 + get-tsconfig: 4.7.5 + optionalDependencies: + fsevents: 2.3.3 + tuf-js@2.2.0: dependencies: '@tufjs/models': 2.0.0 @@ -3281,8 +3544,6 @@ snapshots: type-fest@3.13.1: {} - typescript@5.2.2: {} - typescript@5.4.5: {} undici-types@5.26.5: {} From d56acf0f9654ca5e5e79176b57692ff3627a2561 Mon Sep 17 00:00:00 2001 From: GP Date: Fri, 24 May 2024 16:22:32 +0530 Subject: [PATCH 07/30] fix(ci): use Node 22.x so the import loader will work as expected --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9df90293..c31135d7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: - name: setup node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 cache: 'pnpm' - name: install dependencies @@ -72,7 +72,7 @@ jobs: - name: setup node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 cache: 'pnpm' - name: install dependencies @@ -98,7 +98,7 @@ jobs: - name: setup node.js uses: actions/setup-node@v4 with: - node-version: 20 + node-version: 22 cache: 'pnpm' - name: install dependencies From 5f5e60f976788671c1cead42304f025658f63f49 Mon Sep 17 00:00:00 2001 From: GP Date: Fri, 24 May 2024 16:24:52 +0530 Subject: [PATCH 08/30] chore: exclude coverage --- .gitignore | 1 - tsconfig.json | 3 ++- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 29eb1886..df9166ec 100644 --- a/.gitignore +++ b/.gitignore @@ -2,7 +2,6 @@ lib/ node_modules/ coverage/ -.nyc_output/ test.sh test.sh.sha256 .tap/ diff --git a/tsconfig.json b/tsconfig.json index f88297a0..25d522d9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,6 +11,7 @@ }, "exclude": [ "node_modules", - "**/*.test.ts" + "**/*.test.ts", + "coverage/" ] } From f97429e8c5b4a0dfc7f340cb0765fd15fc9982fd Mon Sep 17 00:00:00 2001 From: GP Date: Mon, 27 May 2024 10:45:17 +0530 Subject: [PATCH 09/30] fix: upgrade tap to fix the plugin issues See https://github.com/tapjs/tapjs/issues/976#issuecomment-2130242412 --- package.json | 11 +- pnpm-lock.yaml | 448 +++++++++++++++++++++++-------------------------- 2 files changed, 213 insertions(+), 246 deletions(-) diff --git a/package.json b/package.json index c6ce8cf8..afe1677d 100644 --- a/package.json +++ b/package.json @@ -43,9 +43,9 @@ "devDependencies": { "@biomejs/biome": "1.7.3", "@openpgp/web-stream-tools": "0.1.1", - "@tapjs/core": "2.0.0", - "@tapjs/test": "2.0.0", - "@tapjs/tsx": "1.1.24", + "@tapjs/core": "2.0.1", + "@tapjs/test": "2.0.1", + "@tapjs/tsx": "1.1.25", "@tsconfig/node20": "20.1.4", "@tsconfig/strictest": "2.0.5", "@types/node": "20.12.12", @@ -55,7 +55,7 @@ "cross-env": "7.0.3", "nock": "13.5.4", "sinon": "18.0.0", - "tap": "19.0.0", + "tap": "19.0.2", "to-readable-stream": "4.0.0", "ts-node": "10.9.2", "typescript": "5.4.5", @@ -63,7 +63,8 @@ }, "tap": { "plugin": [ - "!@tapjs/typescript" + "!@tapjs/typescript", + "@tapjs/tsx" ] } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 844e43eb..a12730c3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,14 +37,14 @@ importers: specifier: 0.1.1 version: 0.1.1(typescript@5.4.5) '@tapjs/core': - specifier: 2.0.0 - version: 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 2.0.1 + version: 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tapjs/test': - specifier: 2.0.0 - version: 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + specifier: 2.0.1 + version: 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tapjs/tsx': - specifier: 1.1.24 - version: 1.1.24(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + specifier: 1.1.25 + version: 1.1.25(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) '@tsconfig/node20': specifier: 20.1.4 version: 20.1.4 @@ -73,8 +73,8 @@ importers: specifier: 18.0.0 version: 18.0.0 tap: - specifier: 19.0.0 - version: 19.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5) + specifier: 19.0.2 + version: 19.0.2(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5) to-readable-stream: specifier: 4.0.0 version: 4.0.0 @@ -321,8 +321,8 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - '@isaacs/ts-node-temp-fork-for-pr-2009@10.9.5': - resolution: {integrity: sha512-hEDlwpHhIabtB+Urku8muNMEkGui0LVGlYLS3KoB9QBDf0Pw3r7q0RrfoQmFuk8CvRpGzErO3/vLQd9Ys+/g4g==} + '@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' @@ -475,144 +475,144 @@ packages: '@sinonjs/text-encoding@0.7.2': resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} - '@tapjs/after-each@2.0.0': - resolution: {integrity: sha512-G66l0fx/st1qoap6OEfiofbhkeet8eEr6rNFy0lDZd1UPdnOpVOXu4Oqk1WoWIhnWepezxZLiMYgm2ERh9lL8Q==} + '@tapjs/after-each@2.0.1': + resolution: {integrity: sha512-3JXIJ4g9LPjyXmn/1VuIMC0vh7uBgUpQPksjffxv0rL8wq4C8lvmqt8Qu/fVImJucqzA+WrRqVG1b2Ab0ocDOw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/after@1.1.23': - resolution: {integrity: sha512-H/78/46SJBS257cu8xHGdC1+aBgz8hp/XrKQb3jvgVd1Wr8VOslHs61cP0OYjctU2bQlaPUMfHB5+8JrmYw48w==} + '@tapjs/after@1.1.24': + resolution: {integrity: sha512-Qys3CtftkfHGC7thDGm9TBzRCBLAoJKrXufF1zQxI1oNUjclWZP/s8CtHH0mwUTISOTehmBLV3wPPHSslD67Ng==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/asserts@2.0.0': - resolution: {integrity: sha512-69XfDpbuBMnYCoxNXH6bcLEN3+TM23l1+YfYBpCy3h7OtKbNUQ142Rczaez1xmHoUNjCpIwS0I1cLkKxkYOpvA==} + '@tapjs/asserts@2.0.1': + resolution: {integrity: sha512-v2xYDLUwMGt8pzoY5LIjDCaw2NM+G01NW4pC3RcpsZLZbzQv1x/phi2RAX0ixI0nCmZZybqRygFKuMcJamS+gg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/before-each@2.0.0': - resolution: {integrity: sha512-++7EdcVAjyxFnAeMPg0y3OXEpPZRN6jl72/uWUth6h4oPoliPA1pKtJu8gYOjnWS170C7gbyTOc999ZfLjxe+A==} + '@tapjs/before-each@2.0.1': + resolution: {integrity: sha512-gG1nYkvCHtWwhkueulO475KczdQZ3vBRgdkta/Qi42ZjZo6SNhYVjNc/+LRGV5vZoESrvgSd+JrDRGufd+j43w==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/before@2.0.0': - resolution: {integrity: sha512-aZDIcQc4E8bDOoIR2jRSZrPiWVXQk+ilFKstSvndaqApg2WeNDLYA4rN9v5v8aJJV6X7X9QxDDnVnLOwAFDbRw==} + '@tapjs/before@2.0.1': + resolution: {integrity: sha512-GgnlWPm2PbuyYuG4gkkO2KAvT/BbGnpKs60U4XzPSJ2w73Qc/IYWP0Kz6qfCWongpiLteoco67M89ujUQApYJw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/config@3.0.0': - resolution: {integrity: sha512-MOj68l0Li1Xb/F1reXWEqYfEETkI1TPhCEq/7OIxcHkGMkiEciEnOM7AF/nsnYIOioc5qg6wSy9TTMzDzAiiYQ==} + '@tapjs/config@3.0.1': + resolution: {integrity: sha512-gAYFzErdSuPQ3afW6iRR99hiJmRLU+x9T+NE89z9UM45iPxglWLrRv1PFfh3tmtX6rpzwD5RY4/FVPcP2+/1LQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 - '@tapjs/test': 2.0.0 + '@tapjs/core': 2.0.1 + '@tapjs/test': 2.0.1 - '@tapjs/core@2.0.0': - resolution: {integrity: sha512-a8jffmbrh8Cjgpn4hhmcCO71eJ/94bW12U+JDzoc91ij6q+J2AiTHKH7AHgyN1FNJ/AdSXHKT+nyboBkezWHzg==} + '@tapjs/core@2.0.1': + resolution: {integrity: sha512-q+8d+ohw5kudktIqgP5ETBcPWAPip+kMIxs2eL2G3dV+7Gc8WrH43cCPrbSGPRITIOSIDPrtpQZEcZwQNqDdQw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - '@tapjs/error-serdes@2.0.0': - resolution: {integrity: sha512-ZfFW73nLcohtoSGp8tJSG/L8dvYbd3W8Z3mwbwfwt+DBPKr03RgbEn5OMkvoCwPw8xp1Rb+qC6tb2LrssZmMUA==} + '@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.0': - resolution: {integrity: sha512-0lZJl16N1k4sR1SKNXzFJMXBTxOcC8VIK6dtFb8QI4QABVivtw9+zsj9NWH1gN9yrahT9excXL1i53WHujKsEg==} + '@tapjs/filter@2.0.1': + resolution: {integrity: sha512-muKEeXK7Tz6VR4hjXfT2qXPvjYES575mtiRerjHf+8qP8D7MvmC8qDZJjzFdo1nZHKhF8snvFosIVuI1BAhvsw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/fixture@2.0.0': - resolution: {integrity: sha512-Cf9fV5WnkAv7Ii4YZ1bX06Jcqsv1347EzhQrHB2zHioc3nxKDx6zJmh+RIx09+lGFD9jSAXQ90LRSgQJHqrUSQ==} + '@tapjs/fixture@2.0.1': + resolution: {integrity: sha512-MLgEwsBlCD69iUbZcnKBehP2js5cV4p5GrFoOKSudMuH2DQJInaF/g2bkijue61cVZwPj/MRPCqAlkwA94epjg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/intercept@2.0.0': - resolution: {integrity: sha512-Brh1lU8Q49HR+B4lhpGX6MqZ4d5VRWugTx6CmTc2abJnUmGNI95OR3rk3MNva6yCP4KLvbDxHmgGwqOpo8LsTA==} + '@tapjs/intercept@2.0.1': + resolution: {integrity: sha512-BZgXE3zCAbv4lfbph1r85gihtI3kXltHlFQ8Bf3Yy9fx27DKQlBvXnD7T69ke8kQLRzhz+wTMcR/mcQjo1fa7w==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/mock@2.0.0': - resolution: {integrity: sha512-lq73tB0U4KihKaZBdflRIoTId2uhRoklvAM6BDsByPWkYFLaWtJRB9rEJ7fcOR9wB9ckrQFo32ozwKkdPqqzlw==} + '@tapjs/mock@2.0.1': + resolution: {integrity: sha512-i1vkwNgO7uEuQW3+hTuE2L64aC9xk0cC3PtC6DZKqyApk2IstNgoIS38nfsI6v2kvEgZNuWlsNcRAYNDOIEhzA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/node-serialize@2.0.0': - resolution: {integrity: sha512-QnulP84StsKXX6vr38geYBrUNRYNDGMLXsVRdo5lyl7v4lR4bbUASrXU4vEMc/kKRNi5dbe63EVriFQXOp7A6Q==} + '@tapjs/node-serialize@2.0.1': + resolution: {integrity: sha512-1GtHDa7AXpk8y08llIPfUKRTDNsq+BhXxz7wiIfVEAOEB09kGyfpWteOg+cmvb+aHU1Ays3z+medXTIBm0D5Kg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 '@tapjs/processinfo@3.1.7': resolution: {integrity: sha512-SI5RJQ5HnUKEWnHSAF6hOm6XPdnjZ+CJzIaVHdFebed8iDAPTqb+IwMVu9yq9+VQ7FRsMMlgLL2SW4rss2iJbQ==} engines: {node: '>=16.17'} - '@tapjs/reporter@2.0.0': - resolution: {integrity: sha512-zFK+fAc7lKdMbKWOB7pj9phT/A/qRnmAfPFnKGxbTW0SaBi37Uno/NGCb3hHX6Rstku4HFp7KMAD7dLQ5MK72w==} + '@tapjs/reporter@2.0.1': + resolution: {integrity: sha512-fCdl4vg8vnlqIYtTQ9dc3zOqeXrA5QbATbT4dsPIiPuCM3gvKTbntaNBeaWWZkPx697Dj+b8TIxT/xhNMNv7jQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/run@2.0.0': - resolution: {integrity: sha512-H+VsiJG3AxZcHCLKMAWS5DD+XlLhceJb59lAqJIW0zCBjDKHntQh/7BJkw0F6OcwteSPagMqiA2muLFEBdGGPA==} + '@tapjs/run@2.0.2': + resolution: {integrity: sha512-2hPGlabqbLb3hh4BHHvwE8R9a9OiWumkCkHw5QQUZurDsVOpB94FfteqW9mktTVjZJnN0go+sN3GN2jZUaPWGQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/snapshot@2.0.0': - resolution: {integrity: sha512-MCUsWgdyWo9AOhSCdyOkK4pfG5/2m4P5FrvPblJ4+qSx+nMebZ01RRgtrRcSn+AScuCkkjgAU9Y9lkXsvxjKJw==} + '@tapjs/snapshot@2.0.1': + resolution: {integrity: sha512-ZnbCxL+9fiJ38tec6wvRtRBZz9ChRUq0Bov7dltdZMNkXqudKyB+Zzbg25bqDEIgcczyp6A9hOwTX6VybDGqpg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/spawn@2.0.0': - resolution: {integrity: sha512-+mBE0joes/Zn2TE76K7OpuRLP/C0zpmuH73acLU+zGpSnkndc7nS6tllLeObCaA0wxioS3RbLUxnoXUuvJtkAA==} + '@tapjs/spawn@2.0.1': + resolution: {integrity: sha512-3VaQKJjHV5frMZj3Ef+QlJyB6b7VsGMil223zAEz8Ttgy2hDYtcb29nvsLPUcowFyOUrsydnXEnHgpR79wEPOA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/stack@2.0.0': - resolution: {integrity: sha512-8Ebx6CfG0W2s9UusxRXla5x1Gi5dfCm6OCig4ZuD6X+NS7HQD1DltM0KCmKssV2M3mj6k1XOdxRqAKwo9TS0eg==} + '@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.0': - resolution: {integrity: sha512-ZNJDusDVDOJSN1N46DJHp9jvE1PhzyjWbI5CLV96hhcWOTKKGqddEnS2KpyqNncp3kCf1tg9Nprr2vX2ySgQRA==} + '@tapjs/stdin@2.0.1': + resolution: {integrity: sha512-5Oe13Fzpnt9seAi8h3bsMxtJp8S+DQI6ncBD9JBcS91XKLbqyKrb1bNzeXQN2PrHBs6Atw8cOzFZh0TjL+bIaA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/test@2.0.0': - resolution: {integrity: sha512-CRlCq3E1U3Gn2vF1GYpHxOf9wXd3SN+kDR3d74P03sYqG4yT32W8mPDQNtPeMb5i40kvNE0+vkb6Mi73Rof/vA==} + '@tapjs/test@2.0.1': + resolution: {integrity: sha512-PKazf7r4+bLFATML2f/h8glGcSirXmzXUYlhFuxb4xHoOhHojyKgo1p8kSj+Ksxb3hVSCQlvyXgM8QYYaoMwog==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/tsx@1.1.24': - resolution: {integrity: sha512-ZybaF8WJwbJEIK7CO7dYnBDtxv3VldxL3/xER+o1xQVdlrFpDRgJ6om7MzwfAD00ePwu1oyAH5rPX6k2N+SyfQ==} + '@tapjs/tsx@1.1.25': + resolution: {integrity: sha512-oXURZH3IklI3fOerSHAw+3VbchucnmnDUpWv5IUpDdXTVuAQ9cA3TtItfpv6gr4ZGIbKXLHOts1iwu7XA/7tkA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/typescript@1.4.5': - resolution: {integrity: sha512-pZBvBMOCTKeLiD2xHi7woqOlEg5+zww7n4QhzW7qEx8jKojiWAs06aZzcHV+rbaWBPPrPCgJVn4eKqtHV0mH3Q==} + '@tapjs/typescript@1.4.6': + resolution: {integrity: sha512-6jxUQ7Mdb+Y2q8RJcwgZZ6dCR+X2u3hCL+xb1GDAtO7k1+B6z2b+z+I+FdhuO4YgrP0SLRjocL5rJM/xi9K7qw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 - '@tapjs/worker@2.0.0': - resolution: {integrity: sha512-XnIcbeuVegYdqeMsb/U2vCzRWI6UFD7tatad4fan60e0md6qpKKKEsJKhgI25ucL85mL+9OCMv0e2iNCgo6X+A==} + '@tapjs/worker@2.0.1': + resolution: {integrity: sha512-wegz8IxNEPIIAA+R76/avZgNmZ4iC7QGFbtXKGBU962/1lXTITxshRV6e21r0IBa7YLkSVgDuVSVB3+Qzve0Yg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.0.0 + '@tapjs/core': 2.0.1 '@tsconfig/node10@1.0.11': resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} @@ -755,9 +755,9 @@ packages: builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} - c8@8.0.1: - resolution: {integrity: sha512-EINpopxZNH1mETuI0DzRA4MZpAUH+IFiRhnmFD3vFr3vdrgxqi3VfE3KL0AIL+zDq8rC9bZqwM/VDmmoe04y7w==} - engines: {node: '>=12'} + c8@9.1.0: + resolution: {integrity: sha512-mBWcT5iqNir1zIkzSPyI3NCR9EZCVI3WUD+AVO17MVWTSFNyUueXE82qTeampNtTr+ilN/5Ua3j24LgbCKjDVg==} + engines: {node: '>=14.14.0'} hasBin: true cacache@18.0.0: @@ -916,10 +916,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - foreground-child@2.0.0: - resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} - engines: {node: '>=8.0.0'} - foreground-child@3.1.1: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} engines: {node: '>=14'} @@ -975,6 +971,7 @@ packages: glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -1153,10 +1150,6 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - lru-cache@10.0.2: - resolution: {integrity: sha512-Yj9mA8fPiVgOUpByoTZO5pNrcl5Yk37FcSHsUINpAsaBIEZIuqcCclDZJCVxqQShDsmYX8QG63svJiTbOATZwg==} - engines: {node: 14 || >=16.14} - lru-cache@10.2.2: resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} engines: {node: 14 || >=16.14} @@ -1366,10 +1359,6 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} - path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} @@ -1481,10 +1470,6 @@ packages: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - rimraf@5.0.5: resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} engines: {node: '>=14'} @@ -1592,8 +1577,8 @@ packages: engines: {node: '>=14'} hasBin: true - tap-parser@16.0.0: - resolution: {integrity: sha512-OVtDFWbjQoQbzdLsRNCHG8mWScyxm0m2WWsHeqV6URDXO8idqvCtSu1+FvjggTN+Qq/TQQnnoLcQ09J+T+Wp5w==} + tap-parser@16.0.1: + resolution: {integrity: sha512-vKianJzSSzLkJ3bHBwzvZDDRi9yGMwkRANJxwPAjAue50owB8rlluYySmTN4tZVH0nsh6stvrQbg9kuCL5svdg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true @@ -1601,8 +1586,8 @@ packages: resolution: {integrity: sha512-MWG4OpAKtNoNVjCz/BqlDJiwTM99tiHRhHPS4iGOe1ZS0CgM4jSFH92lthSFvvy4EdDjQZDV7uYqUFlU9JuNhw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - tap@19.0.0: - resolution: {integrity: sha512-mtRlLSMBwrRadU215uoz/27aOKRg6PvylUf1c0Ji0o+7JQgPukw7VgYKts7BS0yZms85lYz5NH+6wtfutKOuVQ==} + tap@19.0.2: + resolution: {integrity: sha512-SRGulk1RKlVuYtnPeephj+xyE0sG9CvGlKYP4lymBZykLtkwBPnEBjQ2iQmLX5z0BFEMfKh8G4bvZkhoSJb3kg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true @@ -1610,8 +1595,8 @@ packages: resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} engines: {node: '>=10'} - tcompare@7.0.0: - resolution: {integrity: sha512-x2xjQ6TydWImqNaXhS8rjj9JNefYf31NlMlEANxOZOZsQWT31SwOODipW39kehncbf/NnvMPnI7P0Yn6nHmAug==} + 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: @@ -1957,7 +1942,7 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@isaacs/ts-node-temp-fork-for-pr-2009@10.9.5(@types/node@20.12.12)(typescript@5.4.5)': + '@isaacs/ts-node-temp-fork-for-pr-2009@10.9.7(@types/node@20.12.12)(typescript@5.4.5)': dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node14': 14.1.0 @@ -1994,7 +1979,7 @@ snapshots: agent-base: 7.1.0 http-proxy-agent: 7.0.0 https-proxy-agent: 7.0.2 - lru-cache: 10.0.2 + lru-cache: 10.2.2 socks-proxy-agent: 8.0.2 transitivePeerDependencies: - supports-color @@ -2006,7 +1991,7 @@ snapshots: '@npmcli/git@5.0.3': dependencies: '@npmcli/promise-spawn': 7.0.0 - lru-cache: 10.0.2 + lru-cache: 10.2.2 npm-pick-manifest: 9.0.0 proc-log: 3.0.0 promise-inflight: 1.0.1 @@ -2148,60 +2133,60 @@ snapshots: '@sinonjs/text-encoding@0.7.2': {} - '@tapjs/after-each@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/after-each@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) function-loop: 4.0.0 - '@tapjs/after@1.1.23(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/after@1.1.24(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) is-actual-promise: 1.0.1 - '@tapjs/asserts@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tapjs/asserts@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/stack': 2.0.0 + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/stack': 2.0.1 is-actual-promise: 1.0.1 - tcompare: 7.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + tcompare: 7.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) trivial-deferred: 2.0.0 transitivePeerDependencies: - react - react-dom - '@tapjs/before-each@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/before-each@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) function-loop: 4.0.0 - '@tapjs/before@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/before@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) is-actual-promise: 1.0.1 - '@tapjs/config@3.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/config@3.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/test': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/test': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) chalk: 5.3.0 jackspeak: 3.1.2 polite-json: 4.0.1 tap-yaml: 2.2.2 walk-up-path: 3.0.1 - '@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@tapjs/processinfo': 3.1.7 - '@tapjs/stack': 2.0.0 - '@tapjs/test': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/stack': 2.0.1 + '@tapjs/test': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) async-hook-domain: 4.0.1 diff: 5.2.0 is-actual-promise: 1.0.1 minipass: 7.0.4 signal-exit: 4.1.0 - tap-parser: 16.0.0 + tap-parser: 16.0.1 tap-yaml: 2.2.2 - tcompare: 7.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + tcompare: 7.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) trivial-deferred: 2.0.0 transitivePeerDependencies: - '@swc/core' @@ -2210,40 +2195,40 @@ snapshots: - react - react-dom - '@tapjs/error-serdes@2.0.0': + '@tapjs/error-serdes@2.0.1': dependencies: minipass: 7.0.4 - '@tapjs/filter@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/filter@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/fixture@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/fixture@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) mkdirp: 3.0.1 rimraf: 5.0.5 - '@tapjs/intercept@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/intercept@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/after': 1.1.23(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/stack': 2.0.0 + '@tapjs/after': 1.1.24(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/stack': 2.0.1 - '@tapjs/mock@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/mock@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/after': 1.1.23(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/stack': 2.0.0 + '@tapjs/after': 1.1.24(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/stack': 2.0.1 resolve-import: 1.4.5 walk-up-path: 3.0.1 - '@tapjs/node-serialize@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/node-serialize@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/error-serdes': 2.0.0 - '@tapjs/stack': 2.0.0 - tap-parser: 16.0.0 + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/error-serdes': 2.0.1 + '@tapjs/stack': 2.0.1 + tap-parser: 16.0.1 '@tapjs/processinfo@3.1.7': dependencies: @@ -2252,11 +2237,11 @@ snapshots: signal-exit: 4.1.0 uuid: 8.3.2 - '@tapjs/reporter@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))': + '@tapjs/reporter@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))': dependencies: - '@tapjs/config': 3.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/stack': 2.0.0 + '@tapjs/config': 3.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/stack': 2.0.1 chalk: 5.3.0 ink: 4.4.1(react@18.2.0) minipass: 7.0.4 @@ -2265,9 +2250,9 @@ snapshots: prismjs-terminal: 1.2.3 react: 18.2.0 string-length: 6.0.0 - tap-parser: 16.0.0 + tap-parser: 16.0.1 tap-yaml: 2.2.2 - tcompare: 7.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + tcompare: 7.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) transitivePeerDependencies: - '@tapjs/test' - '@types/react' @@ -2276,18 +2261,18 @@ snapshots: - react-dom - utf-8-validate - '@tapjs/run@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tapjs/run@2.0.2(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@tapjs/after': 1.1.23(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/before': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/config': 3.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/after': 1.1.24(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/before': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/config': 3.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tapjs/processinfo': 3.1.7 - '@tapjs/reporter': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0)) - '@tapjs/spawn': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/stdin': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/test': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - c8: 8.0.1 + '@tapjs/reporter': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0)) + '@tapjs/spawn': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/stdin': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/test': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + c8: 9.1.0 chalk: 5.3.0 chokidar: 3.6.0 foreground-child: 3.1.1 @@ -2300,9 +2285,9 @@ snapshots: rimraf: 5.0.5 semver: 7.6.0 signal-exit: 4.1.0 - tap-parser: 16.0.0 + tap-parser: 16.0.1 tap-yaml: 2.2.2 - tcompare: 7.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + tcompare: 7.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) trivial-deferred: 2.0.0 which: 4.0.0 transitivePeerDependencies: @@ -2318,52 +2303,52 @@ snapshots: - supports-color - utf-8-validate - '@tapjs/snapshot@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tapjs/snapshot@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) is-actual-promise: 1.0.1 - tcompare: 7.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + tcompare: 7.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) trivial-deferred: 2.0.0 transitivePeerDependencies: - react - react-dom - '@tapjs/spawn@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/spawn@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/stack@2.0.0': {} + '@tapjs/stack@2.0.1': {} - '@tapjs/stdin@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/stdin@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/test@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tapjs/test@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.5(@types/node@20.12.12)(typescript@5.4.5) - '@tapjs/after': 1.1.23(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/after-each': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/asserts': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/before': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/before-each': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/filter': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/fixture': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/intercept': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/mock': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/node-serialize': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/snapshot': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/spawn': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/stdin': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/typescript': 1.4.5(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5) - '@tapjs/worker': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.7(@types/node@20.12.12)(typescript@5.4.5) + '@tapjs/after': 1.1.24(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/after-each': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/asserts': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/before': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/before-each': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/filter': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/fixture': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/intercept': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/mock': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/node-serialize': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/snapshot': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/spawn': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/stdin': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/typescript': 1.4.6(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5) + '@tapjs/worker': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) glob: 10.3.16 jackspeak: 3.1.2 mkdirp: 3.0.1 resolve-import: 1.4.5 rimraf: 5.0.5 sync-content: 1.0.2 - tap-parser: 16.0.0 + tap-parser: 16.0.1 tshy: 1.14.0 typescript: 5.4.5 walk-up-path: 3.0.1 @@ -2374,24 +2359,24 @@ snapshots: - react - react-dom - '@tapjs/tsx@1.1.24(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/tsx@1.1.25(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) tsx: 4.11.0 - '@tapjs/typescript@1.4.5(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5)': + '@tapjs/typescript@1.4.6(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5)': dependencies: - '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.5(@types/node@20.12.12)(typescript@5.4.5) - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.7(@types/node@20.12.12)(typescript@5.4.5) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) transitivePeerDependencies: - '@swc/core' - '@swc/wasm' - '@types/node' - typescript - '@tapjs/worker@2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@tapjs/worker@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@tsconfig/node10@1.0.11': {} @@ -2513,16 +2498,15 @@ snapshots: dependencies: semver: 7.6.0 - c8@8.0.1: + c8@9.1.0: dependencies: '@bcoe/v8-coverage': 0.2.3 '@istanbuljs/schema': 0.1.3 find-up: 5.0.0 - foreground-child: 2.0.0 + foreground-child: 3.1.1 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 istanbul-reports: 3.1.6 - rimraf: 3.0.2 test-exclude: 6.0.0 v8-to-istanbul: 9.1.3 yargs: 17.7.2 @@ -2533,7 +2517,7 @@ snapshots: '@npmcli/fs': 3.1.0 fs-minipass: 3.0.3 glob: 10.3.16 - lru-cache: 10.0.2 + lru-cache: 10.2.2 minipass: 7.0.4 minipass-collect: 1.0.2 minipass-flush: 1.0.5 @@ -2689,11 +2673,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - foreground-child@2.0.0: - dependencies: - cross-spawn: 7.0.3 - signal-exit: 3.0.7 - foreground-child@3.1.1: dependencies: cross-spawn: 7.0.3 @@ -2767,7 +2746,7 @@ snapshots: hosted-git-info@7.0.1: dependencies: - lru-cache: 10.0.2 + lru-cache: 10.2.2 html-escaper@2.0.2: {} @@ -2928,10 +2907,6 @@ snapshots: dependencies: js-tokens: 4.0.0 - lru-cache@10.0.2: - dependencies: - semver: 7.6.0 - lru-cache@10.2.2: {} lru-cache@6.0.0: @@ -3180,11 +3155,6 @@ snapshots: path-key@3.1.1: {} - path-scurry@1.10.1: - dependencies: - lru-cache: 10.0.2 - minipass: 7.0.4 - path-scurry@1.11.1: dependencies: lru-cache: 10.2.2 @@ -3281,10 +3251,6 @@ snapshots: retry@0.12.0: {} - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - rimraf@5.0.5: dependencies: glob: 10.3.16 @@ -3408,10 +3374,10 @@ snapshots: dependencies: glob: 10.3.16 mkdirp: 3.0.1 - path-scurry: 1.10.1 + path-scurry: 1.11.1 rimraf: 5.0.5 - tap-parser@16.0.0: + tap-parser@16.0.1: dependencies: events-to-array: 2.0.3 tap-yaml: 2.2.2 @@ -3421,26 +3387,26 @@ snapshots: yaml: 2.4.1 yaml-types: 0.3.0(yaml@2.4.1) - tap@19.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5): - dependencies: - '@tapjs/after': 1.1.23(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/after-each': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/asserts': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/before': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/before-each': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/filter': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/fixture': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/intercept': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/mock': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/node-serialize': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/run': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/snapshot': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/spawn': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/stdin': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/test': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/typescript': 1.4.5(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5) - '@tapjs/worker': 2.0.0(@tapjs/core@2.0.0(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + tap@19.0.2(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5): + dependencies: + '@tapjs/after': 1.1.24(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/after-each': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/asserts': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/before': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/before-each': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/filter': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/fixture': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/intercept': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/mock': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/node-serialize': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/run': 2.0.2(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/snapshot': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/spawn': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/stdin': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@tapjs/test': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tapjs/typescript': 1.4.6(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5) + '@tapjs/worker': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) resolve-import: 1.4.5 transitivePeerDependencies: - '@swc/core' @@ -3465,7 +3431,7 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 - tcompare@7.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + tcompare@7.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: diff: 5.2.0 react-element-to-jsx-string: 15.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) From c75f50c3f905e8d8d1612ce2b9664a4f66d7d2e0 Mon Sep 17 00:00:00 2001 From: GP Date: Mon, 27 May 2024 10:46:47 +0530 Subject: [PATCH 10/30] chore: remove tap hacks --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index afe1677d..c92f3dfc 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "packageManager": "pnpm@9.1.2", "scripts": { "build": "tsc", - "test": "cross-env NODE_OPTIONS=\"--no-warnings --import=@tapjs/tsx/loader\" tap run --disable-coverage --include=\"test/**/*.test.ts\"", + "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", From 992e3e7a21b2ea258e86904bb805fc8fd4cf21e0 Mon Sep 17 00:00:00 2001 From: GP Date: Tue, 28 May 2024 15:12:08 +0530 Subject: [PATCH 11/30] chore: convert run() args to destructured to make life easier --- src/main.ts | 39 +++++++++------- test/main.test.ts | 110 +++++++++++++++++++++++----------------------- 2 files changed, 79 insertions(+), 70 deletions(-) diff --git a/src/main.ts b/src/main.ts index 4d7d5dda..44803c89 100644 --- a/src/main.ts +++ b/src/main.ts @@ -173,16 +173,25 @@ async function getLocationLines( return coverageLocationLines; } -export async function run( - downloadUrl: string = DOWNLOAD_URL, - executable: string = EXECUTABLE, - coverageCommand: string = DEFAULT_COVERAGE_COMMAND, - workingDirectory: string = DEFAULT_WORKING_DIRECTORY, - codeClimateDebug: string = DEFAULT_CODECLIMATE_DEBUG, - coverageLocationsParam: string = DEFAULT_COVERAGE_LOCATIONS, - coveragePrefix?: string, - verifyDownload: string = DEFAULT_VERIFY_DOWNLOAD, -): Promise { +export async function run({ + downloadUrl = DOWNLOAD_URL, + executable = EXECUTABLE, + coverageCommand = DEFAULT_COVERAGE_COMMAND, + workingDirectory = DEFAULT_WORKING_DIRECTORY, + codeClimateDebug = DEFAULT_CODECLIMATE_DEBUG, + coverageLocationsParam = DEFAULT_COVERAGE_LOCATIONS, + coveragePrefix, + verifyDownload = DEFAULT_VERIFY_DOWNLOAD, +}: { + downloadUrl?: string; + executable?: string; + coverageCommand?: string; + workingDirectory?: string; + codeClimateDebug?: string; + coverageLocationsParam?: string; + coveragePrefix?: string; + verifyDownload?: string; +} = {}): Promise { let lastExitCode = 1; if (workingDirectory) { debug(`Changing working directory to ${workingDirectory}`); @@ -389,16 +398,16 @@ if (isThisFileBeingRunViaCLI) { DEFAULT_VERIFY_DOWNLOAD, ); try { - run( - DOWNLOAD_URL, - EXECUTABLE, + run({ + downloadUrl: DOWNLOAD_URL, + executable: EXECUTABLE, coverageCommand, workingDirectory, codeClimateDebug, - coverageLocations, + coverageLocationsParam: coverageLocations, coveragePrefix, verifyDownload, - ); + }); } finally { // Finally clean up all artifacts that we downloaded. for (const artifact of FILE_ARTIFACTS) { diff --git a/test/main.test.ts b/test/main.test.ts index d0ee8fac..947d9433 100644 --- a/test/main.test.ts +++ b/test/main.test.ts @@ -206,11 +206,11 @@ t.test('🧪 run() should run the CC reporter (happy path).', async (t) => { }); try { - await run( - 'http://localhost.test/dummy-cc-reporter', - filePath, - `${ECHO_CMD} 'coverage ok'`, - ); + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + coverageCommand: `${ECHO_CMD} 'coverage ok'`, + }); stdHook.unhook(); } catch (err) { stdHook.unhook(); @@ -274,16 +274,12 @@ t.test( }); try { - await run( - 'http://localhost.test/dummy-cc-reporter', - filePath, - `${ECHO_CMD} 'coverage ok'`, - undefined, - undefined, - undefined, - undefined, - 'false', - ); + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + coverageCommand: `${ECHO_CMD} 'coverage ok'`, + verifyDownload: 'false', + }); stdHook.unhook(); } catch (err) { stdHook.unhook(); @@ -368,7 +364,11 @@ t.test( }); try { - await run('http://localhost.test/dummy-cc-reporter', filePath, ''); + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + coverageCommand: '', + }); stdHook.unhook(); } catch (err) { stdHook.unhook(); @@ -477,14 +477,13 @@ t.test('🧪 run() should convert patterns to locations.', async (t) => { }); try { - await run( - 'http://localhost.test/dummy-cc-reporter', - filePath, - '', - '', - 'false', - filePattern, - ); + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + coverageCommand: '', + coverageLocationsParam: filePattern, + codeClimateDebug: 'false', + }); stdHook.unhook(); } catch (err) { stdHook.unhook(); @@ -617,12 +616,12 @@ t.test( const CUSTOM_WORKDIR = await realpath(tmpdir()); try { - await run( - 'http://localhost.test/dummy-cc-reporter', - filePath, - `${ECHO_CMD} 'coverage ok'`, - CUSTOM_WORKDIR, - ); + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + coverageCommand: `${ECHO_CMD} 'coverage ok'`, + workingDirectory: CUSTOM_WORKDIR, + }); stdHook.unhook(); } catch (err) { stdHook.unhook(); @@ -693,11 +692,11 @@ t.test( }); try { - await run( - 'http://localhost.test/dummy-cc-reporter', - filePath, - `${ECHO_CMD} 'coverage ok'`, - ); + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + coverageCommand: `${ECHO_CMD} 'coverage ok'`, + }); t.fail('should have thrown an error'); stdHook.unhook(); } catch (err) { @@ -774,11 +773,11 @@ t.test( }); try { - await run( - 'http://localhost.test/dummy-cc-reporter', - filePath, - `echo 'coverage ok'`, - ); + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + coverageCommand: `${ECHO_CMD} 'coverage ok'`, + }); stdHook.unhook(); } catch (err) { stdHook.unhook(); @@ -858,11 +857,11 @@ t.test( }); try { - await run( - 'http://localhost.test/dummy-cc-reporter', - filePath, - `${ECHO_CMD} 'coverage ok'`, - ); + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + coverageCommand: `${ECHO_CMD} 'coverage ok'`, + }); stdHook.unhook(); } catch (err) { stdHook.unhook(); @@ -948,11 +947,11 @@ t.test( }); try { - await run( - 'http://localhost.test/dummy-cc-reporter', - filePath, - `${ECHO_CMD} 'coverage ok'`, - ); + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + coverageCommand: `${ECHO_CMD} 'coverage ok'`, + }); stdHook.unhook(); } catch (err) { stdHook.unhook(); @@ -1046,11 +1045,12 @@ t.test( }); try { - await run( - 'http://localhost.test/dummy-cc-reporter', - filePath, - COVERAGE_COMMAND, - ); + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + coverageCommand: COVERAGE_COMMAND, + verifyDownload: 'false', + }); stdHook.unhook(); t.fail('Should throw an error.'); } catch (err) { From 9903f40917f5f545e2a798f75d3d959a0a81f4d5 Mon Sep 17 00:00:00 2001 From: GP Date: Tue, 28 May 2024 15:12:50 +0530 Subject: [PATCH 12/30] chore: upgrade pnpm --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c92f3dfc..356b0b70 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "description": "Publish code coverage to Code Climate", "type": "module", "main": "lib/main.js", - "packageManager": "pnpm@9.1.2", + "packageManager": "pnpm@9.1.3", "scripts": { "build": "tsc", "test": "cross-env NODE_OPTIONS=\"--no-warnings\" tap run --disable-coverage", From c909795d1dcb5df36fdeeff279bb457ba354f9f7 Mon Sep 17 00:00:00 2001 From: GP Date: Thu, 30 May 2024 11:47:03 +0530 Subject: [PATCH 13/30] feat(core/internal): migrate to Japa as test runner. tap is a bit of a mess right now and its time to cut losses --- .c8rc.json | 8 + .github/workflows/ci.yml | 8 +- .gitignore | 4 +- bin/test.ts | 19 + biome.json | 2 +- package.json | 128 +- pnpm-lock.yaml | 3733 +++++++++----------- src/main.ts | 33 +- test/{ => integration}/integration.test.ts | 31 +- test/main.test.ts | 1098 ------ test/unit/main.test.ts | 846 +++++ test/unit/utils.test.ts | 134 + test/utils.test.ts | 150 - tsconfig.build.json | 12 + tsconfig.json | 14 +- tsconfig.test.json | 7 - 16 files changed, 2812 insertions(+), 3415 deletions(-) create mode 100644 .c8rc.json create mode 100644 bin/test.ts rename test/{ => integration}/integration.test.ts (68%) delete mode 100644 test/main.test.ts create mode 100644 test/unit/main.test.ts create mode 100644 test/unit/utils.test.ts delete mode 100644 test/utils.test.ts create mode 100644 tsconfig.build.json delete mode 100644 tsconfig.test.json diff --git a/.c8rc.json b/.c8rc.json new file mode 100644 index 00000000..ed9e7533 --- /dev/null +++ b/.c8rc.json @@ -0,0 +1,8 @@ +{ + "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 c31135d7..b7be44d5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,8 +15,6 @@ jobs: - name: setup pnpm uses: pnpm/action-setup@v3 - with: - version: 9 - name: setup node.js uses: actions/setup-node@v4 @@ -66,8 +64,6 @@ jobs: - name: setup pnpm uses: pnpm/action-setup@v3 - with: - version: 9 - name: setup node.js uses: actions/setup-node@v4 @@ -92,8 +88,6 @@ jobs: - name: setup pnpm uses: pnpm/action-setup@v3 - with: - version: 9 - name: setup node.js uses: actions/setup-node@v4 @@ -114,4 +108,4 @@ jobs: with: debug: true coverageLocations: | - ${{github.workspace}}/.tap/report/lcov.info:lcov + ${{github.workspace}}/coverage/lcov.info:lcov diff --git a/.gitignore b/.gitignore index df9166ec..f62f9ab1 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,6 @@ node_modules/ coverage/ test.sh test.sh.sha256 -.tap/ +.tsimp/ +**/*.js + diff --git a/bin/test.ts b/bin/test.ts new file mode 100644 index 00000000..f7403145 --- /dev/null +++ b/bin/test.ts @@ -0,0 +1,19 @@ +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 9a955e62..8567a050 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", "./test/**/*.ts"], + "include": ["./src/**/*.ts", "bin/test.ts", "./test/**/*.ts"], "ignore": ["./test/fixtures/**/*"] }, "organizeImports": { diff --git a/package.json b/package.json index 356b0b70..96c694e2 100644 --- a/package.json +++ b/package.json @@ -1,70 +1,62 @@ { - "name": "codeclimate-action", - "version": "6.0.0", - "private": true, - "description": "Publish code coverage to Code Climate", - "type": "module", - "main": "lib/main.js", - "packageManager": "pnpm@9.1.3", - "scripts": { - "build": "tsc", - "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 --write ./", - "lint:check": "biome lint ./", - "lint": "biome lint --apply ./", - "lint:unsafe": "biome lint --apply-unsafe ./" - }, - "repository": { - "type": "git", - "url": "https://github.com/paambaati/codeclimate-action.git" - }, - "keywords": [ - "actions", - "codeclimate", - "quality", - "coverage" - ], - "author": "GP ", - "license": "MIT", - "dependencies": { - "@actions/core": "1.10.1", - "@actions/exec": "1.1.1", - "@actions/github": "6.0.0", - "@actions/glob": "0.4.0", - "hook-std": "3.0.0", - "node-fetch": "3.3.2", - "openpgp": "5.11.1" - }, - "devDependencies": { - "@biomejs/biome": "1.7.3", - "@openpgp/web-stream-tools": "0.1.1", - "@tapjs/core": "2.0.1", - "@tapjs/test": "2.0.1", - "@tapjs/tsx": "1.1.25", - "@tsconfig/node20": "20.1.4", - "@tsconfig/strictest": "2.0.5", - "@types/node": "20.12.12", - "@types/node-fetch": "2.6.11", - "@types/sinon": "17.0.3", - "@types/which": "3.0.3", - "cross-env": "7.0.3", - "nock": "13.5.4", - "sinon": "18.0.0", - "tap": "19.0.2", - "to-readable-stream": "4.0.0", - "ts-node": "10.9.2", - "typescript": "5.4.5", - "which": "4.0.0" - }, - "tap": { - "plugin": [ - "!@tapjs/typescript", - "@tapjs/tsx" - ] - } + "name": "codeclimate-action", + "version": "6.0.0", + "private": true, + "description": "Publish code coverage to Code Climate", + "type": "module", + "main": "lib/main.js", + "packageManager": "pnpm@9.1.3", + "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", + "biome:ci": "biome ci ./", + "format:check": "biome format ./", + "format": "biome format --write ./", + "lint:check": "biome lint ./", + "lint": "biome lint --apply ./", + "lint:unsafe": "biome lint --apply-unsafe ./" + }, + "repository": { + "type": "git", + "url": "https://github.com/paambaati/codeclimate-action.git" + }, + "keywords": [ + "actions", + "codeclimate", + "quality", + "coverage" + ], + "author": "GP ", + "license": "MIT", + "dependencies": { + "@actions/core": "1.10.1", + "@actions/exec": "1.1.1", + "@actions/github": "6.0.0", + "@actions/glob": "0.4.0", + "hook-std": "3.0.0", + "node-fetch": "3.3.2", + "openpgp": "5.11.1" + }, + "devDependencies": { + "@biomejs/biome": "1.7.3", + "@japa/assert": "3.0.0", + "@japa/runner": "3.1.4", + "@openpgp/web-stream-tools": "0.1.1", + "@tsconfig/node20": "20.1.4", + "@tsconfig/strictest": "2.0.5", + "@types/node": "20.12.13", + "@types/node-fetch": "2.6.11", + "@types/sinon": "17.0.3", + "@types/which": "3.0.3", + "c8": "9.1.0", + "cross-env": "7.0.3", + "into-stream": "8.0.1", + "nock": "13.5.4", + "sinon": "18.0.0", + "tsimp": "2.0.11", + "typescript": "5.4.5", + "which": "4.0.0" + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a12730c3..67f78293 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,18 +33,15 @@ importers: '@biomejs/biome': specifier: 1.7.3 version: 1.7.3 + '@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.0.1 - version: 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/test': - specifier: 2.0.1 - version: 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/tsx': - specifier: 1.1.25 - version: 1.1.25(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) '@tsconfig/node20': specifier: 20.1.4 version: 20.1.4 @@ -52,8 +49,8 @@ importers: specifier: 2.0.5 version: 2.0.5 '@types/node': - specifier: 20.12.12 - version: 20.12.12 + specifier: 20.12.13 + version: 20.12.13 '@types/node-fetch': specifier: 2.6.11 version: 2.6.11 @@ -63,24 +60,24 @@ importers: '@types/which': specifier: 3.0.3 version: 3.0.3 + c8: + specifier: 9.1.0 + version: 9.1.0 cross-env: specifier: 7.0.3 version: 7.0.3 + into-stream: + specifier: 8.0.1 + version: 8.0.1 nock: specifier: 13.5.4 version: 13.5.4 sinon: specifier: 18.0.0 version: 18.0.0 - tap: - specifier: 19.0.2 - version: 19.0.2(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5) - to-readable-stream: - specifier: 4.0.0 - version: 4.0.0 - ts-node: - specifier: 10.9.2 - version: 10.9.2(@types/node@20.12.12)(typescript@5.4.5) + tsimp: + specifier: 2.0.11 + version: 2.0.11(typescript@5.4.5) typescript: specifier: 5.4.5 version: 5.4.5 @@ -102,18 +99,26 @@ packages: '@actions/glob@0.4.0': resolution: {integrity: sha512-+eKIGFhsFa4EBwaf/GMyzCdWrXWymGXfFmZU3FHQvYS8mPcHtTtZONbkcqqUMzw9mJ/pImEBFET1JNifhqGsAQ==} - '@actions/http-client@2.2.0': - resolution: {integrity: sha512-q+epW0trjVUUHboliPb4UF9g2msf+w61b32tAkFEwL/IwP0DQWgbCMM0Hbe3e3WXSKz5VcUXbzJQgy8Hkra/Lg==} + '@actions/http-client@2.2.1': + resolution: {integrity: sha512-KhC/cZsq7f8I4LfZSJKgCvEwfkE8o1538VoBeoGzokVLLnbFDEAdFD3UhoMklxo2un9NJVBdANOresx7vTHlHw==} '@actions/io@1.1.3': resolution: {integrity: sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==} - '@alcalzone/ansi-tokenize@0.1.3': - resolution: {integrity: sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw==} - engines: {node: '>=14.13.1'} + '@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==} - '@base2/pretty-print-object@1.0.1': - resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} + '@apidevtools/swagger-parser@10.0.3': + resolution: {integrity: sha512-sNiLY51vZOmSPFZA5TF35KZ2HbgYklQnTSDnkghamzLb3EkNtcQnrBQEj5AOCxHpTtXpqMCRM1CrmV2rG6nw4g==} + peerDependencies: + openapi-types: '>=7' '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -171,257 +176,126 @@ packages: cpu: [x64] os: [win32] - '@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] + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} - '@esbuild/win32-ia32@0.20.2': - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] + '@fastify/busboy@2.1.1': + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} - '@esbuild/win32-x64@0.20.2': - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] + '@isaacs/cached@1.0.1': + resolution: {integrity: sha512-7kGcJ9Hc1f4qpTApWz3swxbF9Qv1NF/GxuPtXeTptbsgvJIoufSd0h854Nq/2bw80F5C1onsFgEI05l+q0e4vw==} - '@fastify/busboy@2.1.0': - resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==} - engines: {node: '>=14'} + '@isaacs/catcher@1.0.4': + resolution: {integrity: sha512-g2klMwbnguClWNnCeQ1zYaDJsvPbIbnjdJPDE0z09MqoejJDZSLK5vIKiClq2Bkg5ubuI8vaN6wfIUi5GYzMVA==} '@isaacs/cliui@8.0.2': 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'} - '@jridgewell/resolve-uri@3.1.1': - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} - engines: {node: '>=6.0.0'} + '@japa/assert@3.0.0': + resolution: {integrity: sha512-4Uvixj78PBpRGeNTqO1GN/qYyl4EeWmIwt/cKiQSLLsoZQpQfe8tvF4PO2Z+zteUi3Zv7WR6pluKYbLQrn3vjg==} + engines: {node: '>=18.16.0'} + peerDependencies: + '@japa/runner': ^3.1.2 - '@jridgewell/sourcemap-codec@1.4.15': - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@japa/core@9.0.1': + resolution: {integrity: sha512-snngJNbvYC92nn+dB69DT2iyosWZLXPRnOp8NJnVEeotkkKAWSmcDqBKw9qq2+MVdshwClvKFVXTxko4MtmlEQ==} + engines: {node: '>=18.16.0'} - '@jridgewell/trace-mapping@0.3.20': - resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + '@japa/errors-printer@3.0.4': + resolution: {integrity: sha512-gqBWkc8X6n5y91HH7H8fXyfe3rKV1+YeMNgE/+CY6hXf0/BS7J55s/QldosKEV2ZiWj/WmE6UPZiFH8W873fGw==} + engines: {node: '>=18.16.0'} - '@jridgewell/trace-mapping@0.3.9': - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@japa/runner@3.1.4': + resolution: {integrity: sha512-ShaVZLdYq3GbFwyNiqQMCfdEoNq9vgYC0P6Z9gflqPcSUfOmN5jeJTLrLpChCBM5Sx9kYuAm5Bh6cqv1ZrArkQ==} + engines: {node: '>=18.16.0'} - '@npmcli/agent@2.2.0': - resolution: {integrity: sha512-2yThA1Es98orMkpSLVqlDZAMPK3jHJhifP2gnNUdk1754uZ8yI5c+ulCoVG+WlntQA6MzhrURMXjSd9Z7dJ2/Q==} - engines: {node: ^16.14.0 || >=18.0.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} - '@npmcli/fs@3.1.0': - resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + '@jest/types@25.5.0': + resolution: {integrity: sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw==} + engines: {node: '>= 8.3'} - '@npmcli/git@5.0.3': - resolution: {integrity: sha512-UZp9NwK+AynTrKvHn5k3KviW/hA5eENmFsu3iAPe7sWRt0lFUdsY/wXIYjpDFe7cdSNwOIzbObfwgt6eL5/2zw==} - engines: {node: ^16.14.0 || >=18.0.0} + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} - '@npmcli/installed-package-contents@2.0.2': - resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - '@npmcli/node-gyp@3.0.0': - resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@npmcli/promise-spawn@7.0.0': - resolution: {integrity: sha512-wBqcGsMELZna0jDblGd7UXgOby45TQaMWmbFwWX+SEotk4HV6zG2t6rT9siyLhPk4P6YYqgfL1UO8nMWDBVJXQ==} - engines: {node: ^16.14.0 || >=18.0.0} + '@jsdevtools/ono@7.1.3': + resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} - '@npmcli/run-script@7.0.2': - resolution: {integrity: sha512-Omu0rpA8WXvcGeY6DDzyRoY1i5DkCBkzyJ+m2u7PD6quzb0TvSqdIPOkTn8ZBOj7LbbcbMfZ3c5skwSu6m8y2w==} - engines: {node: ^16.14.0 || >=18.0.0} + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} '@octokit/auth-token@4.0.0': resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} engines: {node: '>= 18'} - '@octokit/core@5.0.1': - resolution: {integrity: sha512-lyeeeZyESFo+ffI801SaBKmCfsvarO+dgV8/0gD8u1d87clbEdWsP5yC+dSj3zLhb2eIf5SJrn6vDz9AheETHw==} + '@octokit/core@5.2.0': + resolution: {integrity: sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==} engines: {node: '>= 18'} - '@octokit/endpoint@9.0.2': - resolution: {integrity: sha512-qhKW8YLIi+Kmc92FQUFGr++DYtkx/1fBv+Thua6baqnjnOsgBYJDCvWZR1YcINuHGOEQt416WOfE+A/oG60NBQ==} + '@octokit/endpoint@9.0.5': + resolution: {integrity: sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==} engines: {node: '>= 18'} - '@octokit/graphql@7.0.2': - resolution: {integrity: sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==} + '@octokit/graphql@7.1.0': + resolution: {integrity: sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==} engines: {node: '>= 18'} - '@octokit/openapi-types@19.0.2': - resolution: {integrity: sha512-8li32fUDUeml/ACRp/njCWTsk5t17cfTM1jp9n08pBrqs5cDFJubtjsSnuz56r5Tad6jdEPJld7LxNp9dNcyjQ==} + '@octokit/openapi-types@20.0.0': + resolution: {integrity: sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==} + + '@octokit/openapi-types@22.2.0': + resolution: {integrity: sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==} - '@octokit/plugin-paginate-rest@9.1.4': - resolution: {integrity: sha512-MvZx4WvfhBnt7PtH5XE7HORsO7bBk4er1FgRIUr1qJ89NR2I6bWjGyKsxk8z42FPQ34hFQm0Baanh4gzdZR4gQ==} + '@octokit/plugin-paginate-rest@9.2.1': + resolution: {integrity: sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==} engines: {node: '>= 18'} peerDependencies: - '@octokit/core': '>=5' + '@octokit/core': '5' - '@octokit/plugin-rest-endpoint-methods@10.1.4': - resolution: {integrity: sha512-e8dSb9ypW1Q2I+qkOPzs3A9f4/EGpSZSI45wWBfXiqcvpoxSywVcZajZRhFwAutKI+/NNoeKxsxMwCx73oQyWw==} + '@octokit/plugin-rest-endpoint-methods@10.4.1': + resolution: {integrity: sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==} engines: {node: '>= 18'} peerDependencies: - '@octokit/core': '>=5' + '@octokit/core': '5' - '@octokit/request-error@5.0.1': - resolution: {integrity: sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==} + '@octokit/request-error@5.1.0': + resolution: {integrity: sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==} engines: {node: '>= 18'} - '@octokit/request@8.1.5': - resolution: {integrity: sha512-zVKbNbX1xUluD9ZR4/tPs1yuYrK9xeh5fGZUXA6u04XGsTvomg0YO8/ZUC0FqAd49hAOEMFPAVUTh+2lBhOhLA==} + '@octokit/request@8.4.0': + resolution: {integrity: sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==} engines: {node: '>= 18'} - '@octokit/types@12.3.0': - resolution: {integrity: sha512-nJ8X2HRr234q3w/FcovDlA+ttUU4m1eJAourvfUUtwAWeqL8AsyRqfnLvVnYn3NFbUnsmzQCzLNdFerPwdmcDQ==} + '@octokit/types@12.6.0': + resolution: {integrity: sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==} + + '@octokit/types@13.5.0': + resolution: {integrity: sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==} '@openpgp/web-stream-tools@0.1.1': resolution: {integrity: sha512-1WkV+z78S8DJNlUiCPxSjsna6gfAGCVuepL2KUDlBztXzhvplwWr4lAvsWcYzFkHykaFoCSOV9ssiRRq7QzydQ==} @@ -436,29 +310,24 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@sigstore/bundle@2.3.1': - resolution: {integrity: sha512-eqV17lO3EIFqCWK3969Rz+J8MYrRZKw9IBHpSo6DEcEX2c+uzDFOgHE9f2MnyDpfs48LFO4hXmk9KhQ74JzU1g==} - 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/cliui@6.4.1': + resolution: {integrity: sha512-tdV3QpAfrPFRLPOh98F8QxWBvwYF3ziWGGtpVqfZtFNTFkC7nQnVQlUW55UtQ7rkeMmFohxfDI+2JNWScGJ1jQ==} + engines: {node: '>=18.16.0'} - '@sigstore/protobuf-specs@0.3.1': - resolution: {integrity: sha512-aIL8Z9NsMr3C64jyQzE0XlkEyBLpgEJJFDHLVVStkFV5Q3Il/r/YtY6NJWKQ4cy4AE7spP1IX5Jq7VCAxHHMfQ==} - engines: {node: ^16.14.0 || >=18.0.0} + '@poppinss/colors@4.1.3': + resolution: {integrity: sha512-A0FjJ6x14donWDN3bHAFFjJaPWTwM2PgWT834+bPKVK6Xukf25CscoRqCPYI939a8yuJFX9PYWWnVbUVI0E2Cg==} + engines: {node: '>=18.16.0'} - '@sigstore/sign@2.3.0': - resolution: {integrity: sha512-tsAyV6FC3R3pHmKS880IXcDJuiFJiKITO1jxR1qbplcsBkZLBmjrEw5GbC7ikD6f5RU1hr7WnmxB/2kKc1qUWQ==} - engines: {node: ^16.14.0 || >=18.0.0} + '@poppinss/hooks@7.2.3': + resolution: {integrity: sha512-+B7YSazGaCMcoUubwEkCTnpAvJ+Fv7tqgtpu7cm9qt1adEjmXDmaiG76loEnmxAkyHrbZJ5xHGNSD0NwMhLcnA==} + engines: {node: '>=18.16.0'} - '@sigstore/tuf@2.3.2': - resolution: {integrity: sha512-mwbY1VrEGU4CO55t+Kl6I7WZzIl+ysSzEYdA1Nv/FTrl2bkeaPXo5PnWZAVfcY2zSdhOpsUTJW67/M2zHXGn5w==} - 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/verify@1.2.0': - resolution: {integrity: sha512-hQF60nc9yab+Csi4AyoAmilGNfpXT+EXdBgFkP9OgPwIBPwyqVf7JAWPtmqrrrneTmAT6ojv7OlH1f6Ix5BG4Q==} - engines: {node: ^16.14.0 || >=18.0.0} + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} '@sinonjs/commons@2.0.0': resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} @@ -475,188 +344,32 @@ packages: '@sinonjs/text-encoding@0.7.2': resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} - '@tapjs/after-each@2.0.1': - resolution: {integrity: sha512-3JXIJ4g9LPjyXmn/1VuIMC0vh7uBgUpQPksjffxv0rL8wq4C8lvmqt8Qu/fVImJucqzA+WrRqVG1b2Ab0ocDOw==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/after@1.1.24': - resolution: {integrity: sha512-Qys3CtftkfHGC7thDGm9TBzRCBLAoJKrXufF1zQxI1oNUjclWZP/s8CtHH0mwUTISOTehmBLV3wPPHSslD67Ng==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/asserts@2.0.1': - resolution: {integrity: sha512-v2xYDLUwMGt8pzoY5LIjDCaw2NM+G01NW4pC3RcpsZLZbzQv1x/phi2RAX0ixI0nCmZZybqRygFKuMcJamS+gg==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/before-each@2.0.1': - resolution: {integrity: sha512-gG1nYkvCHtWwhkueulO475KczdQZ3vBRgdkta/Qi42ZjZo6SNhYVjNc/+LRGV5vZoESrvgSd+JrDRGufd+j43w==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/before@2.0.1': - resolution: {integrity: sha512-GgnlWPm2PbuyYuG4gkkO2KAvT/BbGnpKs60U4XzPSJ2w73Qc/IYWP0Kz6qfCWongpiLteoco67M89ujUQApYJw==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/config@3.0.1': - resolution: {integrity: sha512-gAYFzErdSuPQ3afW6iRR99hiJmRLU+x9T+NE89z9UM45iPxglWLrRv1PFfh3tmtX6rpzwD5RY4/FVPcP2+/1LQ==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - '@tapjs/test': 2.0.1 - - '@tapjs/core@2.0.1': - resolution: {integrity: sha512-q+8d+ohw5kudktIqgP5ETBcPWAPip+kMIxs2eL2G3dV+7Gc8WrH43cCPrbSGPRITIOSIDPrtpQZEcZwQNqDdQw==} - 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.1': - resolution: {integrity: sha512-muKEeXK7Tz6VR4hjXfT2qXPvjYES575mtiRerjHf+8qP8D7MvmC8qDZJjzFdo1nZHKhF8snvFosIVuI1BAhvsw==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/fixture@2.0.1': - resolution: {integrity: sha512-MLgEwsBlCD69iUbZcnKBehP2js5cV4p5GrFoOKSudMuH2DQJInaF/g2bkijue61cVZwPj/MRPCqAlkwA94epjg==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/intercept@2.0.1': - resolution: {integrity: sha512-BZgXE3zCAbv4lfbph1r85gihtI3kXltHlFQ8Bf3Yy9fx27DKQlBvXnD7T69ke8kQLRzhz+wTMcR/mcQjo1fa7w==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/mock@2.0.1': - resolution: {integrity: sha512-i1vkwNgO7uEuQW3+hTuE2L64aC9xk0cC3PtC6DZKqyApk2IstNgoIS38nfsI6v2kvEgZNuWlsNcRAYNDOIEhzA==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/node-serialize@2.0.1': - resolution: {integrity: sha512-1GtHDa7AXpk8y08llIPfUKRTDNsq+BhXxz7wiIfVEAOEB09kGyfpWteOg+cmvb+aHU1Ays3z+medXTIBm0D5Kg==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/processinfo@3.1.7': - resolution: {integrity: sha512-SI5RJQ5HnUKEWnHSAF6hOm6XPdnjZ+CJzIaVHdFebed8iDAPTqb+IwMVu9yq9+VQ7FRsMMlgLL2SW4rss2iJbQ==} - engines: {node: '>=16.17'} - - '@tapjs/reporter@2.0.1': - resolution: {integrity: sha512-fCdl4vg8vnlqIYtTQ9dc3zOqeXrA5QbATbT4dsPIiPuCM3gvKTbntaNBeaWWZkPx697Dj+b8TIxT/xhNMNv7jQ==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/run@2.0.2': - resolution: {integrity: sha512-2hPGlabqbLb3hh4BHHvwE8R9a9OiWumkCkHw5QQUZurDsVOpB94FfteqW9mktTVjZJnN0go+sN3GN2jZUaPWGQ==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - hasBin: true - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/snapshot@2.0.1': - resolution: {integrity: sha512-ZnbCxL+9fiJ38tec6wvRtRBZz9ChRUq0Bov7dltdZMNkXqudKyB+Zzbg25bqDEIgcczyp6A9hOwTX6VybDGqpg==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/spawn@2.0.1': - resolution: {integrity: sha512-3VaQKJjHV5frMZj3Ef+QlJyB6b7VsGMil223zAEz8Ttgy2hDYtcb29nvsLPUcowFyOUrsydnXEnHgpR79wEPOA==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@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.1': - resolution: {integrity: sha512-5Oe13Fzpnt9seAi8h3bsMxtJp8S+DQI6ncBD9JBcS91XKLbqyKrb1bNzeXQN2PrHBs6Atw8cOzFZh0TjL+bIaA==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/test@2.0.1': - resolution: {integrity: sha512-PKazf7r4+bLFATML2f/h8glGcSirXmzXUYlhFuxb4xHoOhHojyKgo1p8kSj+Ksxb3hVSCQlvyXgM8QYYaoMwog==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - hasBin: true - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/tsx@1.1.25': - resolution: {integrity: sha512-oXURZH3IklI3fOerSHAw+3VbchucnmnDUpWv5IUpDdXTVuAQ9cA3TtItfpv6gr4ZGIbKXLHOts1iwu7XA/7tkA==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/typescript@1.4.6': - resolution: {integrity: sha512-6jxUQ7Mdb+Y2q8RJcwgZZ6dCR+X2u3hCL+xb1GDAtO7k1+B6z2b+z+I+FdhuO4YgrP0SLRjocL5rJM/xi9K7qw==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tapjs/worker@2.0.1': - resolution: {integrity: sha512-wegz8IxNEPIIAA+R76/avZgNmZ4iC7QGFbtXKGBU962/1lXTITxshRV6e21r0IBa7YLkSVgDuVSVB3+Qzve0Yg==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - peerDependencies: - '@tapjs/core': 2.0.1 - - '@tsconfig/node10@1.0.11': - resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} - - '@tsconfig/node12@1.0.11': - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - - '@tsconfig/node14@1.0.3': - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - - '@tsconfig/node14@14.1.0': - resolution: {integrity: sha512-VmsCG04YR58ciHBeJKBDNMWWfYbyP8FekWVuTlpstaUPlat1D0x/tXzkWP7yCMU0eSz9V4OZU0LBWTFJ3xZf6w==} - - '@tsconfig/node16@1.0.4': - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - - '@tsconfig/node16@16.1.1': - resolution: {integrity: sha512-+pio93ejHN4nINX4pXqfnR/fPLRtJBaT4ORaa5RH0Oc1zoYmo2B2koG+M328CQhHKn1Wj6FcOxCDFXAot9NhvA==} - - '@tsconfig/node18@18.2.2': - resolution: {integrity: sha512-d6McJeGsuoRlwWZmVIeE8CUA27lu6jLjvv1JzqmpsytOYYbVi1tHZEnwCNVOXnj4pyLvneZlFlpXUK+X9wBWyw==} - '@tsconfig/node20@20.1.4': resolution: {integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==} '@tsconfig/strictest@2.0.5': resolution: {integrity: sha512-ec4tjL2Rr0pkZ5hww65c+EEPYwxOi4Ryv+0MtjeaSQRJyq322Q27eOQiFbuNgw2hpL4hB1/W/HBGk3VKS43osg==} - '@tufjs/canonical-json@2.0.0': - resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} - engines: {node: ^16.14.0 || >=18.0.0} - - '@tufjs/models@2.0.0': - resolution: {integrity: sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==} - engines: {node: ^16.14.0 || >=18.0.0} + '@types/chai@4.3.16': + resolution: {integrity: sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==} '@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.12.12': - resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} + '@types/node@20.12.13': + resolution: {integrity: sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==} '@types/sinon@17.0.3': resolution: {integrity: sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==} @@ -667,29 +380,17 @@ packages: '@types/which@3.0.3': resolution: {integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g==} - abbrev@2.0.0: - resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - acorn-walk@8.3.0: - resolution: {integrity: sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==} - engines: {node: '>=0.4.0'} - - acorn@8.11.2: - resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} - engines: {node: '>=0.4.0'} - hasBin: true + '@types/yargs@15.0.19': + resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} - agent-base@7.1.0: - resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} - 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.0: - resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} + ansi-escapes@6.2.1: + resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} engines: {node: '>=14.16'} ansi-regex@5.0.1: @@ -704,30 +405,55 @@ 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'} - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + 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'} - arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + + as-table@1.0.55: + resolution: {integrity: sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==} asn1.js@5.4.1: resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} - async-hook-domain@4.0.1: - resolution: {integrity: sha512-bSktexGodAjfHWIrSrrqxqWzf1hWBZBpmPNZv+TYUMyWa2eoefFc6q6H1+KtdHYSz35lrhWdmXt/XK9wNEZvww==} - engines: {node: '>=16'} + 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==} asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - auto-bind@5.0.1: - resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -735,10 +461,6 @@ packages: before-after-hook@2.2.3: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} - binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} - bn.js@4.12.0: resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} @@ -752,37 +474,36 @@ packages: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} - builtins@5.0.1: - resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} - c8@9.1.0: resolution: {integrity: sha512-mBWcT5iqNir1zIkzSPyI3NCR9EZCVI3WUD+AVO17MVWTSFNyUueXE82qTeampNtTr+ilN/5Ua3j24LgbCKjDVg==} engines: {node: '>=14.14.0'} hasBin: true - cacache@18.0.0: - resolution: {integrity: sha512-I7mVOPl3PUCeRub1U8YoGz2Lqv9WOBpobZ8RyWFXmReuILz+3OAyTa5oH3QPdtKZD7N0Yk00aLfzn0qvp8dZ1w==} - engines: {node: ^16.14.0 || >=18.0.0} + 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==} - chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + chai@5.1.1: + resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} + engines: {node: '>=12'} - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} + chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} - chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} + charenc@0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} cli-boxes@3.0.0: resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} @@ -792,17 +513,29 @@ packages: resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - cli-truncate@3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - 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'} cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} - code-excerpt@4.0.0: - resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + 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'} color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -811,22 +544,34 @@ 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==} - convert-to-spaces@2.0.1: - resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} cross-env@7.0.3: resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} @@ -837,10 +582,31 @@ 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'} @@ -850,6 +616,24 @@ 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'} @@ -857,9 +641,13 @@ packages: deprecation@2.3.1: resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} - diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} + 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@5.2.0: resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} @@ -868,41 +656,64 @@ 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==} - encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} - env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} - err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} - esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} - hasBin: true + 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'} - escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} - escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true - events-to-array@2.0.3: - resolution: {integrity: sha512-f/qE2gImHRa4Cp2y1stEOSgw8wTFyUdVJX7G//bMwbaV9JqISFxg99NbmVQeP7YLnDUZ2un851jlaDrlpmGehQ==} - engines: {node: '>=12'} + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - exponential-backoff@3.1.1: - resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} @@ -912,10 +723,21 @@ 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'} @@ -928,44 +750,50 @@ 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-loop@4.0.0: - resolution: {integrity: sha512-f34iQBedYF3XcI93uewZZOnyscDragxgTK/eTvVB74k3fCD0ZorOi5BV9GS4M8rz/JoNi0Kl3qX5Y9MH3S/CLQ==} + 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==} get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-tsconfig@4.7.5: - resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + 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==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - glob@10.3.16: - resolution: {integrity: sha512-JDKXl1DiuuHJ6fVS2FXjownaavciiHNUU4mOvV/B793RLh05vZL1rcPnCSaOgv1hDT6RDlY7AB7ZUvFYAtPgAw==} + glob@10.3.15: + resolution: {integrity: sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==} engines: {node: '>=16 || 14 >=14.18'} hasBin: true @@ -973,59 +801,46 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + 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==} has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + 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'} hook-std@3.0.0: resolution: {integrity: sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hosted-git-info@7.0.1: - resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} - 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.0: - resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} - engines: {node: '>= 14'} - - https-proxy-agent@7.0.2: - resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} - engines: {node: '>= 14'} - - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - - ignore-walk@6.0.3: - resolution: {integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==} - 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. @@ -1033,35 +848,43 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - 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 + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + + into-stream@8.0.1: + resolution: {integrity: sha512-Vp2df7Utjs/1/sv0Vlj2X4u2e2yaCrcMd4T9u0D9B36XvxIOBHA2JIZTXCp2TPCa7w/ebwWVkXhbp9At1wJ0zg==} + engines: {node: '>=16'} - ip@2.0.1: - resolution: {integrity: sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==} + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} - is-actual-promise@1.0.1: - resolution: {integrity: sha512-PlsL4tNv62lx5yN2HSqaRSTgIpUAPW7U6+crVB8HfWm5161rZpeqWbl0ZSqH2MAfRKXWSZVPRNbE/r8qPcb13g==} + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} - is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} - is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-extglob@1.0.0: + resolution: {integrity: sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==} + engines: {node: '>=0.10.0'} is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} @@ -1075,26 +898,67 @@ 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-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + 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-lower-case@2.0.2: - resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + 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-upper-case@2.0.2: - resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -1103,6 +967,10 @@ 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'} @@ -1111,63 +979,117 @@ packages: resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} engines: {node: '>=10'} - istanbul-reports@3.1.6: - resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} - jackspeak@3.1.2: - resolution: {integrity: sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==} + jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + 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 + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + json-schema-deref-sync@0.14.0: + resolution: {integrity: sha512-yGR1xmhdiD6R0MSrwWcFxQzAj5b3i5Gb/mt5tvQKgFMMeNe0KZYNEN/jWr7G+xn39Azqgcvk4ZKMs8dQl8e4wA==} + engines: {node: '>=6.0.0'} - json-parse-even-better-errors@3.0.0: - resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 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==} - loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true + 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==} lru-cache@10.2.2: resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} engines: {node: 14 || >=16.14} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} - make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + 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-fetch-happen@13.0.0: - resolution: {integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==} - engines: {node: ^16.14.0 || >=18.0.0} + micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} @@ -1191,50 +1113,10 @@ packages: resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} - minipass-collect@1.0.2: - resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} - engines: {node: '>= 8'} - - minipass-fetch@3.0.4: - resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} - 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.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + minipass@7.1.1: + resolution: {integrity: sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==} 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'} @@ -1246,9 +1128,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} + mustache@4.2.0: + resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} + hasBin: true nise@6.0.0: resolution: {integrity: sha512-K8ePqo9BFvN31HXwEtTNGzgrPpmvgciDsFz8aztFjt4LqKO/JeFD8tBOeuDiCMXrIl/m1YvfH8auSpxfaD09wg==} @@ -1265,51 +1147,16 @@ packages: resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - node-gyp@10.0.1: - resolution: {integrity: sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==} - engines: {node: ^16.14.0 || >=18.0.0} - hasBin: true - - nopt@7.2.0: - resolution: {integrity: sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - hasBin: true - - normalize-package-data@6.0.0: - resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} - 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.0: - resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} - 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.1: - resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} - engines: {node: ^16.14.0 || >=18.0.0} + object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - npm-packlist@8.0.0: - resolution: {integrity: sha512-ErAGFB5kJUciPy1mmx/C2YFbvxoJ0QJ9uwkCZOeR6CqLLISPZBOiFModAbSXnjjlwW5lOhuhXva+fURsSGJqyw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - npm-pick-manifest@9.0.0: - resolution: {integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==} - engines: {node: ^16.14.0 || >=18.0.0} + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} - npm-registry-fetch@16.1.0: - resolution: {integrity: sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==} - engines: {node: ^16.14.0 || >=18.0.0} + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -1318,9 +1165,11 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - opener@1.5.2: - resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} - hasBin: true + 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==} openpgp@5.11.1: resolution: {integrity: sha512-TynUBPuaSI7dN0gP+A38CjNRLxkOkkptefNanalDQ71BFAKKm+dLbksymSW5bUrB7RcAneMySL/Y+r/TbLpOnQ==} @@ -1330,27 +1179,26 @@ 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-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - - 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==} + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} 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'} @@ -1366,6 +1214,10 @@ 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'} @@ -1374,118 +1226,106 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} - polite-json@4.0.1: - resolution: {integrity: sha512-8LI5ZeCPBEb4uBbcYKNVwk4jgqNx1yHReWoW4H4uUihWlSqZsUDfSITrRhjliuPgxsNPFhNSudGO2Zu4cbWinQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - prismjs-terminal@1.2.3: - resolution: {integrity: sha512-xc0zuJ5FMqvW+DpiRkvxURlz98DdfDsZcFHdO699+oL+ykbFfgI7O4VDEgUyc07BSL2NHl3zdb8m/tZ/aaqUrw==} - engines: {node: '>=16'} - - prismjs@1.29.0: - resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} - engines: {node: '>=6'} + pkg-dir@7.0.0: + resolution: {integrity: sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==} + engines: {node: '>=14.16'} - proc-log@3.0.0: - resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} - 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'} - 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} + pretty-format@25.5.0: + resolution: {integrity: sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ==} + engines: {node: '>= 8.3'} - process-on-spawn@1.0.0: - resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} - engines: {node: '>=8'} + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - promise-inflight@1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - peerDependencies: - bluebird: '*' - peerDependenciesMeta: - bluebird: - optional: true + pretty-hrtime@1.0.3: + resolution: {integrity: sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==} + engines: {node: '>= 0.8'} - promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} + printable-characters@1.0.42: + resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} propagate@2.0.1: resolution: {integrity: sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==} engines: {node: '>= 8'} - react-dom@18.2.0: - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} - peerDependencies: - react: ^18.2.0 - - 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.0: - resolution: {integrity: sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==} - engines: {node: '>=0.10.0'} - peerDependencies: - react: ^18.2.0 + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} - react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} - engines: {node: '>=0.10.0'} + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - 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@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - read-package-json@7.0.0: - resolution: {integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==} - engines: {node: ^16.14.0 || >=18.0.0} - deprecated: This package is no longer supported. Please use @npmcli/package-json instead. + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} 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.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} engines: {node: '>= 4'} - rimraf@5.0.5: - resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} - engines: {node: '>=14'} + 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.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} - - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + 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'} @@ -1494,6 +1334,10 @@ 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==} @@ -1501,56 +1345,37 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - sigstore@2.3.0: - resolution: {integrity: sha512-q+o8L2ebiWD1AxD17eglf1pFrl9jtW7FHa0ygqY6EKvibK8JHyq9Z26v9MZXeDiw+RbfOJ9j2v70M10Hd6E06A==} - 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@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'} - - socks-proxy-agent@8.0.2: - resolution: {integrity: sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==} - engines: {node: '>= 14'} - - socks@2.7.1: - resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} - engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} - - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + sock-daemon@1.4.2: + resolution: {integrity: sha512-IzbegWshWWR+UzQ7487mbdYNmfJ1jXUXQBUHooqtpylO+aW0vMVbFN2d2ug3CSPZ0wbG7ZTTGwpUuthIDFIOGg==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - spdx-license-ids@3.0.16: - resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + socket-post-message@1.0.3: + resolution: {integrity: sha512-UhJaB3xR2oF+HvddFOq2cBZi4zVKOHvdiBo+BaScNxsEUg3TLWSP8BkweKfe07kfH1thjn1hJR0af/w1EtBFjg==} - ssri@10.0.5: - resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} - stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - string-length@6.0.0: - resolution: {integrity: sha512-1U361pxZHEQ+FeSjzqRpV+cu2vTzYeWeafXFLykiFlv4Vc0n3njgU8HrMbyik5uwm77naWMuVG8fhEF+Ovb1Kg==} - engines: {node: '>=16'} + stacktracey@2.1.8: + resolution: {integrity: sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==} string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -1560,6 +1385,21 @@ 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'} @@ -1572,79 +1412,43 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - sync-content@1.0.2: - resolution: {integrity: sha512-znd3rYiiSxU3WteWyS9a6FXkTA/Wjk8WQsOyzHbineeL837dLn3DA4MRhsIX3qGcxDMH6+uuFV4axztssk7wEQ==} - engines: {node: '>=14'} - hasBin: true - - 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.0.2: - resolution: {integrity: sha512-SRGulk1RKlVuYtnPeephj+xyE0sG9CvGlKYP4lymBZykLtkwBPnEBjQ2iQmLX5z0BFEMfKh8G4bvZkhoSJb3kg==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - hasBin: true + supports-color@9.4.0: + resolution: {integrity: sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw==} + engines: {node: '>=12'} - tar@6.2.0: - resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} + swagger-parser@10.0.3: + resolution: {integrity: sha512-nF7oMeL4KypldrQhac8RyHerJeGPD1p2xDh900GPvc+Nk7nWP6jX2FcC7WmkinMoAmoO774+AFXcWsW8gMWEIg==} engines: {node: '>=10'} - tcompare@7.0.1: - resolution: {integrity: sha512-JN5s7hgmg/Ya5HxZqCnywT+XiOGRFcJRgYhtMyt/1m+h0yWpWwApO7HIM8Bpwyno9hI151ljjp5eAPCHhIGbpQ==} - engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} + swagger-schema-official@2.0.0-bab6bed: + resolution: {integrity: sha512-rCC0NWGKr/IJhtRuPq/t37qvZHI/mH4I4sxflVM+qgVe5Z2uOCivzWaVbuioJaB61kvm5UvB7b49E+oBY0M8jA==} + + terminal-size@4.0.0: + resolution: {integrity: sha512-rcdty1xZ2/BkWa4ANjWRp4JGpda2quksXIHgn5TMjNBPZfwzJIgR68DKfSYiTL+CZWowDX/sbOo5ME/FRURvYQ==} + engines: {node: '>=18'} test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - to-readable-stream@4.0.0: - resolution: {integrity: sha512-b39z6yUzkmzZXTNlKZoLo1kIPXJDioGSMMX4ydudA3XX8M/AjcsPdJRVz2zbrGZoekhkMlz6qYok2iVdlMH/yQ==} - engines: {node: '>=18'} + 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'} - trivial-deferred@2.0.0: - resolution: {integrity: sha512-iGbM7X2slv9ORDVj2y2FFUq3cP/ypbtu2nQ8S38ufjL0glBABvmR9pTdsib1XtS2LUhhLMbelaBUaf/s5J3dSw==} - engines: {node: '>= 8'} + traverse@0.6.9: + resolution: {integrity: sha512-7bBrcF+/LQzSgFmT0X5YclVqQxtv7TDJ1f8Wj7ibBu/U6BMLeOpUxuZjV7rMc44UtKxlnMFigdhFAIszSX1DMg==} + engines: {node: '>= 0.4'} - ts-node@10.9.2: - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + tsimp@2.0.11: + resolution: {integrity: sha512-wRhMmvar8tWHN3ZmykD8f4B4sjCn/f8DFM67LRY+stf/LPa2Kq8ATE2PIi570/DiDJA8kjjxzos3EgP0LmnFLA==} + engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - - 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 - - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - - tsx@4.11.0: - resolution: {integrity: sha512-vzGGELOgAupsNVssAmZjbUDfdm/pWP4R+Kg8TVdsonxbXk0bEpE1qh0yV6/QxUVXaVlNemgcPajGdJJ82n3stg==} - engines: {node: '>=18.0.0'} - hasBin: true - - tuf-js@2.2.0: - resolution: {integrity: sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==} - engines: {node: ^16.14.0 || >=18.0.0} + typescript: ^5.1.0 tunnel@0.0.6: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} @@ -1654,62 +1458,83 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.12.0: - resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} - engines: {node: '>=10'} + type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} - type-fest@3.13.1: - resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} - engines: {node: '>=14.16'} + 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'} 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==} - undici@5.28.3: - resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==} + undici@5.28.4: + 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.1.3: - resolution: {integrity: sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==} + v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} engines: {node: '>=10.12.0'} - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + valid-url@1.0.9: + resolution: {integrity: sha512-QQDsV8OnSf5Uc30CKSwG9lnhMPe6exHtTXLRYX8uMwKENy640pU+2BgBL0LRbDh/eYRahNCS7aewCx0wf3NYVA==} - validate-npm-package-name@5.0.0: - resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + validator@13.12.0: + resolution: {integrity: sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==} + engines: {node: '>= 0.10'} 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'} @@ -1720,9 +1545,8 @@ packages: engines: {node: ^16.13.0 || >=18.0.0} hasBin: true - widest-line@4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} @@ -1732,39 +1556,17 @@ 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.14.2: - resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} - 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.1: - resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} - engines: {node: '>= 14'} - hasBin: true - yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} @@ -1773,22 +1575,30 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yoga-wasm-web@0.3.3: - resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} + 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 snapshots: '@actions/core@1.10.1': dependencies: - '@actions/http-client': 2.2.0 + '@actions/http-client': 2.2.1 uuid: 8.3.2 '@actions/exec@1.1.1': @@ -1797,29 +1607,43 @@ snapshots: '@actions/github@6.0.0': dependencies: - '@actions/http-client': 2.2.0 - '@octokit/core': 5.0.1 - '@octokit/plugin-paginate-rest': 9.1.4(@octokit/core@5.0.1) - '@octokit/plugin-rest-endpoint-methods': 10.1.4(@octokit/core@5.0.1) + '@actions/http-client': 2.2.1 + '@octokit/core': 5.2.0 + '@octokit/plugin-paginate-rest': 9.2.1(@octokit/core@5.2.0) + '@octokit/plugin-rest-endpoint-methods': 10.4.1(@octokit/core@5.2.0) '@actions/glob@0.4.0': dependencies: '@actions/core': 1.10.1 minimatch: 3.1.2 - '@actions/http-client@2.2.0': + '@actions/http-client@2.2.1': dependencies: tunnel: 0.0.6 - undici: 5.28.3 + undici: 5.28.4 '@actions/io@1.1.3': {} - '@alcalzone/ansi-tokenize@0.1.3': + '@apidevtools/json-schema-ref-parser@9.1.2': dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 + '@jsdevtools/ono': 7.1.3 + '@types/json-schema': 7.0.15 + call-me-maybe: 1.0.2 + js-yaml: 4.1.0 - '@base2/pretty-print-object@1.0.1': {} + '@apidevtools/openapi-schemas@2.1.0': {} + + '@apidevtools/swagger-methods@3.0.2': {} + + '@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 '@bcoe/v8-coverage@0.2.3': {} @@ -1858,80 +1682,16 @@ snapshots: '@biomejs/cli-win32-x64@1.7.3': optional: true - '@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': + '@colors/colors@1.5.0': 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 + '@fastify/busboy@2.1.1': {} - '@esbuild/win32-ia32@0.20.2': - optional: true - - '@esbuild/win32-x64@0.20.2': - optional: true + '@isaacs/cached@1.0.1': + dependencies: + '@isaacs/catcher': 1.0.4 - '@fastify/busboy@2.1.0': {} + '@isaacs/catcher@1.0.4': {} '@isaacs/cliui@8.0.2': dependencies: @@ -1942,139 +1702,141 @@ 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.12.12)(typescript@5.4.5)': - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node14': 14.1.0 - '@tsconfig/node16': 16.1.1 - '@tsconfig/node18': 18.2.2 - '@tsconfig/node20': 20.1.4 - '@types/node': 20.12.12 - acorn: 8.11.2 - acorn-walk: 8.3.0 - 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': {} - '@jridgewell/resolve-uri@3.1.1': {} - - '@jridgewell/sourcemap-codec@1.4.15': {} - - '@jridgewell/trace-mapping@0.3.20': + '@japa/assert@3.0.0(@japa/runner@3.1.4)(openapi-types@1.3.4)': dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@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/trace-mapping@0.3.9': + '@jest/schemas@29.6.3': dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@sinclair/typebox': 0.27.8 - '@npmcli/agent@2.2.0': + '@jest/types@25.5.0': dependencies: - agent-base: 7.1.0 - http-proxy-agent: 7.0.0 - https-proxy-agent: 7.0.2 - lru-cache: 10.2.2 - socks-proxy-agent: 8.0.2 - transitivePeerDependencies: - - supports-color + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 1.1.2 + '@types/yargs': 15.0.19 + chalk: 3.0.0 - '@npmcli/fs@3.1.0': - dependencies: - semver: 7.6.0 + '@jridgewell/resolve-uri@3.1.2': {} - '@npmcli/git@5.0.3': - dependencies: - '@npmcli/promise-spawn': 7.0.0 - lru-cache: 10.2.2 - npm-pick-manifest: 9.0.0 - proc-log: 3.0.0 - promise-inflight: 1.0.1 - promise-retry: 2.0.1 - semver: 7.6.0 - which: 4.0.0 - transitivePeerDependencies: - - bluebird + '@jridgewell/sourcemap-codec@1.4.15': {} - '@npmcli/installed-package-contents@2.0.2': + '@jridgewell/trace-mapping@0.3.25': dependencies: - npm-bundled: 3.0.0 - npm-normalize-package-bin: 3.0.1 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 - '@npmcli/node-gyp@3.0.0': {} + '@jsdevtools/ono@7.1.3': {} - '@npmcli/promise-spawn@7.0.0': + '@nodelib/fs.scandir@2.1.5': dependencies: - which: 4.0.0 + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 - '@npmcli/run-script@7.0.2': + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': dependencies: - '@npmcli/node-gyp': 3.0.0 - '@npmcli/promise-spawn': 7.0.0 - node-gyp: 10.0.1 - read-package-json-fast: 3.0.2 - which: 4.0.0 - transitivePeerDependencies: - - supports-color + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 '@octokit/auth-token@4.0.0': {} - '@octokit/core@5.0.1': + '@octokit/core@5.2.0': dependencies: '@octokit/auth-token': 4.0.0 - '@octokit/graphql': 7.0.2 - '@octokit/request': 8.1.5 - '@octokit/request-error': 5.0.1 - '@octokit/types': 12.3.0 + '@octokit/graphql': 7.1.0 + '@octokit/request': 8.4.0 + '@octokit/request-error': 5.1.0 + '@octokit/types': 13.5.0 before-after-hook: 2.2.3 universal-user-agent: 6.0.1 - '@octokit/endpoint@9.0.2': + '@octokit/endpoint@9.0.5': dependencies: - '@octokit/types': 12.3.0 - is-plain-object: 5.0.0 + '@octokit/types': 13.5.0 universal-user-agent: 6.0.1 - '@octokit/graphql@7.0.2': + '@octokit/graphql@7.1.0': dependencies: - '@octokit/request': 8.1.5 - '@octokit/types': 12.3.0 + '@octokit/request': 8.4.0 + '@octokit/types': 13.5.0 universal-user-agent: 6.0.1 - '@octokit/openapi-types@19.0.2': {} + '@octokit/openapi-types@20.0.0': {} + + '@octokit/openapi-types@22.2.0': {} - '@octokit/plugin-paginate-rest@9.1.4(@octokit/core@5.0.1)': + '@octokit/plugin-paginate-rest@9.2.1(@octokit/core@5.2.0)': dependencies: - '@octokit/core': 5.0.1 - '@octokit/types': 12.3.0 + '@octokit/core': 5.2.0 + '@octokit/types': 12.6.0 - '@octokit/plugin-rest-endpoint-methods@10.1.4(@octokit/core@5.0.1)': + '@octokit/plugin-rest-endpoint-methods@10.4.1(@octokit/core@5.2.0)': dependencies: - '@octokit/core': 5.0.1 - '@octokit/types': 12.3.0 + '@octokit/core': 5.2.0 + '@octokit/types': 12.6.0 - '@octokit/request-error@5.0.1': + '@octokit/request-error@5.1.0': dependencies: - '@octokit/types': 12.3.0 + '@octokit/types': 13.5.0 deprecation: 2.3.1 once: 1.4.0 - '@octokit/request@8.1.5': + '@octokit/request@8.4.0': dependencies: - '@octokit/endpoint': 9.0.2 - '@octokit/request-error': 5.0.1 - '@octokit/types': 12.3.0 - is-plain-object: 5.0.0 + '@octokit/endpoint': 9.0.5 + '@octokit/request-error': 5.1.0 + '@octokit/types': 13.5.0 universal-user-agent: 6.0.1 - '@octokit/types@12.3.0': + '@octokit/types@12.6.0': dependencies: - '@octokit/openapi-types': 19.0.2 + '@octokit/openapi-types': 20.0.0 + + '@octokit/types@13.5.0': + dependencies: + '@octokit/openapi-types': 22.2.0 '@openpgp/web-stream-tools@0.1.1(typescript@5.4.5)': optionalDependencies: @@ -2083,35 +1845,28 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true - '@sigstore/bundle@2.3.1': + '@poppinss/cliui@6.4.1': dependencies: - '@sigstore/protobuf-specs': 0.3.1 - - '@sigstore/core@1.1.0': {} - - '@sigstore/protobuf-specs@0.3.1': {} + '@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/sign@2.3.0': + '@poppinss/colors@4.1.3': dependencies: - '@sigstore/bundle': 2.3.1 - '@sigstore/core': 1.1.0 - '@sigstore/protobuf-specs': 0.3.1 - make-fetch-happen: 13.0.0 - transitivePeerDependencies: - - supports-color + kleur: 4.1.5 - '@sigstore/tuf@2.3.2': - dependencies: - '@sigstore/protobuf-specs': 0.3.1 - tuf-js: 2.2.0 - transitivePeerDependencies: - - supports-color + '@poppinss/hooks@7.2.3': {} - '@sigstore/verify@1.2.0': - dependencies: - '@sigstore/bundle': 2.3.1 - '@sigstore/core': 1.1.0 - '@sigstore/protobuf-specs': 0.3.1 + '@poppinss/macroable@1.0.2': {} + + '@sinclair/typebox@0.27.8': {} '@sinonjs/commons@2.0.0': dependencies: @@ -2133,284 +1888,31 @@ snapshots: '@sinonjs/text-encoding@0.7.2': {} - '@tapjs/after-each@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - function-loop: 4.0.0 - - '@tapjs/after@1.1.24(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - is-actual-promise: 1.0.1 - - '@tapjs/asserts@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/stack': 2.0.1 - is-actual-promise: 1.0.1 - tcompare: 7.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - trivial-deferred: 2.0.0 - transitivePeerDependencies: - - react - - react-dom - - '@tapjs/before-each@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - function-loop: 4.0.0 - - '@tapjs/before@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - is-actual-promise: 1.0.1 - - '@tapjs/config@3.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/test': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - chalk: 5.3.0 - jackspeak: 3.1.2 - polite-json: 4.0.1 - tap-yaml: 2.2.2 - walk-up-path: 3.0.1 - - '@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@tapjs/processinfo': 3.1.7 - '@tapjs/stack': 2.0.1 - '@tapjs/test': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - async-hook-domain: 4.0.1 - diff: 5.2.0 - is-actual-promise: 1.0.1 - minipass: 7.0.4 - signal-exit: 4.1.0 - tap-parser: 16.0.1 - tap-yaml: 2.2.2 - tcompare: 7.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - trivial-deferred: 2.0.0 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - react - - react-dom - - '@tapjs/error-serdes@2.0.1': - dependencies: - minipass: 7.0.4 - - '@tapjs/filter@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - - '@tapjs/fixture@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - mkdirp: 3.0.1 - rimraf: 5.0.5 - - '@tapjs/intercept@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/after': 1.1.24(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/stack': 2.0.1 - - '@tapjs/mock@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/after': 1.1.24(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/stack': 2.0.1 - resolve-import: 1.4.5 - walk-up-path: 3.0.1 - - '@tapjs/node-serialize@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/error-serdes': 2.0.1 - '@tapjs/stack': 2.0.1 - tap-parser: 16.0.1 - - '@tapjs/processinfo@3.1.7': - dependencies: - pirates: 4.0.6 - process-on-spawn: 1.0.0 - signal-exit: 4.1.0 - uuid: 8.3.2 - - '@tapjs/reporter@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))': - dependencies: - '@tapjs/config': 3.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/stack': 2.0.1 - chalk: 5.3.0 - ink: 4.4.1(react@18.2.0) - minipass: 7.0.4 - ms: 2.1.3 - patch-console: 2.0.0 - prismjs-terminal: 1.2.3 - react: 18.2.0 - string-length: 6.0.0 - tap-parser: 16.0.1 - tap-yaml: 2.2.2 - tcompare: 7.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - transitivePeerDependencies: - - '@tapjs/test' - - '@types/react' - - bufferutil - - react-devtools-core - - react-dom - - utf-8-validate - - '@tapjs/run@2.0.2(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@tapjs/after': 1.1.24(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/before': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/config': 3.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/processinfo': 3.1.7 - '@tapjs/reporter': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@tapjs/test@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0)) - '@tapjs/spawn': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/stdin': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/test': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - c8: 9.1.0 - chalk: 5.3.0 - chokidar: 3.6.0 - foreground-child: 3.1.1 - glob: 10.3.16 - minipass: 7.0.4 - mkdirp: 3.0.1 - opener: 1.5.2 - pacote: 17.0.7 - resolve-import: 1.4.5 - rimraf: 5.0.5 - semver: 7.6.0 - signal-exit: 4.1.0 - tap-parser: 16.0.1 - tap-yaml: 2.2.2 - tcompare: 7.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - 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 + '@tsconfig/node20@20.1.4': {} - '@tapjs/snapshot@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - is-actual-promise: 1.0.1 - tcompare: 7.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - trivial-deferred: 2.0.0 - transitivePeerDependencies: - - react - - react-dom - - '@tapjs/spawn@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - - '@tapjs/stack@2.0.1': {} - - '@tapjs/stdin@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - - '@tapjs/test@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.7(@types/node@20.12.12)(typescript@5.4.5) - '@tapjs/after': 1.1.24(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/after-each': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/asserts': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/before': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/before-each': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/filter': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/fixture': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/intercept': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/mock': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/node-serialize': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/snapshot': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/spawn': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/stdin': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/typescript': 1.4.6(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5) - '@tapjs/worker': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - glob: 10.3.16 - jackspeak: 3.1.2 - mkdirp: 3.0.1 - resolve-import: 1.4.5 - rimraf: 5.0.5 - 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 + '@tsconfig/strictest@2.0.5': {} - '@tapjs/tsx@1.1.25(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': - dependencies: - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - tsx: 4.11.0 + '@types/chai@4.3.16': {} - '@tapjs/typescript@1.4.6(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5)': - dependencies: - '@isaacs/ts-node-temp-fork-for-pr-2009': 10.9.7(@types/node@20.12.12)(typescript@5.4.5) - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - typescript + '@types/istanbul-lib-coverage@2.0.6': {} - '@tapjs/worker@2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': + '@types/istanbul-lib-report@3.0.3': dependencies: - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - - '@tsconfig/node10@1.0.11': {} - - '@tsconfig/node12@1.0.11': {} - - '@tsconfig/node14@1.0.3': {} - - '@tsconfig/node14@14.1.0': {} - - '@tsconfig/node16@1.0.4': {} - - '@tsconfig/node16@16.1.1': {} - - '@tsconfig/node18@18.2.2': {} - - '@tsconfig/node20@20.1.4': {} - - '@tsconfig/strictest@2.0.5': {} - - '@tufjs/canonical-json@2.0.0': {} + '@types/istanbul-lib-coverage': 2.0.6 - '@tufjs/models@2.0.0': + '@types/istanbul-reports@1.1.2': dependencies: - '@tufjs/canonical-json': 2.0.0 - minimatch: 9.0.4 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-lib-report': 3.0.3 - '@types/istanbul-lib-coverage@2.0.6': {} + '@types/json-schema@7.0.15': {} '@types/node-fetch@2.6.11': dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.13 form-data: 4.0.0 - '@types/node@20.12.12': + '@types/node@20.12.13': dependencies: undici-types: 5.26.5 @@ -2422,26 +1924,20 @@ snapshots: '@types/which@3.0.3': {} - abbrev@2.0.0: {} - - acorn-walk@8.3.0: {} + '@types/yargs-parser@21.0.3': {} - acorn@8.11.2: {} - - agent-base@7.1.0: + '@types/yargs@15.0.19': dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color + '@types/yargs-parser': 21.0.3 - aggregate-error@3.1.0: + ajv@6.12.6: dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 - ansi-escapes@6.2.0: - dependencies: - type-fest: 3.13.1 + ansi-escapes@6.2.1: {} ansi-regex@5.0.1: {} @@ -2451,14 +1947,62 @@ snapshots: dependencies: color-convert: 2.0.1 + ansi-styles@5.2.0: {} + ansi-styles@6.2.1: {} - anymatch@3.1.3: + api-contract-validator@2.2.8(openapi-types@1.3.4): dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 + 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 - arg@4.1.3: {} + 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: + 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 + + as-table@1.0.55: + dependencies: + printable-characters: 1.0.42 asn1.js@5.4.1: dependencies: @@ -2467,18 +2011,22 @@ snapshots: minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 - async-hook-domain@4.0.1: {} + assertion-error@2.0.1: {} + + async-retry@1.3.3: + dependencies: + retry: 0.13.1 asynckit@0.4.0: {} - auto-bind@5.0.1: {} + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 balanced-match@1.0.2: {} before-after-hook@2.2.3: {} - binary-extensions@2.2.0: {} - bn.js@4.12.0: {} brace-expansion@1.1.11: @@ -2494,10 +2042,6 @@ snapshots: dependencies: fill-range: 7.0.1 - builtins@5.0.1: - dependencies: - semver: 7.6.0 - c8@9.1.0: dependencies: '@bcoe/v8-coverage': 0.2.3 @@ -2506,46 +2050,43 @@ snapshots: foreground-child: 3.1.1 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 - istanbul-reports: 3.1.6 + istanbul-reports: 3.1.7 test-exclude: 6.0.0 - v8-to-istanbul: 9.1.3 + v8-to-istanbul: 9.2.0 yargs: 17.7.2 yargs-parser: 21.1.1 - cacache@18.0.0: + call-bind@1.0.7: dependencies: - '@npmcli/fs': 3.1.0 - fs-minipass: 3.0.3 - glob: 10.3.16 - lru-cache: 10.2.2 - minipass: 7.0.4 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - p-map: 4.0.0 - ssri: 10.0.5 - tar: 6.2.0 - unique-filename: 3.0.0 + 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 - chalk@5.3.0: {} + call-me-maybe@1.0.2: {} - chokidar@3.6.0: + chai@5.1.1: dependencies: - 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 + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.1 + loupe: 3.1.1 + pathval: 2.0.0 + + chalk@3.0.0: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 - chownr@2.0.0: {} + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 - ci-info@3.9.0: {} + charenc@0.0.2: {} - clean-stack@2.2.0: {} + check-error@2.1.1: {} cli-boxes@3.0.0: {} @@ -2553,10 +2094,16 @@ snapshots: dependencies: restore-cursor: 4.0.0 - cli-truncate@3.1.0: + cli-table3@0.6.5: + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + + cli-truncate@4.0.0: dependencies: slice-ansi: 5.0.0 - string-width: 5.1.2 + string-width: 7.1.0 cliui@8.0.1: dependencies: @@ -2564,9 +2111,15 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - code-excerpt@4.0.0: + clone-deep@4.0.1: dependencies: - convert-to-spaces: 2.0.1 + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clone@1.0.4: {} + + clone@2.1.2: {} color-convert@2.0.1: dependencies: @@ -2574,17 +2127,27 @@ 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-source-map@2.0.0: {} + convert-hrtime@5.0.0: {} - convert-to-spaces@2.0.1: {} + convert-source-map@2.0.0: {} - create-require@1.1.1: {} + cookie@0.5.0: {} cross-env@7.0.3: dependencies: @@ -2596,68 +2159,166 @@ 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@4.0.2: {} + diff-sequences@25.2.6: {} + + diff-sequences@29.6.3: {} 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: {} - encoding@0.1.13: - dependencies: - iconv-lite: 0.6.3 - optional: true - - env-paths@2.2.1: {} + 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: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + + escalade@3.1.2: {} + + esprima@4.0.1: {} + + fast-deep-equal@3.1.3: {} + + 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 - err-code@2.0.3: {} + fast-json-stable-stringify@2.1.0: {} - 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 - - escalade@3.1.1: {} - - escape-string-regexp@2.0.0: {} - - events-to-array@2.0.3: {} - - exponential-backoff@3.1.1: {} + fastq@1.17.1: + dependencies: + reusify: 1.0.4 fetch-blob@3.2.0: dependencies: @@ -2668,11 +2329,25 @@ 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 @@ -2688,41 +2363,56 @@ snapshots: dependencies: fetch-blob: 3.2.0 - fromentries@1.3.2: {} + fs.realpath@1.0.0: {} - fs-minipass@2.1.0: - dependencies: - minipass: 3.3.6 + function-bind@1.1.2: {} - fs-minipass@3.0.3: + function.prototype.name@1.1.6: dependencies: - minipass: 7.0.4 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + functions-have-names: 1.2.3 - fs.realpath@1.0.0: {} + functions-have-names@1.2.3: {} - fsevents@2.3.3: - optional: true + get-caller-file@2.0.5: {} - function-bind@1.1.2: {} + get-east-asian-width@1.2.0: {} - function-loop@4.0.0: {} + get-func-name@2.0.2: {} - get-caller-file@2.0.5: {} + 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 + + get-source@2.0.12: + dependencies: + data-uri-to-buffer: 2.0.2 + source-map: 0.6.1 - get-tsconfig@4.7.5: + get-symbol-description@1.0.2: dependencies: - resolve-pkg-maps: 1.0.0 + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + + getopts@2.3.0: {} glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - glob@10.3.16: + glob@10.3.15: dependencies: foreground-child: 3.1.1 - jackspeak: 3.1.2 + jackspeak: 2.3.6 minimatch: 9.0.4 - minipass: 7.0.4 + minipass: 7.1.1 path-scurry: 1.11.1 glob@7.2.3: @@ -2734,52 +2424,38 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - graceful-fs@4.2.11: {} - - has-flag@4.0.0: {} - - hasown@2.0.0: + globalthis@1.0.4: dependencies: - function-bind: 1.1.2 + define-properties: 1.2.1 + gopd: 1.0.1 - hook-std@3.0.0: {} - - hosted-git-info@7.0.1: + gopd@1.0.1: dependencies: - lru-cache: 10.2.2 + get-intrinsic: 1.2.4 - html-escaper@2.0.2: {} + has-bigints@1.0.2: {} - http-cache-semantics@4.1.1: {} + has-flag@4.0.0: {} - http-proxy-agent@7.0.0: + has-property-descriptors@1.0.2: dependencies: - agent-base: 7.1.0 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color + es-define-property: 1.0.0 - https-proxy-agent@7.0.2: - dependencies: - agent-base: 7.1.0 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color + has-proto@1.0.3: {} - iconv-lite@0.6.3: - dependencies: - safer-buffer: 2.1.2 - optional: true + has-symbols@1.0.3: {} - ignore-walk@6.0.3: + has-tostringtag@1.0.2: dependencies: - minimatch: 9.0.4 + has-symbols: 1.0.3 - imurmurhash@0.1.4: {} + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 - indent-string@4.0.0: {} + hook-std@3.0.0: {} - indent-string@5.0.0: {} + html-escaper@2.0.2: {} inflight@1.0.6: dependencies: @@ -2788,55 +2464,41 @@ snapshots: inherits@2.0.4: {} - ink@4.4.1(react@18.2.0): + internal-slot@1.0.7: dependencies: - '@alcalzone/ansi-tokenize': 0.1.3 - ansi-escapes: 6.2.0 - 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.2.0 - react-reconciler: 0.29.0(react@18.2.0) - scheduler: 0.23.0 - 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.14.2 - yoga-wasm-web: 0.3.3 - transitivePeerDependencies: - - bufferutil - - utf-8-validate + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 + + into-stream@8.0.1: {} - ip@2.0.1: {} + is-array-buffer@3.0.4: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 - is-actual-promise@1.0.1: + is-bigint@1.0.4: dependencies: - tshy: 1.14.0 + has-bigints: 1.0.2 - is-binary-path@2.1.0: + is-boolean-object@1.1.2: dependencies: - binary-extensions: 2.2.0 + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-buffer@1.1.6: {} - is-ci@3.0.1: + is-callable@1.2.7: {} + + is-data-view@1.0.1: dependencies: - ci-info: 3.9.0 + is-typed-array: 1.1.13 - is-core-module@2.13.1: + is-date-object@1.0.5: dependencies: - hasown: 2.0.0 + has-tostringtag: 1.0.2 + + is-extglob@1.0.0: {} is-extglob@2.1.1: {} @@ -2844,28 +2506,71 @@ 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-lambda@1.0.1: {} + is-invalid-path@0.1.0: + dependencies: + is-glob: 2.0.1 + + is-negative-zero@2.0.3: {} - is-lower-case@2.0.2: + is-number-object@1.0.7: dependencies: - tslib: 2.6.2 + has-tostringtag: 1.0.2 is-number@7.0.0: {} - is-plain-object@5.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-typed-array@1.1.13: + dependencies: + which-typed-array: 1.1.15 + + is-valid-path@0.1.1: + dependencies: + is-invalid-path: 0.1.0 - is-upper-case@2.0.2: + is-weakref@1.0.2: dependencies: - tslib: 2.6.2 + call-bind: 1.0.7 + + isarray@2.0.5: {} isexe@2.0.0: {} isexe@3.1.1: {} + isobject@3.0.1: {} + istanbul-lib-coverage@3.2.2: {} istanbul-lib-report@3.0.1: @@ -2874,66 +2579,124 @@ snapshots: make-dir: 4.0.0 supports-color: 7.2.0 - istanbul-reports@3.1.6: + istanbul-reports@3.1.7: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - jackspeak@3.1.2: + jackspeak@2.3.6: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - js-tokens@4.0.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 - json-parse-even-better-errors@3.0.0: {} + jest-diff@29.7.0: + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 - json-stringify-safe@5.0.1: {} + 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 + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + 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 - jsonparse@1.3.1: {} + json-schema-traverse@0.4.1: {} + + json-stringify-safe@5.0.1: {} just-extend@6.2.0: {} + kind-of@6.0.3: {} + + kleur@4.1.5: {} + 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: {} - loose-envify@1.4.0: + log-update@6.0.0: dependencies: - js-tokens: 4.0.0 + 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: + dependencies: + get-func-name: 2.0.2 lru-cache@10.2.2: {} - lru-cache@6.0.0: + make-dir@4.0.0: dependencies: - yallist: 4.0.0 + semver: 7.6.2 - make-dir@4.0.0: + md5@2.2.1: dependencies: - semver: 7.6.0 + charenc: 0.0.2 + crypt: 0.0.2 + is-buffer: 1.1.6 - make-error@1.3.6: {} + memory-cache@0.2.0: {} - make-fetch-happen@13.0.0: + merge2@1.4.1: {} + + micromatch@4.0.5: dependencies: - '@npmcli/agent': 2.2.0 - cacache: 18.0.0 - http-cache-semantics: 4.1.1 - is-lambda: 1.0.1 - minipass: 7.0.4 - minipass-fetch: 3.0.4 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - ssri: 10.0.5 - transitivePeerDependencies: - - supports-color + braces: 3.0.2 + picomatch: 2.3.1 mime-db@1.52.0: {} @@ -2953,49 +2716,7 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minipass-collect@1.0.2: - dependencies: - minipass: 3.3.6 - - minipass-fetch@3.0.4: - dependencies: - minipass: 7.0.4 - 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.0.4: {} - - minizlib@2.1.2: - dependencies: - minipass: 3.3.6 - yallist: 4.0.0 - - mkdirp@1.0.4: {} + minipass@7.1.1: {} mkdirp@3.0.1: {} @@ -3003,7 +2724,7 @@ snapshots: ms@2.1.3: {} - negotiator@0.6.3: {} + mustache@4.2.0: {} nise@6.0.0: dependencies: @@ -3029,73 +2750,16 @@ snapshots: fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - node-gyp@10.0.1: - dependencies: - env-paths: 2.2.1 - exponential-backoff: 3.1.1 - glob: 10.3.16 - graceful-fs: 4.2.11 - make-fetch-happen: 13.0.0 - nopt: 7.2.0 - proc-log: 3.0.0 - semver: 7.6.0 - tar: 6.2.0 - which: 4.0.0 - transitivePeerDependencies: - - supports-color - - nopt@7.2.0: - dependencies: - abbrev: 2.0.0 - - normalize-package-data@6.0.0: - dependencies: - hosted-git-info: 7.0.1 - is-core-module: 2.13.1 - semver: 7.6.0 - validate-npm-package-license: 3.0.4 - - normalize-path@3.0.0: {} - - npm-bundled@3.0.0: - dependencies: - npm-normalize-package-bin: 3.0.1 - - npm-install-checks@6.3.0: - dependencies: - semver: 7.6.0 - - npm-normalize-package-bin@3.0.1: {} - - npm-package-arg@11.0.1: - dependencies: - hosted-git-info: 7.0.1 - proc-log: 3.0.0 - semver: 7.6.0 - validate-npm-package-name: 5.0.0 + object-inspect@1.13.1: {} - npm-packlist@8.0.0: - dependencies: - ignore-walk: 6.0.3 - - npm-pick-manifest@9.0.0: - dependencies: - npm-install-checks: 6.3.0 - npm-normalize-package-bin: 3.0.1 - npm-package-arg: 11.0.1 - semver: 7.6.0 + object-keys@1.1.1: {} - npm-registry-fetch@16.1.0: + object.assign@4.1.5: dependencies: - make-fetch-happen: 13.0.0 - minipass: 7.0.4 - minipass-fetch: 3.0.4 - minipass-json-stream: 1.0.1 - minizlib: 2.1.2 - npm-package-arg: 11.0.1 - proc-log: 3.0.0 - transitivePeerDependencies: - - supports-color + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 once@1.4.0: dependencies: @@ -3105,7 +2769,14 @@ snapshots: dependencies: mimic-fn: 2.1.0 - opener@1.5.2: {} + 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: {} openpgp@5.11.1: dependencies: @@ -3115,42 +2786,22 @@ 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-map@4.0.0: - dependencies: - aggregate-error: 3.1.0 - - pacote@17.0.7: - dependencies: - '@npmcli/git': 5.0.3 - '@npmcli/installed-package-contents': 2.0.2 - '@npmcli/promise-spawn': 7.0.0 - '@npmcli/run-script': 7.0.2 - cacache: 18.0.0 - fs-minipass: 3.0.3 - minipass: 7.0.4 - npm-package-arg: 11.0.1 - npm-packlist: 8.0.0 - npm-pick-manifest: 9.0.0 - npm-registry-fetch: 16.1.0 - proc-log: 4.2.0 - promise-retry: 2.0.1 - read-package-json: 7.0.0 - read-package-json-fast: 3.0.2 - sigstore: 2.3.0 - ssri: 10.0.5 - tar: 6.2.0 - transitivePeerDependencies: - - bluebird - - supports-color - - patch-console@2.0.0: {} + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 path-exists@4.0.0: {} + path-exists@5.0.0: {} + path-is-absolute@1.0.1: {} path-key@3.1.1: {} @@ -3158,112 +2809,115 @@ snapshots: path-scurry@1.11.1: dependencies: lru-cache: 10.2.2 - minipass: 7.0.4 + minipass: 7.1.1 path-to-regexp@6.2.2: {} + pathval@2.0.0: {} + picomatch@2.3.1: {} pirates@4.0.6: {} - polite-json@4.0.1: {} - - prismjs-terminal@1.2.3: + pkg-dir@7.0.0: dependencies: - chalk: 5.3.0 - prismjs: 1.29.0 - string-length: 6.0.0 + find-up: 6.3.0 - prismjs@1.29.0: {} + possible-typed-array-names@1.0.0: {} - proc-log@3.0.0: {} - - proc-log@4.2.0: {} + pretty-format@25.5.0: + dependencies: + '@jest/types': 25.5.0 + ansi-regex: 5.0.1 + ansi-styles: 4.3.0 + react-is: 16.13.1 - process-on-spawn@1.0.0: + pretty-format@29.7.0: dependencies: - fromentries: 1.3.2 + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 - promise-inflight@1.0.1: {} + pretty-hrtime@1.0.3: {} - promise-retry@2.0.1: - dependencies: - err-code: 2.0.3 - retry: 0.12.0 + printable-characters@1.0.42: {} propagate@2.0.1: {} - react-dom@18.2.0(react@18.2.0): - dependencies: - loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + punycode@2.3.1: {} - react-element-to-jsx-string@15.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): - dependencies: - '@base2/pretty-print-object': 1.0.1 - is-plain-object: 5.0.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-is: 18.1.0 + queue-microtask@1.2.3: {} - react-is@18.1.0: {} + react-is@16.13.1: {} - react-reconciler@0.29.0(react@18.2.0): - dependencies: - loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react-is@18.3.1: {} - react@18.2.0: + regexp.prototype.flags@1.5.2: dependencies: - loose-envify: 1.4.0 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 - read-package-json-fast@3.0.2: - dependencies: - json-parse-even-better-errors: 3.0.0 - npm-normalize-package-bin: 3.0.1 + require-directory@2.1.1: {} - read-package-json@7.0.0: + restore-cursor@4.0.0: dependencies: - glob: 10.3.16 - json-parse-even-better-errors: 3.0.0 - normalize-package-data: 6.0.0 - npm-normalize-package-bin: 3.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 + retry@0.13.1: {} - require-directory@2.1.1: {} + reusify@1.0.4: {} - resolve-import@1.4.5: + rimraf@5.0.7: dependencies: - glob: 10.3.16 - walk-up-path: 3.0.1 - - resolve-pkg-maps@1.0.0: {} + glob: 10.3.15 - restore-cursor@4.0.0: + run-parallel@1.2.0: dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 + queue-microtask: 1.2.3 - retry@0.12.0: {} + safe-array-concat@1.1.2: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 - rimraf@5.0.5: + safe-regex-test@1.0.3: dependencies: - glob: 10.3.16 + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 safer-buffer@2.1.2: {} - scheduler@0.23.0: + semver@7.6.2: {} + + serialize-error@11.0.3: + dependencies: + type-fest: 2.19.0 + + set-function-length@1.2.2: + 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 + + set-function-name@2.0.2: dependencies: - loose-envify: 1.4.0 + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 - semver@7.6.0: + shallow-clone@3.0.1: dependencies: - lru-cache: 6.0.0 + kind-of: 6.0.3 shebang-command@2.0.0: dependencies: @@ -3271,21 +2925,17 @@ 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.0: - dependencies: - '@sigstore/bundle': 2.3.1 - '@sigstore/core': 1.1.0 - '@sigstore/protobuf-specs': 0.3.1 - '@sigstore/sign': 2.3.0 - '@sigstore/tuf': 2.3.2 - '@sigstore/verify': 1.2.0 - transitivePeerDependencies: - - supports-color - sinon@18.0.0: dependencies: '@sinonjs/commons': 3.0.1 @@ -3295,56 +2945,34 @@ 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@6.0.0: + slice-ansi@7.1.0: dependencies: ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 - - smart-buffer@4.2.0: {} - - socks-proxy-agent@8.0.2: - dependencies: - agent-base: 7.1.0 - debug: 4.3.4 - socks: 2.7.1 - transitivePeerDependencies: - - supports-color - - socks@2.7.1: - dependencies: - ip: 2.0.1 - smart-buffer: 4.2.0 + is-fullwidth-code-point: 5.0.0 - spdx-correct@3.2.0: + sock-daemon@1.4.2: dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.16 - - spdx-exceptions@2.3.0: {} - - spdx-expression-parse@3.0.1: - dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.16 + rimraf: 5.0.7 + signal-exit: 4.1.0 + socket-post-message: 1.0.3 - spdx-license-ids@3.0.16: {} + socket-post-message@1.0.3: {} - ssri@10.0.5: - dependencies: - minipass: 7.0.4 + source-map@0.6.1: {} - stack-utils@2.0.6: - dependencies: - escape-string-regexp: 2.0.0 + sprintf-js@1.0.3: {} - string-length@6.0.0: + stacktracey@2.1.8: dependencies: - strip-ansi: 7.1.0 + as-table: 1.0.55 + get-source: 2.0.12 string-width@4.2.3: dependencies: @@ -3358,6 +2986,31 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.1.0 + string-width@7.1.0: + dependencies: + emoji-regex: 10.3.0 + get-east-asian-width: 1.2.0 + strip-ansi: 7.1.0 + + string.prototype.trim@1.2.9: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + + string.prototype.trimend@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 @@ -3370,74 +3023,17 @@ snapshots: dependencies: has-flag: 4.0.0 - sync-content@1.0.2: + supports-color@9.4.0: {} + + swagger-parser@10.0.3(openapi-types@1.3.4): dependencies: - glob: 10.3.16 - mkdirp: 3.0.1 - path-scurry: 1.11.1 - rimraf: 5.0.5 - - 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.1 - yaml-types: 0.3.0(yaml@2.4.1) - - tap@19.0.2(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.4.5): - dependencies: - '@tapjs/after': 1.1.24(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/after-each': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/asserts': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/before': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/before-each': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/core': 2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/filter': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/fixture': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/intercept': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/mock': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/node-serialize': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/run': 2.0.2(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/snapshot': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/spawn': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/stdin': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - '@tapjs/test': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@tapjs/typescript': 1.4.6(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(@types/node@20.12.12)(typescript@5.4.5) - '@tapjs/worker': 2.0.1(@tapjs/core@2.0.1(@types/node@20.12.12)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) - resolve-import: 1.4.5 + '@apidevtools/swagger-parser': 10.0.3(openapi-types@1.3.4) transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - - '@types/react' - - bluebird - - bufferutil - - react - - react-devtools-core - - react-dom - - supports-color - - typescript - - utf-8-validate + - openapi-types - tar@6.2.0: - 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 + swagger-schema-official@2.0.0-bab6bed: {} - tcompare@7.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0): - dependencies: - diff: 5.2.0 - react-element-to-jsx-string: 15.0.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - transitivePeerDependencies: - - react - - react-dom + terminal-size@4.0.0: {} test-exclude@6.0.0: dependencies: @@ -3445,112 +3041,137 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 - to-readable-stream@4.0.0: {} + time-span@5.1.0: + dependencies: + convert-hrtime: 5.0.0 to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - trivial-deferred@2.0.0: {} - - ts-node@10.9.2(@types/node@20.12.12)(typescript@5.4.5): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.12.12 - acorn: 8.11.2 - acorn-walk: 8.3.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.4.5 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 + traverse@0.6.9: + dependencies: + gopd: 1.0.1 + typedarray.prototype.slice: 1.0.3 + which-typed-array: 1.1.15 - tshy@1.14.0: + tsimp@2.0.11(typescript@5.4.5): dependencies: - chalk: 5.3.0 - chokidar: 3.6.0 + '@isaacs/cached': 1.0.1 + '@isaacs/catcher': 1.0.4 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.5 - sync-content: 1.0.2 + pirates: 4.0.6 + rimraf: 5.0.7 + signal-exit: 4.1.0 + sock-daemon: 1.4.2 typescript: 5.4.5 walk-up-path: 3.0.1 - tslib@2.6.2: {} + tunnel@0.0.6: {} - tsx@4.11.0: - dependencies: - esbuild: 0.20.2 - get-tsconfig: 4.7.5 - optionalDependencies: - fsevents: 2.3.3 + type-detect@4.0.8: {} - tuf-js@2.2.0: + type-fest@2.19.0: {} + + typed-array-buffer@1.0.2: dependencies: - '@tufjs/models': 2.0.0 - debug: 4.3.4 - make-fetch-happen: 13.0.0 - transitivePeerDependencies: - - supports-color + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 - tunnel@0.0.6: {} + typed-array-byte-length@1.0.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 - type-detect@4.0.8: {} + 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 - type-fest@0.12.0: {} + 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-fest@3.13.1: {} + 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 typescript@5.4.5: {} - undici-types@5.26.5: {} - - undici@5.28.3: + unbox-primitive@1.0.2: dependencies: - '@fastify/busboy': 2.1.0 + call-bind: 1.0.7 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 - unique-filename@3.0.0: - dependencies: - unique-slug: 4.0.0 + undici-types@5.26.5: {} - unique-slug@4.0.0: + undici@5.28.4: dependencies: - imurmurhash: 0.1.4 + '@fastify/busboy': 2.1.1 universal-user-agent@6.0.1: {} - uuid@8.3.2: {} + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 - v8-compile-cache-lib@3.0.1: {} + uuid@8.3.2: {} - v8-to-istanbul@9.1.3: + v8-to-istanbul@9.2.0: dependencies: - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 - validate-npm-package-license@3.0.4: - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 + valid-url@1.0.9: {} - validate-npm-package-name@5.0.0: - dependencies: - builtins: 5.0.1 + validator@13.12.0: {} 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 @@ -3559,9 +3180,7 @@ snapshots: dependencies: isexe: 3.1.1 - widest-line@4.0.1: - dependencies: - string-width: 5.1.2 + wordwrap@1.0.0: {} wrap-ansi@7.0.0: dependencies: @@ -3575,34 +3194,48 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 - wrappy@1.0.2: {} + wrap-ansi@9.0.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 7.1.0 + strip-ansi: 7.1.0 - ws@8.14.2: {} + wrappy@1.0.2: {} y18n@5.0.8: {} - yallist@4.0.0: {} - - yaml-types@0.3.0(yaml@2.4.1): - dependencies: - yaml: 2.4.1 - - yaml@2.4.1: {} - yargs-parser@21.1.1: {} yargs@17.7.2: dependencies: cliui: 8.0.1 - escalade: 3.1.1 + escalade: 3.1.2 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - yn@3.1.1: {} - yocto-queue@0.1.0: {} - yoga-wasm-web@0.3.3: {} + 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 diff --git a/src/main.ts b/src/main.ts index 44803c89..aa8a8348 100644 --- a/src/main.ts +++ b/src/main.ts @@ -16,6 +16,28 @@ import { verifySignature, } from './utils.js'; +/** + * Main arguments/options for the action to run. + */ +export interface ActionArguments { + /** Download URL for the Code Climate test reporter binary. @default https://codeclimate.com/downloads/test-reporter/test-reporter-latest-{platform}-{architecture} */ + downloadUrl?: string; + /** Filesystem path where the Code Climate binary should be downloaded to. @default ./{current-directory}/cc-reporter */ + executable?: string; + /** Command to execute to generate coverage report. */ + coverageCommand?: string; + /** Working directory to change to before running the test reporter. @default Current directory */ + workingDirectory?: string; + /** Turn on debugging mode for the Code Climate test reporter. @default false */ + codeClimateDebug?: string; + /** Coverage locations. @see https://github.com/paambaati/codeclimate-action/?tab=readme-ov-file#inputs */ + coverageLocationsParam?: string; + /** Coverage prefix. @see https://docs.codeclimate.com/docs/configuring-test-coverage#list-of-subcommands */ + coveragePrefix?: string; + /** Verifies the downloaded binary with a Code Climate-provided SHA 256 checksum and GPG sinature. @default true */ + verifyDownload?: string; +} + const PLATFORM = platform(); // REFER: https://docs.codeclimate.com/docs/configuring-test-coverage#locations-of-pre-built-binaries /** Canonical download URL for the official CodeClimate reporter. */ @@ -182,16 +204,7 @@ export async function run({ coverageLocationsParam = DEFAULT_COVERAGE_LOCATIONS, coveragePrefix, verifyDownload = DEFAULT_VERIFY_DOWNLOAD, -}: { - downloadUrl?: string; - executable?: string; - coverageCommand?: string; - workingDirectory?: string; - codeClimateDebug?: string; - coverageLocationsParam?: string; - coveragePrefix?: string; - verifyDownload?: string; -} = {}): Promise { +}: ActionArguments = {}): Promise { let lastExitCode = 1; if (workingDirectory) { debug(`Changing working directory to ${workingDirectory}`); diff --git a/test/integration.test.ts b/test/integration/integration.test.ts similarity index 68% rename from test/integration.test.ts rename to test/integration/integration.test.ts index 31eae164..62d968b5 100644 --- a/test/integration.test.ts +++ b/test/integration/integration.test.ts @@ -1,25 +1,20 @@ 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'; -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!' - : undefined, - }, - async (t) => { - t.plan(1); +test.group('🌏 integration tests', () => { + test('🧪 verifyChecksumAndSignature() should download the CC reporter and pass all validations (happy path).', async ({ + assert, + }) => { + assert.plan(1); let capturedOutput = ''; const stdHook = hookStd((text: string) => { capturedOutput += text; @@ -31,7 +26,7 @@ t.test( stdHook.unhook(); } catch (err) { stdHook.unhook(); - t.fail(err); + assert.fail((err as Error).message); } finally { for (const artifact of FILE_ARTIFACTS) { try { @@ -40,7 +35,7 @@ t.test( } } - t.equal( + assert.equal( capturedOutput, [ '::debug::ℹ️ Verifying CC Reporter checksum...', @@ -51,6 +46,8 @@ t.test( ].join(EOL), 'should download the reporter and correctly pass checksum and signature verification steps.', ); - t.end(); - }, -); + }).skip( + platform() === 'darwin' && arch() === 'arm64', + 'Skipping because the CC reporter is not available on macOS Apple Silicon!', + ); +}); diff --git a/test/main.test.ts b/test/main.test.ts deleted file mode 100644 index 947d9433..00000000 --- a/test/main.test.ts +++ /dev/null @@ -1,1098 +0,0 @@ -import { - readFile, - realpath as realpathCallback, - unlinkSync, - writeFileSync, -} from 'node:fs'; -import { default as os, EOL, tmpdir } from 'node:os'; -import { join as joinPath } from 'node:path'; -import { promisify } from 'node:util'; -import { context } from '@actions/github'; -import * as glob from '@actions/glob'; -import { hookStd } from 'hook-std'; -import nock from 'nock'; -import sinon from 'sinon'; -import t from 'tap'; -import toReadableStream from 'to-readable-stream'; -import which from 'which'; -import { CODECLIMATE_GPG_PUBLIC_KEY_ID, prepareEnv, run } from '../src/main.js'; -import * as utils from '../src/utils.js'; - -/** - * Dev Notes - * - * 1. `stdHook.unhook()` is called at the end of both `try` and `catch` - * instead of once in `finally` specifically because the hook is still - * capturing stdout/stderr, and so if there's some error, it can still - * be printed on the screen. If the unhook method is moved to `finally`, - * it will capture, i.e. swallow and not print, error traces. - * */ - -const realpath = promisify(realpathCallback); -const readFileAsync = promisify(readFile); - -const PLATFORM = os.platform(); -const EXE_EXT = PLATFORM === 'win32' ? 'bat' : ('sh' as const); -const DEFAULT_WORKDIR = process.cwd(); -const EXE_PATH_PREFIX = - PLATFORM === 'win32' - ? 'C:\\Windows\\system32\\cmd.exe /D /S /C' - : ('' as const); -// NOTE: We have to use `which` because although `echo` is in `/bin/echo` on most *nix systems, on rare occastions, it is in `/usr/bin/echo`. -const ECHO_CMD = - PLATFORM === 'win32' ? `${EXE_PATH_PREFIX} echo` : which.sync('echo'); - -const sandbox = sinon.createSandbox(); - -t.test('🛠 setup', (t) => { - t.plan(0); - nock.disableNetConnect(); - if (!nock.isActive()) nock.activate(); - t.end(); -}); - -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', - PATH: '/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', - }; - sandbox.stub(process, 'env').value(expected); - const output = prepareEnv(); - 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', - PATH: '/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', - GIT_BRANCH: 'refs/heads/main', - }; - sandbox.stub(process, 'env').value(mockEnv); - const expected = { - ...mockEnv, - GIT_BRANCH: 'main', - }; - const output = prepareEnv(); - t.strictSame( - output, - expected, - 'should return correctly updated additional environment variables', - ); - }, -); - -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', - PATH: '/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', - GITHUB_SHA: '89cac89532a27123c44a8fd77c9f8f2ea5c02528', - GITHUB_REF: 'main', - }; - sandbox.stub(process, 'env').value(mockEnv); - const expected = { - ...mockEnv, - GIT_COMMIT_SHA: '89cac89532a27123c44a8fd77c9f8f2ea5c02528', - GIT_BRANCH: 'main', - }; - const output = prepareEnv(); - t.strictSame( - output, - expected, - 'should return correctly updated additional environment variables', - ); - }, -); - -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', - PATH: '/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', - GITHUB_EVENT_NAME: 'pull_request', - GITHUB_HEAD_REF: 'main', - }; - const mockCommitSHA = '89cac89532a27123c44a8fd77c9f8f2ea5c02528'; - - sandbox.stub(process, 'env').value(mockEnv); - sandbox - .stub(context, 'payload') - .value({ pull_request: { head: { sha: mockCommitSHA } } }); - - const expected = { - ...mockEnv, - GIT_COMMIT_SHA: mockCommitSHA, - GIT_BRANCH: 'main', - }; - - const output = prepareEnv(); - t.strictSame( - output, - expected, - 'should return correctly updated additional environment variables', - ); - }, -); - -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 = `./test/fixtures/dummy-cc-reporter.${EXE_EXT}`; - const dummyReporter = await readFileAsync(dummyReporterFile); - return toReadableStream(dummyReporter); - }); - - nock('http://localhost.test') - .get('/dummy-cc-reporter.sha256') - .reply(200, async () => { - const checksumFile = `./test/fixtures/dummy-cc-reporter.${EXE_EXT}.sha256`; - const checksum = await readFileAsync(checksumFile); - return toReadableStream(checksum); - }); - - 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 signature = await readFileAsync(signatureFile); - return toReadableStream(signature); - }); - - 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 publicKey = await readFileAsync(publicKeyFile); - return toReadableStream(publicKey); - }); - - // We now allow `verifyChecksum()` to return `true` as well - // because a) we don't want to bother crafting checksums for - // fixtures and b) checksums differ across platforms and they - // are a pain to create and get to work correctly. - sandbox.stub(utils, 'verifyChecksum').resolves(true); - // We always allow `verifySignature()` to return `true` - // because we don't have access to the private key (obviously) - // and so cannot create correct signatures for fixtures anyways. - sandbox.stub(utils, 'verifySignature').resolves(true); - - let capturedOutput = ''; - const stdHook = hookStd((text: string) => { - capturedOutput += text; - }); - - try { - await run({ - downloadUrl: 'http://localhost.test/dummy-cc-reporter', - executable: filePath, - coverageCommand: `${ECHO_CMD} 'coverage ok'`, - }); - 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...', - '::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`, - '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); - unlinkSync(`${filePath}.sha256`); - unlinkSync(`${filePath}.sha256.sig`); - unlinkSync('public-key.asc'); - nock.cleanAll(); - t.end(); -}); - -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 dummyReporter = await readFileAsync(dummyReporterFile); - return toReadableStream(dummyReporter); - }); - - let capturedOutput = ''; - const stdHook = hookStd((text: string) => { - capturedOutput += text; - }); - - 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(); - } - - t.equal( - capturedOutput, - [ - '::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), - 'should execute all steps (except verification).', - ); - unlinkSync(filePath); - nock.cleanAll(); - 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 dummyReporter = await readFileAsync(dummyReporterFile); - return toReadableStream(dummyReporter); - }); - - nock('http://localhost.test') - .get('/dummy-cc-reporter.sha256') - .reply(200, async () => { - const checksumFile = `./test/fixtures/dummy-cc-reporter.${EXE_EXT}.sha256`; - const checksum = await readFileAsync(checksumFile); - return toReadableStream(checksum); - }); - - 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 signature = await readFileAsync(signatureFile); - return toReadableStream(signature); - }); - - 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 publicKey = await readFileAsync(publicKeyFile); - return toReadableStream(publicKey); - }); - - sandbox.stub(utils, 'verifyChecksum').resolves(true); - sandbox.stub(utils, 'verifySignature').resolves(true); - - let capturedOutput = ''; - const stdHook = hookStd((text: string) => { - capturedOutput += text; - }); - - try { - await run({ - downloadUrl: 'http://localhost.test/dummy-cc-reporter', - executable: filePath, - coverageCommand: '', - }); - stdHook.unhook(); - } catch (err) { - stdHook.unhook(); - t.fail(err); - } finally { - nock.cleanAll(); - } - - 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`, - 'before-build', - '::debug::✅ CC Reporter before-build checkin completed...', - `ℹ️ 'coverageCommand' not set, so skipping building coverage report!`, - 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), - 'should execute all steps (except running the coverage command).', - ); - unlinkSync(filePath); - unlinkSync(`${filePath}.sha256`); - unlinkSync(`${filePath}.sha256.sig`); - unlinkSync('public-key.asc'); - nock.cleanAll(); - t.end(); - }, -); - -t.test('🧪 run() should convert patterns to locations.', async (t) => { - t.plan(3); - t.teardown(() => sandbox.restore()); - const globSpy = sandbox - .stub() - .resolves([ - joinPath(DEFAULT_WORKDIR, './file-a.lcov'), - joinPath(DEFAULT_WORKDIR, './file-b.lcov'), - ]); - sandbox.stub(glob, 'create').resolves({ - glob: globSpy, - getSearchPaths: sandbox.spy(), - globGenerator: sandbox.spy(), - }); - 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 toReadableStream(dummyReporter); - }); - - nock('http://localhost.test') - .get('/dummy-cc-reporter.sha256') - .reply(200, async () => { - const checksumFile = `./test/fixtures/dummy-cc-reporter.${EXE_EXT}.sha256`; - const checksum = await readFileAsync(checksumFile); - return toReadableStream(checksum); - }); - - 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 signature = await readFileAsync(signatureFile); - return toReadableStream(signature); - }); - - 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 publicKey = await readFileAsync(publicKeyFile); - return toReadableStream(publicKey); - }); - - sandbox.stub(utils, 'verifyChecksum').resolves(true); - sandbox.stub(utils, 'verifySignature').resolves(true); - - const filePattern = - PLATFORM === 'win32' - ? `${DEFAULT_WORKDIR}\\*.lcov:lcov` - : `${DEFAULT_WORKDIR}/*.lcov:lcov`; - const fileA = 'file-a.lcov' as const; - const fileB = 'file-b.lcov' as const; - - writeFileSync(fileA, 'file a content'); - writeFileSync(fileB, 'file b content'); - - let capturedOutput = ''; - const stdHook = hookStd((text: string) => { - capturedOutput += text; - }); - - try { - await run({ - downloadUrl: 'http://localhost.test/dummy-cc-reporter', - executable: filePath, - coverageCommand: '', - coverageLocationsParam: filePattern, - codeClimateDebug: 'false', - }); - stdHook.unhook(); - } catch (err) { - stdHook.unhook(); - t.fail(err); - } finally { - nock.cleanAll(); - } - - 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.', - ); - t.ok( - globSpy.calledOnceWithExactly(), - 'should get the paths of the files from the newly created globber instance.', - ); - 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`, - 'before-build', - '::debug::✅ CC Reporter before-build checkin completed...', - `ℹ️ 'coverageCommand' not set, so skipping building coverage report!`, - PLATFORM === 'win32' - ? `::debug::Parsing 2 coverage location(s) — ${DEFAULT_WORKDIR}\\file-a.lcov:lcov,${DEFAULT_WORKDIR}\\file-b.lcov:lcov (object)` - : `::debug::Parsing 2 coverage location(s) — ${DEFAULT_WORKDIR}/file-a.lcov:lcov,${DEFAULT_WORKDIR}/file-b.lcov:lcov (object)`, - PLATFORM === 'win32' - ? `[command]${EXE_PATH_PREFIX} "${DEFAULT_WORKDIR}\\test.${EXE_EXT} format-coverage ${DEFAULT_WORKDIR}\\file-a.lcov -t lcov -o codeclimate.0.json"` - : `[command]${DEFAULT_WORKDIR}/test.${EXE_EXT} format-coverage ${DEFAULT_WORKDIR}/file-a.lcov -t lcov -o codeclimate.0.json`, - PLATFORM === 'win32' - ? `format-coverage ${DEFAULT_WORKDIR}\\file-a.lcov -t lcov -o codeclimate.0.json` - : `format-coverage ${DEFAULT_WORKDIR}/file-a.lcov -t lcov -o codeclimate.0.json`, - PLATFORM === 'win32' - ? `[command]${EXE_PATH_PREFIX} "${DEFAULT_WORKDIR}\\test.${EXE_EXT} format-coverage ${DEFAULT_WORKDIR}\\file-b.lcov -t lcov -o codeclimate.1.json"` - : `[command]${DEFAULT_WORKDIR}/test.${EXE_EXT} format-coverage ${DEFAULT_WORKDIR}/file-b.lcov -t lcov -o codeclimate.1.json`, - PLATFORM === 'win32' - ? `format-coverage ${DEFAULT_WORKDIR}\\file-b.lcov -t lcov -o codeclimate.1.json` - : `format-coverage ${DEFAULT_WORKDIR}/file-b.lcov -t lcov -o codeclimate.1.json`, - PLATFORM === 'win32' - ? `[command]${EXE_PATH_PREFIX} "${DEFAULT_WORKDIR}\\test.${EXE_EXT} sum-coverage codeclimate.0.json codeclimate.1.json -p 2 -o coverage.total.json"` - : `[command]${DEFAULT_WORKDIR}/test.${EXE_EXT} sum-coverage codeclimate.0.json codeclimate.1.json -p 2 -o coverage.total.json`, - 'sum-coverage codeclimate.0.json codeclimate.1.json -p 2 -o coverage.total.json', - PLATFORM === 'win32' - ? `[command]${EXE_PATH_PREFIX} "${DEFAULT_WORKDIR}\\test.${EXE_EXT} upload-coverage -i coverage.total.json"` - : `[command]${DEFAULT_WORKDIR}/test.${EXE_EXT} upload-coverage -i coverage.total.json`, - 'upload-coverage -i coverage.total.json', - '::debug::✅ CC Reporter upload coverage completed!', - '', - ].join(EOL), - 'should execute all steps (including uploading globbed coverage files).', - ); - unlinkSync(filePath); - unlinkSync(`${filePath}.sha256`); - unlinkSync(`${filePath}.sha256.sig`); - unlinkSync('public-key.asc'); - unlinkSync(fileA); - unlinkSync(fileB); - nock.cleanAll(); - t.end(); -}); - -t.test( - '🧪 run() should correctly switch the working directory if given.', - 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, - `./fixtures/dummy-cc-reporter.${EXE_EXT}`, - ); - const dummyReporter = await readFileAsync(dummyReporterFile); - return toReadableStream(dummyReporter); - }); - - nock('http://localhost.test') - .get('/dummy-cc-reporter.sha256') - .reply(200, async () => { - const checksumFile = joinPath( - __dirname, - `./fixtures/dummy-cc-reporter.${EXE_EXT}.sha256`, - ); - const checksum = await readFileAsync(checksumFile); - return toReadableStream(checksum); - }); - - nock('http://localhost.test') - .get('/dummy-cc-reporter.sha256.sig') - .reply(200, async () => { - const signatureFile = joinPath( - __dirname, - `./fixtures/dummy-cc-reporter.${EXE_EXT}.sha256.sig`, - ); - const signature = await readFileAsync(signatureFile); - return toReadableStream(signature); - }); - - nock('https://keys.openpgp.org') - .get(`/vks/v1/by-fingerprint/${CODECLIMATE_GPG_PUBLIC_KEY_ID}`) - .reply(200, async () => { - const publicKeyFile = joinPath( - __dirname, - './fixtures/9BD9E2DD46DA965A537E5B0A5CBF320243B6FD85.asc', - ); - const publicKey = await readFileAsync(publicKeyFile); - return toReadableStream(publicKey); - }); - - sandbox.stub(utils, 'verifyChecksum').resolves(true); - sandbox.stub(utils, 'verifySignature').resolves(true); - - let capturedOutput = ''; - const stdHook = hookStd((text: string) => { - capturedOutput += text; - }); - - const CUSTOM_WORKDIR = await realpath(tmpdir()); - try { - await run({ - downloadUrl: 'http://localhost.test/dummy-cc-reporter', - executable: filePath, - coverageCommand: `${ECHO_CMD} 'coverage ok'`, - workingDirectory: CUSTOM_WORKDIR, - }); - stdHook.unhook(); - } catch (err) { - stdHook.unhook(); - t.fail(err); - } finally { - nock.cleanAll(); - } - - t.equal( - capturedOutput, - [ - `::debug::Changing working directory to ${CUSTOM_WORKDIR}`, - '::debug::✅ Changing working directory completed...', - '::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} ""${CUSTOM_WORKDIR}\\test.${EXE_EXT}" before-build"` - : `[command]${CUSTOM_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} ""${CUSTOM_WORKDIR}\\test.${EXE_EXT}" after-build --exit-code 0"` - : `[command]${CUSTOM_WORKDIR}/test.${EXE_EXT} after-build --exit-code 0`, - 'after-build --exit-code 0', - '::debug::✅ CC Reporter after-build checkin completed!', - '', - ].join(EOL), - 'should execute all steps when custom working directory is given.', - ); - unlinkSync(filePath); - nock.cleanAll(); - process.chdir(DEFAULT_WORKDIR); - 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 dummyReporter = await readFileAsync(dummyReporterFile); - return toReadableStream(dummyReporter); - }); - - nock('http://localhost.test') - .get('/dummy-cc-reporter.sha256') - .reply(200, () => { - const dummyChecksum = 'lolno'; - return toReadableStream(dummyChecksum); - }); - - let capturedOutput = ''; - const stdHook = hookStd((text: string) => { - capturedOutput += text; - }); - - try { - await run({ - downloadUrl: 'http://localhost.test/dummy-cc-reporter', - executable: filePath, - coverageCommand: `${ECHO_CMD} 'coverage ok'`, - }); - t.fail('should have thrown an error'); - stdHook.unhook(); - } catch (err) { - stdHook.unhook(); - // do nothing else, we expect this run command to fail. - } finally { - nock.cleanAll(); - } - - t.equal( - capturedOutput, - [ - '::debug::ℹ️ Downloading CC Reporter from http://localhost.test/dummy-cc-reporter ...', - '::debug::✅ CC Reporter downloaded...', - '::debug::ℹ️ Verifying CC Reporter checksum...', - '::error::CC Reporter checksum does not match!', - '::error::🚨 CC Reporter checksum verfication failed!', - '', - ].join(EOL), - 'should correctly throw the error if the checksum verification fails.', - ); - unlinkSync(filePath); - unlinkSync(`${filePath}.sha256`); - nock.cleanAll(); - t.end(); - }, -); - -t.test( - '🧪 run() should throw an error if the GPG signature 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 dummyReporter = await readFileAsync(dummyReporterFile); - return toReadableStream(dummyReporter); - }); - - 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 checksum = await readFileAsync(checksumFile); - return toReadableStream(checksum); - }); - - 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 signature = await readFileAsync(signatureFile); - return toReadableStream(signature); - }); - - 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 publicKey = await readFileAsync(publicKeyFile); - return toReadableStream(publicKey); - }); - - sandbox.stub(utils, 'verifyChecksum').resolves(true); - sandbox.stub(utils, 'verifySignature').resolves(false); - - let capturedOutput = ''; - const stdHook = hookStd((text: string) => { - capturedOutput += text; - }); - - try { - await run({ - downloadUrl: 'http://localhost.test/dummy-cc-reporter', - executable: filePath, - coverageCommand: `${ECHO_CMD} 'coverage ok'`, - }); - stdHook.unhook(); - } catch (err) { - stdHook.unhook(); - // do nothing else, we expect this run command to fail. - } finally { - nock.cleanAll(); - } - - 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...', - '::error::CC Reporter GPG signature is invalid!', - '::error::🚨 CC Reporter GPG signature verfication failed!', - '', - ].join(EOL), - '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(); - 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 dummyReporter = await readFileAsync(dummyReporterFile); - return toReadableStream(dummyReporter); - }); - - 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 checksum = await readFileAsync(checksumFile); - return toReadableStream(checksum); - }); - - 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 signature = await readFileAsync(signatureFile); - return toReadableStream(signature); - }); - - 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 publicKey = await readFileAsync(publicKeyFile); - return toReadableStream(publicKey); - }); - - sandbox.stub(utils, 'verifyChecksum').resolves(true); - sandbox.stub(utils, 'verifySignature').resolves(true); - - let capturedOutput = ''; - const stdHook = hookStd((text: string) => { - capturedOutput += text; - }); - - try { - await run({ - downloadUrl: 'http://localhost.test/dummy-cc-reporter', - executable: filePath, - coverageCommand: `${ECHO_CMD} 'coverage ok'`, - }); - stdHook.unhook(); - } catch (err) { - stdHook.unhook(); - // do nothing else, we expect this run command to fail. - } finally { - nock.cleanAll(); - } - - 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`, - PLATFORM === 'win32' - ? `::error::The process '${DEFAULT_WORKDIR}\\test.${EXE_EXT}' failed with exit code 69` - : `::error::The process '${DEFAULT_WORKDIR}/test.${EXE_EXT}' failed with exit code 69`, - '::error::🚨 CC Reporter before-build checkin failed!', - '', - ].join(EOL), - 'should correctly throw the error if the before-build step throws an error.', - ); - unlinkSync(filePath); - unlinkSync(`${filePath}.sha256`); - unlinkSync(`${filePath}.sha256.sig`); - unlinkSync('public-key.asc'); - nock.cleanAll(); - 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 dummyReporter = await readFileAsync(dummyReporterFile); - return toReadableStream(dummyReporter); - }); - - nock('http://localhost.test') - .get('/dummy-cc-reporter.sha256') - .reply(200, async () => { - const checksumFile = `./test/fixtures/dummy-cc-reporter-after-build-error.${EXE_EXT}.sha256`; - const checksum = await readFileAsync(checksumFile); - return toReadableStream(checksum); - }); - - 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 signature = await readFileAsync(signatureFile); - return toReadableStream(signature); - }); - - 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 publicKey = await readFileAsync(publicKeyFile); - return toReadableStream(publicKey); - }); - - sandbox.stub(utils, 'verifyChecksum').resolves(true); - sandbox.stub(utils, 'verifySignature').resolves(true); - - let capturedOutput = ''; - const stdHook = hookStd((text: string) => { - capturedOutput += text; - }); - - try { - await run({ - downloadUrl: 'http://localhost.test/dummy-cc-reporter', - executable: filePath, - coverageCommand: `${ECHO_CMD} 'coverage ok'`, - }); - stdHook.unhook(); - } catch (err) { - stdHook.unhook(); - // do nothing else, we expect this run command to fail. - } finally { - nock.cleanAll(); - } - - 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`, - '::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`, - PLATFORM === 'win32' - ? `::error::The process '${DEFAULT_WORKDIR}\\test.${EXE_EXT}' failed with exit code 69` - : `::error::The process '${DEFAULT_WORKDIR}/test.${EXE_EXT}' failed with exit code 69`, - '::error::🚨 CC Reporter after-build checkin failed!', - '', - ].join(EOL), - 'should correctly throw the error if the after-build step throws an error.', - ); - unlinkSync(filePath); - unlinkSync(`${filePath}.sha256`); - unlinkSync(`${filePath}.sha256.sig`); - unlinkSync('public-key.asc'); - nock.cleanAll(); - 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 dummyReporter = await readFileAsync(dummyReporterFile); - return toReadableStream(dummyReporter); - }); - - nock('http://localhost.test') - .get('/dummy-cc-reporter.sha256') - .reply(200, async () => { - const checksumFile = `./test/fixtures/dummy-cc-reporter.${EXE_EXT}.sha256`; - const checksum = await readFileAsync(checksumFile); - return toReadableStream(checksum); - }); - - 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 signature = await readFileAsync(signatureFile); - return toReadableStream(signature); - }); - - 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 publicKey = await readFileAsync(publicKeyFile); - return toReadableStream(publicKey); - }); - - sandbox.stub(utils, 'verifyChecksum').resolves(true); - sandbox.stub(utils, 'verifySignature').resolves(true); - - let capturedOutput = ''; - const stdHook = hookStd((text: string) => { - capturedOutput += text; - }); - - try { - await run({ - downloadUrl: 'http://localhost.test/dummy-cc-reporter', - executable: filePath, - coverageCommand: COVERAGE_COMMAND, - verifyDownload: 'false', - }); - stdHook.unhook(); - t.fail('Should throw an error.'); - } catch (err) { - stdHook.unhook(); - 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`, - 'before-build', - '::debug::✅ CC Reporter before-build checkin completed...', - PLATFORM === 'win32' - ? `::error::Unable to locate executable file: ${COVERAGE_COMMAND}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.` - : `::error::Unable to locate executable file: ${COVERAGE_COMMAND}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`, - '::error::🚨 Coverage run failed!', - '', - ].join(EOL), - 'should fail correctly on wrong/invalid coverage command.', - ); - } finally { - unlinkSync(filePath); - unlinkSync(`${filePath}.sha256`); - unlinkSync(`${filePath}.sha256.sig`); - unlinkSync('public-key.asc'); - 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/main.test.ts b/test/unit/main.test.ts new file mode 100644 index 00000000..45f942e2 --- /dev/null +++ b/test/unit/main.test.ts @@ -0,0 +1,846 @@ +import { + readFile, + realpath as realpathCallback, + unlinkSync, + writeFileSync, +} from 'node:fs'; +import { default as os, EOL, tmpdir } from 'node:os'; +import { dirname, join as joinPath } from 'node:path'; +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 which from 'which'; +import { + CODECLIMATE_GPG_PUBLIC_KEY_ID, + prepareEnv, + run, +} from '../../src/main.js'; +import * as utils from '../../src/utils.js'; + +/** + * Dev Notes + * + * 1. `stdHook.unhook()` is called at the end of both `try` and `catch` + * instead of once in `finally` specifically because the hook is still + * capturing stdout/stderr, and so if there's some error, it can still + * be printed on the screen. If the unhook method is moved to `finally`, + * it will capture, i.e. swallow and not print, error traces. + * */ + +const realpath = promisify(realpathCallback); +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' + : ('' as const); +// NOTE: We have to use `which` because although `echo` is in `/bin/echo` on most *nix systems, on rare occastions, it is in `/usr/bin/echo`. +const ECHO_CMD = + PLATFORM === 'win32' ? `${EXE_PATH_PREFIX} echo` : which.sync('echo'); + +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. + }); + + test('🧪 prepareEnv() should return envs as-is in the absence of any GitHub-related variables.', ({ + assert, + test, + }) => { + assert.plan(1); + test.teardown(() => sandbox.restore()); + const expected = { + HOME: '/home', + USER: 'gp', + PATH: '/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', + }; + 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()); + const mockEnv = { + HOME: '/home', + USER: 'gp', + PATH: '/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', + GIT_BRANCH: 'refs/heads/main', + }; + sandbox.stub(process, 'env').value(mockEnv); + const expected = { + ...mockEnv, + GIT_BRANCH: 'main', + }; + const output = prepareEnv(); + assert.deepEqual( + 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()); + const mockEnv = { + HOME: '/home', + USER: 'gp', + PATH: '/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', + GITHUB_SHA: '89cac89532a27123c44a8fd77c9f8f2ea5c02528', + GITHUB_REF: 'main', + }; + sandbox.stub(process, 'env').value(mockEnv); + const expected = { + ...mockEnv, + GIT_COMMIT_SHA: '89cac89532a27123c44a8fd77c9f8f2ea5c02528', + GIT_BRANCH: 'main', + }; + const output = prepareEnv(); + assert.deepEqual( + 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()); + const mockEnv = { + HOME: '/home', + USER: 'gp', + PATH: '/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', + GITHUB_EVENT_NAME: 'pull_request', + GITHUB_HEAD_REF: 'main', + }; + const mockCommitSHA = '89cac89532a27123c44a8fd77c9f8f2ea5c02528'; + + sandbox.stub(process, 'env').value(mockEnv); + sandbox + .stub(context, 'payload') + .value({ pull_request: { head: { sha: mockCommitSHA } } }); + + const expected = { + ...mockEnv, + GIT_COMMIT_SHA: mockCommitSHA, + GIT_BRANCH: 'main', + }; + + const output = prepareEnv(); + assert.deepEqual( + 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; + }); + + 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(); + } + + 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); + nock.cleanAll(); + }); + + test('🧪 run() should run the CC reporter without verification if configured.', 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; + }); + + 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(); + } + + assert.equal( + capturedOutput, + [ + '::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), + 'should execute all steps (except verification).', + ); + 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()); + 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; + }); + + try { + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + verifyDownload: 'false', + }); + stdHook.unhook(); + } catch (err) { + stdHook.unhook(); + assert.fail((err as Error).message); + } finally { + nock.cleanAll(); + } + + assert.equal( + capturedOutput, + [ + '::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...', + `ℹ️ 'coverageCommand' not set, so skipping building coverage report!`, + 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), + 'should execute all steps (except running the coverage command).', + ); + unlinkSync(filePath); + nock.cleanAll(); + }); + + test('🧪 run() should convert patterns to locations.', async ({ + assert, + test, + }) => { + assert.plan(3); + test.teardown(() => sandbox.restore()); + const globSpy = sandbox + .stub() + .resolves([ + joinPath(DEFAULT_WORKDIR, './file-a.lcov'), + joinPath(DEFAULT_WORKDIR, './file-b.lcov'), + ]); + sandbox.stub(glob, 'create').resolves({ + glob: globSpy, + getSearchPaths: sandbox.spy(), + globGenerator: sandbox.spy(), + }); + 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); + }); + + const filePattern = + PLATFORM === 'win32' + ? `${DEFAULT_WORKDIR}\\*.lcov:lcov` + : `${DEFAULT_WORKDIR}/*.lcov:lcov`; + const fileA = 'file-a.lcov' as const; + const fileB = 'file-b.lcov' as const; + + writeFileSync(fileA, 'file a content'); + writeFileSync(fileB, 'file b content'); + + let capturedOutput = ''; + const stdHook = hookStd((text: string) => { + capturedOutput += text; + }); + + try { + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + verifyDownload: 'false', + coverageLocationsParam: filePattern, + }); + stdHook.unhook(); + } catch (err) { + stdHook.unhook(); + assert.fail((err as Error).message); + } finally { + nock.cleanAll(); + } + + assert.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( + globSpy.calledOnceWithExactly(), + 'should get the paths of the files from the newly created globber instance.', + ); + assert.equal( + capturedOutput, + [ + '::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...', + `ℹ️ 'coverageCommand' not set, so skipping building coverage report!`, + PLATFORM === 'win32' + ? `::debug::Parsing 2 coverage location(s) — ${DEFAULT_WORKDIR}\\file-a.lcov:lcov,${DEFAULT_WORKDIR}\\file-b.lcov:lcov (object)` + : `::debug::Parsing 2 coverage location(s) — ${DEFAULT_WORKDIR}/file-a.lcov:lcov,${DEFAULT_WORKDIR}/file-b.lcov:lcov (object)`, + PLATFORM === 'win32' + ? `[command]${EXE_PATH_PREFIX} "${DEFAULT_WORKDIR}\\test.${EXE_EXT} format-coverage ${DEFAULT_WORKDIR}\\file-a.lcov -t lcov -o codeclimate.0.json"` + : `[command]${DEFAULT_WORKDIR}/test.${EXE_EXT} format-coverage ${DEFAULT_WORKDIR}/file-a.lcov -t lcov -o codeclimate.0.json`, + PLATFORM === 'win32' + ? `format-coverage ${DEFAULT_WORKDIR}\\file-a.lcov -t lcov -o codeclimate.0.json` + : `format-coverage ${DEFAULT_WORKDIR}/file-a.lcov -t lcov -o codeclimate.0.json`, + PLATFORM === 'win32' + ? `[command]${EXE_PATH_PREFIX} "${DEFAULT_WORKDIR}\\test.${EXE_EXT} format-coverage ${DEFAULT_WORKDIR}\\file-b.lcov -t lcov -o codeclimate.1.json"` + : `[command]${DEFAULT_WORKDIR}/test.${EXE_EXT} format-coverage ${DEFAULT_WORKDIR}/file-b.lcov -t lcov -o codeclimate.1.json`, + PLATFORM === 'win32' + ? `format-coverage ${DEFAULT_WORKDIR}\\file-b.lcov -t lcov -o codeclimate.1.json` + : `format-coverage ${DEFAULT_WORKDIR}/file-b.lcov -t lcov -o codeclimate.1.json`, + PLATFORM === 'win32' + ? `[command]${EXE_PATH_PREFIX} "${DEFAULT_WORKDIR}\\test.${EXE_EXT} sum-coverage codeclimate.0.json codeclimate.1.json -p 2 -o coverage.total.json"` + : `[command]${DEFAULT_WORKDIR}/test.${EXE_EXT} sum-coverage codeclimate.0.json codeclimate.1.json -p 2 -o coverage.total.json`, + 'sum-coverage codeclimate.0.json codeclimate.1.json -p 2 -o coverage.total.json', + PLATFORM === 'win32' + ? `[command]${EXE_PATH_PREFIX} "${DEFAULT_WORKDIR}\\test.${EXE_EXT} upload-coverage -i coverage.total.json"` + : `[command]${DEFAULT_WORKDIR}/test.${EXE_EXT} upload-coverage -i coverage.total.json`, + 'upload-coverage -i coverage.total.json', + '::debug::✅ CC Reporter upload coverage completed!', + '', + ].join(EOL), + 'should execute all steps (including uploading globbed coverage files).', + ); + unlinkSync(filePath); + 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}`; + nock('http://localhost.test') + .get('/dummy-cc-reporter') + .reply(200, async () => { + const dummyReporterFile = joinPath( + __DIRNAME, + `../fixtures/dummy-cc-reporter.${EXE_EXT}`, + ); + const dummyReporter = await readFileAsync(dummyReporterFile); + return intoStream(dummyReporter); + }); + + let capturedOutput = ''; + const stdHook = hookStd((text: string) => { + capturedOutput += text; + }); + + const CUSTOM_WORKDIR = await realpath(tmpdir()); + try { + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + coverageCommand: `${ECHO_CMD} 'coverage ok'`, + workingDirectory: CUSTOM_WORKDIR, + verifyDownload: 'false', + }); + stdHook.unhook(); + } catch (err) { + stdHook.unhook(); + assert.fail((err as Error).message); + } finally { + nock.cleanAll(); + } + + assert.equal( + capturedOutput, + [ + `::debug::Changing working directory to ${CUSTOM_WORKDIR}`, + '::debug::✅ Changing working directory completed...', + '::debug::ℹ️ Downloading CC Reporter from http://localhost.test/dummy-cc-reporter ...', + '::debug::✅ CC Reporter downloaded...', + PLATFORM === 'win32' + ? `[command]${EXE_PATH_PREFIX} ""${CUSTOM_WORKDIR}\\test.${EXE_EXT}" before-build"` + : `[command]${CUSTOM_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} ""${CUSTOM_WORKDIR}\\test.${EXE_EXT}" after-build --exit-code 0"` + : `[command]${CUSTOM_WORKDIR}/test.${EXE_EXT} after-build --exit-code 0`, + 'after-build --exit-code 0', + '::debug::✅ CC Reporter after-build checkin completed!', + '', + ].join(EOL), + 'should execute all steps when custom working directory is given.', + ); + 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()); + 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 dummyReporter = await readFileAsync(dummyReporterFile); + return intoStream(dummyReporter); + }); + + nock('http://localhost.test') + .get('/dummy-cc-reporter.sha256') + .reply(200, () => { + const dummyChecksum = 'lolno'; + return intoStream(dummyChecksum); + }); + + let capturedOutput = ''; + const stdHook = hookStd((text: string) => { + capturedOutput += text; + }); + + try { + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + coverageCommand: `${ECHO_CMD} 'coverage ok'`, + }); + assert.fail('should have thrown an error'); + stdHook.unhook(); + } catch (err) { + stdHook.unhook(); + // do nothing else, we expect this run command to fail. + } finally { + nock.cleanAll(); + } + + assert.equal( + capturedOutput, + [ + '::debug::ℹ️ Downloading CC Reporter from http://localhost.test/dummy-cc-reporter ...', + '::debug::✅ CC Reporter downloaded...', + '::debug::ℹ️ Verifying CC Reporter checksum...', + '::error::CC Reporter checksum does not match!', + '::error::🚨 CC Reporter checksum verfication failed!', + '', + ].join(EOL), + 'should correctly throw the error if the checksum verification fails.', + ); + 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()); + 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 dummyReporter = await readFileAsync(dummyReporterFile); + return intoStream(dummyReporter); + }); + + 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 checksum = await readFileAsync(checksumFile); + return intoStream(checksum); + }); + + 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 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 = + './test/fixtures/9BD9E2DD46DA965A537E5B0A5CBF320243B6FD85.asc'; + const publicKey = await readFileAsync(publicKeyFile); + return intoStream(publicKey); + }); + + sandbox.stub(utils, 'verifyChecksum').resolves(true); + sandbox.stub(utils, 'verifySignature').resolves(false); + + let capturedOutput = ''; + const stdHook = hookStd((text: string) => { + capturedOutput += text; + }); + + try { + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + coverageCommand: `${ECHO_CMD} 'coverage ok'`, + }); + stdHook.unhook(); + } catch (err) { + stdHook.unhook(); + // do nothing else, we expect this run command to fail. + } finally { + nock.cleanAll(); + } + + assert.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...', + '::error::CC Reporter GPG signature is invalid!', + '::error::🚨 CC Reporter GPG signature verfication failed!', + '', + ].join(EOL), + '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()); + 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 dummyReporter = await readFileAsync(dummyReporterFile); + return intoStream(dummyReporter); + }); + + let capturedOutput = ''; + const stdHook = hookStd((text: string) => { + capturedOutput += text; + }); + + 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(); + // do nothing else, we expect this run command to fail. + } finally { + nock.cleanAll(); + } + + assert.equal( + capturedOutput, + [ + '::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`, + PLATFORM === 'win32' + ? `::error::The process '${DEFAULT_WORKDIR}\\test.${EXE_EXT}' failed with exit code 69` + : `::error::The process '${DEFAULT_WORKDIR}/test.${EXE_EXT}' failed with exit code 69`, + '::error::🚨 CC Reporter before-build checkin failed!', + '', + ].join(EOL), + 'should correctly throw the error if the before-build step throws an error.', + ); + 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()); + 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 dummyReporter = await readFileAsync(dummyReporterFile); + return intoStream(dummyReporter); + }); + + let capturedOutput = ''; + const stdHook = hookStd((text: string) => { + capturedOutput += text; + }); + + 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(); + // do nothing else, we expect this run command to fail. + } finally { + nock.cleanAll(); + } + + assert.equal( + capturedOutput, + [ + '::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`, + '::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`, + PLATFORM === 'win32' + ? `::error::The process '${DEFAULT_WORKDIR}\\test.${EXE_EXT}' failed with exit code 69` + : `::error::The process '${DEFAULT_WORKDIR}/test.${EXE_EXT}' failed with exit code 69`, + '::error::🚨 CC Reporter after-build checkin failed!', + '', + ].join(EOL), + 'should correctly throw the error if the after-build step throws an error.', + ); + unlinkSync(filePath); + nock.cleanAll(); + }); + + test('🧪 run() should exit cleanly when the coverage command fails.', async ({ + assert, + test, + }) => { + assert.plan(1); + test.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 dummyReporter = await readFileAsync(dummyReporterFile); + return intoStream(dummyReporter); + }); + + let capturedOutput = ''; + const stdHook = hookStd((text: string) => { + capturedOutput += text; + }); + + try { + await run({ + downloadUrl: 'http://localhost.test/dummy-cc-reporter', + executable: filePath, + coverageCommand: COVERAGE_COMMAND, + verifyDownload: 'false', + }); + stdHook.unhook(); + assert.fail('Should throw an error.'); + } catch (err) { + stdHook.unhook(); + assert.equal( + capturedOutput, + [ + '::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...', + PLATFORM === 'win32' + ? `::error::Unable to locate executable file: ${COVERAGE_COMMAND}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.` + : `::error::Unable to locate executable file: ${COVERAGE_COMMAND}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`, + '::error::🚨 Coverage run failed!', + '', + ].join(EOL), + 'should fail correctly on wrong/invalid coverage command.', + ); + } finally { + unlinkSync(filePath); + nock.cleanAll(); + } + }); +}); diff --git a/test/unit/utils.test.ts b/test/unit/utils.test.ts new file mode 100644 index 00000000..a381c588 --- /dev/null +++ b/test/unit/utils.test.ts @@ -0,0 +1,134 @@ +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 deleted file mode 100644 index 70acecc5..00000000 --- a/test/utils.test.ts +++ /dev/null @@ -1,150 +0,0 @@ -import { stat as statCallback, unlinkSync } from 'node:fs'; -import { platform } from 'node:os'; -import { promisify } from 'node:util'; -import nock from 'nock'; -import t from 'tap'; -import toReadableStream from 'to-readable-stream'; -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 toReadableStream(`#!/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()}` - : undefined, - }, - 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()}` - : undefined, - }, - 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()}` - : undefined, - }, - 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.build.json b/tsconfig.build.json new file mode 100644 index 00000000..36d8b90f --- /dev/null +++ b/tsconfig.build.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": [ + "./tsconfig.json" + ], + "compilerOptions": { + "rootDir": "./src" + }, + "include": [ + "./src" + ] +} diff --git a/tsconfig.json b/tsconfig.json index 25d522d9..98424e07 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,13 +5,15 @@ "@tsconfig/strictest/tsconfig.json" ], "compilerOptions": { - "outDir": "./lib", /* Redirect output structure to the directory. */ - "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ - "rootDirs": ["./src", "./test"] /* List of root folders whose combined content represents the structure of the project at runtime. */ + "outDir": "./lib", + "rootDirs": [ + "./bin", + "./src", + "./test" + ], }, "exclude": [ - "node_modules", - "**/*.test.ts", - "coverage/" + "./coverage", + "./lib" ] } diff --git a/tsconfig.test.json b/tsconfig.test.json deleted file mode 100644 index 908e1c63..00000000 --- a/tsconfig.test.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "https://json.schemastore.org/tsconfig", - "extends": "./tsconfig.json", - "include": [ - "./test/*.test.ts" - ] -} From 4764b8be07fc7824bbc7df5df97322574c2d40f0 Mon Sep 17 00:00:00 2001 From: GP Date: Thu, 30 May 2024 11:57:17 +0530 Subject: [PATCH 14/30] chore: debug failing test on Windows --- test/unit/main.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit/main.test.ts b/test/unit/main.test.ts index 45f942e2..c88df76c 100644 --- a/test/unit/main.test.ts +++ b/test/unit/main.test.ts @@ -227,7 +227,7 @@ test.group('🫀 core unit tests', (g) => { ); unlinkSync(filePath); nock.cleanAll(); - }); + }).pin(); test('🧪 run() should run the CC reporter without verification if configured.', async ({ assert, From 5f0d00ab484dccad200fbc3ae91e9ceeef1860d9 Mon Sep 17 00:00:00 2001 From: GP Date: Thu, 30 May 2024 11:59:52 +0530 Subject: [PATCH 15/30] chore: revert 4764b8be07fc7824bbc7df5df97322574c2d40f0 --- test/unit/main.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit/main.test.ts b/test/unit/main.test.ts index c88df76c..45f942e2 100644 --- a/test/unit/main.test.ts +++ b/test/unit/main.test.ts @@ -227,7 +227,7 @@ test.group('🫀 core unit tests', (g) => { ); unlinkSync(filePath); nock.cleanAll(); - }).pin(); + }); test('🧪 run() should run the CC reporter without verification if configured.', async ({ assert, From 6e4b7d92f6d3a4e888cff079466fe674f1aed324 Mon Sep 17 00:00:00 2001 From: GP Date: Mon, 3 Jun 2024 13:25:02 +0530 Subject: [PATCH 16/30] chore: routine dep upgrades --- package.json | 4 ++-- pnpm-lock.yaml | 22 +++++++++++----------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 96c694e2..66334eed 100644 --- a/package.json +++ b/package.json @@ -46,10 +46,10 @@ "@openpgp/web-stream-tools": "0.1.1", "@tsconfig/node20": "20.1.4", "@tsconfig/strictest": "2.0.5", - "@types/node": "20.12.13", + "@types/node": "20.14.0", "@types/node-fetch": "2.6.11", "@types/sinon": "17.0.3", - "@types/which": "3.0.3", + "@types/which": "3.0.4", "c8": "9.1.0", "cross-env": "7.0.3", "into-stream": "8.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 67f78293..3b9b1080 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,8 +49,8 @@ importers: specifier: 2.0.5 version: 2.0.5 '@types/node': - specifier: 20.12.13 - version: 20.12.13 + specifier: 20.14.0 + version: 20.14.0 '@types/node-fetch': specifier: 2.6.11 version: 2.6.11 @@ -58,8 +58,8 @@ importers: specifier: 17.0.3 version: 17.0.3 '@types/which': - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.0.4 + version: 3.0.4 c8: specifier: 9.1.0 version: 9.1.0 @@ -368,8 +368,8 @@ packages: '@types/node-fetch@2.6.11': resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} - '@types/node@20.12.13': - resolution: {integrity: sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==} + '@types/node@20.14.0': + resolution: {integrity: sha512-5cHBxFGJx6L4s56Bubp4fglrEpmyJypsqI6RgzMfBHWUJQGWAAi8cWcgetEbZXHYXo9C2Fa4EEds/uSyS4cxmA==} '@types/sinon@17.0.3': resolution: {integrity: sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==} @@ -377,8 +377,8 @@ packages: '@types/sinonjs__fake-timers@8.1.5': resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} - '@types/which@3.0.3': - resolution: {integrity: sha512-2C1+XoY0huExTbs8MQv1DuS5FS86+SEjdM9F/+GS61gg5Hqbtj8ZiDSx8MfWcyei907fIPbfPGCOrNUTnVHY1g==} + '@types/which@3.0.4': + resolution: {integrity: sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==} '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} @@ -1909,10 +1909,10 @@ snapshots: '@types/node-fetch@2.6.11': dependencies: - '@types/node': 20.12.13 + '@types/node': 20.14.0 form-data: 4.0.0 - '@types/node@20.12.13': + '@types/node@20.14.0': dependencies: undici-types: 5.26.5 @@ -1922,7 +1922,7 @@ snapshots: '@types/sinonjs__fake-timers@8.1.5': {} - '@types/which@3.0.3': {} + '@types/which@3.0.4': {} '@types/yargs-parser@21.0.3': {} From 80e87d3b06b798756d868ca5224f0db214697646 Mon Sep 17 00:00:00 2001 From: GP Date: Tue, 4 Jun 2024 17:56:36 +0530 Subject: [PATCH 17/30] chore: upgrade deps --- package.json | 18 +++++------ pnpm-lock.yaml | 88 +++++++++++++++++++++++++------------------------- 2 files changed, 53 insertions(+), 53 deletions(-) diff --git a/package.json b/package.json index 66334eed..30287de0 100644 --- a/package.json +++ b/package.json @@ -5,18 +5,18 @@ "description": "Publish code coverage to Code Climate", "type": "module", "main": "lib/main.js", - "packageManager": "pnpm@9.1.3", + "packageManager": "pnpm@9.1.4", "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", - "biome:ci": "biome ci ./", - "format:check": "biome format ./", - "format": "biome format --write ./", - "lint:check": "biome lint ./", - "lint": "biome lint --apply ./", - "lint:unsafe": "biome lint --apply-unsafe ./" + "biome:ci": "biome ci", + "format:check": "biome format", + "format": "biome format --fix", + "lint:check": "biome lint", + "lint": "biome lint --fix", + "lint:unsafe": "biome lint --fix --unsafe ./" }, "repository": { "type": "git", @@ -40,13 +40,13 @@ "openpgp": "5.11.1" }, "devDependencies": { - "@biomejs/biome": "1.7.3", + "@biomejs/biome": "1.8.0", "@japa/assert": "3.0.0", "@japa/runner": "3.1.4", "@openpgp/web-stream-tools": "0.1.1", "@tsconfig/node20": "20.1.4", "@tsconfig/strictest": "2.0.5", - "@types/node": "20.14.0", + "@types/node": "20.14.1", "@types/node-fetch": "2.6.11", "@types/sinon": "17.0.3", "@types/which": "3.0.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3b9b1080..c35bd720 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,8 +31,8 @@ importers: version: 5.11.1 devDependencies: '@biomejs/biome': - specifier: 1.7.3 - version: 1.7.3 + 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) @@ -49,8 +49,8 @@ importers: specifier: 2.0.5 version: 2.0.5 '@types/node': - specifier: 20.14.0 - version: 20.14.0 + specifier: 20.14.1 + version: 20.14.1 '@types/node-fetch': specifier: 2.6.11 version: 2.6.11 @@ -123,55 +123,55 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@biomejs/biome@1.7.3': - resolution: {integrity: sha512-ogFQI+fpXftr+tiahA6bIXwZ7CSikygASdqMtH07J2cUzrpjyTMVc9Y97v23c7/tL1xCZhM+W9k4hYIBm7Q6cQ==} + '@biomejs/biome@1.8.0': + resolution: {integrity: sha512-34xcE2z8GWrIz1sCFEmlHT/+4d+SN7YOqqvzlAKXKvaWPRJ2/NUwxPbRsP01P9QODkQ5bvGvc9rpBihmP+7RJQ==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@1.7.3': - resolution: {integrity: sha512-eDvLQWmGRqrPIRY7AIrkPHkQ3visEItJKkPYSHCscSDdGvKzYjmBJwG1Gu8+QC5ed6R7eiU63LEC0APFBobmfQ==} + '@biomejs/cli-darwin-arm64@1.8.0': + resolution: {integrity: sha512-dBAYzfIJ1JmWigKlWourT3sJ3I60LZPjqNwwlsyFjiv5AV7vPeWlHVVIImV2BpINwNjZQhpXnwDfVnGS4vr7AA==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@1.7.3': - resolution: {integrity: sha512-JXCaIseKRER7dIURsVlAJacnm8SG5I0RpxZ4ya3dudASYUc68WGl4+FEN03ABY3KMIq7hcK1tzsJiWlmXyosZg==} + '@biomejs/cli-darwin-x64@1.8.0': + resolution: {integrity: sha512-ZTTSD0bP0nn9UpRDGQrQNTILcYSj+IkxTYr3CAV64DWBDtQBomlk2oVKWzDaA1LOhpAsTh0giLCbPJaVk2jfMQ==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@1.7.3': - resolution: {integrity: sha512-c8AlO45PNFZ1BYcwaKzdt46kYbuP6xPGuGQ6h4j3XiEDpyseRRUy/h+6gxj07XovmyxKnSX9GSZ6nVbZvcVUAw==} + '@biomejs/cli-linux-arm64-musl@1.8.0': + resolution: {integrity: sha512-+ee/pZWsvhDv6eRI00krRNSgAg8DKSxzOv3LUsCjto6N1VzqatTASeQv2HRfG1nitf79rRKM75LkMJbqEfiKww==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-arm64@1.7.3': - resolution: {integrity: sha512-phNTBpo7joDFastnmZsFjYcDYobLTx4qR4oPvc9tJ486Bd1SfEVPHEvJdNJrMwUQK56T+TRClOQd/8X1nnjA9w==} + '@biomejs/cli-linux-arm64@1.8.0': + resolution: {integrity: sha512-cx725jTlJS6dskvJJwwCQaaMRBKE2Qss7ukzmx27Rn/DXRxz6tnnBix4FUGPf1uZfwrERkiJlbWM05JWzpvvXg==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-x64-musl@1.7.3': - resolution: {integrity: sha512-UdEHKtYGWEX3eDmVWvQeT+z05T9/Sdt2+F/7zmMOFQ7boANeX8pcO6EkJPK3wxMudrApsNEKT26rzqK6sZRTRA==} + '@biomejs/cli-linux-x64-musl@1.8.0': + resolution: {integrity: sha512-VPA4ocrAOak50VYl8gOAVnjuFFDpIUolShntc/aWM0pZfSIMbRucxnrfUfp44EVwayxjK6ruJTR5xEWj93WvDA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-linux-x64@1.7.3': - resolution: {integrity: sha512-vnedYcd5p4keT3iD48oSKjOIRPYcjSNNbd8MO1bKo9ajg3GwQXZLAH+0Cvlr+eMsO67/HddWmscSQwTFrC/uPA==} + '@biomejs/cli-linux-x64@1.8.0': + resolution: {integrity: sha512-cmgmhlD4QUxMhL1VdaNqnB81xBHb3R7huVNyYnPYzP+AykZ7XqJbPd1KcWAszNjUk2AHdx0aLKEBwCOWemxb2g==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-win32-arm64@1.7.3': - resolution: {integrity: sha512-unNCDqUKjujYkkSxs7gFIfdasttbDC4+z0kYmcqzRk6yWVoQBL4dNLcCbdnJS+qvVDNdI9rHp2NwpQ0WAdla4Q==} + '@biomejs/cli-win32-arm64@1.8.0': + resolution: {integrity: sha512-J31spvlh39FfRHQacYXxJX9PvTCH/a8+2Jx9D1lxw+LSF0JybqZcw/4JrlFUWUl4kF3yv8AuYUK0sENScc3g9w==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@1.7.3': - resolution: {integrity: sha512-ZmByhbrnmz/UUFYB622CECwhKIPjJLLPr5zr3edhu04LzbfcOrz16VYeNq5dpO1ADG70FORhAJkaIGdaVBG00w==} + '@biomejs/cli-win32-x64@1.8.0': + resolution: {integrity: sha512-uPHHvu76JC1zYe9zZDcOU9PAg+1MZmPuNgWkb5jljaDeATvzLFPB+0nuJTilf603LXL+E8IdPQAO61Wy2VuEJA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -368,8 +368,8 @@ packages: '@types/node-fetch@2.6.11': resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} - '@types/node@20.14.0': - resolution: {integrity: sha512-5cHBxFGJx6L4s56Bubp4fglrEpmyJypsqI6RgzMfBHWUJQGWAAi8cWcgetEbZXHYXo9C2Fa4EEds/uSyS4cxmA==} + '@types/node@20.14.1': + resolution: {integrity: sha512-T2MzSGEu+ysB/FkWfqmhV3PLyQlowdptmmgD20C6QxsS8Fmv5SjpZ1ayXaEC0S21/h5UJ9iA6W/5vSNU5l00OA==} '@types/sinon@17.0.3': resolution: {integrity: sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==} @@ -1647,39 +1647,39 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} - '@biomejs/biome@1.7.3': + '@biomejs/biome@1.8.0': optionalDependencies: - '@biomejs/cli-darwin-arm64': 1.7.3 - '@biomejs/cli-darwin-x64': 1.7.3 - '@biomejs/cli-linux-arm64': 1.7.3 - '@biomejs/cli-linux-arm64-musl': 1.7.3 - '@biomejs/cli-linux-x64': 1.7.3 - '@biomejs/cli-linux-x64-musl': 1.7.3 - '@biomejs/cli-win32-arm64': 1.7.3 - '@biomejs/cli-win32-x64': 1.7.3 - - '@biomejs/cli-darwin-arm64@1.7.3': + '@biomejs/cli-darwin-arm64': 1.8.0 + '@biomejs/cli-darwin-x64': 1.8.0 + '@biomejs/cli-linux-arm64': 1.8.0 + '@biomejs/cli-linux-arm64-musl': 1.8.0 + '@biomejs/cli-linux-x64': 1.8.0 + '@biomejs/cli-linux-x64-musl': 1.8.0 + '@biomejs/cli-win32-arm64': 1.8.0 + '@biomejs/cli-win32-x64': 1.8.0 + + '@biomejs/cli-darwin-arm64@1.8.0': optional: true - '@biomejs/cli-darwin-x64@1.7.3': + '@biomejs/cli-darwin-x64@1.8.0': optional: true - '@biomejs/cli-linux-arm64-musl@1.7.3': + '@biomejs/cli-linux-arm64-musl@1.8.0': optional: true - '@biomejs/cli-linux-arm64@1.7.3': + '@biomejs/cli-linux-arm64@1.8.0': optional: true - '@biomejs/cli-linux-x64-musl@1.7.3': + '@biomejs/cli-linux-x64-musl@1.8.0': optional: true - '@biomejs/cli-linux-x64@1.7.3': + '@biomejs/cli-linux-x64@1.8.0': optional: true - '@biomejs/cli-win32-arm64@1.7.3': + '@biomejs/cli-win32-arm64@1.8.0': optional: true - '@biomejs/cli-win32-x64@1.7.3': + '@biomejs/cli-win32-x64@1.8.0': optional: true '@colors/colors@1.5.0': @@ -1909,10 +1909,10 @@ snapshots: '@types/node-fetch@2.6.11': dependencies: - '@types/node': 20.14.0 + '@types/node': 20.14.1 form-data: 4.0.0 - '@types/node@20.14.0': + '@types/node@20.14.1': dependencies: undici-types: 5.26.5 From 47793be72fdd16ec9d6b952bbfea93ab7dc86384 Mon Sep 17 00:00:00 2001 From: GP Date: Tue, 4 Jun 2024 18:26:45 +0530 Subject: [PATCH 18/30] fix(test): try fixing tests on Windows (maybe) --- bin/test.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bin/test.ts b/bin/test.ts index f7403145..b3287597 100644 --- a/bin/test.ts +++ b/bin/test.ts @@ -1,3 +1,5 @@ +import { platform } from 'node:os'; +import { pathToFileURL } from 'node:url'; import { assert } from '@japa/assert'; import { configure, processCLIArgs, run } from '@japa/runner'; @@ -14,6 +16,11 @@ configure({ }, ], plugins: [assert()], + importer: (filePath) => { + return platform() === 'win32' + ? import(pathToFileURL(filePath.toString()).href) + : import(filePath.toString()); + }, }); await run(); From e512c4b5755f6d61cf87b2fe714857fe91b4af88 Mon Sep 17 00:00:00 2001 From: GP Date: Tue, 4 Jun 2024 18:29:27 +0530 Subject: [PATCH 19/30] fix: revert 47793be --- bin/test.ts | 7 ------- 1 file changed, 7 deletions(-) diff --git a/bin/test.ts b/bin/test.ts index b3287597..f7403145 100644 --- a/bin/test.ts +++ b/bin/test.ts @@ -1,5 +1,3 @@ -import { platform } from 'node:os'; -import { pathToFileURL } from 'node:url'; import { assert } from '@japa/assert'; import { configure, processCLIArgs, run } from '@japa/runner'; @@ -16,11 +14,6 @@ configure({ }, ], plugins: [assert()], - importer: (filePath) => { - return platform() === 'win32' - ? import(pathToFileURL(filePath.toString()).href) - : import(filePath.toString()); - }, }); await run(); From 19034a0c630d64867d562ed7e06cab8149399e26 Mon Sep 17 00:00:00 2001 From: GP Date: Thu, 6 Jun 2024 12:15:48 +0530 Subject: [PATCH 20/30] fix: go back to tap because japa doesn't seem active See https://github.com/japa/runner/issues/41 --- .c8rc.json | 8 - .github/workflows/ci.yml | 2 +- .gitignore | 3 +- bin/test.ts | 19 - biome.json | 2 +- package.json | 23 +- pnpm-lock.yaml | 3468 +++++++++++--------- test/{integration => }/integration.test.ts | 31 +- test/{unit => }/main.test.ts | 542 +-- test/unit/utils.test.ts | 134 - test/utils.test.ts | 150 + tsconfig.json | 1 - 12 files changed, 2453 insertions(+), 1930 deletions(-) delete mode 100644 .c8rc.json delete mode 100644 bin/test.ts rename test/{integration => }/integration.test.ts (68%) rename test/{unit => }/main.test.ts (71%) delete mode 100644 test/unit/utils.test.ts create mode 100644 test/utils.test.ts 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" ], From cb821abe7dea969cd3f252f4ba8585b57951a3d2 Mon Sep 17 00:00:00 2001 From: GP Date: Thu, 6 Jun 2024 12:21:24 +0530 Subject: [PATCH 21/30] fix: incorrect references to __dirname --- test/main.test.ts | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/test/main.test.ts b/test/main.test.ts index 48cc412a..454612d2 100644 --- a/test/main.test.ts +++ b/test/main.test.ts @@ -35,7 +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 THIS_MODULE_DIRNAME = dirname(fileURLToPath(import.meta.url)); const EXE_PATH_PREFIX = PLATFORM === 'win32' ? 'C:\\Windows\\system32\\cmd.exe /D /S /C' @@ -163,7 +163,7 @@ t.test('🧪 run() should run the CC reporter (happy path).', async (t) => { .get('/dummy-cc-reporter') .reply(200, async () => { const dummyReporterFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, `../test/fixtures/dummy-cc-reporter.${EXE_EXT}`, ); const dummyReporter = await readFileAsync(dummyReporterFile); @@ -228,7 +228,7 @@ t.test( .get('/dummy-cc-reporter') .reply(200, async () => { const dummyReporterFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, `../test/fixtures/dummy-cc-reporter.${EXE_EXT}`, ); const dummyReporter = await readFileAsync(dummyReporterFile); @@ -293,7 +293,7 @@ t.test( .get('/dummy-cc-reporter') .reply(200, async () => { const dummyReporterFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, `../test/fixtures/dummy-cc-reporter.${EXE_EXT}`, ); const dummyReporter = await readFileAsync(dummyReporterFile); @@ -370,7 +370,7 @@ t.test( .get('/dummy-cc-reporter') .reply(200, async () => { const dummyReporterFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, `../test/fixtures/dummy-cc-reporter.${EXE_EXT}`, ); const dummyReporter = await readFileAsync(dummyReporterFile); @@ -381,7 +381,7 @@ t.test( .get('/dummy-cc-reporter.sha256') .reply(200, async () => { const checksumFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, `../test/fixtures/dummy-cc-reporter.${EXE_EXT}.sha256`, ); const checksum = await readFileAsync(checksumFile); @@ -392,7 +392,7 @@ t.test( .get('/dummy-cc-reporter.sha256.sig') .reply(200, async () => { const signatureFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, `../test/fixtures/dummy-cc-reporter.${EXE_EXT}.sha256.sig`, ); const signature = await readFileAsync(signatureFile); @@ -403,7 +403,7 @@ t.test( .get(`/vks/v1/by-fingerprint/${CODECLIMATE_GPG_PUBLIC_KEY_ID}`) .reply(200, async () => { const publicKeyFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, '../test/fixtures/9BD9E2DD46DA965A537E5B0A5CBF320243B6FD85.asc', ); const publicKey = await readFileAsync(publicKeyFile); @@ -516,7 +516,7 @@ t.test( .get('/dummy-cc-reporter') .reply(200, async () => { const dummyReporterFile = joinPath( - __dirname, + THIS_MODULE_DIRNAME, `./fixtures/dummy-cc-reporter.${EXE_EXT}`, ); const dummyReporter = await readFileAsync(dummyReporterFile); @@ -591,7 +591,7 @@ t.test( .get('/dummy-cc-reporter') .reply(200, async () => { const dummyReporterFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, `../test/fixtures/dummy-cc-reporter-before-build-error.${EXE_EXT}`, ); const dummyReporter = await readFileAsync(dummyReporterFile); @@ -658,7 +658,7 @@ t.test( .get('/dummy-cc-reporter') .reply(200, async () => { const dummyReporterFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, `../test/fixtures/dummy-cc-reporter-before-build-error.${EXE_EXT}`, ); const dummyReporter = await readFileAsync(dummyReporterFile); @@ -669,7 +669,7 @@ t.test( .get('/dummy-cc-reporter.sha256') .reply(200, async () => { const checksumFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, `../test/fixtures/dummy-cc-reporter-before-build-error.${EXE_EXT}`, ); const checksum = await readFileAsync(checksumFile); @@ -680,7 +680,7 @@ t.test( .get('/dummy-cc-reporter.sha256.sig') .reply(200, async () => { const signatureFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, `../test/fixtures/dummy-cc-reporter.${EXE_EXT}.sha256.sig`, ); const signature = await readFileAsync(signatureFile); @@ -691,7 +691,7 @@ t.test( .get(`/vks/v1/by-fingerprint/${CODECLIMATE_GPG_PUBLIC_KEY_ID}`) .reply(200, async () => { const publicKeyFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, '../test/fixtures/9BD9E2DD46DA965A537E5B0A5CBF320243B6FD85.asc', ); const publicKey = await readFileAsync(publicKeyFile); @@ -750,7 +750,7 @@ t.test( .get('/dummy-cc-reporter') .reply(200, async () => { const dummyReporterFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, `../test/fixtures/dummy-cc-reporter-before-build-error.${EXE_EXT}`, ); const dummyReporter = await readFileAsync(dummyReporterFile); @@ -761,7 +761,7 @@ t.test( .get('/dummy-cc-reporter.sha256') .reply(200, async () => { const checksumFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, `../test/fixtures/dummy-cc-reporter-before-build-error.${EXE_EXT}.sha256`, ); const checksum = await readFileAsync(checksumFile); @@ -820,7 +820,7 @@ t.test( .get('/dummy-cc-reporter') .reply(200, async () => { const dummyReporterFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, `../test/fixtures/dummy-cc-reporter-after-build-error.${EXE_EXT}`, ); const dummyReporter = await readFileAsync(dummyReporterFile); @@ -887,7 +887,7 @@ t.test( .get('/dummy-cc-reporter') .reply(200, async () => { const dummyReporterFile = joinPath( - __DIRNAME, + THIS_MODULE_DIRNAME, `../test/fixtures/dummy-cc-reporter.${EXE_EXT}`, ); const dummyReporter = await readFileAsync(dummyReporterFile); From 2c56dd7a402730d9a89f0d90eb6871710300c351 Mon Sep 17 00:00:00 2001 From: GP Date: Thu, 6 Jun 2024 12:23:11 +0530 Subject: [PATCH 22/30] chore: remove 'only' tests --- test/main.test.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/test/main.test.ts b/test/main.test.ts index 454612d2..b75488d3 100644 --- a/test/main.test.ts +++ b/test/main.test.ts @@ -507,11 +507,11 @@ t.test( ); t.test( - '🧪 run() should correctly switch the working directory if given.',{ only: true }, + '🧪 run() should correctly switch the working directory if given.', async (t) => { t.plan(1); t.teardown(() => sandbox.restore()); - + nock('http://localhost.test') .get('/dummy-cc-reporter') .reply(200, async () => { @@ -529,10 +529,7 @@ t.test( }); const CUSTOM_WORKDIR = await realpath(tmpdir()); - const filePath = joinPath( - CUSTOM_WORKDIR, - `./test.${EXE_EXT}` - ); + const filePath = joinPath(CUSTOM_WORKDIR, `./test.${EXE_EXT}`); try { await run({ From d99b041d9445249993e42c7091d3c36542347971 Mon Sep 17 00:00:00 2001 From: GP Date: Thu, 6 Jun 2024 15:55:22 +0530 Subject: [PATCH 23/30] fix: fix up last of the TS errors from tap API change --- test/integration.test.ts | 2 +- test/main.test.ts | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/test/integration.test.ts b/test/integration.test.ts index 9a61ed89..52c80c95 100644 --- a/test/integration.test.ts +++ b/test/integration.test.ts @@ -31,7 +31,7 @@ t.test( stdHook.unhook(); } catch (err) { stdHook.unhook(); - t.fail(err); + t.fail({ error: err }); } finally { for (const artifact of FILE_ARTIFACTS) { try { diff --git a/test/main.test.ts b/test/main.test.ts index b75488d3..71c5d56b 100644 --- a/test/main.test.ts +++ b/test/main.test.ts @@ -185,7 +185,7 @@ t.test('🧪 run() should run the CC reporter (happy path).', async (t) => { stdHook.unhook(); } catch (err) { stdHook.unhook(); - t.fail(err); + t.fail({ error: err }); } finally { nock.cleanAll(); } @@ -250,7 +250,7 @@ t.test( stdHook.unhook(); } catch (err) { stdHook.unhook(); - t.fail(err); + t.fail({ error: err }); } finally { nock.cleanAll(); } @@ -315,7 +315,7 @@ t.test( stdHook.unhook(); } catch (err) { stdHook.unhook(); - t.fail(err); + t.fail({ error: err }); } finally { nock.cleanAll(); } @@ -439,7 +439,7 @@ t.test( stdHook.unhook(); } catch (err) { stdHook.unhook(); - t.fail(err); + t.fail({ error: err }); } finally { nock.cleanAll(); } @@ -542,7 +542,7 @@ t.test( stdHook.unhook(); } catch (err) { stdHook.unhook(); - t.fail(err); + t.fail({ error: err }); } finally { nock.cleanAll(); } From 7c762f77e99d897e984f984234c34e61669804f1 Mon Sep 17 00:00:00 2001 From: GP Date: Fri, 7 Jun 2024 11:31:55 +0530 Subject: [PATCH 24/30] chore: dedicated .taprc file this helps keep package.json clean --- .taprc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .taprc diff --git a/.taprc b/.taprc new file mode 100644 index 00000000..b58e2f84 --- /dev/null +++ b/.taprc @@ -0,0 +1,15 @@ +plugin: + - "!@tapjs/typescript" + - "@tapjs/tsx" +browser: true +timeout: 30 +jobs: 6 +include: + - "**/*.test.ts" +exclude: + - "**/@(fixture*(s)|lib)/**" +snapshot-clean-cwd: true +color: true +reporter: base +coverage-report: + - text From 29920ea5c1a7729cf8c66ac92a479e0911d3165b Mon Sep 17 00:00:00 2001 From: GP Date: Fri, 7 Jun 2024 11:33:00 +0530 Subject: [PATCH 25/30] chore(deps): routine upgrade MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also follow advice from @isaacs – see https://github.com/tapjs/tapjs/issues/976 – and remove core package --- package.json | 10 +--------- pnpm-lock.yaml | 24 +++++++++--------------- 2 files changed, 10 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index 3da1fe07..baa01df4 100644 --- a/package.json +++ b/package.json @@ -43,8 +43,6 @@ "devDependencies": { "@biomejs/biome": "1.8.0", "@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", @@ -57,15 +55,9 @@ "into-stream": "8.0.1", "nock": "13.5.4", "sinon": "18.0.0", - "tap": "19.2.1", + "tap": "19.2.2", "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 08b78b84..e403240c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,12 +36,6 @@ importers: '@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)) @@ -79,8 +73,8 @@ importers: 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) + specifier: 19.2.2 + version: 19.2.2(@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) @@ -589,8 +583,8 @@ packages: peerDependencies: '@tapjs/core': 2.1.3 - '@tapjs/run@2.1.3': - resolution: {integrity: sha512-27O2AmOXnBBeVDH7hQMv/3tT9o3OiRk9gDn/Gib9HH7DuPrsXe+YRfb1R6FUfq6/AHTVOE9uEoFk7f9fDb5uHA==} + '@tapjs/run@2.1.4': + resolution: {integrity: sha512-Ba7HKqhYrEpQW3VzKAH4SXsL6CNPxvw+gBmKvC7dQZUkCa4qcsL7p6tsyUEltbNoxN+hr6MPhfS8bLBiJrH7ag==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true peerDependencies: @@ -1627,8 +1621,8 @@ packages: 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==} + tap@19.2.2: + resolution: {integrity: sha512-JE8wUIALTg0D3c14rZwK96ZBWUEp0qEh99AGjA6wN+yLEoRUF63kga+W8yaU2ZNXtGwj2jIm3dH/0KV8uPeHJA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true @@ -2315,7 +2309,7 @@ snapshots: - 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)': + '@tapjs/run@2.1.4(@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)) @@ -3456,7 +3450,7 @@ snapshots: 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): + tap@19.2.2(@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)) @@ -3470,7 +3464,7 @@ snapshots: '@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/run': 2.1.4(@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)) From fd5f683e09411d2e5a0fa28a5c67cd262c31c0d1 Mon Sep 17 00:00:00 2001 From: GP Date: Mon, 10 Jun 2024 17:53:38 +0530 Subject: [PATCH 26/30] chore: upgrade deps --- package.json | 4 +- pnpm-lock.yaml | 632 +++++++++++++++++++++++-------------------------- 2 files changed, 303 insertions(+), 333 deletions(-) diff --git a/package.json b/package.json index baa01df4..cf124af2 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "devDependencies": { "@biomejs/biome": "1.8.0", "@openpgp/web-stream-tools": "0.1.1", - "@tapjs/tsx": "1.1.29", + "@tapjs/tsx": "1.1.30", "@tsconfig/node20": "20.1.4", "@tsconfig/strictest": "2.0.5", "@types/node": "20.14.2", @@ -55,7 +55,7 @@ "into-stream": "8.0.1", "nock": "13.5.4", "sinon": "18.0.0", - "tap": "19.2.2", + "tap": "19.2.3", "tsimp": "2.0.11", "typescript": "5.4.5", "which": "4.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e403240c..4cd81238 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,8 +37,8 @@ importers: specifier: 0.1.1 version: 0.1.1(typescript@5.4.5) '@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)) + specifier: 1.1.30 + version: 1.1.30(@tapjs/core@2.1.4(@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 @@ -73,8 +73,8 @@ importers: specifier: 18.0.0 version: 18.0.0 tap: - specifier: 19.2.2 - version: 19.2.2(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5) + specifier: 19.2.3 + version: 19.2.3(@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) @@ -172,140 +172,140 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@esbuild/aix-ppc64@0.20.2': - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.20.2': - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} engines: {node: '>=12'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.20.2': - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} engines: {node: '>=12'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.20.2': - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} engines: {node: '>=12'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.20.2': - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.20.2': - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.20.2': - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.20.2': - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.20.2': - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.20.2': - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} engines: {node: '>=12'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.20.2': - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.20.2': - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.20.2': - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.20.2': - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.20.2': - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.20.2': - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.20.2': - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} engines: {node: '>=12'} cpu: [x64] os: [linux] - '@esbuild/netbsd-x64@0.20.2': - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-x64@0.20.2': - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.20.2': - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.20.2': - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.20.2': - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.20.2': - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -492,150 +492,150 @@ 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==} + '@tapjs/after-each@2.0.6': + resolution: {integrity: sha512-lnLGjymyE0aKoaqXUUgJCyGCTNk58hAB7fyL8lC8XucEiJomu/g7sV80alfwGadrVp+y/7ACti6C9dIdgvoDjw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/after@1.1.28': - resolution: {integrity: sha512-KzPXl5NcMXzA94O6r8vHALU9rHQbeYmqGoS34PGnBOOPvSdbQBt1uq1B2855Ab6G4y4d/VmgKdD8+ZvgRNjozg==} + '@tapjs/after@1.1.29': + resolution: {integrity: sha512-hprdKb/ctbCBWhMwhZVWBqAFZ3oPlTaxbv1KroY9pSxPYafC6xnZ9o3/td/qQx5ENX5QHQg09Iye54+aQ4IwoQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/asserts@2.0.5': - resolution: {integrity: sha512-3AzDwJvHY7mNwxhKOvf453rut67cytQ4iZtMUWycClz9M+PbZs38g++5dw/9IIP5z+lRGknxAYiy7eRLjGSCrw==} + '@tapjs/asserts@2.0.6': + resolution: {integrity: sha512-QF0r0YIsU8QzSinm8ozqjtTkf4BH6O21uYc/9pDfM+jAMrz30PVVpbPTfOTfce83evQoGktqurQ+DNy3nsKsrA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/before-each@2.0.5': - resolution: {integrity: sha512-KTbvxyRojSA1eaZQobvsHft/2hqAZRuZjYhLtrkqd4WYQb2O8dqYcQyxczHnKaJtQ4PcBnZQujy4zJQyRfSVDw==} + '@tapjs/before-each@2.0.6': + resolution: {integrity: sha512-a01SdBzSIewRSEFUwexLFf3QOtJelXO2lse14lyujnlowvgzNVoAAu8GB//i4yGxjS62SFi2q0hVQov9AQk23Q==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/before@2.0.5': - resolution: {integrity: sha512-HwhBK1dndpfJqBF/TS5n2QVrES4El0HJO34z7/Dn3syxEcbvMiAMjv0ljkGIfdIbbVYUAD3y89ExujvdZr+0PA==} + '@tapjs/before@2.0.6': + resolution: {integrity: sha512-ly7qqqCsIlUB16hCdD16LmMOezZaOodHCHnoBXUXx4l3NKJqcoepUOoKU45ZBSe/OMcEC7LJUqTx9aZJ3NSEYw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/chdir@1.1.1': - resolution: {integrity: sha512-dO6P5Jp/Cyta7tRRKjiBW/8uNgy2yTY70lF9i3ZAfJ9GMWp7/U8Q67uXNMB9x4KZK12xtoBkuk98/+Mmqlii+w==} + '@tapjs/chdir@1.1.2': + resolution: {integrity: sha512-nl1rFZgKB2E1dsnWZLxO1zARO8o+Seay27f6GPHdBH2JAa2vYse9yGbpQ2iaMxzXiinT0OLKkXlTWb+JN236Ew==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/config@3.1.3': - resolution: {integrity: sha512-j2afpa51YKCwFk+TCzeZGMTKW3ZODoqtDFJJkQUjtLb/1Df/hzC0/3upK/RMp088dRJG3sP1onXAQ5QkuB4s5w==} + '@tapjs/config@3.1.4': + resolution: {integrity: sha512-JjsV9NTbHFw+1378XPDJdf+VSOnPtASaUXPN6bQMBHtgsutH1h//C9I0Mv2PWT/lyn8jrRENsAv/CqrPwQK3yQ==} 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.4 + '@tapjs/test': 2.2.2 - '@tapjs/core@2.1.3': - resolution: {integrity: sha512-l5EdRizMGRBIqMZoOeLEE9FkTzhoih7xMf1LUOMHby9uE3v2FnSjcBxyKl7kuf/b+0d2dKeEs7BTO1IENXppcw==} + '@tapjs/core@2.1.4': + resolution: {integrity: sha512-7vU5yCWU5AsvpghrFddpNqH6Fa8PVWQp5ZWDYGjRpGE/S53kMJaR1cov3+xQKCHYOfGaiysLw08gfWEpahDGSw==} 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==} + '@tapjs/filter@2.0.6': + resolution: {integrity: sha512-bEEL6gBIHMYHIjGRJhh8KktAQNohnMhk+7M4m0mGxiDBt58EvTdFIDM1uqjeKPkozMiXZ6mTMja7eqZQKw6QZQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/fixture@2.0.5': - resolution: {integrity: sha512-f3DL2azD7FsNqtcSrQ/J0XArhMu/sFamF8LVnvWKKEMycNsjiTvJXf/kb30WMzDNLm3CkCtUmti6/M45CB4SBA==} + '@tapjs/fixture@2.0.6': + resolution: {integrity: sha512-mNH78TOjHq0VCnFKAgYcuH2AKGDpFomqBDgKPjCjm3qjFnzjmYakvfR97XoOD2WQRdrJvcyFqLjw+KZ0nB/R7w==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/intercept@2.0.5': - resolution: {integrity: sha512-WfxAR331dXRY35+A+DNvYkoGZhFOACrxnPbD/S9SqforgUPxlueL3/v3d3JtrZurG2z82qfyj6t0Dx/BSf05ag==} + '@tapjs/intercept@2.0.6': + resolution: {integrity: sha512-WVNiKvEvV43c7gOZAPnFKGKpjDSATtMWQnKlwekwD1+X8tBJYul+fcfXa9sOKg83saROEtzuQAStIvsxK93ZRQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/mock@2.1.3': - resolution: {integrity: sha512-qaBqUXHDfjHiZY7e0sRoqOys5SdaHmin3tqDfOlas2eWQabtBwMSvu4xDitVvJ11kGZZhU79LmhzU/iZsksbTg==} + '@tapjs/mock@2.1.4': + resolution: {integrity: sha512-mMlaVMG2bZ0Eg8rwPu5ltdlHQvOT6Vlizc7qcODoej9bKLnbT5n7Z9bLLL7mZluRLpZSSii4QGLT/Bw0SamRdw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/node-serialize@2.0.5': - resolution: {integrity: sha512-zCYuLBxKIMl5GeO4AFWw3Gr6Sm7E4YLIVdMv/YuLddKKFWz/h3nttS7vwe8dhj5tcEXbt8u9lpIHWLlgKFzp2A==} + '@tapjs/node-serialize@2.0.6': + resolution: {integrity: sha512-Mhw/aErjjAKvIwkTpJisawjzWJd7LpJV8XTtw+XxO347RhOwfOWlW+oDSV/ECm50y6BUM17r++EXlR7MCme0nQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 '@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==} + '@tapjs/reporter@2.0.6': + resolution: {integrity: sha512-eKhnUXQWpSAUP4HycqaFNeFINXHDrN69qa1fMADrxDapSQlsbpviPj8RIymu+pfLCURpPDd60KAIuNUiANMR3w==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/run@2.1.4': - resolution: {integrity: sha512-Ba7HKqhYrEpQW3VzKAH4SXsL6CNPxvw+gBmKvC7dQZUkCa4qcsL7p6tsyUEltbNoxN+hr6MPhfS8bLBiJrH7ag==} + '@tapjs/run@2.1.5': + resolution: {integrity: sha512-yJ967HqLUM6pLz+jvrUM78g0wptI+nfViyJkaQ+70o1JLyy4zozGI4135foM67Oqdw+qxJoUKYT6hnZ4A25dzQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/snapshot@2.0.5': - resolution: {integrity: sha512-POgktTGfO/rpBrmZ5TNk9Baikn81AnKADcQG7llo+8JEz6aNAslhVtT2Lc0O/bkHDn+rY/Jd4j0J5K9MUEdyNQ==} + '@tapjs/snapshot@2.0.6': + resolution: {integrity: sha512-j0mWw+obieLXa4CNZOH9WeB7n0UkrOzeBzERnyAJP3ov5SFxKBLrF+leyEVbSWQdQ6lo/k204eT4kaKu/ao1iw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/spawn@2.0.5': - resolution: {integrity: sha512-jndPELclb7AFF8jJYu/szUdMv28Z6w2dS2TJJl4e3v0v9NH8khQL9UsP2uk+NYfcwX7oe/w+G4/McpIE5Ml1eg==} + '@tapjs/spawn@2.0.6': + resolution: {integrity: sha512-U5UEXrvNALzL0i/1CA2L2S7azcNe7LDV2P9kyFlwq7g5mqnv6S0ovyC1h8lzuPbFmmfr5HPU8CRWASYpj0albg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 '@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==} + '@tapjs/stdin@2.0.6': + resolution: {integrity: sha512-8K19xb1PeDr2XNaNVHruG6bomsYdQkKPZn0CH1gr8reynj6240lOedKzNLGZUtWXLgwnjW1AL8fC2gI8uiG9pg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/test@2.2.1': - resolution: {integrity: sha512-hfnvwiyjn8o7DTVZ7TJRERx0xb/SRXvL6yMvda1c7R0FEKQ3ecLxtiHqHAhgoh/P8OvT7URB8e0gv8e3ZWTjRg==} + '@tapjs/test@2.2.2': + resolution: {integrity: sha512-5ChcnluDmAY/QgJ2ez60EB0+qm9T+8GKdg1iuefsPlhlbyAsrM8QOWDO/++RDkseAj509Dh2kPGhkSYYkxRuKw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/tsx@1.1.29': - resolution: {integrity: sha512-+8b0ugmxNb87mFeeYl43EffnxAYR5vNAXF6w7vmI+DOhLitUyWOuIfZ2sWL6rf5I2d6xRGnuZIjPS291OAZuag==} + '@tapjs/tsx@1.1.30': + resolution: {integrity: sha512-fQIw/gGWV1t966c/58iq6PphnybaQU7ykRoMQB59uSmuCr4V9iqEfpiIptMfrOWjfh/XJ1OfkvE6aCWSu2UOaQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/typescript@1.4.10': - resolution: {integrity: sha512-4IQcS81vNmvqxuwlFTN1v8dLHVpaC1uZH7Z/hj5xpnDMiIGjlxw63birFLCVrDRaAofOp58f4Q2/QwLTSBYgeg==} + '@tapjs/typescript@1.4.11': + resolution: {integrity: sha512-otzJQp3yW777vl9KL61xKczgNQ6RiOsUH4+W1YFevK+KRXSsfIh363Y1X8F2a+RnBPeEOo/vCpVYlnrDdFajdQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 - '@tapjs/worker@2.0.5': - resolution: {integrity: sha512-POniNB6pTX3+jof3GjbFhCYZtSTC7ZThISyXy8mVsEV/ujcz5t+i7DHu8CdNR3utMe84tIVkzRoZRVVhiYZ1HQ==} + '@tapjs/worker@2.0.6': + resolution: {integrity: sha512-fHTaXRALHsbk3sR7kr3XmK6O/W7WoI5tkn7yrCr52ze+nCNmDJ0msb9ETl5gozTknNAt3y1h99hV7VAJ7n4yZg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.3 + '@tapjs/core': 2.1.4 '@tsconfig/node14@14.1.2': resolution: {integrity: sha512-1vncsbfCZ3TBLPxesRYz02Rn7SNJfbLoDVkcZ7F/ixOV6nwxwgdhD1mdPcc5YQ413qBJ8CvMxXMFfJ7oawjo7Q==} @@ -759,8 +759,8 @@ packages: brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} c8@9.1.0: @@ -846,8 +846,8 @@ packages: resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} engines: {node: '>= 12'} - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -889,8 +889,8 @@ packages: err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} engines: {node: '>=12'} hasBin: true @@ -913,8 +913,8 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} find-up@5.0.0: @@ -969,11 +969,6 @@ packages: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - glob@10.3.15: - resolution: {integrity: sha512-0c6RlJt1TICLyvJYIApxb8GsXoai0KUP7AxKKAtsYXdgJR1mGEUa7DgwShbdk1nly0PYoZj01xd4hzbq3fsjpw==} - engines: {node: '>=16 || 14 >=14.18'} - hasBin: true - glob@10.4.1: resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} engines: {node: '>=16 || 14 >=14.18'} @@ -1130,12 +1125,8 @@ packages: resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} - jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} - - jackspeak@3.3.0: - resolution: {integrity: sha512-glPiBfKguqA7v8JsXO3iLjJWZ9FV1vNpoI0I9hI9Mnk5yetO9uPLSpiCEmiVijAssv2f54HpvtzvAHfhPieiDQ==} + jackspeak@3.4.0: + resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} engines: {node: '>=14'} js-tokens@4.0.0: @@ -1240,10 +1231,6 @@ packages: 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'} @@ -1621,8 +1608,8 @@ packages: resolution: {integrity: sha512-MWG4OpAKtNoNVjCz/BqlDJiwTM99tiHRhHPS4iGOe1ZS0CgM4jSFH92lthSFvvy4EdDjQZDV7uYqUFlU9JuNhw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - tap@19.2.2: - resolution: {integrity: sha512-JE8wUIALTg0D3c14rZwK96ZBWUEp0qEh99AGjA6wN+yLEoRUF63kga+W8yaU2ZNXtGwj2jIm3dH/0KV8uPeHJA==} + tap@19.2.3: + resolution: {integrity: sha512-5fpprQR0CVF7zLRKYZeYoIr1wJTKPx4XeexE6cqqWp3fjcm7oUFHGn6sULZ9vXMQYUMb/t+suqqeAHTKxOzj+g==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true @@ -1646,8 +1633,8 @@ packages: resolution: {integrity: sha512-iGbM7X2slv9ORDVj2y2FFUq3cP/ypbtu2nQ8S38ufjL0glBABvmR9pTdsib1XtS2LUhhLMbelaBUaf/s5J3dSw==} engines: {node: '>= 8'} - tshy@1.14.0: - resolution: {integrity: sha512-YiUujgi4Jb+t2I48LwSRzHkBpniH9WjjktNozn+nlsGmVemKSjDNY7EwBRPvPCr5zAC/3ITAYWH9Z7kUinGSrw==} + tshy@1.15.1: + resolution: {integrity: sha512-7p30vmXaNX7OL1yLy/MYUtO0SJOm9fQSnzk3DXaM+LmQosooCB4elVeHAGIIZdABhL2E8dx5t/5msR5lh0xnaQ==} engines: {node: 16 >=16.17 || 18 >=18.15.0 || >=20.6.1} hasBin: true @@ -1661,8 +1648,8 @@ packages: tslib@2.6.3: resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - tsx@4.11.2: - resolution: {integrity: sha512-V5DL5v1BuItjsQ2FN9+4OjR7n5cr8hSgN+VGmm/fd2/0cgQdBIWHcQ3bFYm/5ZTmyxkTDBUIaRuW2divgfPe0A==} + tsx@4.15.1: + resolution: {integrity: sha512-k/6h17jA1KfUR7SpcteOa880zGmF56s8gMIcSqUR5avyNFi9nlCEKpMiHLrzrqyARGr52A/JablmGey1DEWbCA==} engines: {node: '>=18.0.0'} hasBin: true @@ -1780,8 +1767,8 @@ packages: peerDependencies: yaml: ^2.3.0 - yaml@2.4.3: - resolution: {integrity: sha512-sntgmxj8o7DE7g/Qi60cqpLBA3HG3STcDA0kO+WfB05jEKhZMbY7umNm2rBpQvsmZ16/lPXCJGW2672dgOUkrg==} + yaml@2.4.5: + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} engines: {node: '>= 14'} hasBin: true @@ -1878,73 +1865,73 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@esbuild/aix-ppc64@0.20.2': + '@esbuild/aix-ppc64@0.21.5': optional: true - '@esbuild/android-arm64@0.20.2': + '@esbuild/android-arm64@0.21.5': optional: true - '@esbuild/android-arm@0.20.2': + '@esbuild/android-arm@0.21.5': optional: true - '@esbuild/android-x64@0.20.2': + '@esbuild/android-x64@0.21.5': optional: true - '@esbuild/darwin-arm64@0.20.2': + '@esbuild/darwin-arm64@0.21.5': optional: true - '@esbuild/darwin-x64@0.20.2': + '@esbuild/darwin-x64@0.21.5': optional: true - '@esbuild/freebsd-arm64@0.20.2': + '@esbuild/freebsd-arm64@0.21.5': optional: true - '@esbuild/freebsd-x64@0.20.2': + '@esbuild/freebsd-x64@0.21.5': optional: true - '@esbuild/linux-arm64@0.20.2': + '@esbuild/linux-arm64@0.21.5': optional: true - '@esbuild/linux-arm@0.20.2': + '@esbuild/linux-arm@0.21.5': optional: true - '@esbuild/linux-ia32@0.20.2': + '@esbuild/linux-ia32@0.21.5': optional: true - '@esbuild/linux-loong64@0.20.2': + '@esbuild/linux-loong64@0.21.5': optional: true - '@esbuild/linux-mips64el@0.20.2': + '@esbuild/linux-mips64el@0.21.5': optional: true - '@esbuild/linux-ppc64@0.20.2': + '@esbuild/linux-ppc64@0.21.5': optional: true - '@esbuild/linux-riscv64@0.20.2': + '@esbuild/linux-riscv64@0.21.5': optional: true - '@esbuild/linux-s390x@0.20.2': + '@esbuild/linux-s390x@0.21.5': optional: true - '@esbuild/linux-x64@0.20.2': + '@esbuild/linux-x64@0.21.5': optional: true - '@esbuild/netbsd-x64@0.20.2': + '@esbuild/netbsd-x64@0.21.5': optional: true - '@esbuild/openbsd-x64@0.20.2': + '@esbuild/openbsd-x64@0.21.5': optional: true - '@esbuild/sunos-x64@0.20.2': + '@esbuild/sunos-x64@0.21.5': optional: true - '@esbuild/win32-arm64@0.20.2': + '@esbuild/win32-arm64@0.21.5': optional: true - '@esbuild/win32-ia32@0.20.2': + '@esbuild/win32-ia32@0.21.5': optional: true - '@esbuild/win32-x64@0.20.2': + '@esbuild/win32-x64@0.21.5': optional: true '@fastify/busboy@2.1.1': {} @@ -2176,19 +2163,19 @@ snapshots: '@sinonjs/text-encoding@0.7.2': {} - '@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/after-each@2.0.6(@tapjs/core@2.1.4(@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/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) function-loop: 4.0.0 - '@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@1.1.29(@tapjs/core@2.1.4(@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/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) is-actual-promise: 1.0.2 - '@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/asserts@2.0.6(@tapjs/core@2.1.4(@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/core': 2.1.4(@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) @@ -2197,36 +2184,35 @@ snapshots: - react - react-dom - '@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/before-each@2.0.6(@tapjs/core@2.1.4(@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/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) function-loop: 4.0.0 - '@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@2.0.6(@tapjs/core@2.1.4(@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/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) is-actual-promise: 1.0.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))': + '@tapjs/chdir@1.1.2(@tapjs/core@2.1.4(@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/core': 2.1.4(@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/config@3.1.4(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.2(@tapjs/core@2.1.4(@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) + '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/test': 2.2.2(@tapjs/core@2.1.4(@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 + jackspeak: 3.4.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)': + '@tapjs/core@2.1.4(@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) + '@tapjs/test': 2.2.2(@tapjs/core@2.1.4(@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 @@ -2247,33 +2233,33 @@ snapshots: 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))': + '@tapjs/filter@2.0.6(@tapjs/core@2.1.4(@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/core': 2.1.4(@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/fixture@2.0.6(@tapjs/core@2.1.4(@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/core': 2.1.4(@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))': + '@tapjs/intercept@2.0.6(@tapjs/core@2.1.4(@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/after': 1.1.29(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.4(@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))': + '@tapjs/mock@2.1.4(@tapjs/core@2.1.4(@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/after': 1.1.29(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.4(@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))': + '@tapjs/node-serialize@2.0.6(@tapjs/core@2.1.4(@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/core': 2.1.4(@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 @@ -2285,10 +2271,10 @@ snapshots: 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))': + '@tapjs/reporter@2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.2(@tapjs/core@2.1.4(@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/config': 3.1.4(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.2(@tapjs/core@2.1.4(@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.4(@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) @@ -2309,17 +2295,17 @@ snapshots: - react-dom - utf-8-validate - '@tapjs/run@2.1.4(@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/run@2.1.5(@tapjs/core@2.1.4(@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/after': 1.1.29(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/before': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/config': 3.1.4(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.2(@tapjs/core@2.1.4(@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.4(@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) + '@tapjs/reporter': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.2(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/stdin': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/test': 2.2.2(@tapjs/core@2.1.4(@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 @@ -2351,9 +2337,9 @@ snapshots: - 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)': + '@tapjs/snapshot@2.0.6(@tapjs/core@2.1.4(@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/core': 2.1.4(@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 @@ -2361,45 +2347,45 @@ snapshots: - 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))': + '@tapjs/spawn@2.0.6(@tapjs/core@2.1.4(@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/core': 2.1.4(@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))': + '@tapjs/stdin@2.0.6(@tapjs/core@2.1.4(@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/core': 2.1.4(@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/test@2.2.2(@tapjs/core@2.1.4(@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)) + '@tapjs/after': 1.1.29(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/after-each': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/asserts': 2.0.6(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/before-each': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/chdir': 1.1.2(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/filter': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/fixture': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/intercept': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/mock': 2.1.4(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/node-serialize': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/snapshot': 2.0.6(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/stdin': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/typescript': 1.4.11(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@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 + jackspeak: 3.4.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 + tshy: 1.15.1 typescript: 5.4.5 walk-up-path: 3.0.1 transitivePeerDependencies: @@ -2409,24 +2395,24 @@ snapshots: - 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))': + '@tapjs/tsx@1.1.30(@tapjs/core@2.1.4(@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/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + tsx: 4.15.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/typescript@1.4.11(@tapjs/core@2.1.4(@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) + '@tapjs/core': 2.1.4(@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))': + '@tapjs/worker@2.0.6(@tapjs/core@2.1.4(@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/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tsconfig/node14@14.1.2': {} @@ -2472,7 +2458,7 @@ snapshots: agent-base@7.1.1: dependencies: - debug: 4.3.4 + debug: 4.3.5 transitivePeerDependencies: - supports-color @@ -2530,9 +2516,9 @@ snapshots: dependencies: balanced-match: 1.0.2 - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 c8@9.1.0: dependencies: @@ -2568,7 +2554,7 @@ snapshots: chokidar@3.6.0: dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -2632,7 +2618,7 @@ snapshots: data-uri-to-buffer@4.0.1: {} - debug@4.3.4: + debug@4.3.5: dependencies: ms: 2.1.2 @@ -2659,31 +2645,31 @@ snapshots: err-code@2.0.3: {} - esbuild@0.20.2: + esbuild@0.21.5: 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 + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 escalade@3.1.2: {} @@ -2698,7 +2684,7 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -2751,18 +2737,10 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@10.3.15: - dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.4 - minipass: 7.1.1 - path-scurry: 1.11.1 - glob@10.4.1: dependencies: foreground-child: 3.1.1 - jackspeak: 3.3.0 + jackspeak: 3.4.0 minimatch: 9.0.4 minipass: 7.1.2 path-scurry: 1.11.1 @@ -2797,14 +2775,14 @@ snapshots: http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 - debug: 4.3.4 + debug: 4.3.5 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.4: dependencies: agent-base: 7.1.1 - debug: 4.3.4 + debug: 4.3.5 transitivePeerDependencies: - supports-color @@ -2924,13 +2902,7 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - jackspeak@2.3.6: - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - - jackspeak@3.3.0: + jackspeak@3.4.0: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -3038,8 +3010,6 @@ snapshots: minipass@5.0.0: {} - minipass@7.1.1: {} - minipass@7.1.2: {} minizlib@2.1.2: @@ -3067,7 +3037,7 @@ snapshots: nock@13.5.4: dependencies: - debug: 4.3.4 + debug: 4.3.5 json-stringify-safe: 5.0.1 propagate: 2.0.1 transitivePeerDependencies: @@ -3213,7 +3183,7 @@ snapshots: path-scurry@1.11.1: dependencies: lru-cache: 10.2.2 - minipass: 7.1.1 + minipass: 7.1.2 path-to-regexp@6.2.2: {} @@ -3308,7 +3278,7 @@ snapshots: rimraf@5.0.7: dependencies: - glob: 10.3.15 + glob: 10.4.1 safer-buffer@2.1.2: {} @@ -3371,7 +3341,7 @@ snapshots: socks-proxy-agent@8.0.3: dependencies: agent-base: 7.1.1 - debug: 4.3.4 + debug: 4.3.5 socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -3447,30 +3417,30 @@ snapshots: tap-yaml@2.2.2: dependencies: - yaml: 2.4.3 - yaml-types: 0.3.0(yaml@2.4.3) - - tap@19.2.2(@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.4(@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)) + yaml: 2.4.5 + yaml-types: 0.3.0(yaml@2.4.5) + + tap@19.2.3(@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.29(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/after-each': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/asserts': 2.0.6(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/before-each': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/chdir': 1.1.2(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/filter': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/fixture': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/intercept': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/mock': 2.1.4(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/node-serialize': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/run': 2.1.5(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/stdin': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/test': 2.2.2(@tapjs/core@2.1.4(@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.11(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) resolve-import: 1.4.5 transitivePeerDependencies: - '@swc/core' @@ -3515,7 +3485,7 @@ snapshots: trivial-deferred@2.0.0: {} - tshy@1.14.0: + tshy@1.15.1: dependencies: chalk: 5.3.0 chokidar: 3.6.0 @@ -3544,9 +3514,9 @@ snapshots: tslib@2.6.3: {} - tsx@4.11.2: + tsx@4.15.1: dependencies: - esbuild: 0.20.2 + esbuild: 0.21.5 get-tsconfig: 4.7.5 optionalDependencies: fsevents: 2.3.3 @@ -3554,7 +3524,7 @@ snapshots: tuf-js@2.2.1: dependencies: '@tufjs/models': 2.0.1 - debug: 4.3.4 + debug: 4.3.5 make-fetch-happen: 13.0.1 transitivePeerDependencies: - supports-color @@ -3636,11 +3606,11 @@ snapshots: yallist@4.0.0: {} - yaml-types@0.3.0(yaml@2.4.3): + yaml-types@0.3.0(yaml@2.4.5): dependencies: - yaml: 2.4.3 + yaml: 2.4.5 - yaml@2.4.3: {} + yaml@2.4.5: {} yargs-parser@21.1.1: {} From e318ad8a2c4d76c257870e2555c933099786062c Mon Sep 17 00:00:00 2001 From: GP Date: Mon, 10 Jun 2024 18:22:10 +0530 Subject: [PATCH 27/30] docs: add notes for myself --- INTERNAL-NOTES.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 INTERNAL-NOTES.md diff --git a/INTERNAL-NOTES.md b/INTERNAL-NOTES.md new file mode 100644 index 00000000..7234abeb --- /dev/null +++ b/INTERNAL-NOTES.md @@ -0,0 +1,7 @@ +# Internal Notes + +## How to check for release version + +``` +pnpm dlx release-please release-pr --token="" --repo-url=paambaati/codeclimate-action --trace --dry-run +``` From 6228959fe53276749da2b8d8765e09786ffcb3df Mon Sep 17 00:00:00 2001 From: GP Date: Tue, 11 Jun 2024 14:07:49 +0530 Subject: [PATCH 28/30] chore(deps): routine upgrade --- package.json | 8 +- pnpm-lock.yaml | 437 ++++++++++++++++++++++++++----------------------- 2 files changed, 237 insertions(+), 208 deletions(-) diff --git a/package.json b/package.json index cf124af2..93677a1a 100644 --- a/package.json +++ b/package.json @@ -41,21 +41,21 @@ "openpgp": "5.11.1" }, "devDependencies": { - "@biomejs/biome": "1.8.0", + "@biomejs/biome": "1.8.1", "@openpgp/web-stream-tools": "0.1.1", - "@tapjs/tsx": "1.1.30", + "@tapjs/tsx": "1.1.31", "@tsconfig/node20": "20.1.4", "@tsconfig/strictest": "2.0.5", "@types/node": "20.14.2", "@types/node-fetch": "2.6.11", "@types/sinon": "17.0.3", "@types/which": "3.0.4", - "c8": "9.1.0", + "c8": "10.0.0", "cross-env": "7.0.3", "into-stream": "8.0.1", "nock": "13.5.4", "sinon": "18.0.0", - "tap": "19.2.3", + "tap": "19.2.4", "tsimp": "2.0.11", "typescript": "5.4.5", "which": "4.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4cd81238..ae038b2c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,14 +31,14 @@ importers: version: 5.11.1 devDependencies: '@biomejs/biome': - specifier: 1.8.0 - version: 1.8.0 + specifier: 1.8.1 + version: 1.8.1 '@openpgp/web-stream-tools': specifier: 0.1.1 version: 0.1.1(typescript@5.4.5) '@tapjs/tsx': - specifier: 1.1.30 - version: 1.1.30(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + specifier: 1.1.31 + version: 1.1.31(@tapjs/core@2.1.5(@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 @@ -58,8 +58,8 @@ importers: specifier: 3.0.4 version: 3.0.4 c8: - specifier: 9.1.0 - version: 9.1.0 + specifier: 10.0.0 + version: 10.0.0 cross-env: specifier: 7.0.3 version: 7.0.3 @@ -73,8 +73,8 @@ importers: specifier: 18.0.0 version: 18.0.0 tap: - specifier: 19.2.3 - version: 19.2.3(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5) + specifier: 19.2.4 + version: 19.2.4(@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) @@ -115,55 +115,55 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@biomejs/biome@1.8.0': - resolution: {integrity: sha512-34xcE2z8GWrIz1sCFEmlHT/+4d+SN7YOqqvzlAKXKvaWPRJ2/NUwxPbRsP01P9QODkQ5bvGvc9rpBihmP+7RJQ==} + '@biomejs/biome@1.8.1': + resolution: {integrity: sha512-fQXGfvq6DIXem12dGQCM2tNF+vsNHH1qs3C7WeOu75Pd0trduoTmoO7G4ntLJ2qDs5wuw981H+cxQhi1uHnAtA==} engines: {node: '>=14.21.3'} hasBin: true - '@biomejs/cli-darwin-arm64@1.8.0': - resolution: {integrity: sha512-dBAYzfIJ1JmWigKlWourT3sJ3I60LZPjqNwwlsyFjiv5AV7vPeWlHVVIImV2BpINwNjZQhpXnwDfVnGS4vr7AA==} + '@biomejs/cli-darwin-arm64@1.8.1': + resolution: {integrity: sha512-XLiB7Uu6GALIOBWzQ2aMD0ru4Ly5/qSeQF7kk3AabzJ/kwsEWSe33iVySBP/SS2qv25cgqNiLksjGcw2bHT3mw==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [darwin] - '@biomejs/cli-darwin-x64@1.8.0': - resolution: {integrity: sha512-ZTTSD0bP0nn9UpRDGQrQNTILcYSj+IkxTYr3CAV64DWBDtQBomlk2oVKWzDaA1LOhpAsTh0giLCbPJaVk2jfMQ==} + '@biomejs/cli-darwin-x64@1.8.1': + resolution: {integrity: sha512-uMTSxVLMfqkBVqyc25hSn83jBbp+wtWjzM/pHFlKXt3htJuw7FErVGW0nmQ9Sxa9vJ7GcqoltLMl28VQRIMYzg==} engines: {node: '>=14.21.3'} cpu: [x64] os: [darwin] - '@biomejs/cli-linux-arm64-musl@1.8.0': - resolution: {integrity: sha512-+ee/pZWsvhDv6eRI00krRNSgAg8DKSxzOv3LUsCjto6N1VzqatTASeQv2HRfG1nitf79rRKM75LkMJbqEfiKww==} + '@biomejs/cli-linux-arm64-musl@1.8.1': + resolution: {integrity: sha512-UQ8Wc01J0wQL+5AYOc7qkJn20B4PZmQL1KrmDZh7ot0DvD6aX4+8mmfd/dG5b6Zjo/44QvCKcvkFGCMRYuhWZA==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-arm64@1.8.0': - resolution: {integrity: sha512-cx725jTlJS6dskvJJwwCQaaMRBKE2Qss7ukzmx27Rn/DXRxz6tnnBix4FUGPf1uZfwrERkiJlbWM05JWzpvvXg==} + '@biomejs/cli-linux-arm64@1.8.1': + resolution: {integrity: sha512-3SzZRuC/9Oi2P2IBNPsEj0KXxSXUEYRR2kfRF/Ve8QAfGgrt4qnwuWd6QQKKN5R+oYH691qjm+cXBKEcrP1v/Q==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [linux] - '@biomejs/cli-linux-x64-musl@1.8.0': - resolution: {integrity: sha512-VPA4ocrAOak50VYl8gOAVnjuFFDpIUolShntc/aWM0pZfSIMbRucxnrfUfp44EVwayxjK6ruJTR5xEWj93WvDA==} + '@biomejs/cli-linux-x64-musl@1.8.1': + resolution: {integrity: sha512-fYbP/kNu/rtZ4kKzWVocIdqZOtBSUEg9qUhZaao3dy3CRzafR6u6KDtBeSCnt47O+iLnks1eOR1TUxzr5+QuqA==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-linux-x64@1.8.0': - resolution: {integrity: sha512-cmgmhlD4QUxMhL1VdaNqnB81xBHb3R7huVNyYnPYzP+AykZ7XqJbPd1KcWAszNjUk2AHdx0aLKEBwCOWemxb2g==} + '@biomejs/cli-linux-x64@1.8.1': + resolution: {integrity: sha512-AeBycVdNrTzsyYKEOtR2R0Ph0hCD0sCshcp2aOnfGP0hCZbtFg09D0SdKLbyzKntisY41HxKVrydYiaApp+2uw==} engines: {node: '>=14.21.3'} cpu: [x64] os: [linux] - '@biomejs/cli-win32-arm64@1.8.0': - resolution: {integrity: sha512-J31spvlh39FfRHQacYXxJX9PvTCH/a8+2Jx9D1lxw+LSF0JybqZcw/4JrlFUWUl4kF3yv8AuYUK0sENScc3g9w==} + '@biomejs/cli-win32-arm64@1.8.1': + resolution: {integrity: sha512-6tEd1H/iFKpgpE3OIB7oNgW5XkjiVMzMRPL8zYoZ036YfuJ5nMYm9eB9H/y81+8Z76vL48fiYzMPotJwukGPqQ==} engines: {node: '>=14.21.3'} cpu: [arm64] os: [win32] - '@biomejs/cli-win32-x64@1.8.0': - resolution: {integrity: sha512-uPHHvu76JC1zYe9zZDcOU9PAg+1MZmPuNgWkb5jljaDeATvzLFPB+0nuJTilf603LXL+E8IdPQAO61Wy2VuEJA==} + '@biomejs/cli-win32-x64@1.8.1': + resolution: {integrity: sha512-g2H31jJzYmS4jkvl6TiyEjEX+Nv79a5km/xn+5DARTp5MBFzC9gwceusSSB2AkJKqZzY131AiACAWjKrVt5Ijw==} engines: {node: '>=14.21.3'} cpu: [x64] os: [win32] @@ -492,150 +492,150 @@ packages: '@sinonjs/text-encoding@0.7.2': resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} - '@tapjs/after-each@2.0.6': - resolution: {integrity: sha512-lnLGjymyE0aKoaqXUUgJCyGCTNk58hAB7fyL8lC8XucEiJomu/g7sV80alfwGadrVp+y/7ACti6C9dIdgvoDjw==} + '@tapjs/after-each@2.0.7': + resolution: {integrity: sha512-q0SBhyN+KOWhQOxbQ3+WQSlObcG7XYhzrB5JyYDg4liZlUr0f3wAcw0C8VXxlpjkmPI75/wB2agkDfn3kKSe3w==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/after@1.1.29': - resolution: {integrity: sha512-hprdKb/ctbCBWhMwhZVWBqAFZ3oPlTaxbv1KroY9pSxPYafC6xnZ9o3/td/qQx5ENX5QHQg09Iye54+aQ4IwoQ==} + '@tapjs/after@1.1.30': + resolution: {integrity: sha512-Hjdbb1NtVMVB5BXTJ+1wzmE6WFx5ep0vd43G+VGv8Y/kSsJbLpPtczuhUfuDVl7t6xWYjnFpBrgm9ieI+vl04g==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/asserts@2.0.6': - resolution: {integrity: sha512-QF0r0YIsU8QzSinm8ozqjtTkf4BH6O21uYc/9pDfM+jAMrz30PVVpbPTfOTfce83evQoGktqurQ+DNy3nsKsrA==} + '@tapjs/asserts@2.0.7': + resolution: {integrity: sha512-RIm/KDKKBBSmYNI47xZf5wtTdIvHI9MEbl/LmtYJCWlEqh6uVjdGNpS3f0tXFMp65+9/UlATcEMJqpaC8G5paQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/before-each@2.0.6': - resolution: {integrity: sha512-a01SdBzSIewRSEFUwexLFf3QOtJelXO2lse14lyujnlowvgzNVoAAu8GB//i4yGxjS62SFi2q0hVQov9AQk23Q==} + '@tapjs/before-each@2.0.7': + resolution: {integrity: sha512-doQ/ZFufyr2B9V5YWYWQj0+CxIV4dKEK8pirzFurnuVciJCcdOqoPOiFN+pNgs6ZxZ+YX7DRtEKyNQ7r6HvtSg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/before@2.0.6': - resolution: {integrity: sha512-ly7qqqCsIlUB16hCdD16LmMOezZaOodHCHnoBXUXx4l3NKJqcoepUOoKU45ZBSe/OMcEC7LJUqTx9aZJ3NSEYw==} + '@tapjs/before@2.0.7': + resolution: {integrity: sha512-ZYPwY61gIfNBjgqeFNWm7WzPGH2iKRBl/hgMvlBIiewS7IMPktXmthfhP5I48HoMfYJz0Ey+FVs+nYXwWrTXbw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/chdir@1.1.2': - resolution: {integrity: sha512-nl1rFZgKB2E1dsnWZLxO1zARO8o+Seay27f6GPHdBH2JAa2vYse9yGbpQ2iaMxzXiinT0OLKkXlTWb+JN236Ew==} + '@tapjs/chdir@1.1.3': + resolution: {integrity: sha512-WjElL0UU0dGwEvtaUwhw4+sKj6f0L8J50pRWtiK0hqXldIGz3saQMNxjZgfWvokyiZIPFWxtdxpDHpoMnz4i3A==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/config@3.1.4': - resolution: {integrity: sha512-JjsV9NTbHFw+1378XPDJdf+VSOnPtASaUXPN6bQMBHtgsutH1h//C9I0Mv2PWT/lyn8jrRENsAv/CqrPwQK3yQ==} + '@tapjs/config@3.1.5': + resolution: {integrity: sha512-eIusvWwviuFeLbm794U6W81FnNTbOvBewpIBpYL+sdEofCXHBTNm8kIzncjI+4WwF0sZj0D2fJ/LN8A0goClbw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 - '@tapjs/test': 2.2.2 + '@tapjs/core': 2.1.5 + '@tapjs/test': 2.2.3 - '@tapjs/core@2.1.4': - resolution: {integrity: sha512-7vU5yCWU5AsvpghrFddpNqH6Fa8PVWQp5ZWDYGjRpGE/S53kMJaR1cov3+xQKCHYOfGaiysLw08gfWEpahDGSw==} + '@tapjs/core@2.1.5': + resolution: {integrity: sha512-s0WHh5ZzGCUbHe5XfapbBdv8EE2xsejrh97ALvKclcdZVYDK0dMl2fdBiVTF72hm1dyabeLYB0wzMGrnpoBe9Q==} 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.6': - resolution: {integrity: sha512-bEEL6gBIHMYHIjGRJhh8KktAQNohnMhk+7M4m0mGxiDBt58EvTdFIDM1uqjeKPkozMiXZ6mTMja7eqZQKw6QZQ==} + '@tapjs/filter@2.0.7': + resolution: {integrity: sha512-pH5Tbn7n/4r3hfQTsTpuzydcIQonM9cBALiRVMnWtaP2G0S8oDQNcoIxr5/NZy4tsyNo5H9FXp6BqVzOfgOV+g==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/fixture@2.0.6': - resolution: {integrity: sha512-mNH78TOjHq0VCnFKAgYcuH2AKGDpFomqBDgKPjCjm3qjFnzjmYakvfR97XoOD2WQRdrJvcyFqLjw+KZ0nB/R7w==} + '@tapjs/fixture@2.0.7': + resolution: {integrity: sha512-btDTBaqIjGKQ6kZJrbTT+h+chefiB4YI1quU2Vnjf/jkB2JxulAM+//OwIJhLBLtu3aaobyITdacJnP4gUa6xQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/intercept@2.0.6': - resolution: {integrity: sha512-WVNiKvEvV43c7gOZAPnFKGKpjDSATtMWQnKlwekwD1+X8tBJYul+fcfXa9sOKg83saROEtzuQAStIvsxK93ZRQ==} + '@tapjs/intercept@2.0.7': + resolution: {integrity: sha512-dRC15GMgBAFxscKal+x5b4V8Ss5pryCVvj6B3o65i0sH4CKkBqFuPPHpqEsnhKJztguIYLgtU3vx1mUhTeKgww==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/mock@2.1.4': - resolution: {integrity: sha512-mMlaVMG2bZ0Eg8rwPu5ltdlHQvOT6Vlizc7qcODoej9bKLnbT5n7Z9bLLL7mZluRLpZSSii4QGLT/Bw0SamRdw==} + '@tapjs/mock@2.1.5': + resolution: {integrity: sha512-x7u2fz71ThaEiZAGPtuIG0BkjpxIp0WknHFAwE9XEW+Z/o8KslMH7EdlZgffB8c3Cv4VHBtsACy+CX1vP53xZQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/node-serialize@2.0.6': - resolution: {integrity: sha512-Mhw/aErjjAKvIwkTpJisawjzWJd7LpJV8XTtw+XxO347RhOwfOWlW+oDSV/ECm50y6BUM17r++EXlR7MCme0nQ==} + '@tapjs/node-serialize@2.0.7': + resolution: {integrity: sha512-eYse85dsDozkELIIQfcAZ0Eu7HoLXepyIQlNYAGAD0RkG6SHA71NB6IpDgdNkglu3pzMEPW4LyqPDm2LyDzG4g==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 '@tapjs/processinfo@3.1.8': resolution: {integrity: sha512-FIriEB+qqArPhmVYc1PZwRHD99myRdl7C9Oe/uts04Q2LOxQ5MEmqP9XOP8vVYzpDOYwmL8OmL6eOYt9eZlQKQ==} engines: {node: '>=16.17'} - '@tapjs/reporter@2.0.6': - resolution: {integrity: sha512-eKhnUXQWpSAUP4HycqaFNeFINXHDrN69qa1fMADrxDapSQlsbpviPj8RIymu+pfLCURpPDd60KAIuNUiANMR3w==} + '@tapjs/reporter@2.0.7': + resolution: {integrity: sha512-3rradmTmoduKs57dNgpr8awxxRQQ04EElL8oaoqfmwLhbUCJJDruUUJ6w3777tGu8/TIG3yER2dtQjSSxZIYgw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/run@2.1.5': - resolution: {integrity: sha512-yJ967HqLUM6pLz+jvrUM78g0wptI+nfViyJkaQ+70o1JLyy4zozGI4135foM67Oqdw+qxJoUKYT6hnZ4A25dzQ==} + '@tapjs/run@2.1.6': + resolution: {integrity: sha512-DEhRoBOZSXV2EKuZpQ1mKvyMiOw96DYmU2t/thv8TGbvWNhFXL+pHRFds24jPEUMCo3lh6MBjy2+lxm+nMyd2A==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/snapshot@2.0.6': - resolution: {integrity: sha512-j0mWw+obieLXa4CNZOH9WeB7n0UkrOzeBzERnyAJP3ov5SFxKBLrF+leyEVbSWQdQ6lo/k204eT4kaKu/ao1iw==} + '@tapjs/snapshot@2.0.7': + resolution: {integrity: sha512-uAlPEGQRkCTgDSCOJu0oB5lf6dUNqryQT+ivniJAo8HRkRDVM/vIghKu/mMy+fwgJ+uCVKf6EhOYHme+IWHPMA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/spawn@2.0.6': - resolution: {integrity: sha512-U5UEXrvNALzL0i/1CA2L2S7azcNe7LDV2P9kyFlwq7g5mqnv6S0ovyC1h8lzuPbFmmfr5HPU8CRWASYpj0albg==} + '@tapjs/spawn@2.0.7': + resolution: {integrity: sha512-88YRMMWpKR+gtO/mpzDPuKH7WdVHa8P6DCTk5XfY4yvztcpiMZcMIuQa9De7nfWE7gdpMu3aA7Ovoq7YzsdspQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 '@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.6': - resolution: {integrity: sha512-8K19xb1PeDr2XNaNVHruG6bomsYdQkKPZn0CH1gr8reynj6240lOedKzNLGZUtWXLgwnjW1AL8fC2gI8uiG9pg==} + '@tapjs/stdin@2.0.7': + resolution: {integrity: sha512-uq73L2F9AnUqNbvkz90NTpTn2LZTOuf6MGkHRaHeIAEVy1LJm6A/ZNnNXQHK2KZ/gmTP/BNhbG/Uxcav+7zemg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/test@2.2.2': - resolution: {integrity: sha512-5ChcnluDmAY/QgJ2ez60EB0+qm9T+8GKdg1iuefsPlhlbyAsrM8QOWDO/++RDkseAj509Dh2kPGhkSYYkxRuKw==} + '@tapjs/test@2.2.3': + resolution: {integrity: sha512-iJqJXt3PuCI169QcKSNAuQJsXCDg6O9NhY/z4i0/6zNeZd8LZ1Dtn4bSwg0lv28yO2UR3hcJ2/8j8MNNJLyl6w==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/tsx@1.1.30': - resolution: {integrity: sha512-fQIw/gGWV1t966c/58iq6PphnybaQU7ykRoMQB59uSmuCr4V9iqEfpiIptMfrOWjfh/XJ1OfkvE6aCWSu2UOaQ==} + '@tapjs/tsx@1.1.31': + resolution: {integrity: sha512-kjJ63UMG5DWR9wx0CAMhRy82NPP7qCMGs/jlz65iabfb8iQH0Ao138y928lyxHBqoS0OW5jBaQzCD1U+ke8D+A==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/typescript@1.4.11': - resolution: {integrity: sha512-otzJQp3yW777vl9KL61xKczgNQ6RiOsUH4+W1YFevK+KRXSsfIh363Y1X8F2a+RnBPeEOo/vCpVYlnrDdFajdQ==} + '@tapjs/typescript@1.4.12': + resolution: {integrity: sha512-pDIZfpiW2rer7ri6Ug8qqlxBv048JKuZKEkAj4Na+fGzkH48dHDtj95M4fokpuMhJqD4Nef0PdKZug5UED0CIA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 - '@tapjs/worker@2.0.6': - resolution: {integrity: sha512-fHTaXRALHsbk3sR7kr3XmK6O/W7WoI5tkn7yrCr52ze+nCNmDJ0msb9ETl5gozTknNAt3y1h99hV7VAJ7n4yZg==} + '@tapjs/worker@2.0.7': + resolution: {integrity: sha512-wJ7UFi9x+96O3ogssrptNyz90zHoNrON6ZQshVqWuY066pyVimw/dcqx0tNcQ/iZqBJXNcwVYQ6RJy1/+0G38w==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.4 + '@tapjs/core': 2.1.5 '@tsconfig/node14@14.1.2': resolution: {integrity: sha512-1vncsbfCZ3TBLPxesRYz02Rn7SNJfbLoDVkcZ7F/ixOV6nwxwgdhD1mdPcc5YQ413qBJ8CvMxXMFfJ7oawjo7Q==} @@ -763,6 +763,11 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} + c8@10.0.0: + resolution: {integrity: sha512-rdQecjxw16P8kwgMBjruaQyfF+R2o/mucCCK4VPktwq2HFMWLOHGyUasb46+WlUOVJX94d6dZolcJxzjCzWmXg==} + engines: {node: '>=18'} + hasBin: true + c8@9.1.0: resolution: {integrity: sha512-mBWcT5iqNir1zIkzSPyI3NCR9EZCVI3WUD+AVO17MVWTSFNyUueXE82qTeampNtTr+ilN/5Ua3j24LgbCKjDVg==} engines: {node: '>=14.14.0'} @@ -1608,8 +1613,8 @@ packages: resolution: {integrity: sha512-MWG4OpAKtNoNVjCz/BqlDJiwTM99tiHRhHPS4iGOe1ZS0CgM4jSFH92lthSFvvy4EdDjQZDV7uYqUFlU9JuNhw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - tap@19.2.3: - resolution: {integrity: sha512-5fpprQR0CVF7zLRKYZeYoIr1wJTKPx4XeexE6cqqWp3fjcm7oUFHGn6sULZ9vXMQYUMb/t+suqqeAHTKxOzj+g==} + tap@19.2.4: + resolution: {integrity: sha512-rH2HlRPbCpSFgKWo4mjhkPByZIzeW1PJIAZRNZs43V3sJbxyHyMYg69KZDXbyWNG9Hf65OQI6/O5x1A+kKdWzQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true @@ -1625,6 +1630,10 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} + test-exclude@7.0.1: + resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} + engines: {node: '>=18'} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -1826,39 +1835,39 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} - '@biomejs/biome@1.8.0': + '@biomejs/biome@1.8.1': optionalDependencies: - '@biomejs/cli-darwin-arm64': 1.8.0 - '@biomejs/cli-darwin-x64': 1.8.0 - '@biomejs/cli-linux-arm64': 1.8.0 - '@biomejs/cli-linux-arm64-musl': 1.8.0 - '@biomejs/cli-linux-x64': 1.8.0 - '@biomejs/cli-linux-x64-musl': 1.8.0 - '@biomejs/cli-win32-arm64': 1.8.0 - '@biomejs/cli-win32-x64': 1.8.0 - - '@biomejs/cli-darwin-arm64@1.8.0': + '@biomejs/cli-darwin-arm64': 1.8.1 + '@biomejs/cli-darwin-x64': 1.8.1 + '@biomejs/cli-linux-arm64': 1.8.1 + '@biomejs/cli-linux-arm64-musl': 1.8.1 + '@biomejs/cli-linux-x64': 1.8.1 + '@biomejs/cli-linux-x64-musl': 1.8.1 + '@biomejs/cli-win32-arm64': 1.8.1 + '@biomejs/cli-win32-x64': 1.8.1 + + '@biomejs/cli-darwin-arm64@1.8.1': optional: true - '@biomejs/cli-darwin-x64@1.8.0': + '@biomejs/cli-darwin-x64@1.8.1': optional: true - '@biomejs/cli-linux-arm64-musl@1.8.0': + '@biomejs/cli-linux-arm64-musl@1.8.1': optional: true - '@biomejs/cli-linux-arm64@1.8.0': + '@biomejs/cli-linux-arm64@1.8.1': optional: true - '@biomejs/cli-linux-x64-musl@1.8.0': + '@biomejs/cli-linux-x64-musl@1.8.1': optional: true - '@biomejs/cli-linux-x64@1.8.0': + '@biomejs/cli-linux-x64@1.8.1': optional: true - '@biomejs/cli-win32-arm64@1.8.0': + '@biomejs/cli-win32-arm64@1.8.1': optional: true - '@biomejs/cli-win32-x64@1.8.0': + '@biomejs/cli-win32-x64@1.8.1': optional: true '@cspotcode/source-map-support@0.8.1': @@ -2163,19 +2172,19 @@ snapshots: '@sinonjs/text-encoding@0.7.2': {} - '@tapjs/after-each@2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/after-each@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) function-loop: 4.0.0 - '@tapjs/after@1.1.29(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/after@1.1.30(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) is-actual-promise: 1.0.2 - '@tapjs/asserts@2.0.6(@tapjs/core@2.1.4(@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/asserts@2.0.7(@tapjs/core@2.1.5(@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.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.5(@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) @@ -2184,35 +2193,35 @@ snapshots: - react - react-dom - '@tapjs/before-each@2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/before-each@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) function-loop: 4.0.0 - '@tapjs/before@2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/before@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) is-actual-promise: 1.0.2 - '@tapjs/chdir@1.1.2(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/chdir@1.1.3(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tapjs/config@3.1.4(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.2(@tapjs/core@2.1.4(@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/config@3.1.5(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.3(@tapjs/core@2.1.5(@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.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tapjs/test': 2.2.2(@tapjs/core@2.1.4(@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.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/test': 2.2.3(@tapjs/core@2.1.5(@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.4.0 polite-json: 4.0.1 tap-yaml: 2.2.2 walk-up-path: 3.0.1 - '@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tapjs/core@2.1.5(@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.2(@tapjs/core@2.1.4(@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/test': 2.2.3(@tapjs/core@2.1.5(@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 @@ -2233,33 +2242,33 @@ snapshots: dependencies: minipass: 7.1.2 - '@tapjs/filter@2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/filter@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tapjs/fixture@2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/fixture@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.5(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/intercept@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/after': 1.1.29(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/after': 1.1.30(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.5(@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.4(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/mock@2.1.5(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/after': 1.1.29(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/after': 1.1.30(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.5(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/node-serialize@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.5(@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 @@ -2271,10 +2280,10 @@ snapshots: signal-exit: 4.1.0 uuid: 8.3.2 - '@tapjs/reporter@2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.2(@tapjs/core@2.1.4(@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/reporter@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.3(@tapjs/core@2.1.5(@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.4(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.2(@tapjs/core@2.1.4(@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.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/config': 3.1.5(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.3(@tapjs/core@2.1.5(@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.5(@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) @@ -2295,17 +2304,17 @@ snapshots: - react-dom - utf-8-validate - '@tapjs/run@2.1.5(@tapjs/core@2.1.4(@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/run@2.1.6(@tapjs/core@2.1.5(@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.29(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/before': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/config': 3.1.4(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.2(@tapjs/core@2.1.4(@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.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/after': 1.1.30(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/before': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/config': 3.1.5(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.3(@tapjs/core@2.1.5(@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.5(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.2(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/stdin': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/test': 2.2.2(@tapjs/core@2.1.4(@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/reporter': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.3(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/stdin': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/test': 2.2.3(@tapjs/core@2.1.5(@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 @@ -2337,9 +2346,9 @@ snapshots: - supports-color - utf-8-validate - '@tapjs/snapshot@2.0.6(@tapjs/core@2.1.4(@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/snapshot@2.0.7(@tapjs/core@2.1.5(@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.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.5(@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 @@ -2347,36 +2356,36 @@ snapshots: - react - react-dom - '@tapjs/spawn@2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/spawn@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.5(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/stdin@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tapjs/test@2.2.2(@tapjs/core@2.1.4(@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/test@2.2.3(@tapjs/core@2.1.5(@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.29(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/after-each': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/asserts': 2.0.6(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/before-each': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/chdir': 1.1.2(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tapjs/filter': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/fixture': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/intercept': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/mock': 2.1.4(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/node-serialize': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/snapshot': 2.0.6(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/stdin': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/typescript': 1.4.11(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/after': 1.1.30(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/after-each': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/asserts': 2.0.7(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/before-each': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/chdir': 1.1.3(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/filter': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/fixture': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/intercept': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/mock': 2.1.5(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/node-serialize': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/snapshot': 2.0.7(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/stdin': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/typescript': 1.4.12(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) glob: 10.4.1 jackspeak: 3.4.0 mkdirp: 3.0.1 @@ -2395,24 +2404,24 @@ snapshots: - react - react-dom - '@tapjs/tsx@1.1.30(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/tsx@1.1.31(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tsx: 4.15.1 - '@tapjs/typescript@1.4.11(@tapjs/core@2.1.4(@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/typescript@1.4.12(@tapjs/core@2.1.5(@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.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.5(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/worker@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tsconfig/node14@14.1.2': {} @@ -2520,6 +2529,20 @@ snapshots: dependencies: fill-range: 7.1.1 + c8@10.0.0: + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@istanbuljs/schema': 0.1.3 + find-up: 5.0.0 + foreground-child: 3.1.1 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-reports: 3.1.7 + test-exclude: 7.0.1 + v8-to-istanbul: 9.2.0 + yargs: 17.7.2 + yargs-parser: 21.1.1 + c8@9.1.0: dependencies: '@bcoe/v8-coverage': 0.2.3 @@ -3420,27 +3443,27 @@ snapshots: yaml: 2.4.5 yaml-types: 0.3.0(yaml@2.4.5) - tap@19.2.3(@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.29(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/after-each': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/asserts': 2.0.6(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/before-each': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/chdir': 1.1.2(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/core': 2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tapjs/filter': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/fixture': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/intercept': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/mock': 2.1.4(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/node-serialize': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/run': 2.1.5(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/stdin': 2.0.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/test': 2.2.2(@tapjs/core@2.1.4(@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.11(@tapjs/core@2.1.4(@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.6(@tapjs/core@2.1.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + tap@19.2.4(@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.30(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/after-each': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/asserts': 2.0.7(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/before-each': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/chdir': 1.1.3(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/filter': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/fixture': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/intercept': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/mock': 2.1.5(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/node-serialize': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/run': 2.1.6(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/stdin': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/test': 2.2.3(@tapjs/core@2.1.5(@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.12(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) resolve-import: 1.4.5 transitivePeerDependencies: - '@swc/core' @@ -3479,6 +3502,12 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 + test-exclude@7.0.1: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 10.4.1 + minimatch: 9.0.4 + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 From 3786335fe0115293d7043b3f5bf91532b5612de0 Mon Sep 17 00:00:00 2001 From: GP Date: Wed, 12 Jun 2024 11:29:53 +0530 Subject: [PATCH 29/30] chore(deps): upgrade to tap to fix https://github.com/tapjs/tapjs/pull/1032 --- package.json | 8 +- pnpm-lock.yaml | 338 ++++++++++++++++++++++++------------------------- 2 files changed, 173 insertions(+), 173 deletions(-) diff --git a/package.json b/package.json index 93677a1a..648826ee 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "description": "Publish code coverage to Code Climate", "type": "module", "main": "lib/main.js", - "packageManager": "pnpm@9.2.0", + "packageManager": "pnpm@9.3.0", "scripts": { "build": "tsc -p tsconfig.build.json", "test": "cross-env NODE_OPTIONS=\"--no-warnings\" tap run --disable-coverage", @@ -43,19 +43,19 @@ "devDependencies": { "@biomejs/biome": "1.8.1", "@openpgp/web-stream-tools": "0.1.1", - "@tapjs/tsx": "1.1.31", + "@tapjs/tsx": "1.1.32", "@tsconfig/node20": "20.1.4", "@tsconfig/strictest": "2.0.5", "@types/node": "20.14.2", "@types/node-fetch": "2.6.11", "@types/sinon": "17.0.3", "@types/which": "3.0.4", - "c8": "10.0.0", + "c8": "10.1.1", "cross-env": "7.0.3", "into-stream": "8.0.1", "nock": "13.5.4", "sinon": "18.0.0", - "tap": "19.2.4", + "tap": "19.2.5", "tsimp": "2.0.11", "typescript": "5.4.5", "which": "4.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ae038b2c..a14142da 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,8 +37,8 @@ importers: specifier: 0.1.1 version: 0.1.1(typescript@5.4.5) '@tapjs/tsx': - specifier: 1.1.31 - version: 1.1.31(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + specifier: 1.1.32 + version: 1.1.32(@tapjs/core@2.1.6(@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 @@ -58,8 +58,8 @@ importers: specifier: 3.0.4 version: 3.0.4 c8: - specifier: 10.0.0 - version: 10.0.0 + specifier: 10.1.1 + version: 10.1.1 cross-env: specifier: 7.0.3 version: 7.0.3 @@ -73,8 +73,8 @@ importers: specifier: 18.0.0 version: 18.0.0 tap: - specifier: 19.2.4 - version: 19.2.4(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.4.5) + specifier: 19.2.5 + version: 19.2.5(@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) @@ -492,150 +492,150 @@ packages: '@sinonjs/text-encoding@0.7.2': resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} - '@tapjs/after-each@2.0.7': - resolution: {integrity: sha512-q0SBhyN+KOWhQOxbQ3+WQSlObcG7XYhzrB5JyYDg4liZlUr0f3wAcw0C8VXxlpjkmPI75/wB2agkDfn3kKSe3w==} + '@tapjs/after-each@2.0.8': + resolution: {integrity: sha512-btkpQ/BhmRyG50rezduxEZb3pMJblECvTQa41+U2ln2te1prDTlllHlpq4lOjceUksl8KFF1avDqcBqIqPzneQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/after@1.1.30': - resolution: {integrity: sha512-Hjdbb1NtVMVB5BXTJ+1wzmE6WFx5ep0vd43G+VGv8Y/kSsJbLpPtczuhUfuDVl7t6xWYjnFpBrgm9ieI+vl04g==} + '@tapjs/after@1.1.31': + resolution: {integrity: sha512-531NkYOls9PvqfnLsEDRzIWwjynoFRbUVq7pTYuA3PRIw4Ka7jA9uUjILeUurcWjaHrQNzUua0jj/Yu94f6YYw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/asserts@2.0.7': - resolution: {integrity: sha512-RIm/KDKKBBSmYNI47xZf5wtTdIvHI9MEbl/LmtYJCWlEqh6uVjdGNpS3f0tXFMp65+9/UlATcEMJqpaC8G5paQ==} + '@tapjs/asserts@2.0.8': + resolution: {integrity: sha512-57VrI0p2kAqfgHHUwowDvd31eTfDHw3HO4FSSVUCvngPGWa96R6eH9gXa9fNig4qIp4Dup+nI7gJlJfU0R80SA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/before-each@2.0.7': - resolution: {integrity: sha512-doQ/ZFufyr2B9V5YWYWQj0+CxIV4dKEK8pirzFurnuVciJCcdOqoPOiFN+pNgs6ZxZ+YX7DRtEKyNQ7r6HvtSg==} + '@tapjs/before-each@2.0.8': + resolution: {integrity: sha512-Xjgk8/fuP7iFa5CYjFDl05p5PZGRe//VyHJNuYNzWpF1K9PNMtVdlmwplfpFmbrNrw/bIPq7R6LuiPmTBgzuOw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/before@2.0.7': - resolution: {integrity: sha512-ZYPwY61gIfNBjgqeFNWm7WzPGH2iKRBl/hgMvlBIiewS7IMPktXmthfhP5I48HoMfYJz0Ey+FVs+nYXwWrTXbw==} + '@tapjs/before@2.0.8': + resolution: {integrity: sha512-22ZdGSn/zOKf8J8cb3yfw5R4I/ozdHEDKL8lBWon/zsxxMMvaRTgOtFXEjb4RE+5SDrqQ4NM7ZRYPGhE7T97dw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/chdir@1.1.3': - resolution: {integrity: sha512-WjElL0UU0dGwEvtaUwhw4+sKj6f0L8J50pRWtiK0hqXldIGz3saQMNxjZgfWvokyiZIPFWxtdxpDHpoMnz4i3A==} + '@tapjs/chdir@1.1.4': + resolution: {integrity: sha512-axXkT5kWp2/X8l6inKyrqzUhqgvsgrWI8/0xLAdmirpFZ8H6gFxrl763Ozdm27EAmkLnnnWgFITPqUQCuB/tMA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/config@3.1.5': - resolution: {integrity: sha512-eIusvWwviuFeLbm794U6W81FnNTbOvBewpIBpYL+sdEofCXHBTNm8kIzncjI+4WwF0sZj0D2fJ/LN8A0goClbw==} + '@tapjs/config@3.1.6': + resolution: {integrity: sha512-5gkDMSLXL5798bbCdX4RdLpB4OUQeu9TXftzKmL1+1T2xbcd4q7zfDnCfOB9zTk50x2f04+4h6Q7Z1NcSKIspg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 - '@tapjs/test': 2.2.3 + '@tapjs/core': 2.1.6 + '@tapjs/test': 2.2.4 - '@tapjs/core@2.1.5': - resolution: {integrity: sha512-s0WHh5ZzGCUbHe5XfapbBdv8EE2xsejrh97ALvKclcdZVYDK0dMl2fdBiVTF72hm1dyabeLYB0wzMGrnpoBe9Q==} + '@tapjs/core@2.1.6': + resolution: {integrity: sha512-NYMp0bl52DxXfcLmivMKvOIE14aaB9qJjdHeUbs6GZ9yxgD5w0yeiOT+gWEL+1PzZgGWRxSFEpghID1YfXAc4w==} 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.7': - resolution: {integrity: sha512-pH5Tbn7n/4r3hfQTsTpuzydcIQonM9cBALiRVMnWtaP2G0S8oDQNcoIxr5/NZy4tsyNo5H9FXp6BqVzOfgOV+g==} + '@tapjs/filter@2.0.8': + resolution: {integrity: sha512-/ps6nOS3CTh1WLfCjJnU7tS4PH4KFgEasFSVPCIFN+BasyoqDapzj4JKIlzQvppZOGTQadKH3wUakafZl7uz8w==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/fixture@2.0.7': - resolution: {integrity: sha512-btDTBaqIjGKQ6kZJrbTT+h+chefiB4YI1quU2Vnjf/jkB2JxulAM+//OwIJhLBLtu3aaobyITdacJnP4gUa6xQ==} + '@tapjs/fixture@2.0.8': + resolution: {integrity: sha512-LJnjeAMSozPFXzu+wQw2HJsjA9djHbTcyeMnsgiRL/Q8ffcLqAawV3SN6XKdDLdWYUg3e1fXhHspnbsouZj+xA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/intercept@2.0.7': - resolution: {integrity: sha512-dRC15GMgBAFxscKal+x5b4V8Ss5pryCVvj6B3o65i0sH4CKkBqFuPPHpqEsnhKJztguIYLgtU3vx1mUhTeKgww==} + '@tapjs/intercept@2.0.8': + resolution: {integrity: sha512-OF2Q35jtZ20bwV4hRNoca7vqIrzPFR3JR25G2rGru+fgPmq4heN0RLoh0d1O34AbrtXqra2lXkacMB/DPgb01A==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/mock@2.1.5': - resolution: {integrity: sha512-x7u2fz71ThaEiZAGPtuIG0BkjpxIp0WknHFAwE9XEW+Z/o8KslMH7EdlZgffB8c3Cv4VHBtsACy+CX1vP53xZQ==} + '@tapjs/mock@2.1.6': + resolution: {integrity: sha512-bNXKrjg/r+i/gfKij5Oo/5Md2DvGNHPSRCHQmjz3VQjpyxqK7S1FGcR0kyqJ8Nof6Wc8yIhpNOCuibj19200IQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/node-serialize@2.0.7': - resolution: {integrity: sha512-eYse85dsDozkELIIQfcAZ0Eu7HoLXepyIQlNYAGAD0RkG6SHA71NB6IpDgdNkglu3pzMEPW4LyqPDm2LyDzG4g==} + '@tapjs/node-serialize@2.0.8': + resolution: {integrity: sha512-92oqhkmIz5wr0yRs1CPQfim5JSwHPSmoDWnQmJlYUZsY1OYgYouQm3ifnPkqK/9hJpVYzlZEQmefxehxbs2WNQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 '@tapjs/processinfo@3.1.8': resolution: {integrity: sha512-FIriEB+qqArPhmVYc1PZwRHD99myRdl7C9Oe/uts04Q2LOxQ5MEmqP9XOP8vVYzpDOYwmL8OmL6eOYt9eZlQKQ==} engines: {node: '>=16.17'} - '@tapjs/reporter@2.0.7': - resolution: {integrity: sha512-3rradmTmoduKs57dNgpr8awxxRQQ04EElL8oaoqfmwLhbUCJJDruUUJ6w3777tGu8/TIG3yER2dtQjSSxZIYgw==} + '@tapjs/reporter@2.0.8': + resolution: {integrity: sha512-tZn5ZHIrFwjbi59djtdXHBwgSIZSBXdJpz2i9CZ9HEC1nFhWtIr2Jczvrz4ScfixUgA0GNFirz+q+9iA4IFMvw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/run@2.1.6': - resolution: {integrity: sha512-DEhRoBOZSXV2EKuZpQ1mKvyMiOw96DYmU2t/thv8TGbvWNhFXL+pHRFds24jPEUMCo3lh6MBjy2+lxm+nMyd2A==} + '@tapjs/run@2.1.7': + resolution: {integrity: sha512-Hk41E68f1x4eLBm6Rrxx4ARzZzrjwaLbKThb16+f3bGYiajmqAvBdeyNEoQpEWmW+Sv2HSlueOk2SS2P4fyetg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/snapshot@2.0.7': - resolution: {integrity: sha512-uAlPEGQRkCTgDSCOJu0oB5lf6dUNqryQT+ivniJAo8HRkRDVM/vIghKu/mMy+fwgJ+uCVKf6EhOYHme+IWHPMA==} + '@tapjs/snapshot@2.0.8': + resolution: {integrity: sha512-L0vtqWKkgnQt/XNQkvHOme9Np7ffteCNf1P0F9mz2YiJion4er1nv6pZuJoKVxXFQsbNd2k+LGyx0Iw+bIzwFg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/spawn@2.0.7': - resolution: {integrity: sha512-88YRMMWpKR+gtO/mpzDPuKH7WdVHa8P6DCTk5XfY4yvztcpiMZcMIuQa9De7nfWE7gdpMu3aA7Ovoq7YzsdspQ==} + '@tapjs/spawn@2.0.8': + resolution: {integrity: sha512-vCYwynIYJNijY87uHFANe+gCu9rdGoe4GOBmghl6kwDy7eISmcN/FW5TlmrjePMNhTvrDMeYqOIAzqh3WRYmPA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 '@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.7': - resolution: {integrity: sha512-uq73L2F9AnUqNbvkz90NTpTn2LZTOuf6MGkHRaHeIAEVy1LJm6A/ZNnNXQHK2KZ/gmTP/BNhbG/Uxcav+7zemg==} + '@tapjs/stdin@2.0.8': + resolution: {integrity: sha512-tW/exLXuDqjtH2wjptiPHXBahkdSyoppxDY56l9MG4tiz66dMN6NTCZFvQxp7+3t+lsQKqJp/74z8T/ayp+vZA==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/test@2.2.3': - resolution: {integrity: sha512-iJqJXt3PuCI169QcKSNAuQJsXCDg6O9NhY/z4i0/6zNeZd8LZ1Dtn4bSwg0lv28yO2UR3hcJ2/8j8MNNJLyl6w==} + '@tapjs/test@2.2.4': + resolution: {integrity: sha512-QIgq2BhMpwO9SN8I0qlwZYXAllO4xWCfJ0MgAGhc+J7p69B5p9dDNPmyOreHeXWMmk6VlNj3oWveoXb5Zn9xZQ==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/tsx@1.1.31': - resolution: {integrity: sha512-kjJ63UMG5DWR9wx0CAMhRy82NPP7qCMGs/jlz65iabfb8iQH0Ao138y928lyxHBqoS0OW5jBaQzCD1U+ke8D+A==} + '@tapjs/tsx@1.1.32': + resolution: {integrity: sha512-ben8+JH9j9YPcBnHAkwuzEjv4zxBKu/dgM486P9vh5TuKjE7cBMuufzG3LQvEtut1j3w6je7Y05NljH6HPtmGw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/typescript@1.4.12': - resolution: {integrity: sha512-pDIZfpiW2rer7ri6Ug8qqlxBv048JKuZKEkAj4Na+fGzkH48dHDtj95M4fokpuMhJqD4Nef0PdKZug5UED0CIA==} + '@tapjs/typescript@1.4.13': + resolution: {integrity: sha512-MNs7zlhM6G3pNUIjkKXDxgNCwCGZt2bUCGtVunSTDVIrKiUlHAl4QSjQ1oTjumHlCi9gFIWiwFAvpHekzFti0w==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 - '@tapjs/worker@2.0.7': - resolution: {integrity: sha512-wJ7UFi9x+96O3ogssrptNyz90zHoNrON6ZQshVqWuY066pyVimw/dcqx0tNcQ/iZqBJXNcwVYQ6RJy1/+0G38w==} + '@tapjs/worker@2.0.8': + resolution: {integrity: sha512-AySf2kV6OHvwgD3DrLdT2az2g4hRdoRtKsFCLdZo3jOoKte+ft/IQJEnOW7CPT0RYUskS3elv6eabYgSyTH4tg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} peerDependencies: - '@tapjs/core': 2.1.5 + '@tapjs/core': 2.1.6 '@tsconfig/node14@14.1.2': resolution: {integrity: sha512-1vncsbfCZ3TBLPxesRYz02Rn7SNJfbLoDVkcZ7F/ixOV6nwxwgdhD1mdPcc5YQ413qBJ8CvMxXMFfJ7oawjo7Q==} @@ -763,8 +763,8 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - c8@10.0.0: - resolution: {integrity: sha512-rdQecjxw16P8kwgMBjruaQyfF+R2o/mucCCK4VPktwq2HFMWLOHGyUasb46+WlUOVJX94d6dZolcJxzjCzWmXg==} + c8@10.1.1: + resolution: {integrity: sha512-+aAvpNMwnzncW27XsEf2eMrGTF8HXIGZ24UQ1dW679+8SQ/UvDXxHNoKwMohcI9ZVj0xl/bI4/meqxvIWOBYaw==} engines: {node: '>=18'} hasBin: true @@ -1613,8 +1613,8 @@ packages: resolution: {integrity: sha512-MWG4OpAKtNoNVjCz/BqlDJiwTM99tiHRhHPS4iGOe1ZS0CgM4jSFH92lthSFvvy4EdDjQZDV7uYqUFlU9JuNhw==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} - tap@19.2.4: - resolution: {integrity: sha512-rH2HlRPbCpSFgKWo4mjhkPByZIzeW1PJIAZRNZs43V3sJbxyHyMYg69KZDXbyWNG9Hf65OQI6/O5x1A+kKdWzQ==} + tap@19.2.5: + resolution: {integrity: sha512-Mz7MznUuKCqrN9dr0s8REt6zLg6WLNrvGXwDSaUyPO73dpXXjakYA7YVKRWu6TBnj7NsSYKuHXpQFROlqZ2KTg==} engines: {node: 16 >=16.17.0 || 18 >= 18.6.0 || >=20} hasBin: true @@ -2172,19 +2172,19 @@ snapshots: '@sinonjs/text-encoding@0.7.2': {} - '@tapjs/after-each@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/after-each@2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) function-loop: 4.0.0 - '@tapjs/after@1.1.30(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/after@1.1.31(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) is-actual-promise: 1.0.2 - '@tapjs/asserts@2.0.7(@tapjs/core@2.1.5(@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/asserts@2.0.8(@tapjs/core@2.1.6(@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.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.6(@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) @@ -2193,35 +2193,35 @@ snapshots: - react - react-dom - '@tapjs/before-each@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/before-each@2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) function-loop: 4.0.0 - '@tapjs/before@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/before@2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) is-actual-promise: 1.0.2 - '@tapjs/chdir@1.1.3(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/chdir@1.1.4(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tapjs/config@3.1.5(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.3(@tapjs/core@2.1.5(@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/config@3.1.6(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.4(@tapjs/core@2.1.6(@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.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tapjs/test': 2.2.3(@tapjs/core@2.1.5(@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.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/test': 2.2.4(@tapjs/core@2.1.6(@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.4.0 polite-json: 4.0.1 tap-yaml: 2.2.2 walk-up-path: 3.0.1 - '@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tapjs/core@2.1.6(@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.3(@tapjs/core@2.1.5(@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/test': 2.2.4(@tapjs/core@2.1.6(@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 @@ -2242,33 +2242,33 @@ snapshots: dependencies: minipass: 7.1.2 - '@tapjs/filter@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/filter@2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tapjs/fixture@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/fixture@2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.6(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/intercept@2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/after': 1.1.30(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/after': 1.1.31(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.6(@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.5(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/mock@2.1.6(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/after': 1.1.30(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/after': 1.1.31(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.6(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/node-serialize@2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.6(@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 @@ -2280,10 +2280,10 @@ snapshots: signal-exit: 4.1.0 uuid: 8.3.2 - '@tapjs/reporter@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.3(@tapjs/core@2.1.5(@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/reporter@2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.4(@tapjs/core@2.1.6(@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.5(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.3(@tapjs/core@2.1.5(@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.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/config': 3.1.6(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.4(@tapjs/core@2.1.6(@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.6(@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) @@ -2304,17 +2304,17 @@ snapshots: - react-dom - utf-8-validate - '@tapjs/run@2.1.6(@tapjs/core@2.1.5(@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/run@2.1.7(@tapjs/core@2.1.6(@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.30(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/before': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/config': 3.1.5(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.3(@tapjs/core@2.1.5(@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.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/after': 1.1.31(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/before': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/config': 3.1.6(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.4(@tapjs/core@2.1.6(@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.6(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.3(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/stdin': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/test': 2.2.3(@tapjs/core@2.1.5(@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/reporter': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@tapjs/test@2.2.4(@tapjs/core@2.1.6(@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.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/stdin': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/test': 2.2.4(@tapjs/core@2.1.6(@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 @@ -2346,9 +2346,9 @@ snapshots: - supports-color - utf-8-validate - '@tapjs/snapshot@2.0.7(@tapjs/core@2.1.5(@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/snapshot@2.0.8(@tapjs/core@2.1.6(@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.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.6(@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 @@ -2356,36 +2356,36 @@ snapshots: - react - react-dom - '@tapjs/spawn@2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/spawn@2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.6(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/stdin@2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tapjs/test@2.2.3(@tapjs/core@2.1.5(@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/test@2.2.4(@tapjs/core@2.1.6(@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.30(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/after-each': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/asserts': 2.0.7(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/before-each': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/chdir': 1.1.3(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tapjs/filter': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/fixture': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/intercept': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/mock': 2.1.5(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/node-serialize': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/snapshot': 2.0.7(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/stdin': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/typescript': 1.4.12(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/after': 1.1.31(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/after-each': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/asserts': 2.0.8(@tapjs/core@2.1.6(@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.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/before-each': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/chdir': 1.1.4(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/filter': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/fixture': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/intercept': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/mock': 2.1.6(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/node-serialize': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/snapshot': 2.0.8(@tapjs/core@2.1.6(@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.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/stdin': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/typescript': 1.4.13(@tapjs/core@2.1.6(@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.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) glob: 10.4.1 jackspeak: 3.4.0 mkdirp: 3.0.1 @@ -2404,24 +2404,24 @@ snapshots: - react - react-dom - '@tapjs/tsx@1.1.31(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/tsx@1.1.32(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tsx: 4.15.1 - '@tapjs/typescript@1.4.12(@tapjs/core@2.1.5(@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/typescript@1.4.13(@tapjs/core@2.1.6(@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.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.6(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': + '@tapjs/worker@2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))': dependencies: - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/core': 2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tsconfig/node14@14.1.2': {} @@ -2529,7 +2529,7 @@ snapshots: dependencies: fill-range: 7.1.1 - c8@10.0.0: + c8@10.1.1: dependencies: '@bcoe/v8-coverage': 0.2.3 '@istanbuljs/schema': 0.1.3 @@ -3443,27 +3443,27 @@ snapshots: yaml: 2.4.5 yaml-types: 0.3.0(yaml@2.4.5) - tap@19.2.4(@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.30(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/after-each': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/asserts': 2.0.7(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/before-each': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/chdir': 1.1.3(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/core': 2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tapjs/filter': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/fixture': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/intercept': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/mock': 2.1.5(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/node-serialize': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/run': 2.1.6(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/stdin': 2.0.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) - '@tapjs/test': 2.2.3(@tapjs/core@2.1.5(@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.12(@tapjs/core@2.1.5(@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.7(@tapjs/core@2.1.5(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + tap@19.2.5(@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.31(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/after-each': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/asserts': 2.0.8(@tapjs/core@2.1.6(@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.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/before-each': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/chdir': 1.1.4(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/core': 2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@tapjs/filter': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/fixture': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/intercept': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/mock': 2.1.6(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/node-serialize': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/run': 2.1.7(@tapjs/core@2.1.6(@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.8(@tapjs/core@2.1.6(@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.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/stdin': 2.0.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) + '@tapjs/test': 2.2.4(@tapjs/core@2.1.6(@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.13(@tapjs/core@2.1.6(@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.8(@tapjs/core@2.1.6(@types/node@20.14.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)) resolve-import: 1.4.5 transitivePeerDependencies: - '@swc/core' From 797e381806c83961cde416008109fecfbfe9063b Mon Sep 17 00:00:00 2001 From: "Ganesh Prasannah (GP)" Date: Wed, 12 Jun 2024 11:47:11 +0530 Subject: [PATCH 30/30] feat!: upgrade module to ESM