From 0edf09906b460a6ac57ef6a20ba0632f5d5eec0f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 6 May 2025 14:30:16 +0000 Subject: [PATCH 01/31] chore(deps): update dependency @netlify/functions to ^3.1.5 (#2906) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 83 ++++++++++++++++++++++++++++------------------- package.json | 2 +- 2 files changed, 51 insertions(+), 34 deletions(-) diff --git a/package-lock.json b/package-lock.json index b3b4a5bfe3..a422c91f93 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@netlify/edge-bundler": "^13.0.2", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", - "@netlify/functions": "^3.1.3", + "@netlify/functions": "^3.1.5", "@netlify/serverless-functions-api": "^1.38.0", "@netlify/zip-it-and-ship-it": "^10.0.7", "@opentelemetry/api": "^1.8.0", @@ -4010,9 +4010,9 @@ "dev": true }, "node_modules/@netlify/dev-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@netlify/dev-utils/-/dev-utils-2.0.0.tgz", - "integrity": "sha512-UApDeHAJXbtWK7yv3i35/AprPmaCqwM6M0oGPeV1Hs9wRWcIRbANSZV34l7NcKf+jCvAXHHaP0NLFJKregNvBQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@netlify/dev-utils/-/dev-utils-2.1.0.tgz", + "integrity": "sha512-GZ3cVSkipJ+shHQ0yudqqgH5/PW8g98Ou8CckLDKDVi7FREnaWQocJIomfxk0cPWqkg9Iq3DLLV9LOoioCOlAg==", "dev": true, "dependencies": { "@whatwg-node/server": "^0.9.60", @@ -4023,6 +4023,7 @@ "find-up": "7.0.0", "lodash.debounce": "^4.0.8", "netlify": "^13.3.4", + "parse-gitignore": "^2.0.0", "uuid": "^11.1.0", "write-file-atomic": "^6.0.0" }, @@ -4324,13 +4325,13 @@ } }, "node_modules/@netlify/functions": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-3.1.3.tgz", - "integrity": "sha512-RrPdf/4jEhXwd74giIoTZiXm2jCJoHvXRGeLjJLBKNtCW2OvypMiKyWWREbKioIm1qCPMpHG8n7s3JmUNW05SQ==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-3.1.5.tgz", + "integrity": "sha512-HQtKIY+O1gJf+UFk9nHm62ai9fYxF9F4Aaq8zJdMfPhZaSsslS/PH8rEE51bkLi3u63GM8LdaxU1JyCKmT4mGg==", "dev": true, "dependencies": { - "@netlify/blobs": "^9.0.0", - "@netlify/dev-utils": "2.0.0", + "@netlify/blobs": "^9.0.1", + "@netlify/dev-utils": "2.1.0", "@netlify/serverless-functions-api": "1.38.0", "@netlify/zip-it-and-ship-it": "^10.0.7", "cron-parser": "^4.9.0", @@ -4361,13 +4362,13 @@ } }, "node_modules/@netlify/functions/node_modules/@netlify/blobs": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-9.0.0.tgz", - "integrity": "sha512-NqhdBxNVnwbmW9ysyDIqSbbi8IbMCDTxgMrfmwM11yILyf3Jbpo0sDq7vutuvm3eNLGYIiaWch6ZX8w7uupEqA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-9.0.1.tgz", + "integrity": "sha512-l2d7KCAvekDpIBMQjUuOpOgolhMWt9Bll7G/KH/zmW/3gFlTB2mD5/2ghSjCTxLGJzdjbch7/5EBt8UPSDlD3A==", "dev": true, "dependencies": { - "@netlify/dev-utils": "2.0.0", - "@netlify/runtime-utils": "1.1.0" + "@netlify/dev-utils": "2.1.0", + "@netlify/runtime-utils": "1.2.0" }, "engines": { "node": "^14.16.0 || >=16.0.0" @@ -4620,9 +4621,9 @@ "dev": true }, "node_modules/@netlify/runtime-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@netlify/runtime-utils/-/runtime-utils-1.1.0.tgz", - "integrity": "sha512-S6GmCycoRTnlbn9OuzNAP1/V755DKm0OuBspaoUxbnXbW50hwVMTf+HdzqLA+o4BsC32it8OrRFaafeHJx9zwg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@netlify/runtime-utils/-/runtime-utils-1.2.0.tgz", + "integrity": "sha512-iTWkuINC7O8AqthMzbF9/OAnz3ubVPn8ycSD5ZO7vtnlaQiYu/L8mZ7Nez1eZu4WxWgpNBwS79YgAK6x0RBWUQ==", "dev": true, "engines": { "node": ">=16.0.0" @@ -30880,6 +30881,15 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/parse-gitignore": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-2.0.0.tgz", + "integrity": "sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==", + "dev": true, + "engines": { + "node": ">=14" + } + }, "node_modules/parse-imports": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/parse-imports/-/parse-imports-2.2.1.tgz", @@ -37598,9 +37608,9 @@ } }, "@netlify/dev-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@netlify/dev-utils/-/dev-utils-2.0.0.tgz", - "integrity": "sha512-UApDeHAJXbtWK7yv3i35/AprPmaCqwM6M0oGPeV1Hs9wRWcIRbANSZV34l7NcKf+jCvAXHHaP0NLFJKregNvBQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@netlify/dev-utils/-/dev-utils-2.1.0.tgz", + "integrity": "sha512-GZ3cVSkipJ+shHQ0yudqqgH5/PW8g98Ou8CckLDKDVi7FREnaWQocJIomfxk0cPWqkg9Iq3DLLV9LOoioCOlAg==", "dev": true, "requires": { "@whatwg-node/server": "^0.9.60", @@ -37611,6 +37621,7 @@ "find-up": "7.0.0", "lodash.debounce": "^4.0.8", "netlify": "^13.3.4", + "parse-gitignore": "^2.0.0", "uuid": "^11.1.0", "write-file-atomic": "^6.0.0" }, @@ -37833,13 +37844,13 @@ } }, "@netlify/functions": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-3.1.3.tgz", - "integrity": "sha512-RrPdf/4jEhXwd74giIoTZiXm2jCJoHvXRGeLjJLBKNtCW2OvypMiKyWWREbKioIm1qCPMpHG8n7s3JmUNW05SQ==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-3.1.5.tgz", + "integrity": "sha512-HQtKIY+O1gJf+UFk9nHm62ai9fYxF9F4Aaq8zJdMfPhZaSsslS/PH8rEE51bkLi3u63GM8LdaxU1JyCKmT4mGg==", "dev": true, "requires": { - "@netlify/blobs": "^9.0.0", - "@netlify/dev-utils": "2.0.0", + "@netlify/blobs": "^9.0.1", + "@netlify/dev-utils": "2.1.0", "@netlify/serverless-functions-api": "1.38.0", "@netlify/zip-it-and-ship-it": "^10.0.7", "cron-parser": "^4.9.0", @@ -37853,13 +37864,13 @@ }, "dependencies": { "@netlify/blobs": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-9.0.0.tgz", - "integrity": "sha512-NqhdBxNVnwbmW9ysyDIqSbbi8IbMCDTxgMrfmwM11yILyf3Jbpo0sDq7vutuvm3eNLGYIiaWch6ZX8w7uupEqA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-9.0.1.tgz", + "integrity": "sha512-l2d7KCAvekDpIBMQjUuOpOgolhMWt9Bll7G/KH/zmW/3gFlTB2mD5/2ghSjCTxLGJzdjbch7/5EBt8UPSDlD3A==", "dev": true, "requires": { - "@netlify/dev-utils": "2.0.0", - "@netlify/runtime-utils": "1.1.0" + "@netlify/dev-utils": "2.1.0", + "@netlify/runtime-utils": "1.2.0" } }, "is-stream": { @@ -38060,9 +38071,9 @@ } }, "@netlify/runtime-utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@netlify/runtime-utils/-/runtime-utils-1.1.0.tgz", - "integrity": "sha512-S6GmCycoRTnlbn9OuzNAP1/V755DKm0OuBspaoUxbnXbW50hwVMTf+HdzqLA+o4BsC32it8OrRFaafeHJx9zwg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@netlify/runtime-utils/-/runtime-utils-1.2.0.tgz", + "integrity": "sha512-iTWkuINC7O8AqthMzbF9/OAnz3ubVPn8ycSD5ZO7vtnlaQiYu/L8mZ7Nez1eZu4WxWgpNBwS79YgAK6x0RBWUQ==", "dev": true }, "@netlify/serverless-functions-api": { @@ -56525,6 +56536,12 @@ "is-hexadecimal": "^1.0.0" } }, + "parse-gitignore": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-2.0.0.tgz", + "integrity": "sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==", + "dev": true + }, "parse-imports": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/parse-imports/-/parse-imports-2.2.1.tgz", diff --git a/package.json b/package.json index 047c76ae8c..a0c28ae9d0 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "@netlify/edge-bundler": "^13.0.2", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", - "@netlify/functions": "^3.1.3", + "@netlify/functions": "^3.1.5", "@netlify/serverless-functions-api": "^1.38.0", "@netlify/zip-it-and-ship-it": "^10.0.7", "@opentelemetry/api": "^1.8.0", From 54ef288bde211195f507899e6cefc0c0eaa7a9c8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 6 May 2025 15:48:52 +0000 Subject: [PATCH 02/31] chore(deps): update oven-sh/setup-bun action to v2 (#2889) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/run-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 93700c4f28..c6e906ce2f 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -58,7 +58,7 @@ jobs: node-version: '18.x' cache: 'npm' cache-dependency-path: '**/package-lock.json' - - uses: oven-sh/setup-bun@v1 + - uses: oven-sh/setup-bun@v2 - name: setup pnpm/yarn run: | npm install -g corepack From a9f4792d988e731b82a5cbd942852648844d9d6f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 6 May 2025 16:29:29 +0000 Subject: [PATCH 03/31] fix(deps): update dependency @netlify/plugin-nextjs to ^5.11.1 (#2907) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- e2e-report/package-lock.json | 8 ++++---- e2e-report/package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/e2e-report/package-lock.json b/e2e-report/package-lock.json index 931e26939e..684ab2ae5b 100644 --- a/e2e-report/package-lock.json +++ b/e2e-report/package-lock.json @@ -8,7 +8,7 @@ "name": "e2e-test-site", "version": "0.2.0", "dependencies": { - "@netlify/plugin-nextjs": "^5.11.0", + "@netlify/plugin-nextjs": "^5.11.1", "next": "^14.2.26", "react": "^18.3.1", "react-dom": "^18.3.1" @@ -263,9 +263,9 @@ } }, "node_modules/@netlify/plugin-nextjs": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/@netlify/plugin-nextjs/-/plugin-nextjs-5.11.0.tgz", - "integrity": "sha512-op4QvlwAkQBzZ60yfFUCSICRYj8ftWlnSsBLCsPx5uP+csctCmZX97St2SxYYNy9vrTaG9db9qo7zbT3q2O+kQ==", + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/@netlify/plugin-nextjs/-/plugin-nextjs-5.11.1.tgz", + "integrity": "sha512-JD4JtrhW3R0uDaROfNzmhVoYFvj+GS2ARq7YXVXNFxo+rNyU4wJ6nuDZFTsuoEp4nbIVsm2oPaXyjgqk4pd1EA==", "license": "MIT", "engines": { "node": ">=18.0.0" diff --git a/e2e-report/package.json b/e2e-report/package.json index 2d61a98113..826d57b0e0 100644 --- a/e2e-report/package.json +++ b/e2e-report/package.json @@ -9,7 +9,7 @@ "lint": "next lint" }, "dependencies": { - "@netlify/plugin-nextjs": "^5.11.0", + "@netlify/plugin-nextjs": "^5.11.1", "next": "^14.2.26", "react": "^18.3.1", "react-dom": "^18.3.1" From 5489c0da29fb863ff2efb624b4dd128b5f37a8f0 Mon Sep 17 00:00:00 2001 From: Mateusz Bocian Date: Tue, 6 May 2025 14:58:26 -0400 Subject: [PATCH 04/31] fix: address edge can read request body failures (#2890) * fix: address edge can read request body failures * fix: apply multiple body reads patch to rewrite case --- edge-runtime/lib/response.ts | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/edge-runtime/lib/response.ts b/edge-runtime/lib/response.ts index 60cf9fd4b9..31bb7ead7b 100644 --- a/edge-runtime/lib/response.ts +++ b/edge-runtime/lib/response.ts @@ -163,25 +163,13 @@ export const buildResponse = async ({ if (rewriteUrl.origin !== baseUrl.origin) { logger.withFields({ rewrite_url: rewrite }).debug('Rewriting to external url') - let proxyRequest: Request + const proxyRequest = await cloneRequest(rewriteUrl, request) // Remove Netlify internal headers - const headers = new Headers( - [...request.headers.entries()].filter(([key]) => !key.startsWith('x-nf-')), - ) - if (request.body && !request.bodyUsed) { - // This is not ideal, but streaming to an external URL doesn't work - const body = await request.arrayBuffer() - proxyRequest = new Request(rewriteUrl, { - headers, - method: request.method, - body, - }) - } else { - proxyRequest = new Request(rewriteUrl, { - headers, - method: request.method, - }) + for (const key of request.headers.keys()) { + if (key.startsWith('x-nf-')) { + proxyRequest.headers.delete(key) + } } return addMiddlewareHeaders(fetch(proxyRequest, { redirect: 'manual' }), edgeResponse) @@ -207,7 +195,7 @@ export const buildResponse = async ({ request.headers.set('x-middleware-rewrite', target) // coookies set in middleware need to be available during the lambda request - const newRequest = new Request(target, request) + const newRequest = await cloneRequest(target, request) const newRequestCookies = mergeMiddlewareCookies(edgeResponse, newRequest) if (newRequestCookies) { newRequest.headers.set('Cookie', newRequestCookies) @@ -241,7 +229,7 @@ export const buildResponse = async ({ edgeResponse.headers.delete('x-middleware-next') // coookies set in middleware need to be available during the lambda request - const newRequest = new Request(request) + const newRequest = await cloneRequest(request.url, request) const newRequestCookies = mergeMiddlewareCookies(edgeResponse, newRequest) if (newRequestCookies) { newRequest.headers.set('Cookie', newRequestCookies) @@ -284,3 +272,13 @@ function normalizeLocalizedTarget({ } return targetUrl.toString() } + +async function cloneRequest(url, request: Request) { + // This is not ideal, but streaming to an external URL doesn't work + const body = request.body && !request.bodyUsed ? await request.arrayBuffer() : undefined + return new Request(url, { + headers: request.headers, + method: request.method, + body, + }) +} From b3ab558bf50ded49cb6dac1ff714926c2832413d Mon Sep 17 00:00:00 2001 From: Mateusz Bocian Date: Tue, 6 May 2025 15:15:47 -0400 Subject: [PATCH 05/31] fix: ensure internal `x-middleware-set-cookie` header is not passed on to lambda (#2891) * fix: ensure internal x-middleware-set-cookie header is not set when setting cookies in middleware * fix: make environment variables for draft mode available at edge --- edge-runtime/lib/middleware.ts | 4 ++++ src/build/functions/edge.ts | 20 +++++++++++--------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/edge-runtime/lib/middleware.ts b/edge-runtime/lib/middleware.ts index 28f923a794..f2ed78e861 100644 --- a/edge-runtime/lib/middleware.ts +++ b/edge-runtime/lib/middleware.ts @@ -67,6 +67,10 @@ export function mergeMiddlewareCookies(middlewareResponse: Response, lambdaReque const middlewareCookies = middlewareResponse.headers.get('x-middleware-set-cookie') if (middlewareCookies) { + // Next expects internal headers to be omitted when cookies are set by the middleware + // See: https://github.com/vercel/next.js/blob/005db43079c7b59fd8c2594e8362761dc4cb3211/test/e2e/app-dir/app-middleware/app-middleware.test.ts#L197-L207 + middlewareResponse.headers.delete('x-middleware-set-cookie') + // Targets commas that are not followed by whitespace // See: https://github.com/vercel/next.js/blob/e6145d3a37bb4c7b481fd58e05cdff9046ace8ad/packages/next/src/server/web/spec-extension/response.ts#L58-L66 const regex = new RegExp(/,(?!\s)/) diff --git a/src/build/functions/edge.ts b/src/build/functions/edge.ts index d551afda5c..f68be7ca95 100644 --- a/src/build/functions/edge.ts +++ b/src/build/functions/edge.ts @@ -119,7 +119,7 @@ const writeHandlerFile = async (ctx: PluginContext, { matchers, name }: NextDefi const copyHandlerDependencies = async ( ctx: PluginContext, - { name, files, wasm }: NextDefinition, + { name, env, files, wasm }: NextDefinition, ) => { const srcDir = join(ctx.standaloneDir, ctx.nextDistDir) const destDir = join(ctx.edgeFunctionsDir, getHandlerName({ name })) @@ -132,6 +132,11 @@ const copyHandlerDependencies = async ( const outputFile = join(destDir, `server/${name}.js`) + // Prepare environment variables for draft-mode (i.e. __NEXT_PREVIEW_MODE_ID, __NEXT_PREVIEW_MODE_SIGNING_KEY, __NEXT_PREVIEW_MODE_ENCRYPTION_KEY) + for (const [key, value] of Object.entries(env)) { + parts.push(`process.env.${key} = '${value}';`) + } + if (wasm?.length) { for (const wasmChunk of wasm ?? []) { const data = await readFile(join(srcDir, wasmChunk.filePath)) @@ -161,16 +166,16 @@ const buildHandlerDefinition = ( ctx: PluginContext, { name, matchers, page }: NextDefinition, ): Array => { - const fun = getHandlerName({ name }) - const funName = name.endsWith('middleware') + const functionHandlerName = getHandlerName({ name }) + const functionName = name.endsWith('middleware') ? 'Next.js Middleware Handler' : `Next.js Edge Handler: ${page}` const cache = name.endsWith('middleware') ? undefined : ('manual' as const) const generator = `${ctx.pluginName}@${ctx.pluginVersion}` return augmentMatchers(matchers, ctx).map((matcher) => ({ - function: fun, - name: funName, + function: functionHandlerName, + name: functionName, pattern: matcher.regexp, cache, generator, @@ -183,10 +188,7 @@ export const clearStaleEdgeHandlers = async (ctx: PluginContext) => { export const createEdgeHandlers = async (ctx: PluginContext) => { const nextManifest = await ctx.getMiddlewareManifest() - const nextDefinitions = [ - ...Object.values(nextManifest.middleware), - // ...Object.values(nextManifest.functions) - ] + const nextDefinitions = [...Object.values(nextManifest.middleware)] await Promise.all(nextDefinitions.map((def) => createEdgeHandler(ctx, def))) const netlifyDefinitions = nextDefinitions.flatMap((def) => buildHandlerDefinition(ctx, def)) From 2f5f5dd315e5f0e0dd28a40561fa639646714529 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 6 May 2025 20:21:19 +0000 Subject: [PATCH 06/31] chore(deps): update dependency netlify-cli to v21 (#2908) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- e2e-report/package-lock.json | 16 ++++++++-------- e2e-report/package.json | 2 +- package-lock.json | 30 +++++++++++++++--------------- package.json | 2 +- tests/netlify-deploy.ts | 2 +- tests/utils/create-e2e-fixture.ts | 6 +++--- 6 files changed, 29 insertions(+), 29 deletions(-) diff --git a/e2e-report/package-lock.json b/e2e-report/package-lock.json index 684ab2ae5b..e11a8e99ca 100644 --- a/e2e-report/package-lock.json +++ b/e2e-report/package-lock.json @@ -18,7 +18,7 @@ "daisyui": "^4.12.2", "eslint": "^8.57.0", "eslint-config-next": "^14.2.4", - "netlify-cli": "^20.1.1", + "netlify-cli": "^21.0.1", "postcss": "^8.4.38", "sass": "^1.77.1", "tailwindcss": "^3.4.4" @@ -3629,9 +3629,9 @@ "dev": true }, "node_modules/netlify-cli": { - "version": "20.1.1", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-20.1.1.tgz", - "integrity": "sha512-TyOaHXN8CwesnTiavZQtXquzarJ8Bxu1ufa9SdEcJ/g7usy4/OIBrOVQiAk2RdOHn2gGV07ttJ1KxHt+RP9xew==", + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.0.1.tgz", + "integrity": "sha512-qgdbrOPzgu2qt7fyM6pGMvbbLyFEaKjdTcyGfNV15ElyQEQ5aRIXr1ggK6Yg0Mr4VQplW0caipz+XlKmBPo1dA==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, @@ -3643,7 +3643,7 @@ "@netlify/build-info": "9.0.4", "@netlify/config": "22.0.1", "@netlify/edge-bundler": "13.0.2", - "@netlify/edge-functions": "2.11.1", + "@netlify/edge-functions": "2.12.0", "@netlify/headers-parser": "8.0.0", "@netlify/local-functions-proxy": "2.0.3", "@netlify/redirect-parser": "14.5.1", @@ -5883,9 +5883,9 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/edge-functions": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@netlify/edge-functions/-/edge-functions-2.11.1.tgz", - "integrity": "sha512-pyQOTZ8a+ge5lZlE+H/UAHyuqQqtL5gE0pXrHT9mOykr3YQqnkB2hZMtx12odatZ87gHg4EA+UPyMZUbLfnXvw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@netlify/edge-functions/-/edge-functions-2.12.0.tgz", + "integrity": "sha512-6EWKqCQvOWyM6CHOofvDglX8qkBL2xcMF2T0h7kzZRrdBvHMRgxTk6BmPlBGt8z4LubSQo6vDAb46MYNJ7ZyaA==", "dev": true }, "node_modules/netlify-cli/node_modules/@netlify/framework-info": { diff --git a/e2e-report/package.json b/e2e-report/package.json index 826d57b0e0..8cd584a6b3 100644 --- a/e2e-report/package.json +++ b/e2e-report/package.json @@ -19,7 +19,7 @@ "daisyui": "^4.12.2", "eslint": "^8.57.0", "eslint-config-next": "^14.2.4", - "netlify-cli": "^20.1.1", + "netlify-cli": "^21.0.1", "postcss": "^8.4.38", "sass": "^1.77.1", "tailwindcss": "^3.4.4" diff --git a/package-lock.json b/package-lock.json index a422c91f93..5af0d3bb55 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,7 @@ "memfs": "^4.9.2", "mock-require": "^3.0.3", "msw": "^2.0.7", - "netlify-cli": "^20.1.1", + "netlify-cli": "^21.0.1", "next": "^15.0.0-canary.28", "next-with-cache-handler-v2": "npm:next@15.3.0-canary.13", "os": "^0.1.2", @@ -14277,9 +14277,9 @@ } }, "node_modules/netlify-cli": { - "version": "20.1.1", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-20.1.1.tgz", - "integrity": "sha512-TyOaHXN8CwesnTiavZQtXquzarJ8Bxu1ufa9SdEcJ/g7usy4/OIBrOVQiAk2RdOHn2gGV07ttJ1KxHt+RP9xew==", + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.0.1.tgz", + "integrity": "sha512-qgdbrOPzgu2qt7fyM6pGMvbbLyFEaKjdTcyGfNV15ElyQEQ5aRIXr1ggK6Yg0Mr4VQplW0caipz+XlKmBPo1dA==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, @@ -14290,7 +14290,7 @@ "@netlify/build-info": "9.0.4", "@netlify/config": "22.0.1", "@netlify/edge-bundler": "13.0.2", - "@netlify/edge-functions": "2.11.1", + "@netlify/edge-functions": "2.12.0", "@netlify/headers-parser": "8.0.0", "@netlify/local-functions-proxy": "2.0.3", "@netlify/redirect-parser": "14.5.1", @@ -16530,9 +16530,9 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/edge-functions": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@netlify/edge-functions/-/edge-functions-2.11.1.tgz", - "integrity": "sha512-pyQOTZ8a+ge5lZlE+H/UAHyuqQqtL5gE0pXrHT9mOykr3YQqnkB2hZMtx12odatZ87gHg4EA+UPyMZUbLfnXvw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@netlify/edge-functions/-/edge-functions-2.12.0.tgz", + "integrity": "sha512-6EWKqCQvOWyM6CHOofvDglX8qkBL2xcMF2T0h7kzZRrdBvHMRgxTk6BmPlBGt8z4LubSQo6vDAb46MYNJ7ZyaA==", "dev": true }, "node_modules/netlify-cli/node_modules/@netlify/framework-info": { @@ -44964,9 +44964,9 @@ } }, "netlify-cli": { - "version": "20.1.1", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-20.1.1.tgz", - "integrity": "sha512-TyOaHXN8CwesnTiavZQtXquzarJ8Bxu1ufa9SdEcJ/g7usy4/OIBrOVQiAk2RdOHn2gGV07ttJ1KxHt+RP9xew==", + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.0.1.tgz", + "integrity": "sha512-qgdbrOPzgu2qt7fyM6pGMvbbLyFEaKjdTcyGfNV15ElyQEQ5aRIXr1ggK6Yg0Mr4VQplW0caipz+XlKmBPo1dA==", "dev": true, "requires": { "@fastify/static": "7.0.4", @@ -44975,7 +44975,7 @@ "@netlify/build-info": "9.0.4", "@netlify/config": "22.0.1", "@netlify/edge-bundler": "13.0.2", - "@netlify/edge-functions": "2.11.1", + "@netlify/edge-functions": "2.12.0", "@netlify/headers-parser": "8.0.0", "@netlify/local-functions-proxy": "2.0.3", "@netlify/redirect-parser": "14.5.1", @@ -46489,9 +46489,9 @@ } }, "@netlify/edge-functions": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@netlify/edge-functions/-/edge-functions-2.11.1.tgz", - "integrity": "sha512-pyQOTZ8a+ge5lZlE+H/UAHyuqQqtL5gE0pXrHT9mOykr3YQqnkB2hZMtx12odatZ87gHg4EA+UPyMZUbLfnXvw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@netlify/edge-functions/-/edge-functions-2.12.0.tgz", + "integrity": "sha512-6EWKqCQvOWyM6CHOofvDglX8qkBL2xcMF2T0h7kzZRrdBvHMRgxTk6BmPlBGt8z4LubSQo6vDAb46MYNJ7ZyaA==", "dev": true }, "@netlify/framework-info": { diff --git a/package.json b/package.json index a0c28ae9d0..941d0a5227 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "memfs": "^4.9.2", "mock-require": "^3.0.3", "msw": "^2.0.7", - "netlify-cli": "^20.1.1", + "netlify-cli": "^21.0.1", "next": "^15.0.0-canary.28", "next-with-cache-handler-v2": "npm:next@15.3.0-canary.13", "os": "^0.1.2", diff --git a/tests/netlify-deploy.ts b/tests/netlify-deploy.ts index d7e4b76c88..f1c979375c 100644 --- a/tests/netlify-deploy.ts +++ b/tests/netlify-deploy.ts @@ -148,7 +148,7 @@ export class NextDeployInstance extends NextInstance { try { const deployUrlRegex = new RegExp( - /https:\/\/app\.netlify\.com\/sites\/(?.+)\/deploys\/(?[0-9a-f]+)/gm, + /https:\/\/app\.netlify\.com\/sites\/(?[^\/]+)\/deploys\/(?[0-9a-f]+)/gm, ).exec(deployRes.stdout) const [buildLogsUrl] = deployUrlRegex || [] const { deployID, siteName } = deployUrlRegex?.groups || {} diff --git a/tests/utils/create-e2e-fixture.ts b/tests/utils/create-e2e-fixture.ts index d9dd509708..9ec2bfd92c 100644 --- a/tests/utils/create-e2e-fixture.ts +++ b/tests/utils/create-e2e-fixture.ts @@ -280,9 +280,9 @@ async function deploySite( const output = await readFile(join(siteDir, outputFile), 'utf-8') const { siteName, deployID } = - new RegExp(/app\.netlify\.com\/sites\/(?.+)\/deploys\/(?[0-9a-f]+)/gm).exec( - output, - )?.groups || {} + new RegExp( + /app\.netlify\.com\/sites\/(?[^\/]+)\/deploys\/(?[0-9a-f]+)/gm, + ).exec(output)?.groups || {} if (!deployID) { throw new Error('Could not extract DeployID from the build logs') From 041e0f274626cb762a002f71cb7d9fb6a1366361 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 7 May 2025 03:16:57 +0000 Subject: [PATCH 07/31] chore(deps): update dependency netlify-cli to ^21.1.0 (#2910) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- e2e-report/package-lock.json | 43 ++++++++++--------- e2e-report/package.json | 2 +- package-lock.json | 81 ++++++++++++++++++------------------ package.json | 2 +- 4 files changed, 63 insertions(+), 65 deletions(-) diff --git a/e2e-report/package-lock.json b/e2e-report/package-lock.json index e11a8e99ca..48d11aa0ee 100644 --- a/e2e-report/package-lock.json +++ b/e2e-report/package-lock.json @@ -18,7 +18,7 @@ "daisyui": "^4.12.2", "eslint": "^8.57.0", "eslint-config-next": "^14.2.4", - "netlify-cli": "^21.0.1", + "netlify-cli": "^21.1.0", "postcss": "^8.4.38", "sass": "^1.77.1", "tailwindcss": "^3.4.4" @@ -3629,9 +3629,9 @@ "dev": true }, "node_modules/netlify-cli": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.0.1.tgz", - "integrity": "sha512-qgdbrOPzgu2qt7fyM6pGMvbbLyFEaKjdTcyGfNV15ElyQEQ5aRIXr1ggK6Yg0Mr4VQplW0caipz+XlKmBPo1dA==", + "version": "21.1.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.1.0.tgz", + "integrity": "sha512-+yracuJld2PS0MwTlYscfQpn+z/hy9cE+eGZw62Vbw/DXm9NsS69bW7+KCPbvksSm+t53TKZyuq3OxHFvIHxPg==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, @@ -3677,7 +3677,7 @@ "express-logging": "1.1.1", "extract-zip": "2.0.1", "fastest-levenshtein": "1.0.16", - "fastify": "4.29.0", + "fastify": "4.29.1", "find-up": "7.0.0", "folder-walker": "3.2.0", "fuzzy": "0.1.3", @@ -3709,7 +3709,7 @@ "netlify-redirector": "0.5.0", "node-fetch": "3.3.2", "normalize-package-data": "6.0.2", - "open": "10.1.1", + "open": "10.1.2", "p-filter": "4.1.0", "p-map": "7.0.3", "p-wait-for": "5.0.2", @@ -3725,12 +3725,12 @@ "terminal-link": "4.0.0", "toml": "3.0.0", "tomlify-j0.4": "3.0.0", - "ulid": "2.3.0", + "ulid": "3.0.0", "update-notifier": "7.3.1", "uuid": "11.1.0", "wait-port": "1.1.0", "write-file-atomic": "5.0.1", - "ws": "8.18.1" + "ws": "8.18.2" }, "bin": { "netlify": "bin/run.js", @@ -11860,9 +11860,9 @@ } }, "node_modules/netlify-cli/node_modules/fastify": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.29.0.tgz", - "integrity": "sha512-MaaUHUGcCgC8fXQDsDtioaCcag1fmPJ9j64vAKunqZF4aSub040ZGi/ag8NGE2714yREPOKZuHCfpPzuUD3UQQ==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.29.1.tgz", + "integrity": "sha512-m2kMNHIG92tSNWv+Z3UeTR9AWLLuo7KctC7mlFPtMEVrfjIhmQhkQnT9v15qA/BfVq3vvj134Y0jl9SBje3jXQ==", "dev": true, "funding": [ { @@ -15400,11 +15400,10 @@ } }, "node_modules/netlify-cli/node_modules/open": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.1.tgz", - "integrity": "sha512-zy1wx4+P3PfhXSEPJNtZmJXfhkkIaxU1VauWIrDZw1O7uJRDRJtKr9n3Ic4NgbA16KyOxOXO2ng9gYwCdXuSXA==", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", + "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", "dev": true, - "license": "MIT", "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", @@ -18130,12 +18129,12 @@ } }, "node_modules/netlify-cli/node_modules/ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-3.0.0.tgz", + "integrity": "sha512-yvZYdXInnJve6LdlPIuYmURdS2NP41ZoF4QW7SXwbUKYt53+0eDAySO+rGSvM2O/ciuB/G+8N7GQrZ1mCJpuqw==", "dev": true, "bin": { - "ulid": "bin/cli.js" + "ulid": "dist/cli.js" } }, "node_modules/netlify-cli/node_modules/unbzip2-stream": { @@ -18894,9 +18893,9 @@ } }, "node_modules/netlify-cli/node_modules/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", "dev": true, "engines": { "node": ">=10.0.0" diff --git a/e2e-report/package.json b/e2e-report/package.json index 8cd584a6b3..2a1bb197f3 100644 --- a/e2e-report/package.json +++ b/e2e-report/package.json @@ -19,7 +19,7 @@ "daisyui": "^4.12.2", "eslint": "^8.57.0", "eslint-config-next": "^14.2.4", - "netlify-cli": "^21.0.1", + "netlify-cli": "^21.1.0", "postcss": "^8.4.38", "sass": "^1.77.1", "tailwindcss": "^3.4.4" diff --git a/package-lock.json b/package-lock.json index 5af0d3bb55..a166c1d15b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,7 @@ "memfs": "^4.9.2", "mock-require": "^3.0.3", "msw": "^2.0.7", - "netlify-cli": "^21.0.1", + "netlify-cli": "^21.1.0", "next": "^15.0.0-canary.28", "next-with-cache-handler-v2": "npm:next@15.3.0-canary.13", "os": "^0.1.2", @@ -14277,9 +14277,9 @@ } }, "node_modules/netlify-cli": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.0.1.tgz", - "integrity": "sha512-qgdbrOPzgu2qt7fyM6pGMvbbLyFEaKjdTcyGfNV15ElyQEQ5aRIXr1ggK6Yg0Mr4VQplW0caipz+XlKmBPo1dA==", + "version": "21.1.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.1.0.tgz", + "integrity": "sha512-+yracuJld2PS0MwTlYscfQpn+z/hy9cE+eGZw62Vbw/DXm9NsS69bW7+KCPbvksSm+t53TKZyuq3OxHFvIHxPg==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, @@ -14324,7 +14324,7 @@ "express-logging": "1.1.1", "extract-zip": "2.0.1", "fastest-levenshtein": "1.0.16", - "fastify": "4.29.0", + "fastify": "4.29.1", "find-up": "7.0.0", "folder-walker": "3.2.0", "fuzzy": "0.1.3", @@ -14356,7 +14356,7 @@ "netlify-redirector": "0.5.0", "node-fetch": "3.3.2", "normalize-package-data": "6.0.2", - "open": "10.1.1", + "open": "10.1.2", "p-filter": "4.1.0", "p-map": "7.0.3", "p-wait-for": "5.0.2", @@ -14372,12 +14372,12 @@ "terminal-link": "4.0.0", "toml": "3.0.0", "tomlify-j0.4": "3.0.0", - "ulid": "2.3.0", + "ulid": "3.0.0", "update-notifier": "7.3.1", "uuid": "11.1.0", "wait-port": "1.1.0", "write-file-atomic": "5.0.1", - "ws": "8.18.1" + "ws": "8.18.2" }, "bin": { "netlify": "bin/run.js", @@ -22507,9 +22507,9 @@ } }, "node_modules/netlify-cli/node_modules/fastify": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.29.0.tgz", - "integrity": "sha512-MaaUHUGcCgC8fXQDsDtioaCcag1fmPJ9j64vAKunqZF4aSub040ZGi/ag8NGE2714yREPOKZuHCfpPzuUD3UQQ==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.29.1.tgz", + "integrity": "sha512-m2kMNHIG92tSNWv+Z3UeTR9AWLLuo7KctC7mlFPtMEVrfjIhmQhkQnT9v15qA/BfVq3vvj134Y0jl9SBje3jXQ==", "dev": true, "funding": [ { @@ -26047,11 +26047,10 @@ } }, "node_modules/netlify-cli/node_modules/open": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.1.tgz", - "integrity": "sha512-zy1wx4+P3PfhXSEPJNtZmJXfhkkIaxU1VauWIrDZw1O7uJRDRJtKr9n3Ic4NgbA16KyOxOXO2ng9gYwCdXuSXA==", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", + "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", "dev": true, - "license": "MIT", "dependencies": { "default-browser": "^5.2.1", "define-lazy-prop": "^3.0.0", @@ -28777,12 +28776,12 @@ } }, "node_modules/netlify-cli/node_modules/ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-3.0.0.tgz", + "integrity": "sha512-yvZYdXInnJve6LdlPIuYmURdS2NP41ZoF4QW7SXwbUKYt53+0eDAySO+rGSvM2O/ciuB/G+8N7GQrZ1mCJpuqw==", "dev": true, "bin": { - "ulid": "bin/cli.js" + "ulid": "dist/cli.js" } }, "node_modules/netlify-cli/node_modules/unbzip2-stream": { @@ -29541,9 +29540,9 @@ } }, "node_modules/netlify-cli/node_modules/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", "dev": true, "engines": { "node": ">=10.0.0" @@ -44964,9 +44963,9 @@ } }, "netlify-cli": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.0.1.tgz", - "integrity": "sha512-qgdbrOPzgu2qt7fyM6pGMvbbLyFEaKjdTcyGfNV15ElyQEQ5aRIXr1ggK6Yg0Mr4VQplW0caipz+XlKmBPo1dA==", + "version": "21.1.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.1.0.tgz", + "integrity": "sha512-+yracuJld2PS0MwTlYscfQpn+z/hy9cE+eGZw62Vbw/DXm9NsS69bW7+KCPbvksSm+t53TKZyuq3OxHFvIHxPg==", "dev": true, "requires": { "@fastify/static": "7.0.4", @@ -45009,7 +45008,7 @@ "express-logging": "1.1.1", "extract-zip": "2.0.1", "fastest-levenshtein": "1.0.16", - "fastify": "4.29.0", + "fastify": "4.29.1", "find-up": "7.0.0", "folder-walker": "3.2.0", "fuzzy": "0.1.3", @@ -45041,7 +45040,7 @@ "netlify-redirector": "0.5.0", "node-fetch": "3.3.2", "normalize-package-data": "6.0.2", - "open": "10.1.1", + "open": "10.1.2", "p-filter": "4.1.0", "p-map": "7.0.3", "p-wait-for": "5.0.2", @@ -45057,12 +45056,12 @@ "terminal-link": "4.0.0", "toml": "3.0.0", "tomlify-j0.4": "3.0.0", - "ulid": "2.3.0", + "ulid": "3.0.0", "update-notifier": "7.3.1", "uuid": "11.1.0", "wait-port": "1.1.0", "write-file-atomic": "5.0.1", - "ws": "8.18.1" + "ws": "8.18.2" }, "dependencies": { "@babel/code-frame": { @@ -50560,9 +50559,9 @@ "dev": true }, "fastify": { - "version": "4.29.0", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.29.0.tgz", - "integrity": "sha512-MaaUHUGcCgC8fXQDsDtioaCcag1fmPJ9j64vAKunqZF4aSub040ZGi/ag8NGE2714yREPOKZuHCfpPzuUD3UQQ==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.29.1.tgz", + "integrity": "sha512-m2kMNHIG92tSNWv+Z3UeTR9AWLLuo7KctC7mlFPtMEVrfjIhmQhkQnT9v15qA/BfVq3vvj134Y0jl9SBje3jXQ==", "dev": true, "requires": { "@fastify/ajv-compiler": "^3.5.0", @@ -53133,9 +53132,9 @@ } }, "open": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.1.tgz", - "integrity": "sha512-zy1wx4+P3PfhXSEPJNtZmJXfhkkIaxU1VauWIrDZw1O7uJRDRJtKr9n3Ic4NgbA16KyOxOXO2ng9gYwCdXuSXA==", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/open/-/open-10.1.2.tgz", + "integrity": "sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==", "dev": true, "requires": { "default-browser": "^5.2.1", @@ -55133,9 +55132,9 @@ } }, "ulid": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/ulid/-/ulid-2.3.0.tgz", - "integrity": "sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ulid/-/ulid-3.0.0.tgz", + "integrity": "sha512-yvZYdXInnJve6LdlPIuYmURdS2NP41ZoF4QW7SXwbUKYt53+0eDAySO+rGSvM2O/ciuB/G+8N7GQrZ1mCJpuqw==", "dev": true }, "unbzip2-stream": { @@ -55665,9 +55664,9 @@ } }, "ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==", + "version": "8.18.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", + "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", "dev": true, "requires": {} }, diff --git a/package.json b/package.json index 941d0a5227..b8929345e8 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "memfs": "^4.9.2", "mock-require": "^3.0.3", "msw": "^2.0.7", - "netlify-cli": "^21.0.1", + "netlify-cli": "^21.1.0", "next": "^15.0.0-canary.28", "next-with-cache-handler-v2": "npm:next@15.3.0-canary.13", "os": "^0.1.2", From d0b99877d3ec98a1f70accb8733df1a65519315d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 7 May 2025 17:35:40 +0000 Subject: [PATCH 08/31] chore(deps): update dependency @netlify/serverless-functions-api to ^1.41.0 (#2911) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 29 ++++++++++++++++++++++------- package.json | 2 +- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index a166c1d15b..5be1b6697f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", "@netlify/functions": "^3.1.5", - "@netlify/serverless-functions-api": "^1.38.0", + "@netlify/serverless-functions-api": "^1.41.0", "@netlify/zip-it-and-ship-it": "^10.0.7", "@opentelemetry/api": "^1.8.0", "@playwright/test": "^1.43.1", @@ -4374,6 +4374,15 @@ "node": "^14.16.0 || >=16.0.0" } }, + "node_modules/@netlify/functions/node_modules/@netlify/serverless-functions-api": { + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.38.0.tgz", + "integrity": "sha512-AuTzLH4BlQxPViwdEP9WcW/9NjqmjzaPHxOd9fyaMZUOkAgF0iauio9PF9QylAtgyodhLd6mGuASESZZiJcXaw==", + "dev": true, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@netlify/functions/node_modules/is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", @@ -4630,9 +4639,9 @@ } }, "node_modules/@netlify/serverless-functions-api": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.38.0.tgz", - "integrity": "sha512-AuTzLH4BlQxPViwdEP9WcW/9NjqmjzaPHxOd9fyaMZUOkAgF0iauio9PF9QylAtgyodhLd6mGuASESZZiJcXaw==", + "version": "1.41.0", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.0.tgz", + "integrity": "sha512-gez/2z8az4SFOitVID0j3GImXHs+1wsnthkpxMFoedeQ113uEE2wY0V492y7ABNfofR5VjMauWSdAK1S1JyNTQ==", "dev": true, "engines": { "node": ">=18.0.0" @@ -37872,6 +37881,12 @@ "@netlify/runtime-utils": "1.2.0" } }, + "@netlify/serverless-functions-api": { + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.38.0.tgz", + "integrity": "sha512-AuTzLH4BlQxPViwdEP9WcW/9NjqmjzaPHxOd9fyaMZUOkAgF0iauio9PF9QylAtgyodhLd6mGuASESZZiJcXaw==", + "dev": true + }, "is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", @@ -38076,9 +38091,9 @@ "dev": true }, "@netlify/serverless-functions-api": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.38.0.tgz", - "integrity": "sha512-AuTzLH4BlQxPViwdEP9WcW/9NjqmjzaPHxOd9fyaMZUOkAgF0iauio9PF9QylAtgyodhLd6mGuASESZZiJcXaw==", + "version": "1.41.0", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.0.tgz", + "integrity": "sha512-gez/2z8az4SFOitVID0j3GImXHs+1wsnthkpxMFoedeQ113uEE2wY0V492y7ABNfofR5VjMauWSdAK1S1JyNTQ==", "dev": true }, "@netlify/zip-it-and-ship-it": { diff --git a/package.json b/package.json index b8929345e8..645512c69e 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", "@netlify/functions": "^3.1.5", - "@netlify/serverless-functions-api": "^1.38.0", + "@netlify/serverless-functions-api": "^1.41.0", "@netlify/zip-it-and-ship-it": "^10.0.7", "@opentelemetry/api": "^1.8.0", "@playwright/test": "^1.43.1", From 65d60caf5b8a2be04df3c1c0e3304bfade255450 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 7 May 2025 22:38:35 +0000 Subject: [PATCH 09/31] chore(deps): update dependency netlify-cli to ^21.2.0 (#2913) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- e2e-report/package-lock.json | 8 ++++---- e2e-report/package.json | 2 +- package-lock.json | 14 +++++++------- package.json | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/e2e-report/package-lock.json b/e2e-report/package-lock.json index 48d11aa0ee..c06449d8cd 100644 --- a/e2e-report/package-lock.json +++ b/e2e-report/package-lock.json @@ -18,7 +18,7 @@ "daisyui": "^4.12.2", "eslint": "^8.57.0", "eslint-config-next": "^14.2.4", - "netlify-cli": "^21.1.0", + "netlify-cli": "^21.2.0", "postcss": "^8.4.38", "sass": "^1.77.1", "tailwindcss": "^3.4.4" @@ -3629,9 +3629,9 @@ "dev": true }, "node_modules/netlify-cli": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.1.0.tgz", - "integrity": "sha512-+yracuJld2PS0MwTlYscfQpn+z/hy9cE+eGZw62Vbw/DXm9NsS69bW7+KCPbvksSm+t53TKZyuq3OxHFvIHxPg==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.2.0.tgz", + "integrity": "sha512-PKOncgrqKvIVJcYyY0ZOFIkCe7vGcqgAw944f7oIOexL0foIyNeJPLQyOQpHdvlcDYOzp2hbR7+iAqKxGvqwhw==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, diff --git a/e2e-report/package.json b/e2e-report/package.json index 2a1bb197f3..b3a5d99401 100644 --- a/e2e-report/package.json +++ b/e2e-report/package.json @@ -19,7 +19,7 @@ "daisyui": "^4.12.2", "eslint": "^8.57.0", "eslint-config-next": "^14.2.4", - "netlify-cli": "^21.1.0", + "netlify-cli": "^21.2.0", "postcss": "^8.4.38", "sass": "^1.77.1", "tailwindcss": "^3.4.4" diff --git a/package-lock.json b/package-lock.json index 5be1b6697f..b6e094c4d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,7 @@ "memfs": "^4.9.2", "mock-require": "^3.0.3", "msw": "^2.0.7", - "netlify-cli": "^21.1.0", + "netlify-cli": "^21.2.0", "next": "^15.0.0-canary.28", "next-with-cache-handler-v2": "npm:next@15.3.0-canary.13", "os": "^0.1.2", @@ -14286,9 +14286,9 @@ } }, "node_modules/netlify-cli": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.1.0.tgz", - "integrity": "sha512-+yracuJld2PS0MwTlYscfQpn+z/hy9cE+eGZw62Vbw/DXm9NsS69bW7+KCPbvksSm+t53TKZyuq3OxHFvIHxPg==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.2.0.tgz", + "integrity": "sha512-PKOncgrqKvIVJcYyY0ZOFIkCe7vGcqgAw944f7oIOexL0foIyNeJPLQyOQpHdvlcDYOzp2hbR7+iAqKxGvqwhw==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, @@ -44978,9 +44978,9 @@ } }, "netlify-cli": { - "version": "21.1.0", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.1.0.tgz", - "integrity": "sha512-+yracuJld2PS0MwTlYscfQpn+z/hy9cE+eGZw62Vbw/DXm9NsS69bW7+KCPbvksSm+t53TKZyuq3OxHFvIHxPg==", + "version": "21.2.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.2.0.tgz", + "integrity": "sha512-PKOncgrqKvIVJcYyY0ZOFIkCe7vGcqgAw944f7oIOexL0foIyNeJPLQyOQpHdvlcDYOzp2hbR7+iAqKxGvqwhw==", "dev": true, "requires": { "@fastify/static": "7.0.4", diff --git a/package.json b/package.json index 645512c69e..370f5da930 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "memfs": "^4.9.2", "mock-require": "^3.0.3", "msw": "^2.0.7", - "netlify-cli": "^21.1.0", + "netlify-cli": "^21.2.0", "next": "^15.0.0-canary.28", "next-with-cache-handler-v2": "npm:next@15.3.0-canary.13", "os": "^0.1.2", From 05b74a583f1d7b509d42a9aaa5ea3c24694cb9dd Mon Sep 17 00:00:00 2001 From: Philippe Serhal Date: Thu, 8 May 2025 12:03:52 -0400 Subject: [PATCH 10/31] ci: remove `--timings` flag for Next.js repo e2e tests (#2912) This doesn't seem to provide any value for us. It just adds some test run time and instability to our suite, since this ends up attempting to read a `test-timings.json` file from disk (fails every time) and then makes a request to fetch timings data from a private Vercel endpoint, which sometimes fails with a 403 for some reason. --- .github/workflows/test-e2e.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-e2e.yml b/.github/workflows/test-e2e.yml index 7bfb352ee3..78997d4896 100644 --- a/.github/workflows/test-e2e.yml +++ b/.github/workflows/test-e2e.yml @@ -198,7 +198,7 @@ jobs: NODE_ENV: production NEXT_EXTERNAL_TESTS_FILTERS: ${{ steps.test-filters.outputs.filters }} NEXT_TEST_SKIP_RETRY_MANIFEST: ${{ steps.test-filters.outputs.skip-retry }} - run: node run-tests.js -g ${{ matrix.group }}/${{ needs.setup.outputs.total }} -c ${TEST_CONCURRENCY} --type e2e --timings + run: node run-tests.js -g ${{ matrix.group }}/${{ needs.setup.outputs.total }} -c ${TEST_CONCURRENCY} --type e2e working-directory: ${{ env.next-path }} - name: Upload Test Results From 267d0a03798843e93af2691a683695362edb8ce9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 8 May 2025 17:06:55 +0000 Subject: [PATCH 11/31] chore(deps): update netlify packages (#2914) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Mateusz Bocian --- package-lock.json | 1180 +++++++++++---------------------------------- package.json | 6 +- 2 files changed, 293 insertions(+), 893 deletions(-) diff --git a/package-lock.json b/package-lock.json index b6e094c4d6..1f421866d2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,13 +11,13 @@ "devDependencies": { "@fastly/http-compute-js": "1.1.5", "@netlify/blobs": "^8.2.0", - "@netlify/build": "^32.1.0", - "@netlify/edge-bundler": "^13.0.2", + "@netlify/build": "^32.1.1", + "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", "@netlify/functions": "^3.1.5", "@netlify/serverless-functions-api": "^1.41.0", - "@netlify/zip-it-and-ship-it": "^10.0.7", + "@netlify/zip-it-and-ship-it": "^10.1.0", "@opentelemetry/api": "^1.8.0", "@playwright/test": "^1.43.1", "@types/node": "^20.12.7", @@ -306,9 +306,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, "engines": { "node": ">=6.9.0" @@ -459,13 +459,13 @@ } }, "node_modules/@babel/types": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", - "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", + "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -1547,9 +1547,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", - "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", + "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", "cpu": [ "ppc64" ], @@ -1559,13 +1559,13 @@ "aix" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", - "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", + "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", "cpu": [ "arm" ], @@ -1575,13 +1575,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", - "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", + "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", "cpu": [ "arm64" ], @@ -1591,13 +1591,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", - "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", + "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", "cpu": [ "x64" ], @@ -1607,13 +1607,13 @@ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", - "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", + "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", "cpu": [ "arm64" ], @@ -1623,13 +1623,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", - "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", + "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", "cpu": [ "x64" ], @@ -1639,13 +1639,13 @@ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", - "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", + "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", "cpu": [ "arm64" ], @@ -1655,13 +1655,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", - "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", + "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", "cpu": [ "x64" ], @@ -1671,13 +1671,13 @@ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", - "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", + "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", "cpu": [ "arm" ], @@ -1687,13 +1687,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", - "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", + "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", "cpu": [ "arm64" ], @@ -1703,13 +1703,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", - "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", + "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", "cpu": [ "ia32" ], @@ -1719,13 +1719,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", - "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", + "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", "cpu": [ "loong64" ], @@ -1735,13 +1735,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", - "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", + "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", "cpu": [ "mips64el" ], @@ -1751,13 +1751,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", - "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", + "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", "cpu": [ "ppc64" ], @@ -1767,13 +1767,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", - "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", + "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", "cpu": [ "riscv64" ], @@ -1783,13 +1783,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", - "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", + "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", "cpu": [ "s390x" ], @@ -1799,13 +1799,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", - "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", + "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", "cpu": [ "x64" ], @@ -1815,13 +1815,13 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", - "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", + "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", "cpu": [ "arm64" ], @@ -1835,9 +1835,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", - "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", + "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", "cpu": [ "x64" ], @@ -1847,13 +1847,13 @@ "netbsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", - "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", + "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", "cpu": [ "arm64" ], @@ -1867,9 +1867,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", - "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", + "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", "cpu": [ "x64" ], @@ -1879,13 +1879,13 @@ "openbsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", - "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", + "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", "cpu": [ "x64" ], @@ -1895,13 +1895,13 @@ "sunos" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", - "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", + "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", "cpu": [ "arm64" ], @@ -1911,13 +1911,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", - "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", + "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", "cpu": [ "ia32" ], @@ -1927,13 +1927,13 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", - "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", + "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", "cpu": [ "x64" ], @@ -1943,7 +1943,7 @@ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@eslint-community/eslint-utils": { @@ -3702,23 +3702,23 @@ } }, "node_modules/@netlify/build": { - "version": "32.1.0", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.0.tgz", - "integrity": "sha512-Fq8f+WFPSxzmfk4WEQGKGeFZ+4E/IEG48Xn2SinJyHUsj3Jy8QHOJz5ViBvGW32J7l20DANu17CEjKc+n2cT0w==", + "version": "32.1.1", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.1.tgz", + "integrity": "sha512-9ylhcy+FRzd+F2EXUDbBEydUHg52q84mqMEYtLUJBjHGtS/lZAuFSU2QzMMYl/sEWLe/LrmjLJg8Y4USPMmzbQ==", "dev": true, "dependencies": { "@bugsnag/js": "^7.0.0", "@netlify/blobs": "^8.2.0", "@netlify/cache-utils": "^5.2.0", "@netlify/config": "^22.0.1", - "@netlify/edge-bundler": "13.0.2", + "@netlify/edge-bundler": "13.0.3", "@netlify/framework-info": "^9.9.3", - "@netlify/functions-utils": "^5.3.16", + "@netlify/functions-utils": "^5.3.17", "@netlify/git-utils": "^5.2.0", "@netlify/opentelemetry-utils": "^1.3.1", "@netlify/plugins-list": "^6.80.0", "@netlify/run-utils": "^5.2.0", - "@netlify/zip-it-and-ship-it": "10.0.7", + "@netlify/zip-it-and-ship-it": "10.1.0", "@sindresorhus/slugify": "^2.0.0", "ansi-escapes": "^6.0.0", "chalk": "^5.0.0", @@ -4076,9 +4076,9 @@ } }, "node_modules/@netlify/edge-bundler": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-13.0.2.tgz", - "integrity": "sha512-q95EzA9lRCL7tsLVhgvFEfuYvL+gJFC8T//Q7O1MFKAUGJVGa00UBD9QDQAFEjTg2e9+yYBFXmjsUqCUPM2GUA==", + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-13.0.3.tgz", + "integrity": "sha512-RWhsbLVF+p1qmMmJQOfqBBZPj812QwVVru4aATQYcRLoxyM6hLAdwAk7nYgCRk9PfbqZMTaJEJB9Mpi2rpuZqg==", "dev": true, "dependencies": { "@import-maps/resolve": "^1.0.1", @@ -4087,7 +4087,7 @@ "better-ajv-errors": "^1.2.0", "common-path-prefix": "^3.0.0", "env-paths": "^3.0.0", - "esbuild": "0.25.2", + "esbuild": "0.25.4", "execa": "^7.0.0", "find-up": "^6.3.0", "get-package-name": "^2.2.0", @@ -4348,12 +4348,12 @@ } }, "node_modules/@netlify/functions-utils": { - "version": "5.3.16", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.3.16.tgz", - "integrity": "sha512-RDvY+WWacc/5MBPLseNwtHTouGj3CNSZzquMa2X6C+6vGECsMXSem2mKobnqcewL1IUZeAin/O8poHTwdgpQSQ==", + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.3.17.tgz", + "integrity": "sha512-3loIZ1SkAtqjmfA9BtbQlRoqKHdjjog/dy7vBORBAxedGAX/h4j5Q0hg200GHjosx/wSdFuWUZxvpfiAWe+xGg==", "dev": true, "dependencies": { - "@netlify/zip-it-and-ship-it": "10.0.7", + "@netlify/zip-it-and-ship-it": "10.1.0", "cpy": "^9.0.0", "path-exists": "^5.0.0" }, @@ -4648,21 +4648,21 @@ } }, "node_modules/@netlify/zip-it-and-ship-it": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.0.7.tgz", - "integrity": "sha512-h7VUDyY6ePD8JA1tM0m8zbWDp03UOmBlPdqgl9/aK1fSVYcoo0qhXmp1Z1n+viKkNkmvBx4KvOLScUJEXPeRnA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.1.0.tgz", + "integrity": "sha512-TkE37wntJBgDM0d67vMLAM5hMpHIaWQ3VsgauINpaumlFECoTJVbBuxNYaUewKklZ9oiR/UtDivU+R8ZTtUs8g==", "dev": true, "dependencies": { "@babel/parser": "^7.22.5", - "@babel/types": "7.26.10", + "@babel/types": "7.27.1", "@netlify/binary-info": "^1.0.0", - "@netlify/serverless-functions-api": "^1.38.0", + "@netlify/serverless-functions-api": "^1.40.0", "@vercel/nft": "0.27.7", "archiver": "^5.3.1", "common-path-prefix": "^3.0.0", "cp-file": "^10.0.0", "es-module-lexer": "^1.0.0", - "esbuild": "0.19.11", + "esbuild": "0.25.4", "execa": "^7.0.0", "fast-glob": "^3.3.2", "filter-obj": "^5.0.0", @@ -4695,44 +4695,6 @@ "node": "^14.18.0 || >=16.0.0" } }, - "node_modules/@netlify/zip-it-and-ship-it/node_modules/esbuild": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", - "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.11", - "@esbuild/android-arm": "0.19.11", - "@esbuild/android-arm64": "0.19.11", - "@esbuild/android-x64": "0.19.11", - "@esbuild/darwin-arm64": "0.19.11", - "@esbuild/darwin-x64": "0.19.11", - "@esbuild/freebsd-arm64": "0.19.11", - "@esbuild/freebsd-x64": "0.19.11", - "@esbuild/linux-arm": "0.19.11", - "@esbuild/linux-arm64": "0.19.11", - "@esbuild/linux-ia32": "0.19.11", - "@esbuild/linux-loong64": "0.19.11", - "@esbuild/linux-mips64el": "0.19.11", - "@esbuild/linux-ppc64": "0.19.11", - "@esbuild/linux-riscv64": "0.19.11", - "@esbuild/linux-s390x": "0.19.11", - "@esbuild/linux-x64": "0.19.11", - "@esbuild/netbsd-x64": "0.19.11", - "@esbuild/openbsd-x64": "0.19.11", - "@esbuild/sunos-x64": "0.19.11", - "@esbuild/win32-arm64": "0.19.11", - "@esbuild/win32-ia32": "0.19.11", - "@esbuild/win32-x64": "0.19.11" - } - }, "node_modules/@netlify/zip-it-and-ship-it/node_modules/execa": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", @@ -9141,9 +9103,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", - "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", + "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", "dev": true, "hasInstallScript": true, "bin": { @@ -9153,399 +9115,31 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.2", - "@esbuild/android-arm": "0.25.2", - "@esbuild/android-arm64": "0.25.2", - "@esbuild/android-x64": "0.25.2", - "@esbuild/darwin-arm64": "0.25.2", - "@esbuild/darwin-x64": "0.25.2", - "@esbuild/freebsd-arm64": "0.25.2", - "@esbuild/freebsd-x64": "0.25.2", - "@esbuild/linux-arm": "0.25.2", - "@esbuild/linux-arm64": "0.25.2", - "@esbuild/linux-ia32": "0.25.2", - "@esbuild/linux-loong64": "0.25.2", - "@esbuild/linux-mips64el": "0.25.2", - "@esbuild/linux-ppc64": "0.25.2", - "@esbuild/linux-riscv64": "0.25.2", - "@esbuild/linux-s390x": "0.25.2", - "@esbuild/linux-x64": "0.25.2", - "@esbuild/netbsd-arm64": "0.25.2", - "@esbuild/netbsd-x64": "0.25.2", - "@esbuild/openbsd-arm64": "0.25.2", - "@esbuild/openbsd-x64": "0.25.2", - "@esbuild/sunos-x64": "0.25.2", - "@esbuild/win32-arm64": "0.25.2", - "@esbuild/win32-ia32": "0.25.2", - "@esbuild/win32-x64": "0.25.2" - } - }, - "node_modules/esbuild/node_modules/@esbuild/aix-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", - "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/android-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", - "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/android-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", - "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/android-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", - "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/darwin-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", - "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/darwin-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", - "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", - "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/freebsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", - "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", - "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", - "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", - "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-loong64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", - "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-mips64el": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", - "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", - "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-riscv64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", - "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-s390x": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", - "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/linux-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", - "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/netbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", - "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/openbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", - "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/sunos-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", - "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/win32-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", - "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/win32-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", - "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/esbuild/node_modules/@esbuild/win32-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", - "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" + "@esbuild/aix-ppc64": "0.25.4", + "@esbuild/android-arm": "0.25.4", + "@esbuild/android-arm64": "0.25.4", + "@esbuild/android-x64": "0.25.4", + "@esbuild/darwin-arm64": "0.25.4", + "@esbuild/darwin-x64": "0.25.4", + "@esbuild/freebsd-arm64": "0.25.4", + "@esbuild/freebsd-x64": "0.25.4", + "@esbuild/linux-arm": "0.25.4", + "@esbuild/linux-arm64": "0.25.4", + "@esbuild/linux-ia32": "0.25.4", + "@esbuild/linux-loong64": "0.25.4", + "@esbuild/linux-mips64el": "0.25.4", + "@esbuild/linux-ppc64": "0.25.4", + "@esbuild/linux-riscv64": "0.25.4", + "@esbuild/linux-s390x": "0.25.4", + "@esbuild/linux-x64": "0.25.4", + "@esbuild/netbsd-arm64": "0.25.4", + "@esbuild/netbsd-x64": "0.25.4", + "@esbuild/openbsd-arm64": "0.25.4", + "@esbuild/openbsd-x64": "0.25.4", + "@esbuild/sunos-x64": "0.25.4", + "@esbuild/win32-arm64": "0.25.4", + "@esbuild/win32-ia32": "0.25.4", + "@esbuild/win32-x64": "0.25.4" } }, "node_modules/escalade": { @@ -35229,9 +34823,9 @@ } }, "@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true }, "@babel/helper-validator-identifier": { @@ -35345,13 +34939,13 @@ } }, "@babel/types": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", - "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", + "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" } }, "@bugsnag/browser": { @@ -36150,177 +35744,177 @@ } }, "@esbuild/aix-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", - "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", + "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", "dev": true, "optional": true }, "@esbuild/android-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", - "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", + "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", "dev": true, "optional": true }, "@esbuild/android-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", - "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", + "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", "dev": true, "optional": true }, "@esbuild/android-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", - "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", + "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", "dev": true, "optional": true }, "@esbuild/darwin-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", - "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", + "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", "dev": true, "optional": true }, "@esbuild/darwin-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", - "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", + "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", "dev": true, "optional": true }, "@esbuild/freebsd-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", - "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", + "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", "dev": true, "optional": true }, "@esbuild/freebsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", - "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", + "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", "dev": true, "optional": true }, "@esbuild/linux-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", - "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", + "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", "dev": true, "optional": true }, "@esbuild/linux-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", - "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", + "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", "dev": true, "optional": true }, "@esbuild/linux-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", - "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", + "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", "dev": true, "optional": true }, "@esbuild/linux-loong64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", - "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", + "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", "dev": true, "optional": true }, "@esbuild/linux-mips64el": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", - "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", + "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", "dev": true, "optional": true }, "@esbuild/linux-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", - "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", + "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", "dev": true, "optional": true }, "@esbuild/linux-riscv64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", - "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", + "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", "dev": true, "optional": true }, "@esbuild/linux-s390x": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", - "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", + "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", "dev": true, "optional": true }, "@esbuild/linux-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", - "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", + "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", "dev": true, "optional": true }, "@esbuild/netbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", - "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", + "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", "dev": true, "optional": true }, "@esbuild/netbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", - "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", + "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", "dev": true, "optional": true }, "@esbuild/openbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", - "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", + "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", "dev": true, "optional": true }, "@esbuild/openbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", - "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", + "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", "dev": true, "optional": true }, "@esbuild/sunos-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", - "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", + "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", "dev": true, "optional": true }, "@esbuild/win32-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", - "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", + "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", "dev": true, "optional": true }, "@esbuild/win32-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", - "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", + "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", "dev": true, "optional": true }, "@esbuild/win32-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", - "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", + "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", "dev": true, "optional": true }, @@ -37388,23 +36982,23 @@ "dev": true }, "@netlify/build": { - "version": "32.1.0", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.0.tgz", - "integrity": "sha512-Fq8f+WFPSxzmfk4WEQGKGeFZ+4E/IEG48Xn2SinJyHUsj3Jy8QHOJz5ViBvGW32J7l20DANu17CEjKc+n2cT0w==", + "version": "32.1.1", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.1.tgz", + "integrity": "sha512-9ylhcy+FRzd+F2EXUDbBEydUHg52q84mqMEYtLUJBjHGtS/lZAuFSU2QzMMYl/sEWLe/LrmjLJg8Y4USPMmzbQ==", "dev": true, "requires": { "@bugsnag/js": "^7.0.0", "@netlify/blobs": "^8.2.0", "@netlify/cache-utils": "^5.2.0", "@netlify/config": "^22.0.1", - "@netlify/edge-bundler": "13.0.2", + "@netlify/edge-bundler": "13.0.3", "@netlify/framework-info": "^9.9.3", - "@netlify/functions-utils": "^5.3.16", + "@netlify/functions-utils": "^5.3.17", "@netlify/git-utils": "^5.2.0", "@netlify/opentelemetry-utils": "^1.3.1", "@netlify/plugins-list": "^6.80.0", "@netlify/run-utils": "^5.2.0", - "@netlify/zip-it-and-ship-it": "10.0.7", + "@netlify/zip-it-and-ship-it": "10.1.0", "@sindresorhus/slugify": "^2.0.0", "ansi-escapes": "^6.0.0", "chalk": "^5.0.0", @@ -37663,9 +37257,9 @@ } }, "@netlify/edge-bundler": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-13.0.2.tgz", - "integrity": "sha512-q95EzA9lRCL7tsLVhgvFEfuYvL+gJFC8T//Q7O1MFKAUGJVGa00UBD9QDQAFEjTg2e9+yYBFXmjsUqCUPM2GUA==", + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-13.0.3.tgz", + "integrity": "sha512-RWhsbLVF+p1qmMmJQOfqBBZPj812QwVVru4aATQYcRLoxyM6hLAdwAk7nYgCRk9PfbqZMTaJEJB9Mpi2rpuZqg==", "dev": true, "requires": { "@import-maps/resolve": "^1.0.1", @@ -37674,7 +37268,7 @@ "better-ajv-errors": "^1.2.0", "common-path-prefix": "^3.0.0", "env-paths": "^3.0.0", - "esbuild": "0.25.2", + "esbuild": "0.25.4", "execa": "^7.0.0", "find-up": "^6.3.0", "get-package-name": "^2.2.0", @@ -37896,12 +37490,12 @@ } }, "@netlify/functions-utils": { - "version": "5.3.16", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.3.16.tgz", - "integrity": "sha512-RDvY+WWacc/5MBPLseNwtHTouGj3CNSZzquMa2X6C+6vGECsMXSem2mKobnqcewL1IUZeAin/O8poHTwdgpQSQ==", + "version": "5.3.17", + "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.3.17.tgz", + "integrity": "sha512-3loIZ1SkAtqjmfA9BtbQlRoqKHdjjog/dy7vBORBAxedGAX/h4j5Q0hg200GHjosx/wSdFuWUZxvpfiAWe+xGg==", "dev": true, "requires": { - "@netlify/zip-it-and-ship-it": "10.0.7", + "@netlify/zip-it-and-ship-it": "10.1.0", "cpy": "^9.0.0", "path-exists": "^5.0.0" } @@ -38097,21 +37691,21 @@ "dev": true }, "@netlify/zip-it-and-ship-it": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.0.7.tgz", - "integrity": "sha512-h7VUDyY6ePD8JA1tM0m8zbWDp03UOmBlPdqgl9/aK1fSVYcoo0qhXmp1Z1n+viKkNkmvBx4KvOLScUJEXPeRnA==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.1.0.tgz", + "integrity": "sha512-TkE37wntJBgDM0d67vMLAM5hMpHIaWQ3VsgauINpaumlFECoTJVbBuxNYaUewKklZ9oiR/UtDivU+R8ZTtUs8g==", "dev": true, "requires": { "@babel/parser": "^7.22.5", - "@babel/types": "7.26.10", + "@babel/types": "7.27.1", "@netlify/binary-info": "^1.0.0", - "@netlify/serverless-functions-api": "^1.38.0", + "@netlify/serverless-functions-api": "^1.40.0", "@vercel/nft": "0.27.7", "archiver": "^5.3.1", "common-path-prefix": "^3.0.0", "cp-file": "^10.0.0", "es-module-lexer": "^1.0.0", - "esbuild": "0.19.11", + "esbuild": "0.25.4", "execa": "^7.0.0", "fast-glob": "^3.3.2", "filter-obj": "^5.0.0", @@ -38138,37 +37732,6 @@ "zod": "^3.23.8" }, "dependencies": { - "esbuild": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", - "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", - "dev": true, - "requires": { - "@esbuild/aix-ppc64": "0.19.11", - "@esbuild/android-arm": "0.19.11", - "@esbuild/android-arm64": "0.19.11", - "@esbuild/android-x64": "0.19.11", - "@esbuild/darwin-arm64": "0.19.11", - "@esbuild/darwin-x64": "0.19.11", - "@esbuild/freebsd-arm64": "0.19.11", - "@esbuild/freebsd-x64": "0.19.11", - "@esbuild/linux-arm": "0.19.11", - "@esbuild/linux-arm64": "0.19.11", - "@esbuild/linux-ia32": "0.19.11", - "@esbuild/linux-loong64": "0.19.11", - "@esbuild/linux-mips64el": "0.19.11", - "@esbuild/linux-ppc64": "0.19.11", - "@esbuild/linux-riscv64": "0.19.11", - "@esbuild/linux-s390x": "0.19.11", - "@esbuild/linux-x64": "0.19.11", - "@esbuild/netbsd-x64": "0.19.11", - "@esbuild/openbsd-x64": "0.19.11", - "@esbuild/sunos-x64": "0.19.11", - "@esbuild/win32-arm64": "0.19.11", - "@esbuild/win32-ia32": "0.19.11", - "@esbuild/win32-x64": "0.19.11" - } - }, "execa": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", @@ -41351,199 +40914,36 @@ } }, "esbuild": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", - "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", - "dev": true, - "requires": { - "@esbuild/aix-ppc64": "0.25.2", - "@esbuild/android-arm": "0.25.2", - "@esbuild/android-arm64": "0.25.2", - "@esbuild/android-x64": "0.25.2", - "@esbuild/darwin-arm64": "0.25.2", - "@esbuild/darwin-x64": "0.25.2", - "@esbuild/freebsd-arm64": "0.25.2", - "@esbuild/freebsd-x64": "0.25.2", - "@esbuild/linux-arm": "0.25.2", - "@esbuild/linux-arm64": "0.25.2", - "@esbuild/linux-ia32": "0.25.2", - "@esbuild/linux-loong64": "0.25.2", - "@esbuild/linux-mips64el": "0.25.2", - "@esbuild/linux-ppc64": "0.25.2", - "@esbuild/linux-riscv64": "0.25.2", - "@esbuild/linux-s390x": "0.25.2", - "@esbuild/linux-x64": "0.25.2", - "@esbuild/netbsd-arm64": "0.25.2", - "@esbuild/netbsd-x64": "0.25.2", - "@esbuild/openbsd-arm64": "0.25.2", - "@esbuild/openbsd-x64": "0.25.2", - "@esbuild/sunos-x64": "0.25.2", - "@esbuild/win32-arm64": "0.25.2", - "@esbuild/win32-ia32": "0.25.2", - "@esbuild/win32-x64": "0.25.2" - }, - "dependencies": { - "@esbuild/aix-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", - "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", - "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", - "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", - "dev": true, - "optional": true - }, - "@esbuild/android-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", - "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", - "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", - "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", - "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", - "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", - "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", - "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", - "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-loong64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", - "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", - "dev": true, - "optional": true - }, - "@esbuild/linux-mips64el": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", - "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", - "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", - "dev": true, - "optional": true - }, - "@esbuild/linux-riscv64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", - "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", - "dev": true, - "optional": true - }, - "@esbuild/linux-s390x": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", - "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", - "dev": true, - "optional": true - }, - "@esbuild/linux-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", - "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", - "dev": true, - "optional": true - }, - "@esbuild/netbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", - "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", - "dev": true, - "optional": true - }, - "@esbuild/openbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", - "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", - "dev": true, - "optional": true - }, - "@esbuild/sunos-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", - "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", - "dev": true, - "optional": true - }, - "@esbuild/win32-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", - "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", - "dev": true, - "optional": true - }, - "@esbuild/win32-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", - "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", - "dev": true, - "optional": true - }, - "@esbuild/win32-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", - "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", - "dev": true, - "optional": true - } + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", + "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.25.4", + "@esbuild/android-arm": "0.25.4", + "@esbuild/android-arm64": "0.25.4", + "@esbuild/android-x64": "0.25.4", + "@esbuild/darwin-arm64": "0.25.4", + "@esbuild/darwin-x64": "0.25.4", + "@esbuild/freebsd-arm64": "0.25.4", + "@esbuild/freebsd-x64": "0.25.4", + "@esbuild/linux-arm": "0.25.4", + "@esbuild/linux-arm64": "0.25.4", + "@esbuild/linux-ia32": "0.25.4", + "@esbuild/linux-loong64": "0.25.4", + "@esbuild/linux-mips64el": "0.25.4", + "@esbuild/linux-ppc64": "0.25.4", + "@esbuild/linux-riscv64": "0.25.4", + "@esbuild/linux-s390x": "0.25.4", + "@esbuild/linux-x64": "0.25.4", + "@esbuild/netbsd-arm64": "0.25.4", + "@esbuild/netbsd-x64": "0.25.4", + "@esbuild/openbsd-arm64": "0.25.4", + "@esbuild/openbsd-x64": "0.25.4", + "@esbuild/sunos-x64": "0.25.4", + "@esbuild/win32-arm64": "0.25.4", + "@esbuild/win32-ia32": "0.25.4", + "@esbuild/win32-x64": "0.25.4" } }, "escalade": { diff --git a/package.json b/package.json index 370f5da930..fce61a40cd 100644 --- a/package.json +++ b/package.json @@ -50,13 +50,13 @@ "devDependencies": { "@fastly/http-compute-js": "1.1.5", "@netlify/blobs": "^8.2.0", - "@netlify/build": "^32.1.0", - "@netlify/edge-bundler": "^13.0.2", + "@netlify/build": "^32.1.1", + "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", "@netlify/functions": "^3.1.5", "@netlify/serverless-functions-api": "^1.41.0", - "@netlify/zip-it-and-ship-it": "^10.0.7", + "@netlify/zip-it-and-ship-it": "^10.1.0", "@opentelemetry/api": "^1.8.0", "@playwright/test": "^1.43.1", "@types/node": "^20.12.7", From 199b88640cc16ab1d5eade2f7e5a66af9aa78f70 Mon Sep 17 00:00:00 2001 From: Mateusz Bocian Date: Thu, 8 May 2025 15:36:46 -0400 Subject: [PATCH 12/31] ci: next repo test timing adjustments (#2915) * ci: use more groups when testing next repo tests * ci: lower test timeout to reduce chances of hitting overall 2hr timeout --- .github/workflows/test-e2e.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test-e2e.yml b/.github/workflows/test-e2e.yml index 78997d4896..593f1dcf65 100644 --- a/.github/workflows/test-e2e.yml +++ b/.github/workflows/test-e2e.yml @@ -28,7 +28,7 @@ env: DATADOG_TRACE_NEXTJS_TEST: true DATADOG_API_KEY: foo TEST_CONCURRENCY: 2 - NEXT_E2E_TEST_TIMEOUT: 600000 + NEXT_E2E_TEST_TIMEOUT: 300000 NEXT_TELEMETRY_DISABLED: 1 NEXT_SKIP_NATIVE_POSTINSTALL: 1 TURBO_API: ${{ secrets.TURBO_API }} @@ -56,16 +56,16 @@ jobs: run: | if [ "${{ github.event_name }}" == "workflow_dispatch" ]; then VERSION_SELECTORS=[${{ github.event.inputs.versions }}] - echo "group=[1, 2, 3, 4, 5, 6]" >> $GITHUB_OUTPUT - echo "total=6" >> $GITHUB_OUTPUT + echo "group=[1, 2, 3, 4, 5, 6, 7, 8]" >> $GITHUB_OUTPUT + echo "total=8" >> $GITHUB_OUTPUT elif [ "${{ github.event_name }}" == "pull_request" ]; then VERSION_SELECTORS=[\"latest\"] - echo "group=[1, 2, 3, 4, 5, 6]" >> $GITHUB_OUTPUT - echo "total=6" >> $GITHUB_OUTPUT + echo "group=[1, 2, 3, 4, 5, 6, 7, 8]" >> $GITHUB_OUTPUT + echo "total=8" >> $GITHUB_OUTPUT else VERSION_SELECTORS=[\"latest\",\"canary\"] - echo "group=[1, 2, 3, 4, 5, 6]" >> $GITHUB_OUTPUT - echo "total=6" >> $GITHUB_OUTPUT + echo "group=[1, 2, 3, 4, 5, 6, 7, 8]" >> $GITHUB_OUTPUT + echo "total=8" >> $GITHUB_OUTPUT fi VERSION_SPEC="[" From be3b2b1c7ebb9730f1520fc83b252747e5b53321 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 9 May 2025 12:16:38 +0000 Subject: [PATCH 13/31] chore(deps): update dependency @netlify/functions to ^3.1.7 (#2917) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 65 ++++++++++++++++++----------------------------- package.json | 2 +- 2 files changed, 26 insertions(+), 41 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1f421866d2..190676ddca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", - "@netlify/functions": "^3.1.5", + "@netlify/functions": "^3.1.7", "@netlify/serverless-functions-api": "^1.41.0", "@netlify/zip-it-and-ship-it": "^10.1.0", "@opentelemetry/api": "^1.8.0", @@ -4325,14 +4325,14 @@ } }, "node_modules/@netlify/functions": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-3.1.5.tgz", - "integrity": "sha512-HQtKIY+O1gJf+UFk9nHm62ai9fYxF9F4Aaq8zJdMfPhZaSsslS/PH8rEE51bkLi3u63GM8LdaxU1JyCKmT4mGg==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-3.1.7.tgz", + "integrity": "sha512-+GnMPHmFwRg5ahS6E5MmK9Xi38GyPYeFb0wRBXOudYqSMGj0hzkCdKJxfbQcH9H8XOvtNeqchTkP2OiCSsPozw==", "dev": true, "dependencies": { - "@netlify/blobs": "^9.0.1", + "@netlify/blobs": "^9.1.0", "@netlify/dev-utils": "2.1.0", - "@netlify/serverless-functions-api": "1.38.0", + "@netlify/serverless-functions-api": "1.41.0", "@netlify/zip-it-and-ship-it": "^10.0.7", "cron-parser": "^4.9.0", "decache": "^4.6.2", @@ -4362,27 +4362,18 @@ } }, "node_modules/@netlify/functions/node_modules/@netlify/blobs": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-9.0.1.tgz", - "integrity": "sha512-l2d7KCAvekDpIBMQjUuOpOgolhMWt9Bll7G/KH/zmW/3gFlTB2mD5/2ghSjCTxLGJzdjbch7/5EBt8UPSDlD3A==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-9.1.0.tgz", + "integrity": "sha512-2N9+V9LJ+aL7oZOCgCcASXBFvvN6WZs/QhrI6qyuXWVml2wpLwxr0x+efX9YLjwgJqRQQ46h3GmMeixnGv76kw==", "dev": true, "dependencies": { "@netlify/dev-utils": "2.1.0", - "@netlify/runtime-utils": "1.2.0" + "@netlify/runtime-utils": "1.3.0" }, "engines": { "node": "^14.16.0 || >=16.0.0" } }, - "node_modules/@netlify/functions/node_modules/@netlify/serverless-functions-api": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.38.0.tgz", - "integrity": "sha512-AuTzLH4BlQxPViwdEP9WcW/9NjqmjzaPHxOd9fyaMZUOkAgF0iauio9PF9QylAtgyodhLd6mGuASESZZiJcXaw==", - "dev": true, - "engines": { - "node": ">=18.0.0" - } - }, "node_modules/@netlify/functions/node_modules/is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", @@ -4630,9 +4621,9 @@ "dev": true }, "node_modules/@netlify/runtime-utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@netlify/runtime-utils/-/runtime-utils-1.2.0.tgz", - "integrity": "sha512-iTWkuINC7O8AqthMzbF9/OAnz3ubVPn8ycSD5ZO7vtnlaQiYu/L8mZ7Nez1eZu4WxWgpNBwS79YgAK6x0RBWUQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@netlify/runtime-utils/-/runtime-utils-1.3.0.tgz", + "integrity": "sha512-q0O29ylPTs67ux3tfkTDaiMI8qwshhVLdWWIG8ohYqaG5/RejhbhUetugzyDg5W4BX17ZpCbgLHdmK3BVRebPg==", "dev": true, "engines": { "node": ">=16.0.0" @@ -37446,14 +37437,14 @@ } }, "@netlify/functions": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-3.1.5.tgz", - "integrity": "sha512-HQtKIY+O1gJf+UFk9nHm62ai9fYxF9F4Aaq8zJdMfPhZaSsslS/PH8rEE51bkLi3u63GM8LdaxU1JyCKmT4mGg==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-3.1.7.tgz", + "integrity": "sha512-+GnMPHmFwRg5ahS6E5MmK9Xi38GyPYeFb0wRBXOudYqSMGj0hzkCdKJxfbQcH9H8XOvtNeqchTkP2OiCSsPozw==", "dev": true, "requires": { - "@netlify/blobs": "^9.0.1", + "@netlify/blobs": "^9.1.0", "@netlify/dev-utils": "2.1.0", - "@netlify/serverless-functions-api": "1.38.0", + "@netlify/serverless-functions-api": "1.41.0", "@netlify/zip-it-and-ship-it": "^10.0.7", "cron-parser": "^4.9.0", "decache": "^4.6.2", @@ -37466,21 +37457,15 @@ }, "dependencies": { "@netlify/blobs": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-9.0.1.tgz", - "integrity": "sha512-l2d7KCAvekDpIBMQjUuOpOgolhMWt9Bll7G/KH/zmW/3gFlTB2mD5/2ghSjCTxLGJzdjbch7/5EBt8UPSDlD3A==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-9.1.0.tgz", + "integrity": "sha512-2N9+V9LJ+aL7oZOCgCcASXBFvvN6WZs/QhrI6qyuXWVml2wpLwxr0x+efX9YLjwgJqRQQ46h3GmMeixnGv76kw==", "dev": true, "requires": { "@netlify/dev-utils": "2.1.0", - "@netlify/runtime-utils": "1.2.0" + "@netlify/runtime-utils": "1.3.0" } }, - "@netlify/serverless-functions-api": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.38.0.tgz", - "integrity": "sha512-AuTzLH4BlQxPViwdEP9WcW/9NjqmjzaPHxOd9fyaMZUOkAgF0iauio9PF9QylAtgyodhLd6mGuASESZZiJcXaw==", - "dev": true - }, "is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", @@ -37679,9 +37664,9 @@ } }, "@netlify/runtime-utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@netlify/runtime-utils/-/runtime-utils-1.2.0.tgz", - "integrity": "sha512-iTWkuINC7O8AqthMzbF9/OAnz3ubVPn8ycSD5ZO7vtnlaQiYu/L8mZ7Nez1eZu4WxWgpNBwS79YgAK6x0RBWUQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@netlify/runtime-utils/-/runtime-utils-1.3.0.tgz", + "integrity": "sha512-q0O29ylPTs67ux3tfkTDaiMI8qwshhVLdWWIG8ohYqaG5/RejhbhUetugzyDg5W4BX17ZpCbgLHdmK3BVRebPg==", "dev": true }, "@netlify/serverless-functions-api": { diff --git a/package.json b/package.json index fce61a40cd..1eb4a25039 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", - "@netlify/functions": "^3.1.5", + "@netlify/functions": "^3.1.7", "@netlify/serverless-functions-api": "^1.41.0", "@netlify/zip-it-and-ship-it": "^10.1.0", "@opentelemetry/api": "^1.8.0", From 4e76ebbdd0afa76d246a3824412877464204e5a8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 9 May 2025 12:53:04 +0000 Subject: [PATCH 14/31] chore(deps): update dependency @netlify/serverless-functions-api to ^1.41.1 (#2918) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 29 ++++++++++++++++++++++------- package.json | 2 +- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 190676ddca..1d49a96985 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", "@netlify/functions": "^3.1.7", - "@netlify/serverless-functions-api": "^1.41.0", + "@netlify/serverless-functions-api": "^1.41.1", "@netlify/zip-it-and-ship-it": "^10.1.0", "@opentelemetry/api": "^1.8.0", "@playwright/test": "^1.43.1", @@ -4374,6 +4374,15 @@ "node": "^14.16.0 || >=16.0.0" } }, + "node_modules/@netlify/functions/node_modules/@netlify/serverless-functions-api": { + "version": "1.41.0", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.0.tgz", + "integrity": "sha512-gez/2z8az4SFOitVID0j3GImXHs+1wsnthkpxMFoedeQ113uEE2wY0V492y7ABNfofR5VjMauWSdAK1S1JyNTQ==", + "dev": true, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@netlify/functions/node_modules/is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", @@ -4630,9 +4639,9 @@ } }, "node_modules/@netlify/serverless-functions-api": { - "version": "1.41.0", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.0.tgz", - "integrity": "sha512-gez/2z8az4SFOitVID0j3GImXHs+1wsnthkpxMFoedeQ113uEE2wY0V492y7ABNfofR5VjMauWSdAK1S1JyNTQ==", + "version": "1.41.1", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.1.tgz", + "integrity": "sha512-swjyZEd8U1QVp01rZdHxpwWie7GkP1kS4+4n8kuNKA8+3G5tD0JXXf3a5d4tdwVvrU9k7a4GP1Bn792UPwecmw==", "dev": true, "engines": { "node": ">=18.0.0" @@ -37466,6 +37475,12 @@ "@netlify/runtime-utils": "1.3.0" } }, + "@netlify/serverless-functions-api": { + "version": "1.41.0", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.0.tgz", + "integrity": "sha512-gez/2z8az4SFOitVID0j3GImXHs+1wsnthkpxMFoedeQ113uEE2wY0V492y7ABNfofR5VjMauWSdAK1S1JyNTQ==", + "dev": true + }, "is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", @@ -37670,9 +37685,9 @@ "dev": true }, "@netlify/serverless-functions-api": { - "version": "1.41.0", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.0.tgz", - "integrity": "sha512-gez/2z8az4SFOitVID0j3GImXHs+1wsnthkpxMFoedeQ113uEE2wY0V492y7ABNfofR5VjMauWSdAK1S1JyNTQ==", + "version": "1.41.1", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.1.tgz", + "integrity": "sha512-swjyZEd8U1QVp01rZdHxpwWie7GkP1kS4+4n8kuNKA8+3G5tD0JXXf3a5d4tdwVvrU9k7a4GP1Bn792UPwecmw==", "dev": true }, "@netlify/zip-it-and-ship-it": { diff --git a/package.json b/package.json index 1eb4a25039..16100e2d6a 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", "@netlify/functions": "^3.1.7", - "@netlify/serverless-functions-api": "^1.41.0", + "@netlify/serverless-functions-api": "^1.41.1", "@netlify/zip-it-and-ship-it": "^10.1.0", "@opentelemetry/api": "^1.8.0", "@playwright/test": "^1.43.1", From e1c6d4e161fdb266595db9a96ade1b1242da885f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 9 May 2025 16:30:08 +0000 Subject: [PATCH 15/31] chore(deps): update dependency @netlify/functions to ^3.1.8 (#2920) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 332 +++++++++++++++++++++++++++++++++++++++------- package.json | 2 +- 2 files changed, 285 insertions(+), 49 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1d49a96985..bdd5d30e84 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", - "@netlify/functions": "^3.1.7", + "@netlify/functions": "^3.1.8", "@netlify/serverless-functions-api": "^1.41.1", "@netlify/zip-it-and-ship-it": "^10.1.0", "@opentelemetry/api": "^1.8.0", @@ -4010,9 +4010,9 @@ "dev": true }, "node_modules/@netlify/dev-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@netlify/dev-utils/-/dev-utils-2.1.0.tgz", - "integrity": "sha512-GZ3cVSkipJ+shHQ0yudqqgH5/PW8g98Ou8CckLDKDVi7FREnaWQocJIomfxk0cPWqkg9Iq3DLLV9LOoioCOlAg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@netlify/dev-utils/-/dev-utils-2.1.1.tgz", + "integrity": "sha512-0O4/eEcmZCNUkpSuN/yYRkX6BAcK/sbnH0YYNuK3HX193QXaSBT60TUpvTpiRxI6zvIfYCDRl3rz63w8m/lEMg==", "dev": true, "dependencies": { "@whatwg-node/server": "^0.9.60", @@ -4022,7 +4022,7 @@ "env-paths": "^3.0.0", "find-up": "7.0.0", "lodash.debounce": "^4.0.8", - "netlify": "^13.3.4", + "netlify": "^13.3.5", "parse-gitignore": "^2.0.0", "uuid": "^11.1.0", "write-file-atomic": "^6.0.0" @@ -4325,15 +4325,15 @@ } }, "node_modules/@netlify/functions": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-3.1.7.tgz", - "integrity": "sha512-+GnMPHmFwRg5ahS6E5MmK9Xi38GyPYeFb0wRBXOudYqSMGj0hzkCdKJxfbQcH9H8XOvtNeqchTkP2OiCSsPozw==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-3.1.8.tgz", + "integrity": "sha512-oAHPyybBx4oH8+3RfgihrTVhv6gseQw1pt0k4kZ/NDmGbEsgrr3gw+3ajzM5+fW5UnWiNuR5c+d7JgtRqjyMkw==", "dev": true, "dependencies": { - "@netlify/blobs": "^9.1.0", - "@netlify/dev-utils": "2.1.0", - "@netlify/serverless-functions-api": "1.41.0", - "@netlify/zip-it-and-ship-it": "^10.0.7", + "@netlify/blobs": "^9.1.1", + "@netlify/dev-utils": "2.1.1", + "@netlify/serverless-functions-api": "1.41.1", + "@netlify/zip-it-and-ship-it": "^10.1.1", "cron-parser": "^4.9.0", "decache": "^4.6.2", "extract-zip": "^2.0.1", @@ -4362,25 +4362,140 @@ } }, "node_modules/@netlify/functions/node_modules/@netlify/blobs": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-9.1.0.tgz", - "integrity": "sha512-2N9+V9LJ+aL7oZOCgCcASXBFvvN6WZs/QhrI6qyuXWVml2wpLwxr0x+efX9YLjwgJqRQQ46h3GmMeixnGv76kw==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-9.1.1.tgz", + "integrity": "sha512-hOrWBMOvdh9oa+8Z6ocvkY92q9YtfD+Vbh2i+Qs14cHsl9SYxRzPRQnBxU/H6PNtj6gtEJ7tv8RbBN8z7jH2jA==", "dev": true, "dependencies": { - "@netlify/dev-utils": "2.1.0", - "@netlify/runtime-utils": "1.3.0" + "@netlify/dev-utils": "2.1.1", + "@netlify/runtime-utils": "1.3.1" }, "engines": { "node": "^14.16.0 || >=16.0.0" } }, - "node_modules/@netlify/functions/node_modules/@netlify/serverless-functions-api": { - "version": "1.41.0", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.0.tgz", - "integrity": "sha512-gez/2z8az4SFOitVID0j3GImXHs+1wsnthkpxMFoedeQ113uEE2wY0V492y7ABNfofR5VjMauWSdAK1S1JyNTQ==", + "node_modules/@netlify/functions/node_modules/@netlify/zip-it-and-ship-it": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.1.1.tgz", + "integrity": "sha512-MMXrty1NADxyMPgd7qZvDUYunhcPhxIA/jWP2joceOoPcAxOno/aS4jFuIHf2Dbb4HdhR+BlvgvDCy7QTXXyLQ==", "dev": true, + "dependencies": { + "@babel/parser": "^7.22.5", + "@babel/types": "7.27.1", + "@netlify/binary-info": "^1.0.0", + "@netlify/serverless-functions-api": "^1.41.1", + "@vercel/nft": "0.27.7", + "archiver": "^5.3.1", + "common-path-prefix": "^3.0.0", + "cp-file": "^10.0.0", + "es-module-lexer": "^1.0.0", + "esbuild": "0.25.4", + "execa": "^7.0.0", + "fast-glob": "^3.3.2", + "filter-obj": "^5.0.0", + "find-up": "^6.0.0", + "glob": "^8.0.3", + "is-builtin-module": "^3.1.0", + "is-path-inside": "^4.0.0", + "junk": "^4.0.0", + "locate-path": "^7.0.0", + "merge-options": "^3.0.4", + "minimatch": "^9.0.0", + "normalize-path": "^3.0.0", + "p-map": "^7.0.0", + "path-exists": "^5.0.0", + "precinct": "^11.0.0", + "require-package-name": "^2.0.1", + "resolve": "^2.0.0-next.1", + "semver": "^7.3.8", + "tmp-promise": "^3.0.2", + "toml": "^3.0.0", + "unixify": "^1.0.0", + "urlpattern-polyfill": "8.0.2", + "yargs": "^17.0.0", + "zod": "^3.23.8" + }, + "bin": { + "zip-it-and-ship-it": "bin.js" + }, "engines": { - "node": ">=18.0.0" + "node": "^14.18.0 || >=16.0.0" + } + }, + "node_modules/@netlify/functions/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@netlify/functions/node_modules/execa/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@netlify/functions/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@netlify/functions/node_modules/glob/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@netlify/functions/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "engines": { + "node": ">=14.18.0" } }, "node_modules/@netlify/functions/node_modules/is-stream": { @@ -4395,6 +4510,24 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@netlify/functions/node_modules/p-map": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@netlify/functions/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, "node_modules/@netlify/git-utils": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@netlify/git-utils/-/git-utils-5.2.0.tgz", @@ -4630,9 +4763,9 @@ "dev": true }, "node_modules/@netlify/runtime-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@netlify/runtime-utils/-/runtime-utils-1.3.0.tgz", - "integrity": "sha512-q0O29ylPTs67ux3tfkTDaiMI8qwshhVLdWWIG8ohYqaG5/RejhbhUetugzyDg5W4BX17ZpCbgLHdmK3BVRebPg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@netlify/runtime-utils/-/runtime-utils-1.3.1.tgz", + "integrity": "sha512-7/vIJlMYrPJPlEW84V2yeRuG3QBu66dmlv9neTmZ5nXzwylhBEOhy11ai+34A8mHCSZI4mKns25w3HM9kaDdJg==", "dev": true, "engines": { "node": ">=16.0.0" @@ -37210,9 +37343,9 @@ } }, "@netlify/dev-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@netlify/dev-utils/-/dev-utils-2.1.0.tgz", - "integrity": "sha512-GZ3cVSkipJ+shHQ0yudqqgH5/PW8g98Ou8CckLDKDVi7FREnaWQocJIomfxk0cPWqkg9Iq3DLLV9LOoioCOlAg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@netlify/dev-utils/-/dev-utils-2.1.1.tgz", + "integrity": "sha512-0O4/eEcmZCNUkpSuN/yYRkX6BAcK/sbnH0YYNuK3HX193QXaSBT60TUpvTpiRxI6zvIfYCDRl3rz63w8m/lEMg==", "dev": true, "requires": { "@whatwg-node/server": "^0.9.60", @@ -37222,7 +37355,7 @@ "env-paths": "^3.0.0", "find-up": "7.0.0", "lodash.debounce": "^4.0.8", - "netlify": "^13.3.4", + "netlify": "^13.3.5", "parse-gitignore": "^2.0.0", "uuid": "^11.1.0", "write-file-atomic": "^6.0.0" @@ -37446,15 +37579,15 @@ } }, "@netlify/functions": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-3.1.7.tgz", - "integrity": "sha512-+GnMPHmFwRg5ahS6E5MmK9Xi38GyPYeFb0wRBXOudYqSMGj0hzkCdKJxfbQcH9H8XOvtNeqchTkP2OiCSsPozw==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/@netlify/functions/-/functions-3.1.8.tgz", + "integrity": "sha512-oAHPyybBx4oH8+3RfgihrTVhv6gseQw1pt0k4kZ/NDmGbEsgrr3gw+3ajzM5+fW5UnWiNuR5c+d7JgtRqjyMkw==", "dev": true, "requires": { - "@netlify/blobs": "^9.1.0", - "@netlify/dev-utils": "2.1.0", - "@netlify/serverless-functions-api": "1.41.0", - "@netlify/zip-it-and-ship-it": "^10.0.7", + "@netlify/blobs": "^9.1.1", + "@netlify/dev-utils": "2.1.1", + "@netlify/serverless-functions-api": "1.41.1", + "@netlify/zip-it-and-ship-it": "^10.1.1", "cron-parser": "^4.9.0", "decache": "^4.6.2", "extract-zip": "^2.0.1", @@ -37466,19 +37599,110 @@ }, "dependencies": { "@netlify/blobs": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-9.1.0.tgz", - "integrity": "sha512-2N9+V9LJ+aL7oZOCgCcASXBFvvN6WZs/QhrI6qyuXWVml2wpLwxr0x+efX9YLjwgJqRQQ46h3GmMeixnGv76kw==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@netlify/blobs/-/blobs-9.1.1.tgz", + "integrity": "sha512-hOrWBMOvdh9oa+8Z6ocvkY92q9YtfD+Vbh2i+Qs14cHsl9SYxRzPRQnBxU/H6PNtj6gtEJ7tv8RbBN8z7jH2jA==", + "dev": true, + "requires": { + "@netlify/dev-utils": "2.1.1", + "@netlify/runtime-utils": "1.3.1" + } + }, + "@netlify/zip-it-and-ship-it": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.1.1.tgz", + "integrity": "sha512-MMXrty1NADxyMPgd7qZvDUYunhcPhxIA/jWP2joceOoPcAxOno/aS4jFuIHf2Dbb4HdhR+BlvgvDCy7QTXXyLQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.22.5", + "@babel/types": "7.27.1", + "@netlify/binary-info": "^1.0.0", + "@netlify/serverless-functions-api": "^1.41.1", + "@vercel/nft": "0.27.7", + "archiver": "^5.3.1", + "common-path-prefix": "^3.0.0", + "cp-file": "^10.0.0", + "es-module-lexer": "^1.0.0", + "esbuild": "0.25.4", + "execa": "^7.0.0", + "fast-glob": "^3.3.2", + "filter-obj": "^5.0.0", + "find-up": "^6.0.0", + "glob": "^8.0.3", + "is-builtin-module": "^3.1.0", + "is-path-inside": "^4.0.0", + "junk": "^4.0.0", + "locate-path": "^7.0.0", + "merge-options": "^3.0.4", + "minimatch": "^9.0.0", + "normalize-path": "^3.0.0", + "p-map": "^7.0.0", + "path-exists": "^5.0.0", + "precinct": "^11.0.0", + "require-package-name": "^2.0.1", + "resolve": "^2.0.0-next.1", + "semver": "^7.3.8", + "tmp-promise": "^3.0.2", + "toml": "^3.0.0", + "unixify": "^1.0.0", + "urlpattern-polyfill": "8.0.2", + "yargs": "^17.0.0", + "zod": "^3.23.8" + } + }, + "execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dev": true, "requires": { - "@netlify/dev-utils": "2.1.0", - "@netlify/runtime-utils": "1.3.0" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "dependencies": { + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true + } } }, - "@netlify/serverless-functions-api": { - "version": "1.41.0", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.0.tgz", - "integrity": "sha512-gez/2z8az4SFOitVID0j3GImXHs+1wsnthkpxMFoedeQ113uEE2wY0V492y7ABNfofR5VjMauWSdAK1S1JyNTQ==", + "glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "dependencies": { + "minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "dev": true }, "is-stream": { @@ -37486,6 +37710,18 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true + }, + "p-map": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true } } }, @@ -37679,9 +37915,9 @@ } }, "@netlify/runtime-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@netlify/runtime-utils/-/runtime-utils-1.3.0.tgz", - "integrity": "sha512-q0O29ylPTs67ux3tfkTDaiMI8qwshhVLdWWIG8ohYqaG5/RejhbhUetugzyDg5W4BX17ZpCbgLHdmK3BVRebPg==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@netlify/runtime-utils/-/runtime-utils-1.3.1.tgz", + "integrity": "sha512-7/vIJlMYrPJPlEW84V2yeRuG3QBu66dmlv9neTmZ5nXzwylhBEOhy11ai+34A8mHCSZI4mKns25w3HM9kaDdJg==", "dev": true }, "@netlify/serverless-functions-api": { diff --git a/package.json b/package.json index 16100e2d6a..99409bd5df 100644 --- a/package.json +++ b/package.json @@ -54,7 +54,7 @@ "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", - "@netlify/functions": "^3.1.7", + "@netlify/functions": "^3.1.8", "@netlify/serverless-functions-api": "^1.41.1", "@netlify/zip-it-and-ship-it": "^10.1.0", "@opentelemetry/api": "^1.8.0", From aa003626ed6bbacc3f5a24f11ddde23fdf93d893 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 9 May 2025 19:25:09 +0000 Subject: [PATCH 16/31] chore(deps): update netlify packages (#2919) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 358 +++++++++------------------------------------- package.json | 4 +- 2 files changed, 71 insertions(+), 291 deletions(-) diff --git a/package-lock.json b/package-lock.json index bdd5d30e84..10189e85d2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,13 +11,13 @@ "devDependencies": { "@fastly/http-compute-js": "1.1.5", "@netlify/blobs": "^8.2.0", - "@netlify/build": "^32.1.1", + "@netlify/build": "^32.1.3", "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", "@netlify/functions": "^3.1.8", "@netlify/serverless-functions-api": "^1.41.1", - "@netlify/zip-it-and-ship-it": "^10.1.0", + "@netlify/zip-it-and-ship-it": "^10.1.1", "@opentelemetry/api": "^1.8.0", "@playwright/test": "^1.43.1", "@types/node": "^20.12.7", @@ -3686,6 +3686,23 @@ "node": ">=18" } }, + "node_modules/@netlify/api": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@netlify/api/-/api-13.4.0.tgz", + "integrity": "sha512-Y/RDvIhMrxWoyhD3DV+um2sv1HFFxoG4LnaB8RqQu7Ei3zEiA7GwqLQm28YZfUR8uEerOPnWiuluKGmqKScX2Q==", + "dev": true, + "dependencies": { + "@netlify/open-api": "^2.37.0", + "lodash-es": "^4.17.21", + "micro-api-client": "^3.3.0", + "node-fetch": "^3.0.0", + "p-wait-for": "^5.0.0", + "qs": "^6.9.6" + }, + "engines": { + "node": "^14.16.0 || >=16.0.0" + } + }, "node_modules/@netlify/binary-info": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@netlify/binary-info/-/binary-info-1.0.0.tgz", @@ -3702,23 +3719,23 @@ } }, "node_modules/@netlify/build": { - "version": "32.1.1", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.1.tgz", - "integrity": "sha512-9ylhcy+FRzd+F2EXUDbBEydUHg52q84mqMEYtLUJBjHGtS/lZAuFSU2QzMMYl/sEWLe/LrmjLJg8Y4USPMmzbQ==", + "version": "32.1.3", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.3.tgz", + "integrity": "sha512-RfgIhOI0D0pFosNaaHMaDFwbNtpiVT2HPgSSOgmwxAZ7IJgfD2c5B7Lj//+2vn63t7ZjcLTlWhrJiXhdshOq3Q==", "dev": true, "dependencies": { "@bugsnag/js": "^7.0.0", "@netlify/blobs": "^8.2.0", "@netlify/cache-utils": "^5.2.0", - "@netlify/config": "^22.0.1", + "@netlify/config": "^22.1.0", "@netlify/edge-bundler": "13.0.3", "@netlify/framework-info": "^9.9.3", - "@netlify/functions-utils": "^5.3.17", + "@netlify/functions-utils": "^5.3.18", "@netlify/git-utils": "^5.2.0", "@netlify/opentelemetry-utils": "^1.3.1", "@netlify/plugins-list": "^6.80.0", "@netlify/run-utils": "^5.2.0", - "@netlify/zip-it-and-ship-it": "10.1.0", + "@netlify/zip-it-and-ship-it": "10.1.1", "@sindresorhus/slugify": "^2.0.0", "ansi-escapes": "^6.0.0", "chalk": "^5.0.0", @@ -3934,12 +3951,13 @@ } }, "node_modules/@netlify/config": { - "version": "22.0.1", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.0.1.tgz", - "integrity": "sha512-ukHIeUsHw13boIqalCrrOkJ2Q07RQ2KaiXNA6WQnqDOh8uJ4vQa/2tjwa/i3FWDbBuvSwUGBwjObS7PelVcf8w==", + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.1.0.tgz", + "integrity": "sha512-S2XlU2mhZL/Ejq2zijF0obP7ZX/jI6NPzZSJMM7pLn+w0wN+UbpfDqTSo1efh7GWH2N9UtHbbOdZlzEcWJVumw==", "dev": true, "dependencies": { "@iarna/toml": "^2.2.5", + "@netlify/api": "^13.4.0", "@netlify/headers-parser": "^8.0.0", "@netlify/redirect-parser": "^14.5.1", "chalk": "^5.0.0", @@ -3955,7 +3973,6 @@ "is-plain-obj": "^4.0.0", "js-yaml": "^4.0.0", "map-obj": "^5.0.0", - "netlify": "^13.3.5", "node-fetch": "^3.3.1", "omit.js": "^2.0.2", "p-locate": "^6.0.0", @@ -4348,12 +4365,12 @@ } }, "node_modules/@netlify/functions-utils": { - "version": "5.3.17", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.3.17.tgz", - "integrity": "sha512-3loIZ1SkAtqjmfA9BtbQlRoqKHdjjog/dy7vBORBAxedGAX/h4j5Q0hg200GHjosx/wSdFuWUZxvpfiAWe+xGg==", + "version": "5.3.18", + "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.3.18.tgz", + "integrity": "sha512-llnoOrQF/iI5ZwDT27Izt+E6JGPDs57OF0EWQg+QRAMFtYyzevEsX7KbY8YTCYux0JB9UJ19OkOEOTN9fgm7OA==", "dev": true, "dependencies": { - "@netlify/zip-it-and-ship-it": "10.1.0", + "@netlify/zip-it-and-ship-it": "10.1.1", "cpy": "^9.0.0", "path-exists": "^5.0.0" }, @@ -4374,130 +4391,6 @@ "node": "^14.16.0 || >=16.0.0" } }, - "node_modules/@netlify/functions/node_modules/@netlify/zip-it-and-ship-it": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.1.1.tgz", - "integrity": "sha512-MMXrty1NADxyMPgd7qZvDUYunhcPhxIA/jWP2joceOoPcAxOno/aS4jFuIHf2Dbb4HdhR+BlvgvDCy7QTXXyLQ==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.22.5", - "@babel/types": "7.27.1", - "@netlify/binary-info": "^1.0.0", - "@netlify/serverless-functions-api": "^1.41.1", - "@vercel/nft": "0.27.7", - "archiver": "^5.3.1", - "common-path-prefix": "^3.0.0", - "cp-file": "^10.0.0", - "es-module-lexer": "^1.0.0", - "esbuild": "0.25.4", - "execa": "^7.0.0", - "fast-glob": "^3.3.2", - "filter-obj": "^5.0.0", - "find-up": "^6.0.0", - "glob": "^8.0.3", - "is-builtin-module": "^3.1.0", - "is-path-inside": "^4.0.0", - "junk": "^4.0.0", - "locate-path": "^7.0.0", - "merge-options": "^3.0.4", - "minimatch": "^9.0.0", - "normalize-path": "^3.0.0", - "p-map": "^7.0.0", - "path-exists": "^5.0.0", - "precinct": "^11.0.0", - "require-package-name": "^2.0.1", - "resolve": "^2.0.0-next.1", - "semver": "^7.3.8", - "tmp-promise": "^3.0.2", - "toml": "^3.0.0", - "unixify": "^1.0.0", - "urlpattern-polyfill": "8.0.2", - "yargs": "^17.0.0", - "zod": "^3.23.8" - }, - "bin": { - "zip-it-and-ship-it": "bin.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - } - }, - "node_modules/@netlify/functions/node_modules/execa": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/@netlify/functions/node_modules/execa/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@netlify/functions/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@netlify/functions/node_modules/glob/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@netlify/functions/node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "dev": true, - "engines": { - "node": ">=14.18.0" - } - }, "node_modules/@netlify/functions/node_modules/is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", @@ -4510,24 +4403,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@netlify/functions/node_modules/p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", - "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@netlify/functions/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, "node_modules/@netlify/git-utils": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@netlify/git-utils/-/git-utils-5.2.0.tgz", @@ -4781,15 +4656,15 @@ } }, "node_modules/@netlify/zip-it-and-ship-it": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.1.0.tgz", - "integrity": "sha512-TkE37wntJBgDM0d67vMLAM5hMpHIaWQ3VsgauINpaumlFECoTJVbBuxNYaUewKklZ9oiR/UtDivU+R8ZTtUs8g==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.1.1.tgz", + "integrity": "sha512-MMXrty1NADxyMPgd7qZvDUYunhcPhxIA/jWP2joceOoPcAxOno/aS4jFuIHf2Dbb4HdhR+BlvgvDCy7QTXXyLQ==", "dev": true, "dependencies": { "@babel/parser": "^7.22.5", "@babel/types": "7.27.1", "@netlify/binary-info": "^1.0.0", - "@netlify/serverless-functions-api": "^1.40.0", + "@netlify/serverless-functions-api": "^1.41.1", "@vercel/nft": "0.27.7", "archiver": "^5.3.1", "common-path-prefix": "^3.0.0", @@ -37102,6 +36977,20 @@ "strict-event-emitter": "^0.5.1" } }, + "@netlify/api": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@netlify/api/-/api-13.4.0.tgz", + "integrity": "sha512-Y/RDvIhMrxWoyhD3DV+um2sv1HFFxoG4LnaB8RqQu7Ei3zEiA7GwqLQm28YZfUR8uEerOPnWiuluKGmqKScX2Q==", + "dev": true, + "requires": { + "@netlify/open-api": "^2.37.0", + "lodash-es": "^4.17.21", + "micro-api-client": "^3.3.0", + "node-fetch": "^3.0.0", + "p-wait-for": "^5.0.0", + "qs": "^6.9.6" + } + }, "@netlify/binary-info": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@netlify/binary-info/-/binary-info-1.0.0.tgz", @@ -37115,23 +37004,23 @@ "dev": true }, "@netlify/build": { - "version": "32.1.1", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.1.tgz", - "integrity": "sha512-9ylhcy+FRzd+F2EXUDbBEydUHg52q84mqMEYtLUJBjHGtS/lZAuFSU2QzMMYl/sEWLe/LrmjLJg8Y4USPMmzbQ==", + "version": "32.1.3", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.3.tgz", + "integrity": "sha512-RfgIhOI0D0pFosNaaHMaDFwbNtpiVT2HPgSSOgmwxAZ7IJgfD2c5B7Lj//+2vn63t7ZjcLTlWhrJiXhdshOq3Q==", "dev": true, "requires": { "@bugsnag/js": "^7.0.0", "@netlify/blobs": "^8.2.0", "@netlify/cache-utils": "^5.2.0", - "@netlify/config": "^22.0.1", + "@netlify/config": "^22.1.0", "@netlify/edge-bundler": "13.0.3", "@netlify/framework-info": "^9.9.3", - "@netlify/functions-utils": "^5.3.17", + "@netlify/functions-utils": "^5.3.18", "@netlify/git-utils": "^5.2.0", "@netlify/opentelemetry-utils": "^1.3.1", "@netlify/plugins-list": "^6.80.0", "@netlify/run-utils": "^5.2.0", - "@netlify/zip-it-and-ship-it": "10.1.0", + "@netlify/zip-it-and-ship-it": "10.1.1", "@sindresorhus/slugify": "^2.0.0", "ansi-escapes": "^6.0.0", "chalk": "^5.0.0", @@ -37280,12 +37169,13 @@ } }, "@netlify/config": { - "version": "22.0.1", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.0.1.tgz", - "integrity": "sha512-ukHIeUsHw13boIqalCrrOkJ2Q07RQ2KaiXNA6WQnqDOh8uJ4vQa/2tjwa/i3FWDbBuvSwUGBwjObS7PelVcf8w==", + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.1.0.tgz", + "integrity": "sha512-S2XlU2mhZL/Ejq2zijF0obP7ZX/jI6NPzZSJMM7pLn+w0wN+UbpfDqTSo1efh7GWH2N9UtHbbOdZlzEcWJVumw==", "dev": true, "requires": { "@iarna/toml": "^2.2.5", + "@netlify/api": "^13.4.0", "@netlify/headers-parser": "^8.0.0", "@netlify/redirect-parser": "^14.5.1", "chalk": "^5.0.0", @@ -37301,7 +37191,6 @@ "is-plain-obj": "^4.0.0", "js-yaml": "^4.0.0", "map-obj": "^5.0.0", - "netlify": "^13.3.5", "node-fetch": "^3.3.1", "omit.js": "^2.0.2", "p-locate": "^6.0.0", @@ -37608,130 +37497,21 @@ "@netlify/runtime-utils": "1.3.1" } }, - "@netlify/zip-it-and-ship-it": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.1.1.tgz", - "integrity": "sha512-MMXrty1NADxyMPgd7qZvDUYunhcPhxIA/jWP2joceOoPcAxOno/aS4jFuIHf2Dbb4HdhR+BlvgvDCy7QTXXyLQ==", - "dev": true, - "requires": { - "@babel/parser": "^7.22.5", - "@babel/types": "7.27.1", - "@netlify/binary-info": "^1.0.0", - "@netlify/serverless-functions-api": "^1.41.1", - "@vercel/nft": "0.27.7", - "archiver": "^5.3.1", - "common-path-prefix": "^3.0.0", - "cp-file": "^10.0.0", - "es-module-lexer": "^1.0.0", - "esbuild": "0.25.4", - "execa": "^7.0.0", - "fast-glob": "^3.3.2", - "filter-obj": "^5.0.0", - "find-up": "^6.0.0", - "glob": "^8.0.3", - "is-builtin-module": "^3.1.0", - "is-path-inside": "^4.0.0", - "junk": "^4.0.0", - "locate-path": "^7.0.0", - "merge-options": "^3.0.4", - "minimatch": "^9.0.0", - "normalize-path": "^3.0.0", - "p-map": "^7.0.0", - "path-exists": "^5.0.0", - "precinct": "^11.0.0", - "require-package-name": "^2.0.1", - "resolve": "^2.0.0-next.1", - "semver": "^7.3.8", - "tmp-promise": "^3.0.2", - "toml": "^3.0.0", - "unixify": "^1.0.0", - "urlpattern-polyfill": "8.0.2", - "yargs": "^17.0.0", - "zod": "^3.23.8" - } - }, - "execa": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "dependencies": { - "is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true - } - } - }, - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "dependencies": { - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "dev": true - }, "is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true - }, - "p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", - "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", - "dev": true - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true } } }, "@netlify/functions-utils": { - "version": "5.3.17", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.3.17.tgz", - "integrity": "sha512-3loIZ1SkAtqjmfA9BtbQlRoqKHdjjog/dy7vBORBAxedGAX/h4j5Q0hg200GHjosx/wSdFuWUZxvpfiAWe+xGg==", + "version": "5.3.18", + "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.3.18.tgz", + "integrity": "sha512-llnoOrQF/iI5ZwDT27Izt+E6JGPDs57OF0EWQg+QRAMFtYyzevEsX7KbY8YTCYux0JB9UJ19OkOEOTN9fgm7OA==", "dev": true, "requires": { - "@netlify/zip-it-and-ship-it": "10.1.0", + "@netlify/zip-it-and-ship-it": "10.1.1", "cpy": "^9.0.0", "path-exists": "^5.0.0" } @@ -37927,15 +37707,15 @@ "dev": true }, "@netlify/zip-it-and-ship-it": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.1.0.tgz", - "integrity": "sha512-TkE37wntJBgDM0d67vMLAM5hMpHIaWQ3VsgauINpaumlFECoTJVbBuxNYaUewKklZ9oiR/UtDivU+R8ZTtUs8g==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.1.1.tgz", + "integrity": "sha512-MMXrty1NADxyMPgd7qZvDUYunhcPhxIA/jWP2joceOoPcAxOno/aS4jFuIHf2Dbb4HdhR+BlvgvDCy7QTXXyLQ==", "dev": true, "requires": { "@babel/parser": "^7.22.5", "@babel/types": "7.27.1", "@netlify/binary-info": "^1.0.0", - "@netlify/serverless-functions-api": "^1.40.0", + "@netlify/serverless-functions-api": "^1.41.1", "@vercel/nft": "0.27.7", "archiver": "^5.3.1", "common-path-prefix": "^3.0.0", diff --git a/package.json b/package.json index 99409bd5df..a251cb6b69 100644 --- a/package.json +++ b/package.json @@ -50,13 +50,13 @@ "devDependencies": { "@fastly/http-compute-js": "1.1.5", "@netlify/blobs": "^8.2.0", - "@netlify/build": "^32.1.1", + "@netlify/build": "^32.1.3", "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", "@netlify/functions": "^3.1.8", "@netlify/serverless-functions-api": "^1.41.1", - "@netlify/zip-it-and-ship-it": "^10.1.0", + "@netlify/zip-it-and-ship-it": "^10.1.1", "@opentelemetry/api": "^1.8.0", "@playwright/test": "^1.43.1", "@types/node": "^20.12.7", From 43776b9f44450c16fbe5eb0a7960abbe3127a756 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 12 May 2025 02:46:59 +0000 Subject: [PATCH 17/31] chore(deps): update dependency @types/node to v20.17.46 (#2921) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 10189e85d2..b784e23202 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6053,9 +6053,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.17.40", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.40.tgz", - "integrity": "sha512-XNlderXNxSooRdgQFCX2aYoRtHhbUK86Iogm4T7c+pWHbYfVz5frT8ywZ94kXoMjC0f7EReLRiM0tGNtcxXOIA==", + "version": "20.17.46", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.46.tgz", + "integrity": "sha512-0PQHLhZPWOxGW4auogW0eOQAuNIlCYvibIpG67ja0TOJ6/sehu+1en7sfceUn+QQtx4Rk3GxbLNwPh0Cav7TWw==", "dev": true, "dependencies": { "undici-types": "~6.19.2" @@ -38703,9 +38703,9 @@ "dev": true }, "@types/node": { - "version": "20.17.40", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.40.tgz", - "integrity": "sha512-XNlderXNxSooRdgQFCX2aYoRtHhbUK86Iogm4T7c+pWHbYfVz5frT8ywZ94kXoMjC0f7EReLRiM0tGNtcxXOIA==", + "version": "20.17.46", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.46.tgz", + "integrity": "sha512-0PQHLhZPWOxGW4auogW0eOQAuNIlCYvibIpG67ja0TOJ6/sehu+1en7sfceUn+QQtx4Rk3GxbLNwPh0Cav7TWw==", "dev": true, "requires": { "undici-types": "~6.19.2" From e36774eee39d53d49b23b7f728ac4300607978cf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 12 May 2025 23:56:22 +0000 Subject: [PATCH 18/31] chore(deps): update dependency @netlify/build to ^32.1.4 (#2925) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 30 +++++++++++++++--------------- package.json | 2 +- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index b784e23202..294caf9818 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "devDependencies": { "@fastly/http-compute-js": "1.1.5", "@netlify/blobs": "^8.2.0", - "@netlify/build": "^32.1.3", + "@netlify/build": "^32.1.4", "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", @@ -3719,15 +3719,15 @@ } }, "node_modules/@netlify/build": { - "version": "32.1.3", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.3.tgz", - "integrity": "sha512-RfgIhOI0D0pFosNaaHMaDFwbNtpiVT2HPgSSOgmwxAZ7IJgfD2c5B7Lj//+2vn63t7ZjcLTlWhrJiXhdshOq3Q==", + "version": "32.1.4", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.4.tgz", + "integrity": "sha512-iHBGNPsDU6Ec9VkMGb/HFroi/2AIP1oExt5wKJY0r6pqv1b0InGI51nnDfzVQJTtnmfhyL4pad3nGvMuHJlcIQ==", "dev": true, "dependencies": { "@bugsnag/js": "^7.0.0", "@netlify/blobs": "^8.2.0", "@netlify/cache-utils": "^5.2.0", - "@netlify/config": "^22.1.0", + "@netlify/config": "^22.2.0", "@netlify/edge-bundler": "13.0.3", "@netlify/framework-info": "^9.9.3", "@netlify/functions-utils": "^5.3.18", @@ -3951,9 +3951,9 @@ } }, "node_modules/@netlify/config": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.1.0.tgz", - "integrity": "sha512-S2XlU2mhZL/Ejq2zijF0obP7ZX/jI6NPzZSJMM7pLn+w0wN+UbpfDqTSo1efh7GWH2N9UtHbbOdZlzEcWJVumw==", + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.2.0.tgz", + "integrity": "sha512-33SwZJrLXqNCZJiKCyPXaxLVHGRcQhEV6+RwjKt6IVDvShZ2l1pLQnAS0Z/2xKsZUhQvKhrjXBAts/5eXt9WTA==", "dev": true, "dependencies": { "@iarna/toml": "^2.2.5", @@ -37004,15 +37004,15 @@ "dev": true }, "@netlify/build": { - "version": "32.1.3", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.3.tgz", - "integrity": "sha512-RfgIhOI0D0pFosNaaHMaDFwbNtpiVT2HPgSSOgmwxAZ7IJgfD2c5B7Lj//+2vn63t7ZjcLTlWhrJiXhdshOq3Q==", + "version": "32.1.4", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.4.tgz", + "integrity": "sha512-iHBGNPsDU6Ec9VkMGb/HFroi/2AIP1oExt5wKJY0r6pqv1b0InGI51nnDfzVQJTtnmfhyL4pad3nGvMuHJlcIQ==", "dev": true, "requires": { "@bugsnag/js": "^7.0.0", "@netlify/blobs": "^8.2.0", "@netlify/cache-utils": "^5.2.0", - "@netlify/config": "^22.1.0", + "@netlify/config": "^22.2.0", "@netlify/edge-bundler": "13.0.3", "@netlify/framework-info": "^9.9.3", "@netlify/functions-utils": "^5.3.18", @@ -37169,9 +37169,9 @@ } }, "@netlify/config": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.1.0.tgz", - "integrity": "sha512-S2XlU2mhZL/Ejq2zijF0obP7ZX/jI6NPzZSJMM7pLn+w0wN+UbpfDqTSo1efh7GWH2N9UtHbbOdZlzEcWJVumw==", + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.2.0.tgz", + "integrity": "sha512-33SwZJrLXqNCZJiKCyPXaxLVHGRcQhEV6+RwjKt6IVDvShZ2l1pLQnAS0Z/2xKsZUhQvKhrjXBAts/5eXt9WTA==", "dev": true, "requires": { "@iarna/toml": "^2.2.5", diff --git a/package.json b/package.json index a251cb6b69..959faa10b9 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "devDependencies": { "@fastly/http-compute-js": "1.1.5", "@netlify/blobs": "^8.2.0", - "@netlify/build": "^32.1.3", + "@netlify/build": "^32.1.4", "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", From d15ac0b3b82d854ca219a8bccad92b9578c2481b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 08:32:47 +0000 Subject: [PATCH 19/31] chore(deps): update dependency semver to v7.7.2 (#2926) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 294caf9818..16db873ba6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31885,9 +31885,9 @@ "peer": true }, "node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -56959,9 +56959,9 @@ "peer": true }, "semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true }, "set-blocking": { From 322b6a443fdf3fc4a83ad50c718b4819325a6588 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 16:20:52 +0000 Subject: [PATCH 20/31] chore(deps): update dependency postcss to v8.5.3 (#2927) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- e2e-report/package-lock.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/e2e-report/package-lock.json b/e2e-report/package-lock.json index c06449d8cd..4cdf150e64 100644 --- a/e2e-report/package-lock.json +++ b/e2e-report/package-lock.json @@ -19534,9 +19534,9 @@ } }, "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", + "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", "dev": true, "funding": [ { @@ -19554,8 +19554,8 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { From 3aac7606d2246a5ab1951292fb87a6353196c400 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 18:36:14 +0000 Subject: [PATCH 21/31] chore(deps): update dependency netlify-cli to ^21.3.0 (#2916) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- e2e-report/package-lock.json | 787 +++++--------------- e2e-report/package.json | 2 +- package-lock.json | 1311 +++++++++------------------------- package.json | 2 +- 4 files changed, 508 insertions(+), 1594 deletions(-) diff --git a/e2e-report/package-lock.json b/e2e-report/package-lock.json index 4cdf150e64..a3949af623 100644 --- a/e2e-report/package-lock.json +++ b/e2e-report/package-lock.json @@ -18,7 +18,7 @@ "daisyui": "^4.12.2", "eslint": "^8.57.0", "eslint-config-next": "^14.2.4", - "netlify-cli": "^21.2.0", + "netlify-cli": "^21.3.0", "postcss": "^8.4.38", "sass": "^1.77.1", "tailwindcss": "^3.4.4" @@ -3629,25 +3629,26 @@ "dev": true }, "node_modules/netlify-cli": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.2.0.tgz", - "integrity": "sha512-PKOncgrqKvIVJcYyY0ZOFIkCe7vGcqgAw944f7oIOexL0foIyNeJPLQyOQpHdvlcDYOzp2hbR7+iAqKxGvqwhw==", + "version": "21.3.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.3.0.tgz", + "integrity": "sha512-BZmHKpXlhmCJ0SbOD3FCYZ5SbX5HkxkMZwNR3q15GNlaG5gvjY81hnWqw7Cu39pOdlSBUQM0rlxAiRwsqb4YFQ==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, "license": "MIT", "dependencies": { "@fastify/static": "7.0.4", + "@netlify/api": "13.4.0", "@netlify/blobs": "8.2.0", - "@netlify/build": "32.1.0", + "@netlify/build": "32.1.4", "@netlify/build-info": "9.0.4", - "@netlify/config": "22.0.1", - "@netlify/edge-bundler": "13.0.2", + "@netlify/config": "22.2.0", + "@netlify/edge-bundler": "13.0.3", "@netlify/edge-functions": "2.12.0", "@netlify/headers-parser": "8.0.0", "@netlify/local-functions-proxy": "2.0.3", "@netlify/redirect-parser": "14.5.1", - "@netlify/zip-it-and-ship-it": "10.0.7", + "@netlify/zip-it-and-ship-it": "10.1.1", "@octokit/rest": "21.1.1", "@opentelemetry/api": "1.8.0", "@pnpm/tabtab": "0.5.4", @@ -3705,7 +3706,6 @@ "maxstache-stream": "1.0.4", "multiparty": "4.2.3", "nanospinner": "^1.2.2", - "netlify": "13.3.5", "netlify-redirector": "0.5.0", "node-fetch": "3.3.2", "normalize-package-data": "6.0.2", @@ -3755,18 +3755,18 @@ } }, "node_modules/netlify-cli/node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/netlify-cli/node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, "engines": { "node": ">=6.9.0" @@ -3788,13 +3788,13 @@ } }, "node_modules/netlify-cli/node_modules/@babel/types": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", - "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", + "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -3858,14 +3858,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/aix-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", - "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", + "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", "cpu": [ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "aix" @@ -3875,14 +3874,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/android-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", - "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", + "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", "cpu": [ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -3892,14 +3890,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/android-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", - "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", + "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -3909,14 +3906,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/android-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", - "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", + "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -3926,14 +3922,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/darwin-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", - "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", + "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -3943,14 +3938,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/darwin-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", - "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", + "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -3960,14 +3954,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", - "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", + "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -3977,14 +3970,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/freebsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", - "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", + "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -3994,14 +3986,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", - "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", + "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", "cpu": [ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4011,14 +4002,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", - "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", + "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4028,14 +4018,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", - "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", + "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", "cpu": [ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4045,14 +4034,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-loong64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", - "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", + "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", "cpu": [ "loong64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4062,14 +4050,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-mips64el": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", - "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", + "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", "cpu": [ "mips64el" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4079,14 +4066,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", - "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", + "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", "cpu": [ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4096,14 +4082,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-riscv64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", - "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", + "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", "cpu": [ "riscv64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4113,14 +4098,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-s390x": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", - "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", + "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", "cpu": [ "s390x" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4130,14 +4114,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", - "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", + "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -4147,14 +4130,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", - "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", + "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "netbsd" @@ -4164,14 +4146,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/netbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", - "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", + "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "netbsd" @@ -4181,14 +4162,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", - "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", + "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openbsd" @@ -4198,14 +4178,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/openbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", - "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", + "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openbsd" @@ -4215,14 +4194,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/sunos-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", - "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", + "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "sunos" @@ -4232,14 +4210,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/win32-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", - "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", + "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -4249,14 +4226,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/win32-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", - "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", + "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", "cpu": [ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -4266,14 +4242,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/win32-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", - "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", + "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -4726,6 +4701,23 @@ } } }, + "node_modules/netlify-cli/node_modules/@netlify/api": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@netlify/api/-/api-13.4.0.tgz", + "integrity": "sha512-Y/RDvIhMrxWoyhD3DV+um2sv1HFFxoG4LnaB8RqQu7Ei3zEiA7GwqLQm28YZfUR8uEerOPnWiuluKGmqKScX2Q==", + "dev": true, + "dependencies": { + "@netlify/open-api": "^2.37.0", + "lodash-es": "^4.17.21", + "micro-api-client": "^3.3.0", + "node-fetch": "^3.0.0", + "p-wait-for": "^5.0.0", + "qs": "^6.9.6" + }, + "engines": { + "node": "^14.16.0 || >=16.0.0" + } + }, "node_modules/netlify-cli/node_modules/@netlify/binary-info": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@netlify/binary-info/-/binary-info-1.0.0.tgz", @@ -4742,23 +4734,23 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/build": { - "version": "32.1.0", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.0.tgz", - "integrity": "sha512-Fq8f+WFPSxzmfk4WEQGKGeFZ+4E/IEG48Xn2SinJyHUsj3Jy8QHOJz5ViBvGW32J7l20DANu17CEjKc+n2cT0w==", + "version": "32.1.4", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.4.tgz", + "integrity": "sha512-iHBGNPsDU6Ec9VkMGb/HFroi/2AIP1oExt5wKJY0r6pqv1b0InGI51nnDfzVQJTtnmfhyL4pad3nGvMuHJlcIQ==", "dev": true, "dependencies": { "@bugsnag/js": "^7.0.0", "@netlify/blobs": "^8.2.0", "@netlify/cache-utils": "^5.2.0", - "@netlify/config": "^22.0.1", - "@netlify/edge-bundler": "13.0.2", + "@netlify/config": "^22.2.0", + "@netlify/edge-bundler": "13.0.3", "@netlify/framework-info": "^9.9.3", - "@netlify/functions-utils": "^5.3.16", + "@netlify/functions-utils": "^5.3.18", "@netlify/git-utils": "^5.2.0", "@netlify/opentelemetry-utils": "^1.3.1", "@netlify/plugins-list": "^6.80.0", "@netlify/run-utils": "^5.2.0", - "@netlify/zip-it-and-ship-it": "10.0.7", + "@netlify/zip-it-and-ship-it": "10.1.1", "@sindresorhus/slugify": "^2.0.0", "ansi-escapes": "^6.0.0", "chalk": "^5.0.0", @@ -5446,12 +5438,13 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/config": { - "version": "22.0.1", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.0.1.tgz", - "integrity": "sha512-ukHIeUsHw13boIqalCrrOkJ2Q07RQ2KaiXNA6WQnqDOh8uJ4vQa/2tjwa/i3FWDbBuvSwUGBwjObS7PelVcf8w==", + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.2.0.tgz", + "integrity": "sha512-33SwZJrLXqNCZJiKCyPXaxLVHGRcQhEV6+RwjKt6IVDvShZ2l1pLQnAS0Z/2xKsZUhQvKhrjXBAts/5eXt9WTA==", "dev": true, "dependencies": { "@iarna/toml": "^2.2.5", + "@netlify/api": "^13.4.0", "@netlify/headers-parser": "^8.0.0", "@netlify/redirect-parser": "^14.5.1", "chalk": "^5.0.0", @@ -5467,7 +5460,6 @@ "is-plain-obj": "^4.0.0", "js-yaml": "^4.0.0", "map-obj": "^5.0.0", - "netlify": "^13.3.5", "node-fetch": "^3.3.1", "omit.js": "^2.0.2", "p-locate": "^6.0.0", @@ -5652,11 +5644,10 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/edge-bundler": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-13.0.2.tgz", - "integrity": "sha512-q95EzA9lRCL7tsLVhgvFEfuYvL+gJFC8T//Q7O1MFKAUGJVGa00UBD9QDQAFEjTg2e9+yYBFXmjsUqCUPM2GUA==", + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-13.0.3.tgz", + "integrity": "sha512-RWhsbLVF+p1qmMmJQOfqBBZPj812QwVVru4aATQYcRLoxyM6hLAdwAk7nYgCRk9PfbqZMTaJEJB9Mpi2rpuZqg==", "dev": true, - "license": "MIT", "dependencies": { "@import-maps/resolve": "^1.0.1", "ajv": "^8.11.2", @@ -5664,7 +5655,7 @@ "better-ajv-errors": "^1.2.0", "common-path-prefix": "^3.0.0", "env-paths": "^3.0.0", - "esbuild": "0.25.2", + "esbuild": "0.25.4", "execa": "^7.0.0", "find-up": "^6.3.0", "get-package-name": "^2.2.0", @@ -5690,7 +5681,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -5707,7 +5697,6 @@ "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", "dev": true, - "license": "MIT", "peerDependencies": { "ajv": "^8.0.1" } @@ -5717,7 +5706,6 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.1", @@ -5750,15 +5738,13 @@ "type": "opencollective", "url": "https://opencollective.com/fastify" } - ], - "license": "BSD-3-Clause" + ] }, "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/find-up": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^7.1.0", "path-exists": "^5.0.0" @@ -5775,7 +5761,6 @@ "resolved": "https://registry.npmjs.org/get-port/-/get-port-6.1.2.tgz", "integrity": "sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -5788,7 +5773,6 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=14.18.0" } @@ -5798,7 +5782,6 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -5810,15 +5793,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/npm-run-path": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^4.0.0" }, @@ -5834,7 +5815,6 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, - "license": "MIT", "dependencies": { "mimic-fn": "^4.0.0" }, @@ -5850,7 +5830,6 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } @@ -5860,7 +5839,6 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -5877,7 +5855,6 @@ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], - "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -6014,12 +5991,12 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/functions-utils": { - "version": "5.3.16", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.3.16.tgz", - "integrity": "sha512-RDvY+WWacc/5MBPLseNwtHTouGj3CNSZzquMa2X6C+6vGECsMXSem2mKobnqcewL1IUZeAin/O8poHTwdgpQSQ==", + "version": "5.3.18", + "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.3.18.tgz", + "integrity": "sha512-llnoOrQF/iI5ZwDT27Izt+E6JGPDs57OF0EWQg+QRAMFtYyzevEsX7KbY8YTCYux0JB9UJ19OkOEOTN9fgm7OA==", "dev": true, "dependencies": { - "@netlify/zip-it-and-ship-it": "10.0.7", + "@netlify/zip-it-and-ship-it": "10.1.1", "cpy": "^9.0.0", "path-exists": "^5.0.0" }, @@ -6556,21 +6533,21 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.0.7.tgz", - "integrity": "sha512-h7VUDyY6ePD8JA1tM0m8zbWDp03UOmBlPdqgl9/aK1fSVYcoo0qhXmp1Z1n+viKkNkmvBx4KvOLScUJEXPeRnA==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.1.1.tgz", + "integrity": "sha512-MMXrty1NADxyMPgd7qZvDUYunhcPhxIA/jWP2joceOoPcAxOno/aS4jFuIHf2Dbb4HdhR+BlvgvDCy7QTXXyLQ==", "dev": true, "dependencies": { "@babel/parser": "^7.22.5", - "@babel/types": "7.26.10", + "@babel/types": "7.27.1", "@netlify/binary-info": "^1.0.0", - "@netlify/serverless-functions-api": "^1.38.0", + "@netlify/serverless-functions-api": "^1.41.1", "@vercel/nft": "0.27.7", "archiver": "^5.3.1", "common-path-prefix": "^3.0.0", "cp-file": "^10.0.0", "es-module-lexer": "^1.0.0", - "esbuild": "0.19.11", + "esbuild": "0.25.4", "execa": "^7.0.0", "fast-glob": "^3.3.2", "filter-obj": "^5.0.0", @@ -6603,378 +6580,10 @@ "node": "^14.18.0 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/aix-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", - "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/android-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", - "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/android-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", - "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/android-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", - "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/darwin-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", - "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/darwin-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", - "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", - "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/freebsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", - "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", - "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", - "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", - "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-loong64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", - "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-mips64el": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", - "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", - "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-riscv64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", - "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-s390x": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", - "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", - "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/netbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", - "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/openbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", - "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/sunos-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", - "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/win32-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", - "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/win32-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", - "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/win32-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", - "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@netlify/serverless-functions-api": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.38.0.tgz", - "integrity": "sha512-AuTzLH4BlQxPViwdEP9WcW/9NjqmjzaPHxOd9fyaMZUOkAgF0iauio9PF9QylAtgyodhLd6mGuASESZZiJcXaw==", + "version": "1.41.1", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.1.tgz", + "integrity": "sha512-swjyZEd8U1QVp01rZdHxpwWie7GkP1kS4+4n8kuNKA8+3G5tD0JXXf3a5d4tdwVvrU9k7a4GP1Bn792UPwecmw==", "dev": true, "engines": { "node": ">=18.0.0" @@ -6989,44 +6598,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/esbuild": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", - "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.11", - "@esbuild/android-arm": "0.19.11", - "@esbuild/android-arm64": "0.19.11", - "@esbuild/android-x64": "0.19.11", - "@esbuild/darwin-arm64": "0.19.11", - "@esbuild/darwin-x64": "0.19.11", - "@esbuild/freebsd-arm64": "0.19.11", - "@esbuild/freebsd-x64": "0.19.11", - "@esbuild/linux-arm": "0.19.11", - "@esbuild/linux-arm64": "0.19.11", - "@esbuild/linux-ia32": "0.19.11", - "@esbuild/linux-loong64": "0.19.11", - "@esbuild/linux-mips64el": "0.19.11", - "@esbuild/linux-ppc64": "0.19.11", - "@esbuild/linux-riscv64": "0.19.11", - "@esbuild/linux-s390x": "0.19.11", - "@esbuild/linux-x64": "0.19.11", - "@esbuild/netbsd-x64": "0.19.11", - "@esbuild/openbsd-x64": "0.19.11", - "@esbuild/sunos-x64": "0.19.11", - "@esbuild/win32-arm64": "0.19.11", - "@esbuild/win32-ia32": "0.19.11", - "@esbuild/win32-x64": "0.19.11" - } - }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/execa": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", @@ -11292,12 +10863,11 @@ } }, "node_modules/netlify-cli/node_modules/esbuild": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", - "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", + "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", "dev": true, "hasInstallScript": true, - "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -11305,31 +10875,31 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.2", - "@esbuild/android-arm": "0.25.2", - "@esbuild/android-arm64": "0.25.2", - "@esbuild/android-x64": "0.25.2", - "@esbuild/darwin-arm64": "0.25.2", - "@esbuild/darwin-x64": "0.25.2", - "@esbuild/freebsd-arm64": "0.25.2", - "@esbuild/freebsd-x64": "0.25.2", - "@esbuild/linux-arm": "0.25.2", - "@esbuild/linux-arm64": "0.25.2", - "@esbuild/linux-ia32": "0.25.2", - "@esbuild/linux-loong64": "0.25.2", - "@esbuild/linux-mips64el": "0.25.2", - "@esbuild/linux-ppc64": "0.25.2", - "@esbuild/linux-riscv64": "0.25.2", - "@esbuild/linux-s390x": "0.25.2", - "@esbuild/linux-x64": "0.25.2", - "@esbuild/netbsd-arm64": "0.25.2", - "@esbuild/netbsd-x64": "0.25.2", - "@esbuild/openbsd-arm64": "0.25.2", - "@esbuild/openbsd-x64": "0.25.2", - "@esbuild/sunos-x64": "0.25.2", - "@esbuild/win32-arm64": "0.25.2", - "@esbuild/win32-ia32": "0.25.2", - "@esbuild/win32-x64": "0.25.2" + "@esbuild/aix-ppc64": "0.25.4", + "@esbuild/android-arm": "0.25.4", + "@esbuild/android-arm64": "0.25.4", + "@esbuild/android-x64": "0.25.4", + "@esbuild/darwin-arm64": "0.25.4", + "@esbuild/darwin-x64": "0.25.4", + "@esbuild/freebsd-arm64": "0.25.4", + "@esbuild/freebsd-x64": "0.25.4", + "@esbuild/linux-arm": "0.25.4", + "@esbuild/linux-arm64": "0.25.4", + "@esbuild/linux-ia32": "0.25.4", + "@esbuild/linux-loong64": "0.25.4", + "@esbuild/linux-mips64el": "0.25.4", + "@esbuild/linux-ppc64": "0.25.4", + "@esbuild/linux-riscv64": "0.25.4", + "@esbuild/linux-s390x": "0.25.4", + "@esbuild/linux-x64": "0.25.4", + "@esbuild/netbsd-arm64": "0.25.4", + "@esbuild/netbsd-x64": "0.25.4", + "@esbuild/openbsd-arm64": "0.25.4", + "@esbuild/openbsd-x64": "0.25.4", + "@esbuild/sunos-x64": "0.25.4", + "@esbuild/win32-arm64": "0.25.4", + "@esbuild/win32-ia32": "0.25.4", + "@esbuild/win32-x64": "0.25.4" } }, "node_modules/netlify-cli/node_modules/escalade": { @@ -15055,23 +14625,6 @@ "integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==", "dev": true }, - "node_modules/netlify-cli/node_modules/netlify": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/netlify/-/netlify-13.3.5.tgz", - "integrity": "sha512-Nc3loyVASW59W+8fLDZT1lncpG7llffyZ2o0UQLx/Fr20i7P8oP+lE7+TEcFvXj9IUWU6LjB9P3BH+iFGyp+mg==", - "dev": true, - "dependencies": { - "@netlify/open-api": "^2.37.0", - "lodash-es": "^4.17.21", - "micro-api-client": "^3.3.0", - "node-fetch": "^3.0.0", - "p-wait-for": "^5.0.0", - "qs": "^6.9.6" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, "node_modules/netlify-cli/node_modules/netlify-redirector": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/netlify-redirector/-/netlify-redirector-0.5.0.tgz", diff --git a/e2e-report/package.json b/e2e-report/package.json index b3a5d99401..7dfd4d48d9 100644 --- a/e2e-report/package.json +++ b/e2e-report/package.json @@ -19,7 +19,7 @@ "daisyui": "^4.12.2", "eslint": "^8.57.0", "eslint-config-next": "^14.2.4", - "netlify-cli": "^21.2.0", + "netlify-cli": "^21.3.0", "postcss": "^8.4.38", "sass": "^1.77.1", "tailwindcss": "^3.4.4" diff --git a/package-lock.json b/package-lock.json index 16db873ba6..2cb80984c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,7 @@ "memfs": "^4.9.2", "mock-require": "^3.0.3", "msw": "^2.0.7", - "netlify-cli": "^21.2.0", + "netlify-cli": "^21.3.0", "next": "^15.0.0-canary.28", "next-with-cache-handler-v2": "npm:next@15.3.0-canary.13", "os": "^0.1.2", @@ -13888,24 +13888,25 @@ } }, "node_modules/netlify-cli": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.2.0.tgz", - "integrity": "sha512-PKOncgrqKvIVJcYyY0ZOFIkCe7vGcqgAw944f7oIOexL0foIyNeJPLQyOQpHdvlcDYOzp2hbR7+iAqKxGvqwhw==", + "version": "21.3.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.3.0.tgz", + "integrity": "sha512-BZmHKpXlhmCJ0SbOD3FCYZ5SbX5HkxkMZwNR3q15GNlaG5gvjY81hnWqw7Cu39pOdlSBUQM0rlxAiRwsqb4YFQ==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, "dependencies": { "@fastify/static": "7.0.4", + "@netlify/api": "13.4.0", "@netlify/blobs": "8.2.0", - "@netlify/build": "32.1.0", + "@netlify/build": "32.1.4", "@netlify/build-info": "9.0.4", - "@netlify/config": "22.0.1", - "@netlify/edge-bundler": "13.0.2", + "@netlify/config": "22.2.0", + "@netlify/edge-bundler": "13.0.3", "@netlify/edge-functions": "2.12.0", "@netlify/headers-parser": "8.0.0", "@netlify/local-functions-proxy": "2.0.3", "@netlify/redirect-parser": "14.5.1", - "@netlify/zip-it-and-ship-it": "10.0.7", + "@netlify/zip-it-and-ship-it": "10.1.1", "@octokit/rest": "21.1.1", "@opentelemetry/api": "1.8.0", "@pnpm/tabtab": "0.5.4", @@ -13963,7 +13964,6 @@ "maxstache-stream": "1.0.4", "multiparty": "4.2.3", "nanospinner": "^1.2.2", - "netlify": "13.3.5", "netlify-redirector": "0.5.0", "node-fetch": "3.3.2", "normalize-package-data": "6.0.2", @@ -14013,18 +14013,18 @@ } }, "node_modules/netlify-cli/node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/netlify-cli/node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, "engines": { "node": ">=6.9.0" @@ -14046,13 +14046,13 @@ } }, "node_modules/netlify-cli/node_modules/@babel/types": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", - "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", + "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -14116,14 +14116,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/aix-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", - "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", + "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", "cpu": [ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "aix" @@ -14133,14 +14132,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/android-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", - "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", + "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", "cpu": [ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -14150,14 +14148,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/android-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", - "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", + "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -14167,14 +14164,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/android-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", - "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", + "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "android" @@ -14184,14 +14180,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/darwin-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", - "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", + "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -14201,14 +14196,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/darwin-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", - "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", + "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "darwin" @@ -14218,14 +14212,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", - "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", + "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -14235,14 +14228,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/freebsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", - "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", + "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "freebsd" @@ -14252,14 +14244,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", - "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", + "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", "cpu": [ "arm" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -14269,14 +14260,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", - "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", + "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -14286,14 +14276,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", - "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", + "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", "cpu": [ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -14303,14 +14292,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-loong64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", - "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", + "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", "cpu": [ "loong64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -14320,14 +14308,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-mips64el": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", - "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", + "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", "cpu": [ "mips64el" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -14337,14 +14324,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", - "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", + "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", "cpu": [ "ppc64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -14354,14 +14340,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-riscv64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", - "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", + "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", "cpu": [ "riscv64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -14371,14 +14356,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-s390x": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", - "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", + "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", "cpu": [ "s390x" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -14388,14 +14372,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/linux-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", - "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", + "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -14405,14 +14388,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", - "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", + "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "netbsd" @@ -14422,14 +14404,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/netbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", - "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", + "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "netbsd" @@ -14439,14 +14420,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", - "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", + "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openbsd" @@ -14456,14 +14436,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/openbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", - "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", + "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "openbsd" @@ -14473,14 +14452,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/sunos-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", - "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", + "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "sunos" @@ -14490,14 +14468,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/win32-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", - "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", + "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", "cpu": [ "arm64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -14507,14 +14484,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/win32-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", - "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", + "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", "cpu": [ "ia32" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -14524,14 +14500,13 @@ } }, "node_modules/netlify-cli/node_modules/@esbuild/win32-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", - "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", + "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -14984,6 +14959,23 @@ } } }, + "node_modules/netlify-cli/node_modules/@netlify/api": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@netlify/api/-/api-13.4.0.tgz", + "integrity": "sha512-Y/RDvIhMrxWoyhD3DV+um2sv1HFFxoG4LnaB8RqQu7Ei3zEiA7GwqLQm28YZfUR8uEerOPnWiuluKGmqKScX2Q==", + "dev": true, + "dependencies": { + "@netlify/open-api": "^2.37.0", + "lodash-es": "^4.17.21", + "micro-api-client": "^3.3.0", + "node-fetch": "^3.0.0", + "p-wait-for": "^5.0.0", + "qs": "^6.9.6" + }, + "engines": { + "node": "^14.16.0 || >=16.0.0" + } + }, "node_modules/netlify-cli/node_modules/@netlify/binary-info": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@netlify/binary-info/-/binary-info-1.0.0.tgz", @@ -15000,23 +14992,23 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/build": { - "version": "32.1.0", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.0.tgz", - "integrity": "sha512-Fq8f+WFPSxzmfk4WEQGKGeFZ+4E/IEG48Xn2SinJyHUsj3Jy8QHOJz5ViBvGW32J7l20DANu17CEjKc+n2cT0w==", + "version": "32.1.4", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.4.tgz", + "integrity": "sha512-iHBGNPsDU6Ec9VkMGb/HFroi/2AIP1oExt5wKJY0r6pqv1b0InGI51nnDfzVQJTtnmfhyL4pad3nGvMuHJlcIQ==", "dev": true, "dependencies": { "@bugsnag/js": "^7.0.0", "@netlify/blobs": "^8.2.0", "@netlify/cache-utils": "^5.2.0", - "@netlify/config": "^22.0.1", - "@netlify/edge-bundler": "13.0.2", + "@netlify/config": "^22.2.0", + "@netlify/edge-bundler": "13.0.3", "@netlify/framework-info": "^9.9.3", - "@netlify/functions-utils": "^5.3.16", + "@netlify/functions-utils": "^5.3.18", "@netlify/git-utils": "^5.2.0", "@netlify/opentelemetry-utils": "^1.3.1", "@netlify/plugins-list": "^6.80.0", "@netlify/run-utils": "^5.2.0", - "@netlify/zip-it-and-ship-it": "10.0.7", + "@netlify/zip-it-and-ship-it": "10.1.1", "@sindresorhus/slugify": "^2.0.0", "ansi-escapes": "^6.0.0", "chalk": "^5.0.0", @@ -15704,12 +15696,13 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/config": { - "version": "22.0.1", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.0.1.tgz", - "integrity": "sha512-ukHIeUsHw13boIqalCrrOkJ2Q07RQ2KaiXNA6WQnqDOh8uJ4vQa/2tjwa/i3FWDbBuvSwUGBwjObS7PelVcf8w==", + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.2.0.tgz", + "integrity": "sha512-33SwZJrLXqNCZJiKCyPXaxLVHGRcQhEV6+RwjKt6IVDvShZ2l1pLQnAS0Z/2xKsZUhQvKhrjXBAts/5eXt9WTA==", "dev": true, "dependencies": { "@iarna/toml": "^2.2.5", + "@netlify/api": "^13.4.0", "@netlify/headers-parser": "^8.0.0", "@netlify/redirect-parser": "^14.5.1", "chalk": "^5.0.0", @@ -15725,7 +15718,6 @@ "is-plain-obj": "^4.0.0", "js-yaml": "^4.0.0", "map-obj": "^5.0.0", - "netlify": "^13.3.5", "node-fetch": "^3.3.1", "omit.js": "^2.0.2", "p-locate": "^6.0.0", @@ -15910,11 +15902,10 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/edge-bundler": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-13.0.2.tgz", - "integrity": "sha512-q95EzA9lRCL7tsLVhgvFEfuYvL+gJFC8T//Q7O1MFKAUGJVGa00UBD9QDQAFEjTg2e9+yYBFXmjsUqCUPM2GUA==", + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-13.0.3.tgz", + "integrity": "sha512-RWhsbLVF+p1qmMmJQOfqBBZPj812QwVVru4aATQYcRLoxyM6hLAdwAk7nYgCRk9PfbqZMTaJEJB9Mpi2rpuZqg==", "dev": true, - "license": "MIT", "dependencies": { "@import-maps/resolve": "^1.0.1", "ajv": "^8.11.2", @@ -15922,7 +15913,7 @@ "better-ajv-errors": "^1.2.0", "common-path-prefix": "^3.0.0", "env-paths": "^3.0.0", - "esbuild": "0.25.2", + "esbuild": "0.25.4", "execa": "^7.0.0", "find-up": "^6.3.0", "get-package-name": "^2.2.0", @@ -15948,7 +15939,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -15965,7 +15955,6 @@ "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-3.0.0.tgz", "integrity": "sha512-V3wD15YHfHz6y0KdhYFjyy9vWtEVALT9UrxfN3zqlI6dMioHnJrqOYfyPKol3oqrnCM9uwkcdCwkJ0WUcbLMTQ==", "dev": true, - "license": "MIT", "peerDependencies": { "ajv": "^8.0.1" } @@ -15975,7 +15964,6 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.1", @@ -16008,15 +15996,13 @@ "type": "opencollective", "url": "https://opencollective.com/fastify" } - ], - "license": "BSD-3-Clause" + ] }, "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/find-up": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^7.1.0", "path-exists": "^5.0.0" @@ -16033,7 +16019,6 @@ "resolved": "https://registry.npmjs.org/get-port/-/get-port-6.1.2.tgz", "integrity": "sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -16046,7 +16031,6 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=14.18.0" } @@ -16056,7 +16040,6 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -16068,15 +16051,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/netlify-cli/node_modules/@netlify/edge-bundler/node_modules/npm-run-path": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^4.0.0" }, @@ -16092,7 +16073,6 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, - "license": "MIT", "dependencies": { "mimic-fn": "^4.0.0" }, @@ -16108,7 +16088,6 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } @@ -16118,7 +16097,6 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -16135,7 +16113,6 @@ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], - "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -16272,12 +16249,12 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/functions-utils": { - "version": "5.3.16", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.3.16.tgz", - "integrity": "sha512-RDvY+WWacc/5MBPLseNwtHTouGj3CNSZzquMa2X6C+6vGECsMXSem2mKobnqcewL1IUZeAin/O8poHTwdgpQSQ==", + "version": "5.3.18", + "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.3.18.tgz", + "integrity": "sha512-llnoOrQF/iI5ZwDT27Izt+E6JGPDs57OF0EWQg+QRAMFtYyzevEsX7KbY8YTCYux0JB9UJ19OkOEOTN9fgm7OA==", "dev": true, "dependencies": { - "@netlify/zip-it-and-ship-it": "10.0.7", + "@netlify/zip-it-and-ship-it": "10.1.1", "cpy": "^9.0.0", "path-exists": "^5.0.0" }, @@ -16814,21 +16791,21 @@ } }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.0.7.tgz", - "integrity": "sha512-h7VUDyY6ePD8JA1tM0m8zbWDp03UOmBlPdqgl9/aK1fSVYcoo0qhXmp1Z1n+viKkNkmvBx4KvOLScUJEXPeRnA==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.1.1.tgz", + "integrity": "sha512-MMXrty1NADxyMPgd7qZvDUYunhcPhxIA/jWP2joceOoPcAxOno/aS4jFuIHf2Dbb4HdhR+BlvgvDCy7QTXXyLQ==", "dev": true, "dependencies": { "@babel/parser": "^7.22.5", - "@babel/types": "7.26.10", + "@babel/types": "7.27.1", "@netlify/binary-info": "^1.0.0", - "@netlify/serverless-functions-api": "^1.38.0", + "@netlify/serverless-functions-api": "^1.41.1", "@vercel/nft": "0.27.7", "archiver": "^5.3.1", "common-path-prefix": "^3.0.0", "cp-file": "^10.0.0", "es-module-lexer": "^1.0.0", - "esbuild": "0.19.11", + "esbuild": "0.25.4", "execa": "^7.0.0", "fast-glob": "^3.3.2", "filter-obj": "^5.0.0", @@ -16861,378 +16838,10 @@ "node": "^14.18.0 || >=16.0.0" } }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/aix-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", - "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/android-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", - "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/android-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", - "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/android-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", - "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/darwin-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", - "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/darwin-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", - "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", - "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/freebsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", - "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", - "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", - "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", - "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-loong64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", - "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-mips64el": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", - "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", - "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-riscv64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", - "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-s390x": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", - "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/linux-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", - "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/netbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", - "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/openbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", - "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/sunos-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", - "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/win32-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", - "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/win32-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", - "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@esbuild/win32-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", - "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/@netlify/serverless-functions-api": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.38.0.tgz", - "integrity": "sha512-AuTzLH4BlQxPViwdEP9WcW/9NjqmjzaPHxOd9fyaMZUOkAgF0iauio9PF9QylAtgyodhLd6mGuASESZZiJcXaw==", + "version": "1.41.1", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.1.tgz", + "integrity": "sha512-swjyZEd8U1QVp01rZdHxpwWie7GkP1kS4+4n8kuNKA8+3G5tD0JXXf3a5d4tdwVvrU9k7a4GP1Bn792UPwecmw==", "dev": true, "engines": { "node": ">=18.0.0" @@ -17247,44 +16856,6 @@ "balanced-match": "^1.0.0" } }, - "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/esbuild": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", - "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.11", - "@esbuild/android-arm": "0.19.11", - "@esbuild/android-arm64": "0.19.11", - "@esbuild/android-x64": "0.19.11", - "@esbuild/darwin-arm64": "0.19.11", - "@esbuild/darwin-x64": "0.19.11", - "@esbuild/freebsd-arm64": "0.19.11", - "@esbuild/freebsd-x64": "0.19.11", - "@esbuild/linux-arm": "0.19.11", - "@esbuild/linux-arm64": "0.19.11", - "@esbuild/linux-ia32": "0.19.11", - "@esbuild/linux-loong64": "0.19.11", - "@esbuild/linux-mips64el": "0.19.11", - "@esbuild/linux-ppc64": "0.19.11", - "@esbuild/linux-riscv64": "0.19.11", - "@esbuild/linux-s390x": "0.19.11", - "@esbuild/linux-x64": "0.19.11", - "@esbuild/netbsd-x64": "0.19.11", - "@esbuild/openbsd-x64": "0.19.11", - "@esbuild/sunos-x64": "0.19.11", - "@esbuild/win32-arm64": "0.19.11", - "@esbuild/win32-ia32": "0.19.11", - "@esbuild/win32-x64": "0.19.11" - } - }, "node_modules/netlify-cli/node_modules/@netlify/zip-it-and-ship-it/node_modules/execa": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", @@ -21550,12 +21121,11 @@ } }, "node_modules/netlify-cli/node_modules/esbuild": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", - "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", + "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", "dev": true, "hasInstallScript": true, - "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -21563,31 +21133,31 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.2", - "@esbuild/android-arm": "0.25.2", - "@esbuild/android-arm64": "0.25.2", - "@esbuild/android-x64": "0.25.2", - "@esbuild/darwin-arm64": "0.25.2", - "@esbuild/darwin-x64": "0.25.2", - "@esbuild/freebsd-arm64": "0.25.2", - "@esbuild/freebsd-x64": "0.25.2", - "@esbuild/linux-arm": "0.25.2", - "@esbuild/linux-arm64": "0.25.2", - "@esbuild/linux-ia32": "0.25.2", - "@esbuild/linux-loong64": "0.25.2", - "@esbuild/linux-mips64el": "0.25.2", - "@esbuild/linux-ppc64": "0.25.2", - "@esbuild/linux-riscv64": "0.25.2", - "@esbuild/linux-s390x": "0.25.2", - "@esbuild/linux-x64": "0.25.2", - "@esbuild/netbsd-arm64": "0.25.2", - "@esbuild/netbsd-x64": "0.25.2", - "@esbuild/openbsd-arm64": "0.25.2", - "@esbuild/openbsd-x64": "0.25.2", - "@esbuild/sunos-x64": "0.25.2", - "@esbuild/win32-arm64": "0.25.2", - "@esbuild/win32-ia32": "0.25.2", - "@esbuild/win32-x64": "0.25.2" + "@esbuild/aix-ppc64": "0.25.4", + "@esbuild/android-arm": "0.25.4", + "@esbuild/android-arm64": "0.25.4", + "@esbuild/android-x64": "0.25.4", + "@esbuild/darwin-arm64": "0.25.4", + "@esbuild/darwin-x64": "0.25.4", + "@esbuild/freebsd-arm64": "0.25.4", + "@esbuild/freebsd-x64": "0.25.4", + "@esbuild/linux-arm": "0.25.4", + "@esbuild/linux-arm64": "0.25.4", + "@esbuild/linux-ia32": "0.25.4", + "@esbuild/linux-loong64": "0.25.4", + "@esbuild/linux-mips64el": "0.25.4", + "@esbuild/linux-ppc64": "0.25.4", + "@esbuild/linux-riscv64": "0.25.4", + "@esbuild/linux-s390x": "0.25.4", + "@esbuild/linux-x64": "0.25.4", + "@esbuild/netbsd-arm64": "0.25.4", + "@esbuild/netbsd-x64": "0.25.4", + "@esbuild/openbsd-arm64": "0.25.4", + "@esbuild/openbsd-x64": "0.25.4", + "@esbuild/sunos-x64": "0.25.4", + "@esbuild/win32-arm64": "0.25.4", + "@esbuild/win32-ia32": "0.25.4", + "@esbuild/win32-x64": "0.25.4" } }, "node_modules/netlify-cli/node_modules/escalade": { @@ -25313,23 +24883,6 @@ "integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==", "dev": true }, - "node_modules/netlify-cli/node_modules/netlify": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/netlify/-/netlify-13.3.5.tgz", - "integrity": "sha512-Nc3loyVASW59W+8fLDZT1lncpG7llffyZ2o0UQLx/Fr20i7P8oP+lE7+TEcFvXj9IUWU6LjB9P3BH+iFGyp+mg==", - "dev": true, - "dependencies": { - "@netlify/open-api": "^2.37.0", - "lodash-es": "^4.17.21", - "micro-api-client": "^3.3.0", - "node-fetch": "^3.0.0", - "p-wait-for": "^5.0.0", - "qs": "^6.9.6" - }, - "engines": { - "node": "^14.16.0 || >=16.0.0" - } - }, "node_modules/netlify-cli/node_modules/netlify-redirector": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/netlify-redirector/-/netlify-redirector-0.5.0.tgz", @@ -44394,22 +43947,23 @@ } }, "netlify-cli": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.2.0.tgz", - "integrity": "sha512-PKOncgrqKvIVJcYyY0ZOFIkCe7vGcqgAw944f7oIOexL0foIyNeJPLQyOQpHdvlcDYOzp2hbR7+iAqKxGvqwhw==", + "version": "21.3.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.3.0.tgz", + "integrity": "sha512-BZmHKpXlhmCJ0SbOD3FCYZ5SbX5HkxkMZwNR3q15GNlaG5gvjY81hnWqw7Cu39pOdlSBUQM0rlxAiRwsqb4YFQ==", "dev": true, "requires": { "@fastify/static": "7.0.4", + "@netlify/api": "13.4.0", "@netlify/blobs": "8.2.0", - "@netlify/build": "32.1.0", + "@netlify/build": "32.1.4", "@netlify/build-info": "9.0.4", - "@netlify/config": "22.0.1", - "@netlify/edge-bundler": "13.0.2", + "@netlify/config": "22.2.0", + "@netlify/edge-bundler": "13.0.3", "@netlify/edge-functions": "2.12.0", "@netlify/headers-parser": "8.0.0", "@netlify/local-functions-proxy": "2.0.3", "@netlify/redirect-parser": "14.5.1", - "@netlify/zip-it-and-ship-it": "10.0.7", + "@netlify/zip-it-and-ship-it": "10.1.1", "@octokit/rest": "21.1.1", "@opentelemetry/api": "1.8.0", "@pnpm/tabtab": "0.5.4", @@ -44467,7 +44021,6 @@ "maxstache-stream": "1.0.4", "multiparty": "4.2.3", "nanospinner": "^1.2.2", - "netlify": "13.3.5", "netlify-redirector": "0.5.0", "node-fetch": "3.3.2", "normalize-package-data": "6.0.2", @@ -44507,15 +44060,15 @@ } }, "@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true }, "@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true }, "@babel/parser": { @@ -44528,13 +44081,13 @@ } }, "@babel/types": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", - "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", + "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" } }, "@bugsnag/cuid": { @@ -44586,177 +44139,177 @@ } }, "@esbuild/aix-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.2.tgz", - "integrity": "sha512-wCIboOL2yXZym2cgm6mlA742s9QeJ8DjGVaL39dLN4rRwrOgOyYSnOaFPhKZGLb2ngj4EyfAFjsNJwPXZvseag==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", + "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", "dev": true, "optional": true }, "@esbuild/android-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.2.tgz", - "integrity": "sha512-NQhH7jFstVY5x8CKbcfa166GoV0EFkaPkCKBQkdPJFvo5u+nGXLEH/ooniLb3QI8Fk58YAx7nsPLozUWfCBOJA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", + "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", "dev": true, "optional": true }, "@esbuild/android-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.2.tgz", - "integrity": "sha512-5ZAX5xOmTligeBaeNEPnPaeEuah53Id2tX4c2CVP3JaROTH+j4fnfHCkr1PjXMd78hMst+TlkfKcW/DlTq0i4w==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", + "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", "dev": true, "optional": true }, "@esbuild/android-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.2.tgz", - "integrity": "sha512-Ffcx+nnma8Sge4jzddPHCZVRvIfQ0kMsUsCMcJRHkGJ1cDmhe4SsrYIjLUKn1xpHZybmOqCWwB0zQvsjdEHtkg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", + "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", "dev": true, "optional": true }, "@esbuild/darwin-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.2.tgz", - "integrity": "sha512-MpM6LUVTXAzOvN4KbjzU/q5smzryuoNjlriAIx+06RpecwCkL9JpenNzpKd2YMzLJFOdPqBpuub6eVRP5IgiSA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", + "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", "dev": true, "optional": true }, "@esbuild/darwin-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.2.tgz", - "integrity": "sha512-5eRPrTX7wFyuWe8FqEFPG2cU0+butQQVNcT4sVipqjLYQjjh8a8+vUTfgBKM88ObB85ahsnTwF7PSIt6PG+QkA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", + "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", "dev": true, "optional": true }, "@esbuild/freebsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.2.tgz", - "integrity": "sha512-mLwm4vXKiQ2UTSX4+ImyiPdiHjiZhIaE9QvC7sw0tZ6HoNMjYAqQpGyui5VRIi5sGd+uWq940gdCbY3VLvsO1w==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", + "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", "dev": true, "optional": true }, "@esbuild/freebsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.2.tgz", - "integrity": "sha512-6qyyn6TjayJSwGpm8J9QYYGQcRgc90nmfdUb0O7pp1s4lTY+9D0H9O02v5JqGApUyiHOtkz6+1hZNvNtEhbwRQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", + "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", "dev": true, "optional": true }, "@esbuild/linux-arm": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.2.tgz", - "integrity": "sha512-UHBRgJcmjJv5oeQF8EpTRZs/1knq6loLxTsjc3nxO9eXAPDLcWW55flrMVc97qFPbmZP31ta1AZVUKQzKTzb0g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", + "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", "dev": true, "optional": true }, "@esbuild/linux-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.2.tgz", - "integrity": "sha512-gq/sjLsOyMT19I8obBISvhoYiZIAaGF8JpeXu1u8yPv8BE5HlWYobmlsfijFIZ9hIVGYkbdFhEqC0NvM4kNO0g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", + "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", "dev": true, "optional": true }, "@esbuild/linux-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.2.tgz", - "integrity": "sha512-bBYCv9obgW2cBP+2ZWfjYTU+f5cxRoGGQ5SeDbYdFCAZpYWrfjjfYwvUpP8MlKbP0nwZ5gyOU/0aUzZ5HWPuvQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", + "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", "dev": true, "optional": true }, "@esbuild/linux-loong64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.2.tgz", - "integrity": "sha512-SHNGiKtvnU2dBlM5D8CXRFdd+6etgZ9dXfaPCeJtz+37PIUlixvlIhI23L5khKXs3DIzAn9V8v+qb1TRKrgT5w==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", + "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", "dev": true, "optional": true }, "@esbuild/linux-mips64el": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.2.tgz", - "integrity": "sha512-hDDRlzE6rPeoj+5fsADqdUZl1OzqDYow4TB4Y/3PlKBD0ph1e6uPHzIQcv2Z65u2K0kpeByIyAjCmjn1hJgG0Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", + "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", "dev": true, "optional": true }, "@esbuild/linux-ppc64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.2.tgz", - "integrity": "sha512-tsHu2RRSWzipmUi9UBDEzc0nLc4HtpZEI5Ba+Omms5456x5WaNuiG3u7xh5AO6sipnJ9r4cRWQB2tUjPyIkc6g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", + "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", "dev": true, "optional": true }, "@esbuild/linux-riscv64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.2.tgz", - "integrity": "sha512-k4LtpgV7NJQOml/10uPU0s4SAXGnowi5qBSjaLWMojNCUICNu7TshqHLAEbkBdAszL5TabfvQ48kK84hyFzjnw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", + "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", "dev": true, "optional": true }, "@esbuild/linux-s390x": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.2.tgz", - "integrity": "sha512-GRa4IshOdvKY7M/rDpRR3gkiTNp34M0eLTaC1a08gNrh4u488aPhuZOCpkF6+2wl3zAN7L7XIpOFBhnaE3/Q8Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", + "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", "dev": true, "optional": true }, "@esbuild/linux-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.2.tgz", - "integrity": "sha512-QInHERlqpTTZ4FRB0fROQWXcYRD64lAoiegezDunLpalZMjcUcld3YzZmVJ2H/Cp0wJRZ8Xtjtj0cEHhYc/uUg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", + "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", "dev": true, "optional": true }, "@esbuild/netbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.2.tgz", - "integrity": "sha512-talAIBoY5M8vHc6EeI2WW9d/CkiO9MQJ0IOWX8hrLhxGbro/vBXJvaQXefW2cP0z0nQVTdQ/eNyGFV1GSKrxfw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", + "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", "dev": true, "optional": true }, "@esbuild/netbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.2.tgz", - "integrity": "sha512-voZT9Z+tpOxrvfKFyfDYPc4DO4rk06qamv1a/fkuzHpiVBMOhpjK+vBmWM8J1eiB3OLSMFYNaOaBNLXGChf5tg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", + "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", "dev": true, "optional": true }, "@esbuild/openbsd-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.2.tgz", - "integrity": "sha512-dcXYOC6NXOqcykeDlwId9kB6OkPUxOEqU+rkrYVqJbK2hagWOMrsTGsMr8+rW02M+d5Op5NNlgMmjzecaRf7Tg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", + "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", "dev": true, "optional": true }, "@esbuild/openbsd-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.2.tgz", - "integrity": "sha512-t/TkWwahkH0Tsgoq1Ju7QfgGhArkGLkF1uYz8nQS/PPFlXbP5YgRpqQR3ARRiC2iXoLTWFxc6DJMSK10dVXluw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", + "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", "dev": true, "optional": true }, "@esbuild/sunos-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.2.tgz", - "integrity": "sha512-cfZH1co2+imVdWCjd+D1gf9NjkchVhhdpgb1q5y6Hcv9TP6Zi9ZG/beI3ig8TvwT9lH9dlxLq5MQBBgwuj4xvA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", + "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", "dev": true, "optional": true }, "@esbuild/win32-arm64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.2.tgz", - "integrity": "sha512-7Loyjh+D/Nx/sOTzV8vfbB3GJuHdOQyrOryFdZvPHLf42Tk9ivBU5Aedi7iyX+x6rbn2Mh68T4qq1SDqJBQO5Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", + "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", "dev": true, "optional": true }, "@esbuild/win32-ia32": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.2.tgz", - "integrity": "sha512-WRJgsz9un0nqZJ4MfhabxaD9Ft8KioqU3JMinOTvobbX6MOSUigSBlogP8QB3uxpJDsFS6yN+3FDBdqE5lg9kg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", + "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", "dev": true, "optional": true }, "@esbuild/win32-x64": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.2.tgz", - "integrity": "sha512-kM3HKb16VIXZyIeVrM1ygYmZBKybX8N4p754bw390wGO3Tf2j4L2/WYL+4suWujpgf6GBYs3jv7TyUivdd05JA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", + "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", "dev": true, "optional": true }, @@ -45109,6 +44662,20 @@ } } }, + "@netlify/api": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@netlify/api/-/api-13.4.0.tgz", + "integrity": "sha512-Y/RDvIhMrxWoyhD3DV+um2sv1HFFxoG4LnaB8RqQu7Ei3zEiA7GwqLQm28YZfUR8uEerOPnWiuluKGmqKScX2Q==", + "dev": true, + "requires": { + "@netlify/open-api": "^2.37.0", + "lodash-es": "^4.17.21", + "micro-api-client": "^3.3.0", + "node-fetch": "^3.0.0", + "p-wait-for": "^5.0.0", + "qs": "^6.9.6" + } + }, "@netlify/binary-info": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@netlify/binary-info/-/binary-info-1.0.0.tgz", @@ -45122,23 +44689,23 @@ "dev": true }, "@netlify/build": { - "version": "32.1.0", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.0.tgz", - "integrity": "sha512-Fq8f+WFPSxzmfk4WEQGKGeFZ+4E/IEG48Xn2SinJyHUsj3Jy8QHOJz5ViBvGW32J7l20DANu17CEjKc+n2cT0w==", + "version": "32.1.4", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.4.tgz", + "integrity": "sha512-iHBGNPsDU6Ec9VkMGb/HFroi/2AIP1oExt5wKJY0r6pqv1b0InGI51nnDfzVQJTtnmfhyL4pad3nGvMuHJlcIQ==", "dev": true, "requires": { "@bugsnag/js": "^7.0.0", "@netlify/blobs": "^8.2.0", "@netlify/cache-utils": "^5.2.0", - "@netlify/config": "^22.0.1", - "@netlify/edge-bundler": "13.0.2", + "@netlify/config": "^22.2.0", + "@netlify/edge-bundler": "13.0.3", "@netlify/framework-info": "^9.9.3", - "@netlify/functions-utils": "^5.3.16", + "@netlify/functions-utils": "^5.3.18", "@netlify/git-utils": "^5.2.0", "@netlify/opentelemetry-utils": "^1.3.1", "@netlify/plugins-list": "^6.80.0", "@netlify/run-utils": "^5.2.0", - "@netlify/zip-it-and-ship-it": "10.0.7", + "@netlify/zip-it-and-ship-it": "10.1.1", "@sindresorhus/slugify": "^2.0.0", "ansi-escapes": "^6.0.0", "chalk": "^5.0.0", @@ -45639,12 +45206,13 @@ } }, "@netlify/config": { - "version": "22.0.1", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.0.1.tgz", - "integrity": "sha512-ukHIeUsHw13boIqalCrrOkJ2Q07RQ2KaiXNA6WQnqDOh8uJ4vQa/2tjwa/i3FWDbBuvSwUGBwjObS7PelVcf8w==", + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.2.0.tgz", + "integrity": "sha512-33SwZJrLXqNCZJiKCyPXaxLVHGRcQhEV6+RwjKt6IVDvShZ2l1pLQnAS0Z/2xKsZUhQvKhrjXBAts/5eXt9WTA==", "dev": true, "requires": { "@iarna/toml": "^2.2.5", + "@netlify/api": "^13.4.0", "@netlify/headers-parser": "^8.0.0", "@netlify/redirect-parser": "^14.5.1", "chalk": "^5.0.0", @@ -45660,7 +45228,6 @@ "is-plain-obj": "^4.0.0", "js-yaml": "^4.0.0", "map-obj": "^5.0.0", - "netlify": "^13.3.5", "node-fetch": "^3.3.1", "omit.js": "^2.0.2", "p-locate": "^6.0.0", @@ -45775,9 +45342,9 @@ } }, "@netlify/edge-bundler": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-13.0.2.tgz", - "integrity": "sha512-q95EzA9lRCL7tsLVhgvFEfuYvL+gJFC8T//Q7O1MFKAUGJVGa00UBD9QDQAFEjTg2e9+yYBFXmjsUqCUPM2GUA==", + "version": "13.0.3", + "resolved": "https://registry.npmjs.org/@netlify/edge-bundler/-/edge-bundler-13.0.3.tgz", + "integrity": "sha512-RWhsbLVF+p1qmMmJQOfqBBZPj812QwVVru4aATQYcRLoxyM6hLAdwAk7nYgCRk9PfbqZMTaJEJB9Mpi2rpuZqg==", "dev": true, "requires": { "@import-maps/resolve": "^1.0.1", @@ -45786,7 +45353,7 @@ "better-ajv-errors": "^1.2.0", "common-path-prefix": "^3.0.0", "env-paths": "^3.0.0", - "esbuild": "0.25.2", + "esbuild": "0.25.4", "execa": "^7.0.0", "find-up": "^6.3.0", "get-package-name": "^2.2.0", @@ -46008,12 +45575,12 @@ } }, "@netlify/functions-utils": { - "version": "5.3.16", - "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.3.16.tgz", - "integrity": "sha512-RDvY+WWacc/5MBPLseNwtHTouGj3CNSZzquMa2X6C+6vGECsMXSem2mKobnqcewL1IUZeAin/O8poHTwdgpQSQ==", + "version": "5.3.18", + "resolved": "https://registry.npmjs.org/@netlify/functions-utils/-/functions-utils-5.3.18.tgz", + "integrity": "sha512-llnoOrQF/iI5ZwDT27Izt+E6JGPDs57OF0EWQg+QRAMFtYyzevEsX7KbY8YTCYux0JB9UJ19OkOEOTN9fgm7OA==", "dev": true, "requires": { - "@netlify/zip-it-and-ship-it": "10.0.7", + "@netlify/zip-it-and-ship-it": "10.1.1", "cpy": "^9.0.0", "path-exists": "^5.0.0" }, @@ -46337,21 +45904,21 @@ } }, "@netlify/zip-it-and-ship-it": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.0.7.tgz", - "integrity": "sha512-h7VUDyY6ePD8JA1tM0m8zbWDp03UOmBlPdqgl9/aK1fSVYcoo0qhXmp1Z1n+viKkNkmvBx4KvOLScUJEXPeRnA==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@netlify/zip-it-and-ship-it/-/zip-it-and-ship-it-10.1.1.tgz", + "integrity": "sha512-MMXrty1NADxyMPgd7qZvDUYunhcPhxIA/jWP2joceOoPcAxOno/aS4jFuIHf2Dbb4HdhR+BlvgvDCy7QTXXyLQ==", "dev": true, "requires": { "@babel/parser": "^7.22.5", - "@babel/types": "7.26.10", + "@babel/types": "7.27.1", "@netlify/binary-info": "^1.0.0", - "@netlify/serverless-functions-api": "^1.38.0", + "@netlify/serverless-functions-api": "^1.41.1", "@vercel/nft": "0.27.7", "archiver": "^5.3.1", "common-path-prefix": "^3.0.0", "cp-file": "^10.0.0", "es-module-lexer": "^1.0.0", - "esbuild": "0.19.11", + "esbuild": "0.25.4", "execa": "^7.0.0", "fast-glob": "^3.3.2", "filter-obj": "^5.0.0", @@ -46378,171 +45945,10 @@ "zod": "^3.23.8" }, "dependencies": { - "@esbuild/aix-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", - "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", - "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", - "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", - "dev": true, - "optional": true - }, - "@esbuild/android-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", - "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", - "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", - "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", - "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", - "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", - "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", - "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", - "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-loong64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", - "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-mips64el": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", - "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ppc64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", - "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-riscv64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", - "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-s390x": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", - "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", - "dev": true, - "optional": true - }, - "@esbuild/linux-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", - "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", - "dev": true, - "optional": true - }, - "@esbuild/netbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", - "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", - "dev": true, - "optional": true - }, - "@esbuild/openbsd-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", - "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", - "dev": true, - "optional": true - }, - "@esbuild/sunos-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", - "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", - "dev": true, - "optional": true - }, - "@esbuild/win32-arm64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", - "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", - "dev": true, - "optional": true - }, - "@esbuild/win32-ia32": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", - "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", - "dev": true, - "optional": true - }, - "@esbuild/win32-x64": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", - "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", - "dev": true, - "optional": true - }, "@netlify/serverless-functions-api": { - "version": "1.38.0", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.38.0.tgz", - "integrity": "sha512-AuTzLH4BlQxPViwdEP9WcW/9NjqmjzaPHxOd9fyaMZUOkAgF0iauio9PF9QylAtgyodhLd6mGuASESZZiJcXaw==", + "version": "1.41.1", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.1.tgz", + "integrity": "sha512-swjyZEd8U1QVp01rZdHxpwWie7GkP1kS4+4n8kuNKA8+3G5tD0JXXf3a5d4tdwVvrU9k7a4GP1Bn792UPwecmw==", "dev": true }, "brace-expansion": { @@ -46554,37 +45960,6 @@ "balanced-match": "^1.0.0" } }, - "esbuild": { - "version": "0.19.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", - "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", - "dev": true, - "requires": { - "@esbuild/aix-ppc64": "0.19.11", - "@esbuild/android-arm": "0.19.11", - "@esbuild/android-arm64": "0.19.11", - "@esbuild/android-x64": "0.19.11", - "@esbuild/darwin-arm64": "0.19.11", - "@esbuild/darwin-x64": "0.19.11", - "@esbuild/freebsd-arm64": "0.19.11", - "@esbuild/freebsd-x64": "0.19.11", - "@esbuild/linux-arm": "0.19.11", - "@esbuild/linux-arm64": "0.19.11", - "@esbuild/linux-ia32": "0.19.11", - "@esbuild/linux-loong64": "0.19.11", - "@esbuild/linux-mips64el": "0.19.11", - "@esbuild/linux-ppc64": "0.19.11", - "@esbuild/linux-riscv64": "0.19.11", - "@esbuild/linux-s390x": "0.19.11", - "@esbuild/linux-x64": "0.19.11", - "@esbuild/netbsd-x64": "0.19.11", - "@esbuild/openbsd-x64": "0.19.11", - "@esbuild/sunos-x64": "0.19.11", - "@esbuild/win32-arm64": "0.19.11", - "@esbuild/win32-ia32": "0.19.11", - "@esbuild/win32-x64": "0.19.11" - } - }, "execa": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", @@ -49564,36 +48939,36 @@ } }, "esbuild": { - "version": "0.25.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.2.tgz", - "integrity": "sha512-16854zccKPnC+toMywC+uKNeYSv+/eXkevRAfwRD/G9Cleq66m8XFIrigkbvauLLlCfDL45Q2cWegSg53gGBnQ==", - "dev": true, - "requires": { - "@esbuild/aix-ppc64": "0.25.2", - "@esbuild/android-arm": "0.25.2", - "@esbuild/android-arm64": "0.25.2", - "@esbuild/android-x64": "0.25.2", - "@esbuild/darwin-arm64": "0.25.2", - "@esbuild/darwin-x64": "0.25.2", - "@esbuild/freebsd-arm64": "0.25.2", - "@esbuild/freebsd-x64": "0.25.2", - "@esbuild/linux-arm": "0.25.2", - "@esbuild/linux-arm64": "0.25.2", - "@esbuild/linux-ia32": "0.25.2", - "@esbuild/linux-loong64": "0.25.2", - "@esbuild/linux-mips64el": "0.25.2", - "@esbuild/linux-ppc64": "0.25.2", - "@esbuild/linux-riscv64": "0.25.2", - "@esbuild/linux-s390x": "0.25.2", - "@esbuild/linux-x64": "0.25.2", - "@esbuild/netbsd-arm64": "0.25.2", - "@esbuild/netbsd-x64": "0.25.2", - "@esbuild/openbsd-arm64": "0.25.2", - "@esbuild/openbsd-x64": "0.25.2", - "@esbuild/sunos-x64": "0.25.2", - "@esbuild/win32-arm64": "0.25.2", - "@esbuild/win32-ia32": "0.25.2", - "@esbuild/win32-x64": "0.25.2" + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", + "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.25.4", + "@esbuild/android-arm": "0.25.4", + "@esbuild/android-arm64": "0.25.4", + "@esbuild/android-x64": "0.25.4", + "@esbuild/darwin-arm64": "0.25.4", + "@esbuild/darwin-x64": "0.25.4", + "@esbuild/freebsd-arm64": "0.25.4", + "@esbuild/freebsd-x64": "0.25.4", + "@esbuild/linux-arm": "0.25.4", + "@esbuild/linux-arm64": "0.25.4", + "@esbuild/linux-ia32": "0.25.4", + "@esbuild/linux-loong64": "0.25.4", + "@esbuild/linux-mips64el": "0.25.4", + "@esbuild/linux-ppc64": "0.25.4", + "@esbuild/linux-riscv64": "0.25.4", + "@esbuild/linux-s390x": "0.25.4", + "@esbuild/linux-x64": "0.25.4", + "@esbuild/netbsd-arm64": "0.25.4", + "@esbuild/netbsd-x64": "0.25.4", + "@esbuild/openbsd-arm64": "0.25.4", + "@esbuild/openbsd-x64": "0.25.4", + "@esbuild/sunos-x64": "0.25.4", + "@esbuild/win32-arm64": "0.25.4", + "@esbuild/win32-ia32": "0.25.4", + "@esbuild/win32-x64": "0.25.4" } }, "escalade": { @@ -52316,20 +51691,6 @@ "integrity": "sha512-9iN1ka/9zmX1ZvLV9ewJYEk9h7RyRRtqdK0woXcqohu8EWIerfPUjYJPg0ULy0UqP7cslmdGc8xKDJcojlKiaw==", "dev": true }, - "netlify": { - "version": "13.3.5", - "resolved": "https://registry.npmjs.org/netlify/-/netlify-13.3.5.tgz", - "integrity": "sha512-Nc3loyVASW59W+8fLDZT1lncpG7llffyZ2o0UQLx/Fr20i7P8oP+lE7+TEcFvXj9IUWU6LjB9P3BH+iFGyp+mg==", - "dev": true, - "requires": { - "@netlify/open-api": "^2.37.0", - "lodash-es": "^4.17.21", - "micro-api-client": "^3.3.0", - "node-fetch": "^3.0.0", - "p-wait-for": "^5.0.0", - "qs": "^6.9.6" - } - }, "netlify-redirector": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/netlify-redirector/-/netlify-redirector-0.5.0.tgz", diff --git a/package.json b/package.json index 959faa10b9..5272e459c4 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "memfs": "^4.9.2", "mock-require": "^3.0.3", "msw": "^2.0.7", - "netlify-cli": "^21.2.0", + "netlify-cli": "^21.3.0", "next": "^15.0.0-canary.28", "next-with-cache-handler-v2": "npm:next@15.3.0-canary.13", "os": "^0.1.2", From 45fe86afa3412ef22fb389d31dd51e05af49b144 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 18:53:30 +0000 Subject: [PATCH 22/31] chore(deps): update dependency msw to v2.8.2 (#2922) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2cb80984c8..870915e0a2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13763,9 +13763,9 @@ "dev": true }, "node_modules/msw": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/msw/-/msw-2.7.6.tgz", - "integrity": "sha512-P+rwn43ktxN8ghcl8q+hSAUlEi0PbJpDhGmDkw4zeUnRj3hBCVynWD+dTu38yLYKCE9ZF1OYcvpy7CTBRcqkZA==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/msw/-/msw-2.8.2.tgz", + "integrity": "sha512-ugu8RBgUj6//RD0utqDDPdS+QIs36BKYkDAM6u59hcMVtFM4PM0vW4l3G1R+1uCWP2EWFUG8reT/gPXVEtx7/w==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -13807,9 +13807,9 @@ } }, "node_modules/msw/node_modules/type-fest": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.40.1.tgz", - "integrity": "sha512-9YvLNnORDpI+vghLU/Nf+zSv0kL47KbVJ1o3sKgoTefl6i+zebxbiDQWoe/oWWqPhIgQdRZRT1KA9sCPL810SA==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true, "engines": { "node": ">=16" @@ -43862,9 +43862,9 @@ "dev": true }, "msw": { - "version": "2.7.6", - "resolved": "https://registry.npmjs.org/msw/-/msw-2.7.6.tgz", - "integrity": "sha512-P+rwn43ktxN8ghcl8q+hSAUlEi0PbJpDhGmDkw4zeUnRj3hBCVynWD+dTu38yLYKCE9ZF1OYcvpy7CTBRcqkZA==", + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/msw/-/msw-2.8.2.tgz", + "integrity": "sha512-ugu8RBgUj6//RD0utqDDPdS+QIs36BKYkDAM6u59hcMVtFM4PM0vW4l3G1R+1uCWP2EWFUG8reT/gPXVEtx7/w==", "dev": true, "requires": { "@bundled-es-modules/cookie": "^2.0.1", @@ -43888,9 +43888,9 @@ }, "dependencies": { "type-fest": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.40.1.tgz", - "integrity": "sha512-9YvLNnORDpI+vghLU/Nf+zSv0kL47KbVJ1o3sKgoTefl6i+zebxbiDQWoe/oWWqPhIgQdRZRT1KA9sCPL810SA==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true } } From 82ab77d5c67e7d6ce2637cb98e11b21f23f4aa78 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 19:30:04 +0000 Subject: [PATCH 23/31] chore(deps): update dependency @netlify/build to ^32.2.0 (#2930) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 870915e0a2..d3f8a5371d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "devDependencies": { "@fastly/http-compute-js": "1.1.5", "@netlify/blobs": "^8.2.0", - "@netlify/build": "^32.1.4", + "@netlify/build": "^32.2.0", "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", @@ -3719,9 +3719,9 @@ } }, "node_modules/@netlify/build": { - "version": "32.1.4", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.4.tgz", - "integrity": "sha512-iHBGNPsDU6Ec9VkMGb/HFroi/2AIP1oExt5wKJY0r6pqv1b0InGI51nnDfzVQJTtnmfhyL4pad3nGvMuHJlcIQ==", + "version": "32.2.0", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.2.0.tgz", + "integrity": "sha512-skkBDpHFBfdOemRigAlwXTWGdYRSVSpiA4UDt4u6I/amocMekIa3E5iZn6qhLDZ/QJkNbttFzzhkq0LD2wlByw==", "dev": true, "dependencies": { "@bugsnag/js": "^7.0.0", @@ -36557,9 +36557,9 @@ "dev": true }, "@netlify/build": { - "version": "32.1.4", - "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.1.4.tgz", - "integrity": "sha512-iHBGNPsDU6Ec9VkMGb/HFroi/2AIP1oExt5wKJY0r6pqv1b0InGI51nnDfzVQJTtnmfhyL4pad3nGvMuHJlcIQ==", + "version": "32.2.0", + "resolved": "https://registry.npmjs.org/@netlify/build/-/build-32.2.0.tgz", + "integrity": "sha512-skkBDpHFBfdOemRigAlwXTWGdYRSVSpiA4UDt4u6I/amocMekIa3E5iZn6qhLDZ/QJkNbttFzzhkq0LD2wlByw==", "dev": true, "requires": { "@bugsnag/js": "^7.0.0", diff --git a/package.json b/package.json index 5272e459c4..98ec83f02c 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "devDependencies": { "@fastly/http-compute-js": "1.1.5", "@netlify/blobs": "^8.2.0", - "@netlify/build": "^32.1.4", + "@netlify/build": "^32.2.0", "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", From 137abce9125fff592547d21aece09c119c7c06df Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 13 May 2025 19:57:40 +0000 Subject: [PATCH 24/31] chore(deps): update dependency sass to v1.88.0 (#2928) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- e2e-report/package-lock.json | 62 ++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 28 deletions(-) diff --git a/e2e-report/package-lock.json b/e2e-report/package-lock.json index a3949af623..4561fbd935 100644 --- a/e2e-report/package-lock.json +++ b/e2e-report/package-lock.json @@ -469,8 +469,9 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", - "devOptional": true, + "dev": true, "license": "MIT", + "optional": true, "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", @@ -1329,7 +1330,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "devOptional": true, + "dev": true, "dependencies": { "fill-range": "^7.1.1" }, @@ -1728,8 +1729,9 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "devOptional": true, + "dev": true, "license": "Apache-2.0", + "optional": true, "bin": { "detect-libc": "bin/detect-libc.js" }, @@ -2475,7 +2477,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "devOptional": true, + "dev": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2884,10 +2886,11 @@ } }, "node_modules/immutable": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", - "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==", - "devOptional": true + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.2.tgz", + "integrity": "sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ==", + "devOptional": true, + "license": "MIT" }, "node_modules/import-fresh": { "version": "3.3.0", @@ -3074,7 +3077,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.10.0" } @@ -3119,7 +3122,7 @@ "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "devOptional": true, + "dev": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -3155,7 +3158,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "devOptional": true, + "dev": true, "engines": { "node": ">=0.12.0" } @@ -3547,7 +3550,7 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "devOptional": true, + "dev": true, "license": "MIT", "dependencies": { "braces": "^3.0.3", @@ -18753,8 +18756,9 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "devOptional": true, - "license": "MIT" + "dev": true, + "license": "MIT", + "optional": true }, "node_modules/node-releases": { "version": "2.0.19", @@ -19051,7 +19055,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "devOptional": true, + "dev": true, "engines": { "node": ">=8.6" }, @@ -19517,15 +19521,14 @@ } }, "node_modules/sass": { - "version": "1.79.5", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.79.5.tgz", - "integrity": "sha512-W1h5kp6bdhqFh2tk3DsI771MoEJjvrSY/2ihJRJS4pjIyfJCw0nTsxqhnrUzaLMOJjFchj8rOvraI/YUVjtx5g==", + "version": "1.88.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.88.0.tgz", + "integrity": "sha512-sF6TWQqjFvr4JILXzG4ucGOLELkESHL+I5QJhh7CNaE+Yge0SI+ehCatsXhJ7ymU1hAFcIS3/PBpjdIbXoyVbg==", "devOptional": true, "license": "MIT", "dependencies": { - "@parcel/watcher": "^2.4.1", "chokidar": "^4.0.0", - "immutable": "^4.0.0", + "immutable": "^5.0.2", "source-map-js": ">=0.6.2 <2.0.0" }, "bin": { @@ -19533,12 +19536,15 @@ }, "engines": { "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" } }, "node_modules/sass/node_modules/chokidar": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", - "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "devOptional": true, "license": "MIT", "dependencies": { @@ -19552,13 +19558,13 @@ } }, "node_modules/sass/node_modules/readdirp": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", - "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", "devOptional": true, "license": "MIT", "engines": { - "node": ">= 14.16.0" + "node": ">= 14.18.0" }, "funding": { "type": "individual", @@ -20026,7 +20032,7 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "devOptional": true, + "dev": true, "dependencies": { "is-number": "^7.0.0" }, From 8b0cf3d8746d14983cc9a9b779a65b60cf31a068 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 14 May 2025 11:49:20 +0000 Subject: [PATCH 25/31] chore(deps): update dependency netlify-cli to ^21.4.0 (#2931) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- e2e-report/package-lock.json | 8 ++++---- e2e-report/package.json | 2 +- package-lock.json | 14 +++++++------- package.json | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/e2e-report/package-lock.json b/e2e-report/package-lock.json index 4561fbd935..63ead80a84 100644 --- a/e2e-report/package-lock.json +++ b/e2e-report/package-lock.json @@ -18,7 +18,7 @@ "daisyui": "^4.12.2", "eslint": "^8.57.0", "eslint-config-next": "^14.2.4", - "netlify-cli": "^21.3.0", + "netlify-cli": "^21.4.0", "postcss": "^8.4.38", "sass": "^1.77.1", "tailwindcss": "^3.4.4" @@ -3632,9 +3632,9 @@ "dev": true }, "node_modules/netlify-cli": { - "version": "21.3.0", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.3.0.tgz", - "integrity": "sha512-BZmHKpXlhmCJ0SbOD3FCYZ5SbX5HkxkMZwNR3q15GNlaG5gvjY81hnWqw7Cu39pOdlSBUQM0rlxAiRwsqb4YFQ==", + "version": "21.4.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.4.0.tgz", + "integrity": "sha512-xWT4yVmPhlsDi6FzwjLx64WWWLLBva2xdybcGOmhJMsueGDCPpOVftOGHdSKpeT5PgPtMYh3Og4uJlHq5G3kQw==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, diff --git a/e2e-report/package.json b/e2e-report/package.json index 7dfd4d48d9..d186cc9f5a 100644 --- a/e2e-report/package.json +++ b/e2e-report/package.json @@ -19,7 +19,7 @@ "daisyui": "^4.12.2", "eslint": "^8.57.0", "eslint-config-next": "^14.2.4", - "netlify-cli": "^21.3.0", + "netlify-cli": "^21.4.0", "postcss": "^8.4.38", "sass": "^1.77.1", "tailwindcss": "^3.4.4" diff --git a/package-lock.json b/package-lock.json index d3f8a5371d..33126a2e77 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,7 @@ "memfs": "^4.9.2", "mock-require": "^3.0.3", "msw": "^2.0.7", - "netlify-cli": "^21.3.0", + "netlify-cli": "^21.4.0", "next": "^15.0.0-canary.28", "next-with-cache-handler-v2": "npm:next@15.3.0-canary.13", "os": "^0.1.2", @@ -13888,9 +13888,9 @@ } }, "node_modules/netlify-cli": { - "version": "21.3.0", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.3.0.tgz", - "integrity": "sha512-BZmHKpXlhmCJ0SbOD3FCYZ5SbX5HkxkMZwNR3q15GNlaG5gvjY81hnWqw7Cu39pOdlSBUQM0rlxAiRwsqb4YFQ==", + "version": "21.4.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.4.0.tgz", + "integrity": "sha512-xWT4yVmPhlsDi6FzwjLx64WWWLLBva2xdybcGOmhJMsueGDCPpOVftOGHdSKpeT5PgPtMYh3Og4uJlHq5G3kQw==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, @@ -43947,9 +43947,9 @@ } }, "netlify-cli": { - "version": "21.3.0", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.3.0.tgz", - "integrity": "sha512-BZmHKpXlhmCJ0SbOD3FCYZ5SbX5HkxkMZwNR3q15GNlaG5gvjY81hnWqw7Cu39pOdlSBUQM0rlxAiRwsqb4YFQ==", + "version": "21.4.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.4.0.tgz", + "integrity": "sha512-xWT4yVmPhlsDi6FzwjLx64WWWLLBva2xdybcGOmhJMsueGDCPpOVftOGHdSKpeT5PgPtMYh3Og4uJlHq5G3kQw==", "dev": true, "requires": { "@fastify/static": "7.0.4", diff --git a/package.json b/package.json index 98ec83f02c..b825aea9e8 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "memfs": "^4.9.2", "mock-require": "^3.0.3", "msw": "^2.0.7", - "netlify-cli": "^21.3.0", + "netlify-cli": "^21.4.0", "next": "^15.0.0-canary.28", "next-with-cache-handler-v2": "npm:next@15.3.0-canary.13", "os": "^0.1.2", From ca1b7e8f54e101bef76c1c3675b299ae90edac44 Mon Sep 17 00:00:00 2001 From: Michal Piechowiak Date: Mon, 19 May 2025 19:33:24 +0200 Subject: [PATCH 26/31] fix: handle case of env not being defined for edge functions (#2936) * chore: adjust pattern for sites->projects rename * fix: handle case of env not being defined for edge functions --- src/build/functions/edge.ts | 8 +++++--- tests/netlify-deploy.ts | 2 +- tests/utils/create-e2e-fixture.ts | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/build/functions/edge.ts b/src/build/functions/edge.ts index f68be7ca95..1cf4554a0f 100644 --- a/src/build/functions/edge.ts +++ b/src/build/functions/edge.ts @@ -132,9 +132,11 @@ const copyHandlerDependencies = async ( const outputFile = join(destDir, `server/${name}.js`) - // Prepare environment variables for draft-mode (i.e. __NEXT_PREVIEW_MODE_ID, __NEXT_PREVIEW_MODE_SIGNING_KEY, __NEXT_PREVIEW_MODE_ENCRYPTION_KEY) - for (const [key, value] of Object.entries(env)) { - parts.push(`process.env.${key} = '${value}';`) + if (env) { + // Prepare environment variables for draft-mode (i.e. __NEXT_PREVIEW_MODE_ID, __NEXT_PREVIEW_MODE_SIGNING_KEY, __NEXT_PREVIEW_MODE_ENCRYPTION_KEY) + for (const [key, value] of Object.entries(env)) { + parts.push(`process.env.${key} = '${value}';`) + } } if (wasm?.length) { diff --git a/tests/netlify-deploy.ts b/tests/netlify-deploy.ts index f1c979375c..bddec44fd1 100644 --- a/tests/netlify-deploy.ts +++ b/tests/netlify-deploy.ts @@ -148,7 +148,7 @@ export class NextDeployInstance extends NextInstance { try { const deployUrlRegex = new RegExp( - /https:\/\/app\.netlify\.com\/sites\/(?[^\/]+)\/deploys\/(?[0-9a-f]+)/gm, + /https:\/\/app\.netlify\.com\/(sites|projects)\/(?[^\/]+)\/deploys\/(?[0-9a-f]+)/gm, ).exec(deployRes.stdout) const [buildLogsUrl] = deployUrlRegex || [] const { deployID, siteName } = deployUrlRegex?.groups || {} diff --git a/tests/utils/create-e2e-fixture.ts b/tests/utils/create-e2e-fixture.ts index 9ec2bfd92c..5d17341700 100644 --- a/tests/utils/create-e2e-fixture.ts +++ b/tests/utils/create-e2e-fixture.ts @@ -281,7 +281,7 @@ async function deploySite( const { siteName, deployID } = new RegExp( - /app\.netlify\.com\/sites\/(?[^\/]+)\/deploys\/(?[0-9a-f]+)/gm, + /app\.netlify\.com\/(sites|projects)\/(?[^\/]+)\/deploys\/(?[0-9a-f]+)/gm, ).exec(output)?.groups || {} if (!deployID) { From f17035acf05fa85e8daac5226d3fc96f5c5fa91d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 18:12:33 +0000 Subject: [PATCH 27/31] chore(deps): update dependency netlify-cli to ^21.5.0 (#2933) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- e2e-report/package-lock.json | 8 ++++---- e2e-report/package.json | 2 +- package-lock.json | 14 +++++++------- package.json | 2 +- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/e2e-report/package-lock.json b/e2e-report/package-lock.json index 63ead80a84..01731ba52d 100644 --- a/e2e-report/package-lock.json +++ b/e2e-report/package-lock.json @@ -18,7 +18,7 @@ "daisyui": "^4.12.2", "eslint": "^8.57.0", "eslint-config-next": "^14.2.4", - "netlify-cli": "^21.4.0", + "netlify-cli": "^21.5.0", "postcss": "^8.4.38", "sass": "^1.77.1", "tailwindcss": "^3.4.4" @@ -3632,9 +3632,9 @@ "dev": true }, "node_modules/netlify-cli": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.4.0.tgz", - "integrity": "sha512-xWT4yVmPhlsDi6FzwjLx64WWWLLBva2xdybcGOmhJMsueGDCPpOVftOGHdSKpeT5PgPtMYh3Og4uJlHq5G3kQw==", + "version": "21.5.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.5.0.tgz", + "integrity": "sha512-tS3JbJ+pcv0/u3D+nqC+u+v/+aNXT5/dliaMZ7KTYkbMamKy1nTJfswGaRDE09bdDxcKxtYgdgMth0lnBlOJFQ==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, diff --git a/e2e-report/package.json b/e2e-report/package.json index d186cc9f5a..b593be4f49 100644 --- a/e2e-report/package.json +++ b/e2e-report/package.json @@ -19,7 +19,7 @@ "daisyui": "^4.12.2", "eslint": "^8.57.0", "eslint-config-next": "^14.2.4", - "netlify-cli": "^21.4.0", + "netlify-cli": "^21.5.0", "postcss": "^8.4.38", "sass": "^1.77.1", "tailwindcss": "^3.4.4" diff --git a/package-lock.json b/package-lock.json index 33126a2e77..56cf53c2c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -36,7 +36,7 @@ "memfs": "^4.9.2", "mock-require": "^3.0.3", "msw": "^2.0.7", - "netlify-cli": "^21.4.0", + "netlify-cli": "^21.5.0", "next": "^15.0.0-canary.28", "next-with-cache-handler-v2": "npm:next@15.3.0-canary.13", "os": "^0.1.2", @@ -13888,9 +13888,9 @@ } }, "node_modules/netlify-cli": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.4.0.tgz", - "integrity": "sha512-xWT4yVmPhlsDi6FzwjLx64WWWLLBva2xdybcGOmhJMsueGDCPpOVftOGHdSKpeT5PgPtMYh3Og4uJlHq5G3kQw==", + "version": "21.5.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.5.0.tgz", + "integrity": "sha512-tS3JbJ+pcv0/u3D+nqC+u+v/+aNXT5/dliaMZ7KTYkbMamKy1nTJfswGaRDE09bdDxcKxtYgdgMth0lnBlOJFQ==", "dev": true, "hasInstallScript": true, "hasShrinkwrap": true, @@ -43947,9 +43947,9 @@ } }, "netlify-cli": { - "version": "21.4.0", - "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.4.0.tgz", - "integrity": "sha512-xWT4yVmPhlsDi6FzwjLx64WWWLLBva2xdybcGOmhJMsueGDCPpOVftOGHdSKpeT5PgPtMYh3Og4uJlHq5G3kQw==", + "version": "21.5.0", + "resolved": "https://registry.npmjs.org/netlify-cli/-/netlify-cli-21.5.0.tgz", + "integrity": "sha512-tS3JbJ+pcv0/u3D+nqC+u+v/+aNXT5/dliaMZ7KTYkbMamKy1nTJfswGaRDE09bdDxcKxtYgdgMth0lnBlOJFQ==", "dev": true, "requires": { "@fastify/static": "7.0.4", diff --git a/package.json b/package.json index b825aea9e8..2a5977c2b1 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "memfs": "^4.9.2", "mock-require": "^3.0.3", "msw": "^2.0.7", - "netlify-cli": "^21.4.0", + "netlify-cli": "^21.5.0", "next": "^15.0.0-canary.28", "next-with-cache-handler-v2": "npm:next@15.3.0-canary.13", "os": "^0.1.2", From 76db058649bf5bc100cb4eca94b39714c36b9cd3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 19 May 2025 23:18:22 +0000 Subject: [PATCH 28/31] chore(deps): update dependency @netlify/serverless-functions-api to ^1.41.2 (#2938) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 29 ++++++++++++++++++++++------- package.json | 2 +- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 56cf53c2c6..23307eebb0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", "@netlify/functions": "^3.1.8", - "@netlify/serverless-functions-api": "^1.41.1", + "@netlify/serverless-functions-api": "^1.41.2", "@netlify/zip-it-and-ship-it": "^10.1.1", "@opentelemetry/api": "^1.8.0", "@playwright/test": "^1.43.1", @@ -4391,6 +4391,15 @@ "node": "^14.16.0 || >=16.0.0" } }, + "node_modules/@netlify/functions/node_modules/@netlify/serverless-functions-api": { + "version": "1.41.1", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.1.tgz", + "integrity": "sha512-swjyZEd8U1QVp01rZdHxpwWie7GkP1kS4+4n8kuNKA8+3G5tD0JXXf3a5d4tdwVvrU9k7a4GP1Bn792UPwecmw==", + "dev": true, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/@netlify/functions/node_modules/is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", @@ -4647,9 +4656,9 @@ } }, "node_modules/@netlify/serverless-functions-api": { - "version": "1.41.1", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.1.tgz", - "integrity": "sha512-swjyZEd8U1QVp01rZdHxpwWie7GkP1kS4+4n8kuNKA8+3G5tD0JXXf3a5d4tdwVvrU9k7a4GP1Bn792UPwecmw==", + "version": "1.41.2", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.2.tgz", + "integrity": "sha512-pfCkH50JV06SGMNsNPjn8t17hOcId4fA881HeYQgMBOrewjsw4csaYgHEnCxCEu24Y5x75E2ULbFpqm9CvRCqw==", "dev": true, "engines": { "node": ">=18.0.0" @@ -37050,6 +37059,12 @@ "@netlify/runtime-utils": "1.3.1" } }, + "@netlify/serverless-functions-api": { + "version": "1.41.1", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.1.tgz", + "integrity": "sha512-swjyZEd8U1QVp01rZdHxpwWie7GkP1kS4+4n8kuNKA8+3G5tD0JXXf3a5d4tdwVvrU9k7a4GP1Bn792UPwecmw==", + "dev": true + }, "is-stream": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", @@ -37254,9 +37269,9 @@ "dev": true }, "@netlify/serverless-functions-api": { - "version": "1.41.1", - "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.1.tgz", - "integrity": "sha512-swjyZEd8U1QVp01rZdHxpwWie7GkP1kS4+4n8kuNKA8+3G5tD0JXXf3a5d4tdwVvrU9k7a4GP1Bn792UPwecmw==", + "version": "1.41.2", + "resolved": "https://registry.npmjs.org/@netlify/serverless-functions-api/-/serverless-functions-api-1.41.2.tgz", + "integrity": "sha512-pfCkH50JV06SGMNsNPjn8t17hOcId4fA881HeYQgMBOrewjsw4csaYgHEnCxCEu24Y5x75E2ULbFpqm9CvRCqw==", "dev": true }, "@netlify/zip-it-and-ship-it": { diff --git a/package.json b/package.json index 2a5977c2b1..6c9e177c86 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", "@netlify/functions": "^3.1.8", - "@netlify/serverless-functions-api": "^1.41.1", + "@netlify/serverless-functions-api": "^1.41.2", "@netlify/zip-it-and-ship-it": "^10.1.1", "@opentelemetry/api": "^1.8.0", "@playwright/test": "^1.43.1", From 6a8ef6693e17febd1b6bb0fdc7bc32c7c2b9a5e7 Mon Sep 17 00:00:00 2001 From: Michal Piechowiak Date: Tue, 20 May 2025 09:24:06 +0200 Subject: [PATCH 29/31] fix: only set permament caching header when reading html file when it's not during server initialization AND when read html is Next produced fully static html (#2935) * chore: adjust pattern for sites->projects rename * fix: handle case of env not being defined for edge functions * test: add test cases for unexpected permanent cdn cache control cases * fix: only set permament caching header when reading html file when its not during server initialization AND when read html is Next produced fully static html --- package-lock.json | 244 +++++++++++++++--- package.json | 1 + src/build/content/static.test.ts | 134 +++++++--- src/build/content/static.ts | 6 +- src/build/plugin-context.ts | 32 ++- src/run/next.cts | 30 ++- src/shared/blob-types.cts | 6 +- src/shared/blob-types.test.ts | 4 +- .../route.js | 22 ++ .../app/api/slow-not-cacheable/route.js | 17 ++ tests/fixtures/simple/pages/fully-static.js | 9 + tests/fixtures/simple/static/prebuilt.html | 5 + tests/integration/simple-app.test.ts | 63 ++++- tests/utils/fixture.ts | 20 +- tests/utils/lambda-helpers.mjs | 2 +- 15 files changed, 498 insertions(+), 97 deletions(-) create mode 100644 tests/fixtures/simple/app/api/slow-not-cacheable-with-html-read/route.js create mode 100644 tests/fixtures/simple/app/api/slow-not-cacheable/route.js create mode 100644 tests/fixtures/simple/pages/fully-static.js create mode 100644 tests/fixtures/simple/static/prebuilt.html diff --git a/package-lock.json b/package-lock.json index 23307eebb0..e59baf5fdf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,6 +12,7 @@ "@fastly/http-compute-js": "1.1.5", "@netlify/blobs": "^8.2.0", "@netlify/build": "^32.2.0", + "@netlify/config": "^23.0.1", "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", @@ -2858,7 +2859,8 @@ "version": "2.2.5", "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.5.tgz", "integrity": "sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/@img/sharp-darwin-arm64": { "version": "0.33.5", @@ -3687,10 +3689,11 @@ } }, "node_modules/@netlify/api": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@netlify/api/-/api-13.4.0.tgz", - "integrity": "sha512-Y/RDvIhMrxWoyhD3DV+um2sv1HFFxoG4LnaB8RqQu7Ei3zEiA7GwqLQm28YZfUR8uEerOPnWiuluKGmqKScX2Q==", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/@netlify/api/-/api-14.0.1.tgz", + "integrity": "sha512-yzBDOpVQJBW95qCLLXrM9sdJ9dlYu9StSfYhmCwA+RvWoPmZ5oqIiNbiKQE4Qe0qLEss2SQyhub+b64NY1orOA==", "dev": true, + "license": "MIT", "dependencies": { "@netlify/open-api": "^2.37.0", "lodash-es": "^4.17.21", @@ -3700,7 +3703,7 @@ "qs": "^6.9.6" }, "engines": { - "node": "^14.16.0 || >=16.0.0" + "node": ">=18.14.0" } }, "node_modules/@netlify/binary-info": { @@ -3799,6 +3802,81 @@ } } }, + "node_modules/@netlify/build/node_modules/@netlify/api": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@netlify/api/-/api-13.4.0.tgz", + "integrity": "sha512-Y/RDvIhMrxWoyhD3DV+um2sv1HFFxoG4LnaB8RqQu7Ei3zEiA7GwqLQm28YZfUR8uEerOPnWiuluKGmqKScX2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@netlify/open-api": "^2.37.0", + "lodash-es": "^4.17.21", + "micro-api-client": "^3.3.0", + "node-fetch": "^3.0.0", + "p-wait-for": "^5.0.0", + "qs": "^6.9.6" + }, + "engines": { + "node": "^14.16.0 || >=16.0.0" + } + }, + "node_modules/@netlify/build/node_modules/@netlify/config": { + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.2.0.tgz", + "integrity": "sha512-33SwZJrLXqNCZJiKCyPXaxLVHGRcQhEV6+RwjKt6IVDvShZ2l1pLQnAS0Z/2xKsZUhQvKhrjXBAts/5eXt9WTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@iarna/toml": "^2.2.5", + "@netlify/api": "^13.4.0", + "@netlify/headers-parser": "^8.0.0", + "@netlify/redirect-parser": "^14.5.1", + "chalk": "^5.0.0", + "cron-parser": "^4.1.0", + "deepmerge": "^4.2.2", + "dot-prop": "^7.0.0", + "execa": "^7.0.0", + "fast-safe-stringify": "^2.0.7", + "figures": "^5.0.0", + "filter-obj": "^5.0.0", + "find-up": "^6.0.0", + "indent-string": "^5.0.0", + "is-plain-obj": "^4.0.0", + "js-yaml": "^4.0.0", + "map-obj": "^5.0.0", + "node-fetch": "^3.3.1", + "omit.js": "^2.0.2", + "p-locate": "^6.0.0", + "path-type": "^5.0.0", + "tomlify-j0.4": "^3.0.0", + "validate-npm-package-name": "^4.0.0", + "yargs": "^17.6.0" + }, + "bin": { + "netlify-config": "bin.js" + }, + "engines": { + "node": "^14.16.0 || >=16.0.0" + } + }, + "node_modules/@netlify/build/node_modules/@netlify/headers-parser": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@netlify/headers-parser/-/headers-parser-8.0.0.tgz", + "integrity": "sha512-TAxRPOpPDphDttDukWj1mTJtjxA81FhxV9EBOwP3DipqKMNs1mXlucMu/3kvIKG1o2XMrQbvSttHK8URdVROrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@iarna/toml": "^2.2.5", + "escape-string-regexp": "^5.0.0", + "fast-safe-stringify": "^2.0.7", + "is-plain-obj": "^4.0.0", + "map-obj": "^5.0.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^14.16.0 || >=16.0.0" + } + }, "node_modules/@netlify/build/node_modules/@netlify/opentelemetry-utils": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@netlify/opentelemetry-utils/-/opentelemetry-utils-1.3.1.tgz", @@ -3811,6 +3889,23 @@ "@opentelemetry/api": "~1.8.0" } }, + "node_modules/@netlify/build/node_modules/@netlify/redirect-parser": { + "version": "14.5.1", + "resolved": "https://registry.npmjs.org/@netlify/redirect-parser/-/redirect-parser-14.5.1.tgz", + "integrity": "sha512-pg5Oa/da6P0djfLOaBj/5IiB4tXNzGlvl2IK6MzxM4W0zkwdLprw3NjduBeaSmWe7h+9WZKKVTh2IVNEXqs3iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@iarna/toml": "^2.2.5", + "fast-safe-stringify": "^2.1.1", + "filter-obj": "^5.0.0", + "is-plain-obj": "^4.0.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^14.16.0 || >=16.0.0" + } + }, "node_modules/@netlify/build/node_modules/clean-stack": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", @@ -3951,15 +4046,16 @@ } }, "node_modules/@netlify/config": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.2.0.tgz", - "integrity": "sha512-33SwZJrLXqNCZJiKCyPXaxLVHGRcQhEV6+RwjKt6IVDvShZ2l1pLQnAS0Z/2xKsZUhQvKhrjXBAts/5eXt9WTA==", + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-23.0.1.tgz", + "integrity": "sha512-KoI5HMLAmkrIn7icNlHAeCA4FwvnptShgJUPvjKm63ygYgGarM+MjtrKA10SDyBbONWLldmcuhh4gGGy8EszzQ==", "dev": true, + "license": "MIT", "dependencies": { "@iarna/toml": "^2.2.5", - "@netlify/api": "^13.4.0", - "@netlify/headers-parser": "^8.0.0", - "@netlify/redirect-parser": "^14.5.1", + "@netlify/api": "^14.0.1", + "@netlify/headers-parser": "^9.0.0", + "@netlify/redirect-parser": "^15.0.0", "chalk": "^5.0.0", "cron-parser": "^4.1.0", "deepmerge": "^4.2.2", @@ -3985,7 +4081,7 @@ "netlify-config": "bin.js" }, "engines": { - "node": "^14.16.0 || >=16.0.0" + "node": ">=18.14.0" } }, "node_modules/@netlify/config/node_modules/execa": { @@ -4467,10 +4563,11 @@ "dev": true }, "node_modules/@netlify/headers-parser": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@netlify/headers-parser/-/headers-parser-8.0.0.tgz", - "integrity": "sha512-TAxRPOpPDphDttDukWj1mTJtjxA81FhxV9EBOwP3DipqKMNs1mXlucMu/3kvIKG1o2XMrQbvSttHK8URdVROrw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@netlify/headers-parser/-/headers-parser-9.0.0.tgz", + "integrity": "sha512-l1p7qMOr8AF1K1NMFYAjXSKv6cC0rDLc9q2YwFusHcdeLY6Xok3cECHFxgaS0AIkRGKWUqaPd/w/vQRDFoVOQw==", "dev": true, + "license": "MIT", "dependencies": { "@iarna/toml": "^2.2.5", "escape-string-regexp": "^5.0.0", @@ -4480,7 +4577,7 @@ "path-exists": "^5.0.0" }, "engines": { - "node": "^14.16.0 || >=16.0.0" + "node": ">=18.14.0" } }, "node_modules/@netlify/open-api": { @@ -4581,10 +4678,11 @@ } }, "node_modules/@netlify/redirect-parser": { - "version": "14.5.1", - "resolved": "https://registry.npmjs.org/@netlify/redirect-parser/-/redirect-parser-14.5.1.tgz", - "integrity": "sha512-pg5Oa/da6P0djfLOaBj/5IiB4tXNzGlvl2IK6MzxM4W0zkwdLprw3NjduBeaSmWe7h+9WZKKVTh2IVNEXqs3iQ==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@netlify/redirect-parser/-/redirect-parser-15.0.0.tgz", + "integrity": "sha512-k85Gj//UbYj8JhJAjPV6div8rZRqPz3Pp++egIl4NqUH6r26q798CnjLZ6XPmtXfYDa8Uyg9TwJjZLPk/EnqPQ==", "dev": true, + "license": "MIT", "dependencies": { "@iarna/toml": "^2.2.5", "fast-safe-stringify": "^2.1.1", @@ -4593,7 +4691,7 @@ "path-exists": "^5.0.0" }, "engines": { - "node": "^14.16.0 || >=16.0.0" + "node": ">=18.14.0" } }, "node_modules/@netlify/run-utils": { @@ -10743,7 +10841,8 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fastq": { "version": "1.15.0", @@ -36540,9 +36639,9 @@ } }, "@netlify/api": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@netlify/api/-/api-13.4.0.tgz", - "integrity": "sha512-Y/RDvIhMrxWoyhD3DV+um2sv1HFFxoG4LnaB8RqQu7Ei3zEiA7GwqLQm28YZfUR8uEerOPnWiuluKGmqKScX2Q==", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/@netlify/api/-/api-14.0.1.tgz", + "integrity": "sha512-yzBDOpVQJBW95qCLLXrM9sdJ9dlYu9StSfYhmCwA+RvWoPmZ5oqIiNbiKQE4Qe0qLEss2SQyhub+b64NY1orOA==", "dev": true, "requires": { "@netlify/open-api": "^2.37.0", @@ -36631,6 +36730,66 @@ "yargs": "^17.6.0" }, "dependencies": { + "@netlify/api": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@netlify/api/-/api-13.4.0.tgz", + "integrity": "sha512-Y/RDvIhMrxWoyhD3DV+um2sv1HFFxoG4LnaB8RqQu7Ei3zEiA7GwqLQm28YZfUR8uEerOPnWiuluKGmqKScX2Q==", + "dev": true, + "requires": { + "@netlify/open-api": "^2.37.0", + "lodash-es": "^4.17.21", + "micro-api-client": "^3.3.0", + "node-fetch": "^3.0.0", + "p-wait-for": "^5.0.0", + "qs": "^6.9.6" + } + }, + "@netlify/config": { + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.2.0.tgz", + "integrity": "sha512-33SwZJrLXqNCZJiKCyPXaxLVHGRcQhEV6+RwjKt6IVDvShZ2l1pLQnAS0Z/2xKsZUhQvKhrjXBAts/5eXt9WTA==", + "dev": true, + "requires": { + "@iarna/toml": "^2.2.5", + "@netlify/api": "^13.4.0", + "@netlify/headers-parser": "^8.0.0", + "@netlify/redirect-parser": "^14.5.1", + "chalk": "^5.0.0", + "cron-parser": "^4.1.0", + "deepmerge": "^4.2.2", + "dot-prop": "^7.0.0", + "execa": "^7.0.0", + "fast-safe-stringify": "^2.0.7", + "figures": "^5.0.0", + "filter-obj": "^5.0.0", + "find-up": "^6.0.0", + "indent-string": "^5.0.0", + "is-plain-obj": "^4.0.0", + "js-yaml": "^4.0.0", + "map-obj": "^5.0.0", + "node-fetch": "^3.3.1", + "omit.js": "^2.0.2", + "p-locate": "^6.0.0", + "path-type": "^5.0.0", + "tomlify-j0.4": "^3.0.0", + "validate-npm-package-name": "^4.0.0", + "yargs": "^17.6.0" + } + }, + "@netlify/headers-parser": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@netlify/headers-parser/-/headers-parser-8.0.0.tgz", + "integrity": "sha512-TAxRPOpPDphDttDukWj1mTJtjxA81FhxV9EBOwP3DipqKMNs1mXlucMu/3kvIKG1o2XMrQbvSttHK8URdVROrw==", + "dev": true, + "requires": { + "@iarna/toml": "^2.2.5", + "escape-string-regexp": "^5.0.0", + "fast-safe-stringify": "^2.0.7", + "is-plain-obj": "^4.0.0", + "map-obj": "^5.0.0", + "path-exists": "^5.0.0" + } + }, "@netlify/opentelemetry-utils": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@netlify/opentelemetry-utils/-/opentelemetry-utils-1.3.1.tgz", @@ -36638,6 +36797,19 @@ "dev": true, "requires": {} }, + "@netlify/redirect-parser": { + "version": "14.5.1", + "resolved": "https://registry.npmjs.org/@netlify/redirect-parser/-/redirect-parser-14.5.1.tgz", + "integrity": "sha512-pg5Oa/da6P0djfLOaBj/5IiB4tXNzGlvl2IK6MzxM4W0zkwdLprw3NjduBeaSmWe7h+9WZKKVTh2IVNEXqs3iQ==", + "dev": true, + "requires": { + "@iarna/toml": "^2.2.5", + "fast-safe-stringify": "^2.1.1", + "filter-obj": "^5.0.0", + "is-plain-obj": "^4.0.0", + "path-exists": "^5.0.0" + } + }, "clean-stack": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", @@ -36731,15 +36903,15 @@ } }, "@netlify/config": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-22.2.0.tgz", - "integrity": "sha512-33SwZJrLXqNCZJiKCyPXaxLVHGRcQhEV6+RwjKt6IVDvShZ2l1pLQnAS0Z/2xKsZUhQvKhrjXBAts/5eXt9WTA==", + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-23.0.1.tgz", + "integrity": "sha512-KoI5HMLAmkrIn7icNlHAeCA4FwvnptShgJUPvjKm63ygYgGarM+MjtrKA10SDyBbONWLldmcuhh4gGGy8EszzQ==", "dev": true, "requires": { "@iarna/toml": "^2.2.5", - "@netlify/api": "^13.4.0", - "@netlify/headers-parser": "^8.0.0", - "@netlify/redirect-parser": "^14.5.1", + "@netlify/api": "^14.0.1", + "@netlify/headers-parser": "^9.0.0", + "@netlify/redirect-parser": "^15.0.0", "chalk": "^5.0.0", "cron-parser": "^4.1.0", "deepmerge": "^4.2.2", @@ -37129,9 +37301,9 @@ } }, "@netlify/headers-parser": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@netlify/headers-parser/-/headers-parser-8.0.0.tgz", - "integrity": "sha512-TAxRPOpPDphDttDukWj1mTJtjxA81FhxV9EBOwP3DipqKMNs1mXlucMu/3kvIKG1o2XMrQbvSttHK8URdVROrw==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@netlify/headers-parser/-/headers-parser-9.0.0.tgz", + "integrity": "sha512-l1p7qMOr8AF1K1NMFYAjXSKv6cC0rDLc9q2YwFusHcdeLY6Xok3cECHFxgaS0AIkRGKWUqaPd/w/vQRDFoVOQw==", "dev": true, "requires": { "@iarna/toml": "^2.2.5", @@ -37210,9 +37382,9 @@ "dev": true }, "@netlify/redirect-parser": { - "version": "14.5.1", - "resolved": "https://registry.npmjs.org/@netlify/redirect-parser/-/redirect-parser-14.5.1.tgz", - "integrity": "sha512-pg5Oa/da6P0djfLOaBj/5IiB4tXNzGlvl2IK6MzxM4W0zkwdLprw3NjduBeaSmWe7h+9WZKKVTh2IVNEXqs3iQ==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@netlify/redirect-parser/-/redirect-parser-15.0.0.tgz", + "integrity": "sha512-k85Gj//UbYj8JhJAjPV6div8rZRqPz3Pp++egIl4NqUH6r26q798CnjLZ6XPmtXfYDa8Uyg9TwJjZLPk/EnqPQ==", "dev": true, "requires": { "@iarna/toml": "^2.2.5", diff --git a/package.json b/package.json index 6c9e177c86..bb94776b27 100644 --- a/package.json +++ b/package.json @@ -51,6 +51,7 @@ "@fastly/http-compute-js": "1.1.5", "@netlify/blobs": "^8.2.0", "@netlify/build": "^32.2.0", + "@netlify/config": "^23.0.1", "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", diff --git a/src/build/content/static.test.ts b/src/build/content/static.test.ts index ed1927b298..6d1b811472 100644 --- a/src/build/content/static.test.ts +++ b/src/build/content/static.test.ts @@ -10,6 +10,7 @@ import { beforeEach, describe, expect, Mock, test, vi } from 'vitest' import { decodeBlobKey, encodeBlobKey, mockFileSystem } from '../../../tests/index.js' import { type FixtureTestContext } from '../../../tests/utils/contexts.js' import { createFsFixture } from '../../../tests/utils/fixture.js' +import { HtmlBlob } from '../../shared/blob-types.cjs' import { PluginContext, RequiredServerFilesManifest } from '../plugin-context.js' import { copyStaticAssets, copyStaticContent } from './static.js' @@ -22,18 +23,19 @@ type Context = FixtureTestContext & { const createFsFixtureWithBasePath = ( fixture: Record, ctx: Omit, - { basePath = '', // eslint-disable-next-line unicorn/no-useless-undefined i18n = undefined, dynamicRoutes = {}, + pagesManifest = {}, }: { basePath?: string i18n?: Pick, 'locales'> dynamicRoutes?: { [route: string]: Pick } + pagesManifest?: Record } = {}, ) => { return createFsFixture( @@ -49,6 +51,7 @@ const createFsFixtureWithBasePath = ( }, } as Pick), [join(ctx.publishDir, 'prerender-manifest.json')]: JSON.stringify({ dynamicRoutes }), + [join(ctx.publishDir, 'server', 'pages-manifest.json')]: JSON.stringify(pagesManifest), }, ctx, ) @@ -62,10 +65,7 @@ async function readDirRecursive(dir: string) { return paths } -let failBuildMock: Mock< - Parameters, - ReturnType -> +let failBuildMock: Mock const dontFailTest: PluginContext['utils']['build']['failBuild'] = () => { return undefined as never @@ -197,12 +197,13 @@ describe('Regular Repository layout', () => { ) }) - describe('should copy the static pages to the publish directory if there are no corresponding JSON files and mark wether html file is a fallback', () => { + describe('should copy the static pages to the publish directory if there are no corresponding JSON files and mark wether html file is a fully static pages router page', () => { test('no i18n', async ({ pluginContext, ...ctx }) => { await createFsFixtureWithBasePath( { '.next/server/pages/test.html': '', '.next/server/pages/test2.html': '', + '.next/server/pages/test3.html': '', '.next/server/pages/test3.json': '', '.next/server/pages/blog/[slug].html': '', }, @@ -213,27 +214,36 @@ describe('Regular Repository layout', () => { fallback: '/blog/[slug].html', }, }, + pagesManifest: { + '/blog/[slug]': 'pages/blog/[slug].js', + '/test': 'pages/test.html', + '/test2': 'pages/test2.html', + '/test3': 'pages/test3.js', + }, }, ) await copyStaticContent(pluginContext) const files = await glob('**/*', { cwd: pluginContext.blobDir, dot: true }) - const expectedStaticPages = ['blog/[slug].html', 'test.html', 'test2.html'] - const expectedFallbacks = new Set(['blog/[slug].html']) + const expectedHtmlBlobs = ['blog/[slug].html', 'test.html', 'test2.html'] + const expectedFullyStaticPages = new Set(['test.html', 'test2.html']) - expect(files.map((path) => decodeBlobKey(path)).sort()).toEqual(expectedStaticPages) + expect(files.map((path) => decodeBlobKey(path)).sort()).toEqual(expectedHtmlBlobs) - for (const page of expectedStaticPages) { - const expectedIsFallback = expectedFallbacks.has(page) + for (const page of expectedHtmlBlobs) { + const expectedIsFullyStaticPage = expectedFullyStaticPages.has(page) const blob = JSON.parse( await readFile(join(pluginContext.blobDir, await encodeBlobKey(page)), 'utf-8'), - ) + ) as HtmlBlob - expect(blob, `${page} should ${expectedIsFallback ? '' : 'not '}be a fallback`).toEqual({ + expect( + blob, + `${page} should ${expectedIsFullyStaticPage ? '' : 'not '}be a fully static Page`, + ).toEqual({ html: '', - isFallback: expectedIsFallback, + isFullyStaticPage: expectedIsFullyStaticPage, }) } }) @@ -243,10 +253,12 @@ describe('Regular Repository layout', () => { { '.next/server/pages/de/test.html': '', '.next/server/pages/de/test2.html': '', + '.next/server/pages/de/test3.html': '', '.next/server/pages/de/test3.json': '', '.next/server/pages/de/blog/[slug].html': '', '.next/server/pages/en/test.html': '', '.next/server/pages/en/test2.html': '', + '.next/server/pages/en/test3.html': '', '.next/server/pages/en/test3.json': '', '.next/server/pages/en/blog/[slug].html': '', }, @@ -260,13 +272,21 @@ describe('Regular Repository layout', () => { i18n: { locales: ['en', 'de'], }, + pagesManifest: { + '/blog/[slug]': 'pages/blog/[slug].js', + '/en/test': 'pages/en/test.html', + '/de/test': 'pages/de/test.html', + '/en/test2': 'pages/en/test2.html', + '/de/test2': 'pages/de/test2.html', + '/test3': 'pages/test3.js', + }, }, ) await copyStaticContent(pluginContext) const files = await glob('**/*', { cwd: pluginContext.blobDir, dot: true }) - const expectedStaticPages = [ + const expectedHtmlBlobs = [ 'de/blog/[slug].html', 'de/test.html', 'de/test2.html', @@ -274,20 +294,28 @@ describe('Regular Repository layout', () => { 'en/test.html', 'en/test2.html', ] - const expectedFallbacks = new Set(['en/blog/[slug].html', 'de/blog/[slug].html']) + const expectedFullyStaticPages = new Set([ + 'en/test.html', + 'de/test.html', + 'en/test2.html', + 'de/test2.html', + ]) - expect(files.map((path) => decodeBlobKey(path)).sort()).toEqual(expectedStaticPages) + expect(files.map((path) => decodeBlobKey(path)).sort()).toEqual(expectedHtmlBlobs) - for (const page of expectedStaticPages) { - const expectedIsFallback = expectedFallbacks.has(page) + for (const page of expectedHtmlBlobs) { + const expectedIsFullyStaticPage = expectedFullyStaticPages.has(page) const blob = JSON.parse( await readFile(join(pluginContext.blobDir, await encodeBlobKey(page)), 'utf-8'), - ) + ) as HtmlBlob - expect(blob, `${page} should ${expectedIsFallback ? '' : 'not '}be a fallback`).toEqual({ + expect( + blob, + `${page} should ${expectedIsFullyStaticPage ? '' : 'not '}be a fully static Page`, + ).toEqual({ html: '', - isFallback: expectedIsFallback, + isFullyStaticPage: expectedIsFullyStaticPage, }) } }) @@ -419,12 +447,13 @@ describe('Mono Repository', () => { ) }) - describe('should copy the static pages to the publish directory if there are no corresponding JSON files and mark wether html file is a fallback', () => { + describe('should copy the static pages to the publish directory if there are no corresponding JSON files and mark wether html file is a fully static pages router page', () => { test('no i18n', async ({ pluginContext, ...ctx }) => { await createFsFixtureWithBasePath( { 'apps/app-1/.next/server/pages/test.html': '', 'apps/app-1/.next/server/pages/test2.html': '', + 'apps/app-1/.next/server/pages/test3.html': '', 'apps/app-1/.next/server/pages/test3.json': '', 'apps/app-1/.next/server/pages/blog/[slug].html': '', }, @@ -435,27 +464,36 @@ describe('Mono Repository', () => { fallback: '/blog/[slug].html', }, }, + pagesManifest: { + '/blog/[slug]': 'pages/blog/[slug].js', + '/test': 'pages/test.html', + '/test2': 'pages/test2.html', + '/test3': 'pages/test3.js', + }, }, ) await copyStaticContent(pluginContext) const files = await glob('**/*', { cwd: pluginContext.blobDir, dot: true }) - const expectedStaticPages = ['blog/[slug].html', 'test.html', 'test2.html'] - const expectedFallbacks = new Set(['blog/[slug].html']) + const expectedHtmlBlobs = ['blog/[slug].html', 'test.html', 'test2.html'] + const expectedFullyStaticPages = new Set(['test.html', 'test2.html']) - expect(files.map((path) => decodeBlobKey(path)).sort()).toEqual(expectedStaticPages) + expect(files.map((path) => decodeBlobKey(path)).sort()).toEqual(expectedHtmlBlobs) - for (const page of expectedStaticPages) { - const expectedIsFallback = expectedFallbacks.has(page) + for (const page of expectedHtmlBlobs) { + const expectedIsFullyStaticPage = expectedFullyStaticPages.has(page) const blob = JSON.parse( await readFile(join(pluginContext.blobDir, await encodeBlobKey(page)), 'utf-8'), - ) + ) as HtmlBlob - expect(blob, `${page} should ${expectedIsFallback ? '' : 'not '}be a fallback`).toEqual({ + expect( + blob, + `${page} should ${expectedIsFullyStaticPage ? '' : 'not '}be a fully static Page`, + ).toEqual({ html: '', - isFallback: expectedIsFallback, + isFullyStaticPage: expectedIsFullyStaticPage, }) } }) @@ -465,10 +503,12 @@ describe('Mono Repository', () => { { 'apps/app-1/.next/server/pages/de/test.html': '', 'apps/app-1/.next/server/pages/de/test2.html': '', + 'apps/app-1/.next/server/pages/de/test3.html': '', 'apps/app-1/.next/server/pages/de/test3.json': '', 'apps/app-1/.next/server/pages/de/blog/[slug].html': '', 'apps/app-1/.next/server/pages/en/test.html': '', 'apps/app-1/.next/server/pages/en/test2.html': '', + 'apps/app-1/.next/server/pages/en/test3.html': '', 'apps/app-1/.next/server/pages/en/test3.json': '', 'apps/app-1/.next/server/pages/en/blog/[slug].html': '', }, @@ -482,13 +522,21 @@ describe('Mono Repository', () => { i18n: { locales: ['en', 'de'], }, + pagesManifest: { + '/blog/[slug]': 'pages/blog/[slug].js', + '/en/test': 'pages/en/test.html', + '/de/test': 'pages/de/test.html', + '/en/test2': 'pages/en/test2.html', + '/de/test2': 'pages/de/test2.html', + '/test3': 'pages/test3.js', + }, }, ) await copyStaticContent(pluginContext) const files = await glob('**/*', { cwd: pluginContext.blobDir, dot: true }) - const expectedStaticPages = [ + const expectedHtmlBlobs = [ 'de/blog/[slug].html', 'de/test.html', 'de/test2.html', @@ -496,20 +544,28 @@ describe('Mono Repository', () => { 'en/test.html', 'en/test2.html', ] - const expectedFallbacks = new Set(['en/blog/[slug].html', 'de/blog/[slug].html']) + const expectedFullyStaticPages = new Set([ + 'en/test.html', + 'de/test.html', + 'en/test2.html', + 'de/test2.html', + ]) - expect(files.map((path) => decodeBlobKey(path)).sort()).toEqual(expectedStaticPages) + expect(files.map((path) => decodeBlobKey(path)).sort()).toEqual(expectedHtmlBlobs) - for (const page of expectedStaticPages) { - const expectedIsFallback = expectedFallbacks.has(page) + for (const page of expectedHtmlBlobs) { + const expectedIsFullyStaticPage = expectedFullyStaticPages.has(page) const blob = JSON.parse( await readFile(join(pluginContext.blobDir, await encodeBlobKey(page)), 'utf-8'), - ) + ) as HtmlBlob - expect(blob, `${page} should ${expectedIsFallback ? '' : 'not '}be a fallback`).toEqual({ + expect( + blob, + `${page} should ${expectedIsFullyStaticPage ? '' : 'not '}be a fully static Page`, + ).toEqual({ html: '', - isFallback: expectedIsFallback, + isFullyStaticPage: expectedIsFullyStaticPage, }) } }) diff --git a/src/build/content/static.ts b/src/build/content/static.ts index d251a17d97..47dded47bb 100644 --- a/src/build/content/static.ts +++ b/src/build/content/static.ts @@ -27,21 +27,23 @@ export const copyStaticContent = async (ctx: PluginContext): Promise => { }) const fallbacks = ctx.getFallbacks(await ctx.getPrerenderManifest()) + const fullyStaticPages = await ctx.getFullyStaticHtmlPages() try { await mkdir(destDir, { recursive: true }) await Promise.all( paths - .filter((path) => !paths.includes(`${path.slice(0, -5)}.json`)) + .filter((path) => !path.endsWith('.json') && !paths.includes(`${path.slice(0, -5)}.json`)) .map(async (path): Promise => { const html = await readFile(join(srcDir, path), 'utf-8') verifyNetlifyForms(ctx, html) const isFallback = fallbacks.includes(path.slice(0, -5)) + const isFullyStaticPage = !isFallback && fullyStaticPages.includes(path) await writeFile( join(destDir, await encodeBlobKey(path)), - JSON.stringify({ html, isFallback } satisfies HtmlBlob), + JSON.stringify({ html, isFullyStaticPage } satisfies HtmlBlob), 'utf-8', ) }), diff --git a/src/build/plugin-context.ts b/src/build/plugin-context.ts index 74c0ffc329..9148d0dd56 100644 --- a/src/build/plugin-context.ts +++ b/src/build/plugin-context.ts @@ -2,7 +2,7 @@ import { existsSync, readFileSync } from 'node:fs' import { readFile } from 'node:fs/promises' import { createRequire } from 'node:module' import { join, relative, resolve } from 'node:path' -import { join as posixJoin } from 'node:path/posix' +import { join as posixJoin, relative as posixRelative } from 'node:path/posix' import { fileURLToPath } from 'node:url' import type { @@ -12,6 +12,7 @@ import type { } from '@netlify/build' import type { PrerenderManifest, RoutesManifest } from 'next/dist/build/index.js' import type { MiddlewareManifest } from 'next/dist/build/webpack/plugins/middleware-plugin.js' +import type { PagesManifest } from 'next/dist/build/webpack/plugins/pages-manifest-plugin.js' import type { NextConfigComplete } from 'next/dist/server/config-shared.js' import { satisfies } from 'semver' @@ -370,6 +371,35 @@ export class PluginContext { return this.#fallbacks } + #fullyStaticHtmlPages: string[] | null = null + /** + * Get an array of fully static pages router pages (no `getServerSideProps` or `getStaticProps`). + * Those are being served as-is without involving CacheHandler, so we need to keep track of them + * to make sure we apply permanent caching headers for responses that use them. + */ + async getFullyStaticHtmlPages(): Promise { + if (!this.#fullyStaticHtmlPages) { + const pagesManifest = JSON.parse( + await readFile(join(this.publishDir, 'server/pages-manifest.json'), 'utf-8'), + ) as PagesManifest + + this.#fullyStaticHtmlPages = Object.values(pagesManifest) + .filter( + (filePath) => + // Limit handling to pages router files (App Router pages should not be included in pages-manifest.json + // as they have their own app-paths-manifest.json) + filePath.startsWith('pages/') && + // Fully static pages will have entries in the pages-manifest.json pointing to .html files. + // Pages with data fetching exports will point to .js files. + filePath.endsWith('.html'), + ) + // values will be prefixed with `pages/`, so removing it here for consistency with other methods + // like `getFallbacks` that return the route without the prefix + .map((filePath) => posixRelative('pages', filePath)) + } + return this.#fullyStaticHtmlPages + } + /** Fails a build with a message and an optional error */ failBuild(message: string, error?: unknown): never { return this.utils.build.failBuild(message, error instanceof Error ? { error } : undefined) diff --git a/src/run/next.cts b/src/run/next.cts index fc6b3fcbef..085cf057de 100644 --- a/src/run/next.cts +++ b/src/run/next.cts @@ -1,5 +1,6 @@ -import fs from 'fs/promises' -import { relative, resolve } from 'path' +import { AsyncLocalStorage } from 'node:async_hooks' +import fs from 'node:fs/promises' +import { relative, resolve } from 'node:path' // @ts-expect-error no types installed import { patchFs } from 'fs-monkey' @@ -79,6 +80,13 @@ ResponseCache.prototype.get = function get(...getArgs: unknown[]) { type FS = typeof import('fs') export async function getMockedRequestHandler(...args: Parameters) { + const initContext = { initializingServer: true } + /** + * Using async local storage to identify operations happening as part of server initialization + * and not part of handling of current request. + */ + const initAsyncLocalStorage = new AsyncLocalStorage() + const tracer = getTracer() return tracer.withActiveSpan('mocked request handler', async () => { const ofs = { ...fs } @@ -96,9 +104,16 @@ export async function getMockedRequestHandler(...args: Parameters(relPath, 'staticHtml.get') if (file !== null) { - if (!file.isFallback) { + if (file.isFullyStaticPage) { const requestContext = getRequestContext() - if (requestContext) { + // On server initialization Next.js attempt to preload all pages + // which might result in reading .html files from the file system + // for fully static pages. We don't want to capture those cases. + // Note that Next.js does NOT cache read html files so on actual requests + // that those will be served, it will read those AGAIN and then we do + // want to capture fact of reading them. + const { initializingServer } = initAsyncLocalStorage.getStore() ?? {} + if (!initializingServer && requestContext) { requestContext.usedFsReadForNonFallback = true } } @@ -120,7 +135,12 @@ export async function getMockedRequestHandler(...args: Parameters { + // we need to await getRequestHandlers(...) promise in this callback to ensure that initAsyncLocalStorage + // is available in async / background work + return await getRequestHandlers(...args) + }) + // depending on Next.js version requestHandlers might be an array of object // see https://github.com/vercel/next.js/commit/08e7410f15706379994b54c3195d674909a8d533#diff-37243d614f1f5d3f7ea50bbf2af263f6b1a9a4f70e84427977781e07b02f57f1R742 return Array.isArray(requestHandlers) ? requestHandlers[0] : requestHandlers.requestHandler diff --git a/src/shared/blob-types.cts b/src/shared/blob-types.cts index 976ffdb79c..c7b113a262 100644 --- a/src/shared/blob-types.cts +++ b/src/shared/blob-types.cts @@ -4,7 +4,7 @@ export type TagManifest = { revalidatedAt: number } export type HtmlBlob = { html: string - isFallback: boolean + isFullyStaticPage: boolean } export type BlobType = NetlifyCacheHandlerValue | TagManifest | HtmlBlob @@ -24,9 +24,9 @@ export const isHtmlBlob = (value: BlobType): value is HtmlBlob => { typeof value === 'object' && value !== null && 'html' in value && - 'isFallback' in value && + 'isFullyStaticPage' in value && typeof value.html === 'string' && - typeof value.isFallback === 'boolean' && + typeof value.isFullyStaticPage === 'boolean' && Object.keys(value).length === 2 ) } diff --git a/src/shared/blob-types.test.ts b/src/shared/blob-types.test.ts index e41a992045..16c0a5c5f9 100644 --- a/src/shared/blob-types.test.ts +++ b/src/shared/blob-types.test.ts @@ -9,14 +9,14 @@ describe('isTagManifest', () => { }) it(`returns false for non-TagManifest instance`, () => { - const value: BlobType = { html: '', isFallback: false } + const value: BlobType = { html: '', isFullyStaticPage: false } expect(isTagManifest(value)).toBe(false) }) }) describe('isHtmlBlob', () => { it(`returns true for HtmlBlob instance`, () => { - const value: HtmlBlob = { html: '', isFallback: false } + const value: HtmlBlob = { html: '', isFullyStaticPage: false } expect(isHtmlBlob(value)).toBe(true) }) diff --git a/tests/fixtures/simple/app/api/slow-not-cacheable-with-html-read/route.js b/tests/fixtures/simple/app/api/slow-not-cacheable-with-html-read/route.js new file mode 100644 index 0000000000..bb85ff0604 --- /dev/null +++ b/tests/fixtures/simple/app/api/slow-not-cacheable-with-html-read/route.js @@ -0,0 +1,22 @@ +import { NextResponse } from 'next/server' +import { readFile } from 'node:fs/promises' + +export async function GET() { + // This adds intentional delay here to make it more likely to hit some next-server + // initialization side-effects such as preloading page entries + // and trying to assert that side-effects do NOT impact the response. + // There is no way to force problematic side-effect scenario to happen without + // modifying the next internals. + // See https://github.com/vercel/next.js/blob/592401bb7fec83079716b2c9b090db580a63483f/packages/next/src/server/next-server.ts#L321-L327 + // which starts NOT awaited async work + await new Promise((resolve) => setTimeout(resolve, 5_000)) + + // This route handler variant also reads static html file to test an edge case + // for our handler that tracks static html file reads to set CDN cache control + const staticHTML = await readFile('static/prebuilt.html', 'utf-8') + + return NextResponse.json({ + message: `Not cacheable route handler using force-dynamic dynamic strategy that reads ${staticHTML.length} character long .html file`, + }) +} +export const dynamic = 'force-dynamic' diff --git a/tests/fixtures/simple/app/api/slow-not-cacheable/route.js b/tests/fixtures/simple/app/api/slow-not-cacheable/route.js new file mode 100644 index 0000000000..73d6391500 --- /dev/null +++ b/tests/fixtures/simple/app/api/slow-not-cacheable/route.js @@ -0,0 +1,17 @@ +import { NextResponse } from 'next/server' + +export async function GET() { + // This adds intentional delay here to make it more likely to hit some next-server + // initialization side-effects such as preloading page entries + // and trying to assert that side-effects do NOT impact the response. + // There is no way to force problematic side-effect scenario to happen without + // modifying the next internals. + // See https://github.com/vercel/next.js/blob/592401bb7fec83079716b2c9b090db580a63483f/packages/next/src/server/next-server.ts#L321-L327 + // which starts NOT awaited async work + await new Promise((resolve) => setTimeout(resolve, 5_000)) + + return NextResponse.json({ + message: 'Not cacheable route handler using force-dynamic dynamic strategy', + }) +} +export const dynamic = 'force-dynamic' diff --git a/tests/fixtures/simple/pages/fully-static.js b/tests/fixtures/simple/pages/fully-static.js new file mode 100644 index 0000000000..06edf008f7 --- /dev/null +++ b/tests/fixtures/simple/pages/fully-static.js @@ -0,0 +1,9 @@ +// This is forcing this fixture to produce static html pages router +// to not rely just on Next.js currently always handling default pages router 404.html page +const FullyStatic = () => ( +
+

This page is not using getStaticProps()

+
+) + +export default FullyStatic diff --git a/tests/fixtures/simple/static/prebuilt.html b/tests/fixtures/simple/static/prebuilt.html new file mode 100644 index 0000000000..7e02a43a80 --- /dev/null +++ b/tests/fixtures/simple/static/prebuilt.html @@ -0,0 +1,5 @@ + + + hello static html NOT produced by Next.js + + diff --git a/tests/integration/simple-app.test.ts b/tests/integration/simple-app.test.ts index 62b1ddd09a..6fc02f387c 100644 --- a/tests/integration/simple-app.test.ts +++ b/tests/integration/simple-app.test.ts @@ -25,6 +25,7 @@ import { createFixture, getFixtureSourceDirectory, invokeFunction, + loadSandboxedFunction, runPlugin, } from '../utils/fixture.js' import { @@ -35,10 +36,7 @@ import { } from '../utils/helpers.js' import { nextVersionSatisfies } from '../utils/next-version-helpers.mjs' -const mockedCp = cp as Mock< - Parameters<(typeof import('node:fs/promises'))['cp']>, - ReturnType<(typeof import('node:fs/promises'))['cp']> -> +const mockedCp = cp as Mock<(typeof import('node:fs/promises'))['cp']> vi.mock('node:fs/promises', async (importOriginal) => { const fsPromisesModule = (await importOriginal()) as typeof import('node:fs/promises') @@ -115,6 +113,7 @@ test('Test that the simple next app is working', async (ctx) '/route-resolves-to-not-found', '404.html', '500.html', + 'fully-static.html', ]) // test the function call @@ -245,6 +244,62 @@ test('handlers can add cookies in route handlers with the co expect(setCookieHeader).toContain('test2=value2; Path=/handler; HttpOnly') }) +test("slow NOT cacheable route handler is NOT cached on cdn (dynamic='force-dynamic')", async (ctx) => { + await createFixture('simple', ctx) + await runPlugin(ctx) + + const { invokeFunction } = await loadSandboxedFunction(ctx) + + // there is a side effect of initializing next-server that might impact "random" request/response which can't + // be forced, so this test attempt its best to trigger a lot of requests in hope it will hit the side effect + + const staggeredInvocationPromises = [] as Promise>[] + for (let delay = 0; delay < 5_000; delay += 100) { + staggeredInvocationPromises.push( + new Promise((res) => { + setTimeout(() => { + res(invokeFunction({ url: '/api/slow-not-cacheable' })) + }, delay) + }), + ) + } + + const staggeredInvocations = await Promise.all(staggeredInvocationPromises) + + for (const invocation of staggeredInvocations) { + expect(invocation.statusCode).toBe(200) + expect(invocation.headers['netlify-cdn-cache-control']).toBeUndefined() + } +}) + +test("slow NOT cacheable route handler reading html files is NOT cached on cdn (dynamic='force-dynamic')", async (ctx) => { + await createFixture('simple', ctx) + await runPlugin(ctx) + + const { invokeFunction } = await loadSandboxedFunction(ctx) + + // there is a side effect of initializing next-server that might impact "random" request/response which can't + // be forced, so this test attempt its best to trigger a lot of requests in hope it will hit the side effect + + const staggeredInvocationPromises = [] as Promise>[] + for (let delay = 0; delay < 5_000; delay += 100) { + staggeredInvocationPromises.push( + new Promise((res) => { + setTimeout(() => { + res(invokeFunction({ url: '/api/slow-not-cacheable-with-html-read' })) + }, delay) + }), + ) + } + + const staggeredInvocations = await Promise.all(staggeredInvocationPromises) + + for (const invocation of staggeredInvocations) { + expect(invocation.statusCode).toBe(200) + expect(invocation.headers['netlify-cdn-cache-control']).toBeUndefined() + } +}) + test('cacheable route handler is cached on cdn (revalidate=false / permanent caching)', async (ctx) => { await createFixture('simple', ctx) await runPlugin(ctx) diff --git a/tests/utils/fixture.ts b/tests/utils/fixture.ts index 443450a15d..5f42864932 100644 --- a/tests/utils/fixture.ts +++ b/tests/utils/fixture.ts @@ -1,6 +1,7 @@ import { assert, vi } from 'vitest' import { type NetlifyPluginConstants, type NetlifyPluginOptions } from '@netlify/build' +import { resolveConfig as resolveNetlifyConfig } from '@netlify/config' import { bundle, serve } from '@netlify/edge-bundler' import { zipFunctions } from '@netlify/zip-it-and-ship-it' import { execaCommand } from 'execa' @@ -191,6 +192,20 @@ export async function runPluginStep( constants: Partial = {}, ) { const stepFunction = (await import('../../src/index.js'))[step] + + let netlifyConfig = { + headers: [], + redirects: [], + } + + // load netlify.toml if it exists + if (existsSync(join(ctx.cwd, 'netlify.toml'))) { + const resolvedNetlifyConfig = await resolveNetlifyConfig({ cwd: ctx.cwd }) + if (resolvedNetlifyConfig.config) { + netlifyConfig = resolvedNetlifyConfig.config + } + } + const options = { constants: { SITE_ID: ctx.siteID, @@ -208,10 +223,7 @@ export async function runPluginStep( // INTERNAL_FUNCTIONS_SRC: '.netlify/functions-internal', // INTERNAL_EDGE_FUNCTIONS_SRC: '.netlify/edge-functions', }, - netlifyConfig: { - headers: [], - redirects: [], - }, + netlifyConfig, utils: { build: { failBuild: (message, options: { error?: Error } = {}) => { diff --git a/tests/utils/lambda-helpers.mjs b/tests/utils/lambda-helpers.mjs index 7252427b3d..4a874caa8d 100644 --- a/tests/utils/lambda-helpers.mjs +++ b/tests/utils/lambda-helpers.mjs @@ -143,7 +143,7 @@ export async function loadFunction(ctx, { env } = {}) { flags: flags ?? DEFAULT_FLAGS, }, lambdaFunc: { handler }, - timeoutMs: 4_000, + timeoutMs: 10_000, onInvocationEnd: (error) => { // lambda-local resolve promise return from execute when response is closed // but we should wait for tracked background work to finish From 826b6153fd2ae697ed9617cbc27bd9b107b6c54d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 21 May 2025 00:17:04 +0000 Subject: [PATCH 30/31] chore(deps): update dependency @netlify/config to ^23.0.2 (#2940) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 124 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 64 insertions(+), 62 deletions(-) diff --git a/package-lock.json b/package-lock.json index e59baf5fdf..b382e6bab4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@fastly/http-compute-js": "1.1.5", "@netlify/blobs": "^8.2.0", "@netlify/build": "^32.2.0", - "@netlify/config": "^23.0.1", + "@netlify/config": "^23.0.2", "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", @@ -4046,11 +4046,10 @@ } }, "node_modules/@netlify/config": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-23.0.1.tgz", - "integrity": "sha512-KoI5HMLAmkrIn7icNlHAeCA4FwvnptShgJUPvjKm63ygYgGarM+MjtrKA10SDyBbONWLldmcuhh4gGGy8EszzQ==", + "version": "23.0.2", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-23.0.2.tgz", + "integrity": "sha512-jY6YcAGYc+WaZNc5RtA1WUTgYwMM2/ZYdOzPV/4xJ4txzHXqnUdRcSRu8IsD7niIKqsXxeIVmehXcqWTJGFmnQ==", "dev": true, - "license": "MIT", "dependencies": { "@iarna/toml": "^2.2.5", "@netlify/api": "^14.0.1", @@ -4059,12 +4058,12 @@ "chalk": "^5.0.0", "cron-parser": "^4.1.0", "deepmerge": "^4.2.2", - "dot-prop": "^7.0.0", - "execa": "^7.0.0", + "dot-prop": "^9.0.0", + "execa": "^8.0.0", "fast-safe-stringify": "^2.0.7", "figures": "^5.0.0", "filter-obj": "^5.0.0", - "find-up": "^6.0.0", + "find-up": "^7.0.0", "indent-string": "^5.0.0", "is-plain-obj": "^4.0.0", "js-yaml": "^4.0.0", @@ -4084,43 +4083,49 @@ "node": ">=18.14.0" } }, - "node_modules/@netlify/config/node_modules/execa": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "node_modules/@netlify/config/node_modules/dot-prop": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-9.0.0.tgz", + "integrity": "sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==", "dev": true, "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" + "type-fest": "^4.18.2" }, "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + "node": ">=18" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@netlify/config/node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "node_modules/@netlify/config/node_modules/find-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", + "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", "dev": true, + "dependencies": { + "locate-path": "^7.2.0", + "path-exists": "^5.0.0", + "unicorn-magic": "^0.1.0" + }, "engines": { - "node": ">=14.18.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@netlify/config/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "node_modules/@netlify/config/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/@netlify/dev-utils": { "version": "2.1.1", @@ -36903,9 +36908,9 @@ } }, "@netlify/config": { - "version": "23.0.1", - "resolved": "https://registry.npmjs.org/@netlify/config/-/config-23.0.1.tgz", - "integrity": "sha512-KoI5HMLAmkrIn7icNlHAeCA4FwvnptShgJUPvjKm63ygYgGarM+MjtrKA10SDyBbONWLldmcuhh4gGGy8EszzQ==", + "version": "23.0.2", + "resolved": "https://registry.npmjs.org/@netlify/config/-/config-23.0.2.tgz", + "integrity": "sha512-jY6YcAGYc+WaZNc5RtA1WUTgYwMM2/ZYdOzPV/4xJ4txzHXqnUdRcSRu8IsD7niIKqsXxeIVmehXcqWTJGFmnQ==", "dev": true, "requires": { "@iarna/toml": "^2.2.5", @@ -36915,12 +36920,12 @@ "chalk": "^5.0.0", "cron-parser": "^4.1.0", "deepmerge": "^4.2.2", - "dot-prop": "^7.0.0", - "execa": "^7.0.0", + "dot-prop": "^9.0.0", + "execa": "^8.0.0", "fast-safe-stringify": "^2.0.7", "figures": "^5.0.0", "filter-obj": "^5.0.0", - "find-up": "^6.0.0", + "find-up": "^7.0.0", "indent-string": "^5.0.0", "is-plain-obj": "^4.0.0", "js-yaml": "^4.0.0", @@ -36934,33 +36939,30 @@ "yargs": "^17.6.0" }, "dependencies": { - "execa": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dot-prop": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-9.0.0.tgz", + "integrity": "sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==", "dev": true, "requires": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" + "type-fest": "^4.18.2" } }, - "human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "dev": true + "find-up": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz", + "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==", + "dev": true, + "requires": { + "locate-path": "^7.2.0", + "path-exists": "^5.0.0", + "unicorn-magic": "^0.1.0" + } }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", "dev": true } } diff --git a/package.json b/package.json index bb94776b27..c20174bd8c 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "@fastly/http-compute-js": "1.1.5", "@netlify/blobs": "^8.2.0", "@netlify/build": "^32.2.0", - "@netlify/config": "^23.0.1", + "@netlify/config": "^23.0.2", "@netlify/edge-bundler": "^13.0.3", "@netlify/edge-functions": "^2.12.0", "@netlify/eslint-config-node": "^7.0.1", From 5e7bfdbf5aa0e678c76c9670dffffac5a6f3d2be Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 21 May 2025 13:03:12 +0200 Subject: [PATCH 31/31] chore(main): release 5.11.2 (#2909) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .release-please-manifest.json | 2 +- CHANGELOG.md | 10 ++++++++++ package-lock.json | 4 ++-- package.json | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index dfdf2d8c65..a0e37e5ec0 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "5.11.1" + ".": "5.11.2" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 669fcb3989..98bd973a09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Changelog +## [5.11.2](https://github.com/opennextjs/opennextjs-netlify/compare/v5.11.1...v5.11.2) (2025-05-21) + + +### Bug Fixes + +* address edge can read request body failures ([#2890](https://github.com/opennextjs/opennextjs-netlify/issues/2890)) ([5489c0d](https://github.com/opennextjs/opennextjs-netlify/commit/5489c0da29fb863ff2efb624b4dd128b5f37a8f0)) +* ensure internal `x-middleware-set-cookie` header is not passed on to lambda ([#2891](https://github.com/opennextjs/opennextjs-netlify/issues/2891)) ([b3ab558](https://github.com/opennextjs/opennextjs-netlify/commit/b3ab558bf50ded49cb6dac1ff714926c2832413d)) +* handle case of env not being defined for edge functions ([#2936](https://github.com/opennextjs/opennextjs-netlify/issues/2936)) ([ca1b7e8](https://github.com/opennextjs/opennextjs-netlify/commit/ca1b7e8f54e101bef76c1c3675b299ae90edac44)) +* only set permament caching header when reading html file when it's not during server initialization AND when read html is Next produced fully static html ([#2935](https://github.com/opennextjs/opennextjs-netlify/issues/2935)) ([6a8ef66](https://github.com/opennextjs/opennextjs-netlify/commit/6a8ef6693e17febd1b6bb0fdc7bc32c7c2b9a5e7)) + ## [5.11.1](https://github.com/opennextjs/opennextjs-netlify/compare/v5.11.0...v5.11.1) (2025-05-06) diff --git a/package-lock.json b/package-lock.json index b382e6bab4..41373e0670 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@netlify/plugin-nextjs", - "version": "5.11.1", + "version": "5.11.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@netlify/plugin-nextjs", - "version": "5.11.1", + "version": "5.11.2", "license": "MIT", "devDependencies": { "@fastly/http-compute-js": "1.1.5", diff --git a/package.json b/package.json index c20174bd8c..f1e0289c54 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@netlify/plugin-nextjs", - "version": "5.11.1", + "version": "5.11.2", "description": "Run Next.js seamlessly on Netlify", "main": "./dist/index.js", "type": "module",