From 531a38ebc6f0d702c4c57be4ecb44eaeef4610fa Mon Sep 17 00:00:00 2001 From: Dhiraj Arun Date: Fri, 20 Sep 2024 15:27:36 +0530 Subject: [PATCH 1/6] refactor(dredge-adapters)!: handleFetchRequest is now createFetchRequestHandler --- .changeset/rich-parents-help.md | 5 + package.json | 15 +- packages/adapters/source/fetch.ts | 300 +++++++------- .../adapters/test/helpers/fetch-server.ts | 14 +- pnpm-lock.yaml | 374 +++++++++++++++++- 5 files changed, 537 insertions(+), 171 deletions(-) create mode 100644 .changeset/rich-parents-help.md diff --git a/.changeset/rich-parents-help.md b/.changeset/rich-parents-help.md new file mode 100644 index 0000000..4827998 --- /dev/null +++ b/.changeset/rich-parents-help.md @@ -0,0 +1,5 @@ +--- +"dredge-adapters": major +--- + +hadleFetchRequest is now createFetchRequestHandler diff --git a/package.json b/package.json index e4d8674..597cf6e 100644 --- a/package.json +++ b/package.json @@ -16,23 +16,22 @@ "typecheck": "turbo run typecheck", "clean": "turbo clean && rm -rf node_modules", "version": "changeset version", - "release": "changeset publish" + "release": "pnpm build && changeset publish" }, "packageManager": "pnpm@9.10.0", "keywords": [], "author": "Dhiraj Arun", "license": "MIT", - "devDependencies": { + "dependencies": { + "@changesets/cli": "^2.27.7", + "@manypkg/cli": "^0.21.4", + "zod": "^3.22.4", "@biomejs/biome": "1.7.1", "ts-essentials": "^9.4.2", "tsup": "^8.2.4", "tsx": "^4.19.0", + "turbo": "latest", "typescript": "^5.3.3", - "vitest": "^2.0.5", - "turbo": "latest" - }, - "dependencies": { - "@changesets/cli": "^2.27.7", - "zod": "^3.22.4" + "vitest": "^2.0.5" } } diff --git a/packages/adapters/source/fetch.ts b/packages/adapters/source/fetch.ts index 7899acc..ca44d22 100644 --- a/packages/adapters/source/fetch.ts +++ b/packages/adapters/source/fetch.ts @@ -43,8 +43,7 @@ type DataSerializerFunction = (options: { string | ReadableStream | ArrayBuffer | Blob | FormData >; -export interface HandleFetchRequestOptions { - req: Request; +export interface CreateFetchRequestHandlerOptions { router: DredgeRouter; ctx?: Context; prefixUrl?: string; @@ -64,11 +63,10 @@ export interface HandleFetchRequestOptions { ) => Record; } -export async function handleFetchRequest( - options: HandleFetchRequestOptions, -): Promise { +export async function createFetchRequestHandler( + options: CreateFetchRequestHandlerOptions, +) { const { - req, router, ctx = {}, prefixUrl, @@ -89,169 +87,173 @@ export async function handleFetchRequest( ...options.dataSerializers, }); - const url = new URL(req.url); - const path = trimSlashes(url.pathname.slice(parsedPrefixUrl.pathname.length)); - const pathArray = path.split("/"); + return async (req: Request): Promise => { - const route = router.find(req.method || "get", pathArray); - if (!route) { - return new Response("Not Found", { - status: 404, - statusText: "Not Found", - }); - } - - const routeDef = route._def; - - const headers = Object.fromEntries(req.headers); - const params = getPathParams(route._def.paths)(pathArray); - const searchParams = searchParamsToObject(url.search); - - const parsedParams = deserializeParams(params, routeDef.params); - const parsedSearchParams = deserializeSearchParams( - searchParams, - routeDef.searchParams, - ); + const url = new URL(req.url); + const path = trimSlashes(url.pathname.slice(parsedPrefixUrl.pathname.length)); + const pathArray = path.split("/"); - const middlewareRequest: MiddlewareRequest = { - url: url.href, - method: req.method || "get", - headers, - params: parsedParams, - searchParams: parsedSearchParams, - data: undefined, - dataType: getDataType(route._def.dataTypes)(headers["content-type"]), - }; - - const contentTypeInfo = extractContentTypeHeader(headers["content-type"]); - if (contentTypeInfo?.mediaType) { - const bodyParser = bodyParsers.get(contentTypeInfo.mediaType); - if (bodyParser) { - const data = await bodyParser({ - body: req.body, - text: req.text.bind(req), - arrayBuffer: req.arrayBuffer.bind(req), - formData: req.formData.bind(req), - blob: req.blob.bind(req), - - mediaType: contentTypeInfo.mediaType!, - boundary: contentTypeInfo.boundary, - charset: contentTypeInfo.charset, + const route = router.find(req.method || "get", pathArray); + if (!route) { + return new Response("Not Found", { + status: 404, + statusText: "Not Found", }); - middlewareRequest.data = data; } - } - try { - const validatedRequest = await useValidate(route)(middlewareRequest); - const middlewareResponse = await useSuccessMiddlewares(route)( - validatedRequest, - { - headers: {}, - dataType: getDataType(route._def.dataTypes)( - validatedRequest.headers["accept"], - ), - ctx, - }, - ); + const routeDef = route._def; + + const headers = Object.fromEntries(req.headers); + const params = getPathParams(route._def.paths)(pathArray); + const searchParams = searchParamsToObject(url.search); - let body: any = null; + const parsedParams = deserializeParams(params, routeDef.params); + const parsedSearchParams = deserializeSearchParams( + searchParams, + routeDef.searchParams, + ); - const dataSerializeOptions = { - data: middlewareResponse.data, - mediaType: undefined as string | undefined, - charset: undefined as string | undefined, - boundary: undefined as string | undefined, + const middlewareRequest: MiddlewareRequest = { + url: url.href, + method: req.method || "get", + headers, + params: parsedParams, + searchParams: parsedSearchParams, + data: undefined, + dataType: getDataType(route._def.dataTypes)(headers["content-type"]), }; - if (middlewareResponse.headers["content-type"]) { - const info = extractContentTypeHeader( - middlewareResponse.headers["content-type"], - ); - dataSerializeOptions.mediaType = info.mediaType; - dataSerializeOptions.charset = info.charset; - dataSerializeOptions.boundary = info.boundary; - } else if (middlewareResponse.dataType) { - dataSerializeOptions.mediaType = - routeDef.dataTypes[middlewareResponse.dataType]; + + const contentTypeInfo = extractContentTypeHeader(headers["content-type"]); + if (contentTypeInfo?.mediaType) { + const bodyParser = bodyParsers.get(contentTypeInfo.mediaType); + if (bodyParser) { + const data = await bodyParser({ + body: req.body, + text: req.text.bind(req), + arrayBuffer: req.arrayBuffer.bind(req), + formData: req.formData.bind(req), + blob: req.blob.bind(req), + + mediaType: contentTypeInfo.mediaType!, + boundary: contentTypeInfo.boundary, + charset: contentTypeInfo.charset, + }); + middlewareRequest.data = data; + } } - if (dataSerializeOptions.mediaType) { - const dataSerializer = dataSerializers.get( - dataSerializeOptions.mediaType, + + try { + const validatedRequest = await useValidate(route)(middlewareRequest); + const middlewareResponse = await useSuccessMiddlewares(route)( + validatedRequest, + { + headers: {}, + dataType: getDataType(route._def.dataTypes)( + validatedRequest.headers["accept"], + ), + ctx, + }, ); - if (dataSerializer) { - body = await dataSerializer(dataSerializeOptions as any); - } - let contentTypeHeader = dataSerializeOptions.mediaType; - if (dataSerializeOptions.boundary) { - contentTypeHeader += `;boundary=${dataSerializeOptions.boundary}`; - } - if (dataSerializeOptions.charset) { - contentTypeHeader += `;charset=${dataSerializeOptions.charset}`; + let body: any = null; + + const dataSerializeOptions = { + data: middlewareResponse.data, + mediaType: undefined as string | undefined, + charset: undefined as string | undefined, + boundary: undefined as string | undefined, + }; + if (middlewareResponse.headers["content-type"]) { + const info = extractContentTypeHeader( + middlewareResponse.headers["content-type"], + ); + dataSerializeOptions.mediaType = info.mediaType; + dataSerializeOptions.charset = info.charset; + dataSerializeOptions.boundary = info.boundary; + } else if (middlewareResponse.dataType) { + dataSerializeOptions.mediaType = + routeDef.dataTypes[middlewareResponse.dataType]; } + if (dataSerializeOptions.mediaType) { + const dataSerializer = dataSerializers.get( + dataSerializeOptions.mediaType, + ); + if (dataSerializer) { + body = await dataSerializer(dataSerializeOptions as any); + } - middlewareRequest.headers["content-type"] = contentTypeHeader; - } + let contentTypeHeader = dataSerializeOptions.mediaType; + if (dataSerializeOptions.boundary) { + contentTypeHeader += `;boundary=${dataSerializeOptions.boundary}`; + } + if (dataSerializeOptions.charset) { + contentTypeHeader += `;charset=${dataSerializeOptions.charset}`; + } - return new Response(body, { - status: middlewareResponse.status, - statusText: middlewareResponse.statusText, - headers: middlewareResponse.headers, - }); - } catch (error) { - const middlewareResponse = await useErrorMiddlewares(route)( - error, - middlewareRequest, - { - headers: {}, - dataType: getDataType(route._def.dataTypes)( - middlewareRequest.headers["accept"], - ), - ctx, - }, - ); + middlewareRequest.headers["content-type"] = contentTypeHeader; + } - let body: any = null; - const dataSerializeOptions = { - data: middlewareResponse.data, - mediaType: undefined as string | undefined, - charset: undefined as string | undefined, - boundary: undefined as string | undefined, - }; - if (middlewareResponse.headers["content-type"]) { - const info = extractContentTypeHeader( - middlewareResponse.headers["content-type"], - ); - dataSerializeOptions.mediaType = info.mediaType; - dataSerializeOptions.charset = info.charset; - dataSerializeOptions.boundary = info.boundary; - } else if (middlewareResponse.dataType) { - dataSerializeOptions.mediaType = - routeDef.dataTypes[middlewareResponse.dataType]; - } - if (dataSerializeOptions.mediaType) { - const dataSerializer = dataSerializers.get( - dataSerializeOptions.mediaType, + return new Response(body, { + status: middlewareResponse.status, + statusText: middlewareResponse.statusText, + headers: middlewareResponse.headers, + }); + } catch (error) { + const middlewareResponse = await useErrorMiddlewares(route)( + error, + middlewareRequest, + { + headers: {}, + dataType: getDataType(route._def.dataTypes)( + middlewareRequest.headers["accept"], + ), + ctx, + }, ); - if (dataSerializer) { - body = await dataSerializer(dataSerializeOptions as any); - } - let contentTypeHeader = dataSerializeOptions.mediaType; - if (dataSerializeOptions.boundary) { - contentTypeHeader += `;boundary=${dataSerializeOptions.boundary}`; + let body: any = null; + const dataSerializeOptions = { + data: middlewareResponse.data, + mediaType: undefined as string | undefined, + charset: undefined as string | undefined, + boundary: undefined as string | undefined, + }; + if (middlewareResponse.headers["content-type"]) { + const info = extractContentTypeHeader( + middlewareResponse.headers["content-type"], + ); + dataSerializeOptions.mediaType = info.mediaType; + dataSerializeOptions.charset = info.charset; + dataSerializeOptions.boundary = info.boundary; + } else if (middlewareResponse.dataType) { + dataSerializeOptions.mediaType = + routeDef.dataTypes[middlewareResponse.dataType]; } - if (dataSerializeOptions.charset) { - contentTypeHeader += `;charset=${dataSerializeOptions.charset}`; + if (dataSerializeOptions.mediaType) { + const dataSerializer = dataSerializers.get( + dataSerializeOptions.mediaType, + ); + if (dataSerializer) { + body = await dataSerializer(dataSerializeOptions as any); + } + + let contentTypeHeader = dataSerializeOptions.mediaType; + if (dataSerializeOptions.boundary) { + contentTypeHeader += `;boundary=${dataSerializeOptions.boundary}`; + } + if (dataSerializeOptions.charset) { + contentTypeHeader += `;charset=${dataSerializeOptions.charset}`; + } + + middlewareRequest.headers["content-type"] = contentTypeHeader; } - middlewareRequest.headers["content-type"] = contentTypeHeader; + return new Response(body, { + headers: middlewareRequest.headers, + status: middlewareResponse.status, + statusText: middlewareResponse.statusText, + }); } - - return new Response(body, { - headers: middlewareRequest.headers, - status: middlewareResponse.status, - statusText: middlewareResponse.statusText, - }); } + } diff --git a/packages/adapters/test/helpers/fetch-server.ts b/packages/adapters/test/helpers/fetch-server.ts index 23a0dcc..e8af23a 100644 --- a/packages/adapters/test/helpers/fetch-server.ts +++ b/packages/adapters/test/helpers/fetch-server.ts @@ -2,21 +2,21 @@ import { serve } from "@hono/node-server"; import { Server } from "http"; import { Hono } from "hono"; import { - HandleFetchRequestOptions, - handleFetchRequest, + CreateFetchRequestHandlerOptions, + createFetchRequestHandler, } from "../../source/fetch"; export async function startServer( - opts: Omit, "req">, + opts: Omit, "req">, ): Promise { const app = new Hono(); - - app.all("*", async (c) => { - const res = await handleFetchRequest({ + const handler = + await createFetchRequestHandler({ ...opts, - req: c.req.raw, }); + app.all("*", async (c) => { + const res = await handler(c.req.raw); c.res = res; c.res.headers.delete("Content-Length"); // Because of `FetchError: request to ... failed, reason: Parse Error: Duplicate Content-Length` }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4f35981..da2012b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,16 +8,15 @@ importers: .: dependencies: - '@changesets/cli': - specifier: ^2.27.7 - version: 2.27.7 - zod: - specifier: ^3.22.4 - version: 3.22.4 - devDependencies: '@biomejs/biome': specifier: 1.7.1 version: 1.7.1 + '@changesets/cli': + specifier: ^2.27.7 + version: 2.27.7 + '@manypkg/cli': + specifier: ^0.21.4 + version: 0.21.4 ts-essentials: specifier: ^9.4.2 version: 9.4.2(typescript@5.4.2) @@ -36,6 +35,9 @@ importers: vitest: specifier: ^2.0.5 version: 2.0.5(@types/node@22.5.5) + zod: + specifier: ^3.22.4 + version: 3.22.4 examples/in-express: dependencies: @@ -935,12 +937,29 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@manypkg/cli@0.21.4': + resolution: {integrity: sha512-EACxxb+c/t6G0l1FrlyewZeBnyR5V1cLkXjnBfsay5TN1UgbilFpG6POglzn+lVJet9NqnEKe3RLHABzkIDZ0Q==} + engines: {node: '>=14.18.0'} + hasBin: true + '@manypkg/find-root@1.1.0': resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + '@manypkg/find-root@2.2.3': + resolution: {integrity: sha512-jtEZKczWTueJYHjGpxU3KJQ08Gsrf4r6Q2GjmPp/RGk5leeYAA1eyDADSAF+KVCsQ6EwZd/FMcOFCoMhtqdCtQ==} + engines: {node: '>=14.18.0'} + '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + '@manypkg/get-packages@2.2.2': + resolution: {integrity: sha512-3+Zd8kLZmsyJFmWTBtY0MAuCErI7yKB2cjMBlujvSVKZ2R/BMXi0kjCXu2dtRlSq/ML86t1FkumT0yreQ3n8OQ==} + engines: {node: '>=14.18.0'} + + '@manypkg/tools@1.1.2': + resolution: {integrity: sha512-3lBouSuF7CqlseLB+FKES0K4FQ02JrbEoRtJhxnsyB1s5v4AP03gsoohN8jp7DcOImhaR9scYdztq3/sLfk/qQ==} + engines: {node: '>=14.18.0'} + '@next/env@14.2.7': resolution: {integrity: sha512-OTx9y6I3xE/eih+qtthppwLytmpJVPM5PPoJxChFsbjIEFXIayG0h/xLzefHGJviAa3Q5+Fd+9uYojKkHDKxoQ==} @@ -1014,6 +1033,18 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@pnpm/config.env-replace@1.1.0': + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + + '@pnpm/network.ca-file@1.0.2': + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + + '@pnpm/npm-conf@2.3.1': + resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} + engines: {node: '>=12'} + '@rollup/rollup-android-arm-eabi@4.12.0': resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} cpu: [arm] @@ -1168,12 +1199,20 @@ packages: '@shikijs/vscode-textmate@9.2.0': resolution: {integrity: sha512-5FinaOp6Vdh/dl4/yaOTh0ZeKch+rYS8DUb38V3GMKYVkdqzxw53lViRKUYkVILRiVQT7dcPC7VvAKOR73zVtQ==} + '@sindresorhus/is@5.6.0': + resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} + engines: {node: '>=14.16'} + '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} '@swc/helpers@0.5.5': resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} + '@szmarczak/http-timer@5.0.1': + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + '@types/body-parser@1.19.5': resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} @@ -1192,6 +1231,9 @@ packages: '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + '@types/http-errors@2.0.4': resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} @@ -1240,6 +1282,9 @@ packages: '@types/react@18.3.5': resolution: {integrity: sha512-WeqMfGJLGuLCqHGYRGHxnKrXcTitc6L/nBUWfWPcTarG3t9PsquqUMuVeXZeca+mglY4Vo5GZjCi0A3Or2lnxA==} + '@types/semver@6.2.7': + resolution: {integrity: sha512-blctEWbzUFzQx799RZjzzIdBJOXmE37YYEyDtKkx5Dg+V7o/zyyAxLPiI98A2jdTtDgxZleMdfV+7p8WbRJ1OQ==} + '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} @@ -1412,6 +1457,9 @@ packages: argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + array-flatten@1.1.1: resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} @@ -1451,6 +1499,9 @@ packages: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} + builtins@1.0.3: + resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} + bundle-require@5.0.0: resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1469,6 +1520,14 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + + cacheable-request@10.2.14: + resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} + engines: {node: '>=14.16'} + call-bind@1.0.7: resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} engines: {node: '>= 0.4'} @@ -1527,6 +1586,9 @@ packages: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + consola@3.2.3: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} @@ -1582,10 +1644,22 @@ packages: supports-color: optional: true + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -1752,6 +1826,10 @@ packages: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} engines: {node: '>=14'} + form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + form-data@4.0.0: resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} engines: {node: '>= 6'} @@ -1818,6 +1896,13 @@ packages: gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + got@12.6.1: + resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} + engines: {node: '>=14.16'} + + graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -1847,10 +1932,17 @@ packages: hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} engines: {node: '>= 0.8'} + http2-wrapper@2.2.1: + resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} + engines: {node: '>=10.19.0'} + human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} @@ -1873,6 +1965,9 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -1932,6 +2027,9 @@ packages: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true + jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -1943,9 +2041,19 @@ packages: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} @@ -1986,6 +2094,10 @@ packages: loupe@3.1.1: resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} + lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + lru-cache@10.2.0: resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} engines: {node: 14 || >=16.14} @@ -2042,10 +2154,21 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + + mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + minimatch@9.0.4: resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass@7.0.4: resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} engines: {node: '>=16 || 14 >=14.17'} @@ -2112,6 +2235,10 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} + normalize-url@8.0.1: + resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} + engines: {node: '>=14.16'} + npm-run-path@4.0.1: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} @@ -2150,6 +2277,10 @@ packages: outdent@0.5.0: resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + p-filter@2.1.0: resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} engines: {node: '>=8'} @@ -2178,6 +2309,15 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + package-json@8.1.1: + resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} + engines: {node: '>=14.16'} + + parse-github-url@1.0.3: + resolution: {integrity: sha512-tfalY5/4SqGaV/GIGzWyHnFjlpTPTNpENR9Ea2lLldSJ8EWXMsvacWucqY3m3I4YPtas15IxTLQVQ5NSYXPrww==} + engines: {node: '>= 0.10'} + hasBin: true + parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} @@ -2320,6 +2460,9 @@ packages: engines: {node: '>=10.13.0'} hasBin: true + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -2338,6 +2481,10 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} engines: {node: '>= 0.6'} @@ -2346,6 +2493,10 @@ packages: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} engines: {node: '>= 0.8'} + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + react-dom@18.3.1: resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: @@ -2369,6 +2520,17 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + registry-auth-token@5.0.2: + resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} + engines: {node: '>=14'} + + registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} + + resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} @@ -2380,6 +2542,10 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true + responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} @@ -2412,6 +2578,13 @@ packages: search-insights@2.17.1: resolution: {integrity: sha512-HHFjYH/0AqXacETlIbe9EYc3UNlQYGNNTY0fZ/sWl6SweX+GDxq9NB5+RVoPLgEFuOtCz7M9dhYxqDnhbbF0eQ==} + sembear@0.5.2: + resolution: {integrity: sha512-Ij1vCAdFgWABd7zTg50Xw1/p0JgESNxuLlneEAsmBrKishA06ulTTL/SHGmNy2Zud7+rKrHTKNI6moJsn1ppAQ==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} @@ -2529,6 +2702,10 @@ packages: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + styled-jsx@5.1.1: resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} @@ -2721,6 +2898,9 @@ packages: resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} engines: {node: '>= 0.4.0'} + validate-npm-package-name@3.0.0: + resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -3489,6 +3669,22 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 + '@manypkg/cli@0.21.4': + dependencies: + '@manypkg/get-packages': 2.2.2 + chalk: 2.4.2 + detect-indent: 6.1.0 + find-up: 4.1.0 + fs-extra: 8.1.0 + normalize-path: 3.0.0 + p-limit: 2.3.0 + package-json: 8.1.1 + parse-github-url: 1.0.3 + sembear: 0.5.2 + semver: 6.3.1 + spawndamnit: 2.0.0 + validate-npm-package-name: 3.0.0 + '@manypkg/find-root@1.1.0': dependencies: '@babel/runtime': 7.25.0 @@ -3496,6 +3692,10 @@ snapshots: find-up: 4.1.0 fs-extra: 8.1.0 + '@manypkg/find-root@2.2.3': + dependencies: + '@manypkg/tools': 1.1.2 + '@manypkg/get-packages@1.1.3': dependencies: '@babel/runtime': 7.25.0 @@ -3505,6 +3705,17 @@ snapshots: globby: 11.1.0 read-yaml-file: 1.1.0 + '@manypkg/get-packages@2.2.2': + dependencies: + '@manypkg/find-root': 2.2.3 + '@manypkg/tools': 1.1.2 + + '@manypkg/tools@1.1.2': + dependencies: + fast-glob: 3.3.2 + jju: 1.4.0 + js-yaml: 4.1.0 + '@next/env@14.2.7': {} '@next/swc-darwin-arm64@14.2.7': @@ -3549,6 +3760,18 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@pnpm/config.env-replace@1.1.0': {} + + '@pnpm/network.ca-file@1.0.2': + dependencies: + graceful-fs: 4.2.10 + + '@pnpm/npm-conf@2.3.1': + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + '@rollup/rollup-android-arm-eabi@4.12.0': optional: true @@ -3647,6 +3870,8 @@ snapshots: '@shikijs/vscode-textmate@9.2.0': {} + '@sindresorhus/is@5.6.0': {} + '@swc/counter@0.1.3': {} '@swc/helpers@0.5.5': @@ -3654,6 +3879,10 @@ snapshots: '@swc/counter': 0.1.3 tslib: 2.7.0 + '@szmarczak/http-timer@5.0.1': + dependencies: + defer-to-connect: 2.0.1 + '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 @@ -3683,6 +3912,8 @@ snapshots: dependencies: '@types/unist': 3.0.3 + '@types/http-cache-semantics@4.0.4': {} + '@types/http-errors@2.0.4': {} '@types/linkify-it@5.0.0': {} @@ -3732,6 +3963,8 @@ snapshots: '@types/prop-types': 15.7.12 csstype: 3.1.3 + '@types/semver@6.2.7': {} + '@types/semver@7.5.8': {} '@types/send@0.17.4': @@ -3941,6 +4174,8 @@ snapshots: dependencies: sprintf-js: 1.0.3 + argparse@2.0.1: {} + array-flatten@1.1.1: {} array-union@2.1.0: {} @@ -3984,6 +4219,8 @@ snapshots: dependencies: fill-range: 7.0.1 + builtins@1.0.3: {} + bundle-require@5.0.0(esbuild@0.23.0): dependencies: esbuild: 0.23.0 @@ -3997,6 +4234,18 @@ snapshots: cac@6.7.14: {} + cacheable-lookup@7.0.0: {} + + cacheable-request@10.2.14: + dependencies: + '@types/http-cache-semantics': 4.0.4 + get-stream: 6.0.1 + http-cache-semantics: 4.1.1 + keyv: 4.5.4 + mimic-response: 4.0.0 + normalize-url: 8.0.1 + responselike: 3.0.0 + call-bind@1.0.7: dependencies: es-define-property: 1.0.0 @@ -4061,6 +4310,11 @@ snapshots: commander@4.1.1: {} + config-chain@1.1.13: + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + consola@3.2.3: {} content-disposition@0.5.4: @@ -4101,8 +4355,16 @@ snapshots: dependencies: ms: 2.1.2 + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + deep-eql@5.0.2: {} + deep-extend@0.6.0: {} + + defer-to-connect@2.0.1: {} + define-data-property@1.1.4: dependencies: es-define-property: 1.0.0 @@ -4382,6 +4644,8 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 + form-data-encoder@2.1.4: {} + form-data@4.0.0: dependencies: asynckit: 0.4.0 @@ -4456,6 +4720,22 @@ snapshots: dependencies: get-intrinsic: 1.2.4 + got@12.6.1: + dependencies: + '@sindresorhus/is': 5.6.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.14 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.1 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 + + graceful-fs@4.2.10: {} + graceful-fs@4.2.11: {} has-flag@3.0.0: {} @@ -4476,6 +4756,8 @@ snapshots: hookable@5.5.3: {} + http-cache-semantics@4.1.1: {} + http-errors@2.0.0: dependencies: depd: 2.0.0 @@ -4484,6 +4766,11 @@ snapshots: statuses: 2.0.1 toidentifier: 1.0.1 + http2-wrapper@2.2.1: + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + human-id@1.0.2: {} human-signals@2.1.0: {} @@ -4498,6 +4785,8 @@ snapshots: inherits@2.0.4: {} + ini@1.3.8: {} + ipaddr.js@1.9.1: {} is-binary-path@2.1.0: @@ -4540,6 +4829,8 @@ snapshots: jiti@1.21.6: {} + jju@1.4.0: {} + joycon@3.1.1: {} js-tokens@4.0.0: {} @@ -4549,10 +4840,20 @@ snapshots: argparse: 1.0.10 esprima: 4.0.1 + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + json-buffer@3.0.1: {} + jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + lilconfig@2.1.0: {} lilconfig@3.1.1: {} @@ -4588,6 +4889,8 @@ snapshots: dependencies: get-func-name: 2.0.2 + lowercase-keys@3.0.0: {} + lru-cache@10.2.0: {} lru-cache@4.1.5: @@ -4628,10 +4931,16 @@ snapshots: mimic-fn@4.0.0: {} + mimic-response@3.1.0: {} + + mimic-response@4.0.0: {} + minimatch@9.0.4: dependencies: brace-expansion: 2.0.1 + minimist@1.2.8: {} + minipass@7.0.4: {} minisearch@7.1.0: {} @@ -4687,6 +4996,8 @@ snapshots: normalize-path@3.0.0: {} + normalize-url@8.0.1: {} + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 @@ -4717,6 +5028,8 @@ snapshots: outdent@0.5.0: {} + p-cancelable@3.0.0: {} + p-filter@2.1.0: dependencies: p-map: 2.1.0 @@ -4741,6 +5054,15 @@ snapshots: p-try@2.2.0: {} + package-json@8.1.1: + dependencies: + got: 12.6.1 + registry-auth-token: 5.0.2 + registry-url: 6.0.1 + semver: 7.6.3 + + parse-github-url@1.0.3: {} + parseurl@1.3.3: {} path-exists@4.0.0: {} @@ -4844,6 +5166,8 @@ snapshots: prettier@2.8.8: {} + proto-list@1.2.4: {} + proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 @@ -4859,6 +5183,8 @@ snapshots: queue-microtask@1.2.3: {} + quick-lru@5.1.1: {} + range-parser@1.2.1: {} raw-body@2.5.2: @@ -4868,6 +5194,13 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + react-dom@18.3.1(react@18.3.1): dependencies: loose-envify: 1.4.0 @@ -4895,6 +5228,16 @@ snapshots: regenerator-runtime@0.14.1: {} + registry-auth-token@5.0.2: + dependencies: + '@pnpm/npm-conf': 2.3.1 + + registry-url@6.0.1: + dependencies: + rc: 1.2.8 + + resolve-alpn@1.2.1: {} + resolve-from@5.0.0: {} resolve-pkg-maps@1.0.0: {} @@ -4905,6 +5248,10 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + responselike@3.0.0: + dependencies: + lowercase-keys: 3.0.0 + reusify@1.0.4: {} rfdc@1.4.1: {} @@ -4964,6 +5311,13 @@ snapshots: search-insights@2.17.1: {} + sembear@0.5.2: + dependencies: + '@types/semver': 6.2.7 + semver: 6.3.1 + + semver@6.3.1: {} + semver@7.6.3: {} send@0.18.0: @@ -5086,6 +5440,8 @@ snapshots: strip-final-newline@3.0.0: {} + strip-json-comments@2.0.1: {} + styled-jsx@5.1.1(react@18.3.1): dependencies: client-only: 0.0.1 @@ -5266,6 +5622,10 @@ snapshots: utils-merge@1.0.1: {} + validate-npm-package-name@3.0.0: + dependencies: + builtins: 1.0.3 + vary@1.1.2: {} vite-node@2.0.5(@types/node@22.5.5): From 97d50cc5fa27a5e32074a10118ec9d1e23aabbf9 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Fri, 20 Sep 2024 10:04:14 +0000 Subject: [PATCH 2/6] [autofix.ci] apply automated fixes --- packages/adapters/source/fetch.ts | 8 ++++---- packages/adapters/test/helpers/fetch-server.ts | 7 +++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/adapters/source/fetch.ts b/packages/adapters/source/fetch.ts index ca44d22..b16def4 100644 --- a/packages/adapters/source/fetch.ts +++ b/packages/adapters/source/fetch.ts @@ -88,9 +88,10 @@ export async function createFetchRequestHandler( }); return async (req: Request): Promise => { - const url = new URL(req.url); - const path = trimSlashes(url.pathname.slice(parsedPrefixUrl.pathname.length)); + const path = trimSlashes( + url.pathname.slice(parsedPrefixUrl.pathname.length), + ); const pathArray = path.split("/"); const route = router.find(req.method || "get", pathArray); @@ -254,6 +255,5 @@ export async function createFetchRequestHandler( statusText: middlewareResponse.statusText, }); } - } - + }; } diff --git a/packages/adapters/test/helpers/fetch-server.ts b/packages/adapters/test/helpers/fetch-server.ts index e8af23a..7d4ea5e 100644 --- a/packages/adapters/test/helpers/fetch-server.ts +++ b/packages/adapters/test/helpers/fetch-server.ts @@ -10,10 +10,9 @@ export async function startServer( opts: Omit, "req">, ): Promise { const app = new Hono(); - const handler = - await createFetchRequestHandler({ - ...opts, - }); + const handler = await createFetchRequestHandler({ + ...opts, + }); app.all("*", async (c) => { const res = await handler(c.req.raw); From 59a136662a0cfec9ed0cd9afe2d85cc6303aa21f Mon Sep 17 00:00:00 2001 From: Dhiraj Arun Date: Fri, 20 Sep 2024 16:04:46 +0530 Subject: [PATCH 3/6] chore: add labeler.yml --- .github/labeler.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .github/labeler.yml diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 0000000..e69de29 From 9bd67b903c8ad57922af19c3710fe3f8413d4716 Mon Sep 17 00:00:00 2001 From: Dhiraj Arun Date: Fri, 20 Sep 2024 16:25:46 +0530 Subject: [PATCH 4/6] Documentation label suuport in labeler --- .github/labeler.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/labeler.yml b/.github/labeler.yml index e69de29..cec0d12 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -0,0 +1,3 @@ +Documenation: +- changed-files: + - any-glob-to-any-file: 'doc/*' From f9656f158c8d8e108dd753a1b13edbdd1b0b518b Mon Sep 17 00:00:00 2001 From: Dhiraj Arun Date: Fri, 20 Sep 2024 16:31:57 +0530 Subject: [PATCH 5/6] fix labeler workflow --- .github/workflows/labeler.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index e57cd86..cf5d585 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -4,9 +4,11 @@ on: jobs: labeler: + runs-on: ubuntu-latest permissions: contents: read pull-requests: write - runs-on: ubuntu-latest steps: - uses: actions/labeler@v5 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} From b2312e20cd5aa1f5bb827c26aa7609a8aa81c3d0 Mon Sep 17 00:00:00 2001 From: Dhiraj Arun Date: Fri, 20 Sep 2024 16:42:07 +0530 Subject: [PATCH 6/6] fix labeler --- .github/workflows/labeler.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index cf5d585..1dad3a0 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -9,6 +9,9 @@ jobs: contents: read pull-requests: write steps: - - uses: actions/labeler@v5 + - name: Checkout + uses: actions/checkout@v2 + - name: Add Labels to PR + uses: actions/labeler@v5 with: repo-token: ${{ secrets.GITHUB_TOKEN }}