diff --git a/package-lock.json b/package-lock.json index 12310e6f6..3c57da5ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -94,6 +94,7 @@ "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.3", @@ -690,7 +691,6 @@ "os": [ "aix" ], - "peer": true, "engines": { "node": ">=18" } @@ -708,7 +708,6 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">=18" } @@ -726,7 +725,6 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">=18" } @@ -744,7 +742,6 @@ "os": [ "android" ], - "peer": true, "engines": { "node": ">=18" } @@ -762,7 +759,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">=18" } @@ -780,7 +776,6 @@ "os": [ "darwin" ], - "peer": true, "engines": { "node": ">=18" } @@ -798,7 +793,6 @@ "os": [ "freebsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -816,7 +810,6 @@ "os": [ "freebsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -834,7 +827,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -852,7 +844,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -870,7 +861,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -888,7 +878,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -906,7 +895,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -924,7 +912,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -942,7 +929,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -960,7 +946,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -978,7 +963,6 @@ "os": [ "linux" ], - "peer": true, "engines": { "node": ">=18" } @@ -996,7 +980,6 @@ "os": [ "netbsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -1014,7 +997,6 @@ "os": [ "netbsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -1032,7 +1014,6 @@ "os": [ "openbsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -1050,7 +1031,6 @@ "os": [ "openbsd" ], - "peer": true, "engines": { "node": ">=18" } @@ -1068,7 +1048,6 @@ "os": [ "openharmony" ], - "peer": true, "engines": { "node": ">=18" } @@ -1086,7 +1065,6 @@ "os": [ "sunos" ], - "peer": true, "engines": { "node": ">=18" } @@ -1104,7 +1082,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=18" } @@ -1122,7 +1099,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=18" } @@ -1140,7 +1116,6 @@ "os": [ "win32" ], - "peer": true, "engines": { "node": ">=18" } @@ -2800,6 +2775,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -2913,12 +2889,6 @@ "resolved": "packages/edge-functions/prod", "link": true }, - "node_modules/@netlify/edge-functions-bootstrap": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/@netlify/edge-functions-bootstrap/-/edge-functions-bootstrap-2.16.0.tgz", - "integrity": "sha512-v8QQihSbBHj3JxtJsHoepXALpNumD9M7egHoc8z62FYl5it34dWczkaJoFFopEyhiBVKi4K/n0ZYpdzwfujd6g==", - "license": "MIT" - }, "node_modules/@netlify/edge-functions-dev": { "resolved": "packages/edge-functions/dev", "link": true @@ -3634,6 +3604,7 @@ "integrity": "sha512-WQ751WxWLBIeH3TDFt/LWQ2znyAKxpR5+gpv80oerwnVQs4GKajAfR6dIgExXZkjaPUHEFv2lVD9vM+frbprzw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "c12": "^3.2.0", "citty": "^0.1.6", @@ -4523,21 +4494,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@nuxt/vite-builder/node_modules/meow": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", - "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@nuxt/vite-builder/node_modules/npm-run-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", @@ -4685,6 +4641,7 @@ "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", "license": "Apache-2.0", + "peer": true, "engines": { "node": ">=8.0.0" } @@ -5618,6 +5575,7 @@ "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", "hasInstallScript": true, "license": "MIT", + "peer": true, "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", @@ -6235,8 +6193,7 @@ "optional": true, "os": [ "android" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-android-arm64": { "version": "4.50.1", @@ -6250,8 +6207,7 @@ "optional": true, "os": [ "android" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-darwin-arm64": { "version": "4.50.1", @@ -6265,8 +6221,7 @@ "optional": true, "os": [ "darwin" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-darwin-x64": { "version": "4.50.1", @@ -6280,8 +6235,7 @@ "optional": true, "os": [ "darwin" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-freebsd-arm64": { "version": "4.50.1", @@ -6295,8 +6249,7 @@ "optional": true, "os": [ "freebsd" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-freebsd-x64": { "version": "4.50.1", @@ -6310,8 +6263,7 @@ "optional": true, "os": [ "freebsd" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { "version": "4.50.1", @@ -6325,8 +6277,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { "version": "4.50.1", @@ -6340,8 +6291,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { "version": "4.50.1", @@ -6355,8 +6305,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { "version": "4.50.1", @@ -6370,8 +6319,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { "version": "4.50.1", @@ -6385,8 +6333,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { "version": "4.50.1", @@ -6400,8 +6347,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { "version": "4.50.1", @@ -6415,8 +6361,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { "version": "4.50.1", @@ -6430,8 +6375,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { "version": "4.50.1", @@ -6445,8 +6389,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { "version": "4.50.1", @@ -6460,8 +6403,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-linux-x64-musl": { "version": "4.50.1", @@ -6475,8 +6417,7 @@ "optional": true, "os": [ "linux" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-openharmony-arm64": { "version": "4.50.1", @@ -6490,8 +6431,7 @@ "optional": true, "os": [ "openharmony" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { "version": "4.50.1", @@ -6505,8 +6445,7 @@ "optional": true, "os": [ "win32" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { "version": "4.50.1", @@ -6520,8 +6459,7 @@ "optional": true, "os": [ "win32" - ], - "peer": true + ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { "version": "4.50.1", @@ -6535,8 +6473,7 @@ "optional": true, "os": [ "win32" - ], - "peer": true + ] }, "node_modules/@sinclair/typebox": { "version": "0.27.8", @@ -6719,6 +6656,7 @@ "integrity": "sha512-3vXmQDXy+woz+gnrTvuvNrPzekOi+Ds0ReMxw0LzBiK3a+1k0kQn9f2NWk+lgD4rJehFUmYy2gMhJ2ZI+7YP9g==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~7.10.0" } @@ -6862,6 +6800,7 @@ "integrity": "sha512-B7RIQiTsCBBmY+yW4+ILd6mF5h1FUwJsVvpqkrgpszYifetQ2Ke+Z4u6aZh0CblkUGIdR59iYVyXqqZGkZ3aBw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.43.0", "@typescript-eslint/types": "8.43.0", @@ -7706,6 +7645,7 @@ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.21.tgz", "integrity": "sha512-8i+LZ0vf6ZgII5Z9XmUvrCyEzocvWT+TeR2VBUVlzIH6Tyv57E20mPZ1bCS+tbejgUgmjrEh7q/0F0bibskAmw==", "license": "MIT", + "peer": true, "dependencies": { "@babel/parser": "^7.28.3", "@vue/shared": "3.5.21", @@ -7729,6 +7669,7 @@ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.21.tgz", "integrity": "sha512-SXlyk6I5eUGBd2v8Ie7tF6ADHE9kCR6mBEuPyH1nUZ0h6Xx6nZI29i12sJKQmzbDyr2tUHMhhTt51Z6blbkTTQ==", "license": "MIT", + "peer": true, "dependencies": { "@babel/parser": "^7.28.3", "@vue/compiler-core": "3.5.21", @@ -8012,6 +7953,7 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -8052,6 +7994,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "license": "MIT", + "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -8487,6 +8430,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "caniuse-lite": "^1.0.30001737", "electron-to-chromium": "^1.5.211", @@ -10133,6 +10077,7 @@ "dev": true, "hasInstallScript": true, "license": "MIT", + "peer": true, "bin": { "esbuild": "bin/esbuild" }, @@ -13154,6 +13099,7 @@ "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/minimist": "^1.2.0", "camelcase-keys": "^6.2.2", @@ -14497,6 +14443,7 @@ "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -14552,6 +14499,7 @@ "integrity": "sha512-v9+uomgqyLSxlq3qlaMqJJtXg2+rUsa368p/zkmgi5OMGmcZAtZt5GIeSVFF84iNET+08Hdx/rUtd/FyIdfNFQ==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@oxc-project/types": "^0.86.0" }, @@ -15036,6 +14984,7 @@ "integrity": "sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "playwright-core": "cli.js" }, @@ -15103,6 +15052,7 @@ } ], "license": "MIT", + "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -16532,6 +16482,7 @@ "integrity": "sha512-78E9voJHwnXQMiQdiqswVLZwJIzdBKJ1GdI5Zx6XwoFKUIk09/sSrr+05QFzvYb8q6Y9pPV45zzDuYa3907TZA==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -18934,6 +18885,7 @@ "dev": true, "hasInstallScript": true, "license": "MIT", + "peer": true, "dependencies": { "napi-postinstall": "^0.3.0" }, @@ -19224,6 +19176,7 @@ "integrity": "sha512-NL8jTlbo0Tn4dUEXEsUg8KeyG/Lkmc4Fnzb8JXN/Ykm9G4HNImjtABMJgkQoVjOBN/j2WAwDTRytdqJbZsah7w==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", @@ -19422,6 +19375,7 @@ "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/chai": "^5.2.2", "@vitest/expect": "3.2.4", @@ -19512,6 +19466,7 @@ "integrity": "sha512-xxf9rum9KtOdwdRkiApWL+9hZEMWE90FHh8yS1+KJAiWYh+iGWV1FquPjoO9VUHQ+VIhsCXNNyZ5Sf4++RVZBA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@vue/compiler-dom": "3.5.21", "@vue/compiler-sfc": "3.5.21", @@ -19551,6 +19506,7 @@ "integrity": "sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "debug": "^4.4.0", "eslint-scope": "^8.2.0", @@ -19588,6 +19544,7 @@ "integrity": "sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@vue/devtools-api": "^6.6.4" }, @@ -19604,6 +19561,7 @@ "integrity": "sha512-pXx4pkHigOJCzGPXhGA9Rdou1oIuNiF9n4n5GQ7C4QehTXFEpKUjcpvc3PZ6LvC6ccUL021qor8j1153Y7/6Ig==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@babel/parser": "^7.27.0" }, @@ -19622,6 +19580,7 @@ "integrity": "sha512-Tbs8Whd43R2e2nxez4WXPvvdjGbW24rOSgRhLOHXzWiT4pcP4G7KeWh0YCn18rF4bVwv7tggLLZ6MJnO6jXPBg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@volar/typescript": "2.4.23", "@vue/language-core": "3.0.6" @@ -20448,27 +20407,6 @@ "undici-types": "~5.26.4" } }, - "packages/edge-functions": { - "name": "@netlify/edge-functions", - "version": "3.0.3", - "license": "MIT", - "dependencies": { - "@netlify/dev-utils": "4.3.0", - "@netlify/edge-bundler": "^14.5.2", - "@netlify/edge-functions-bootstrap": "2.16.0", - "@netlify/runtime-utils": "2.2.0", - "@netlify/types": "2.1.0", - "get-port": "^7.1.0" - }, - "devDependencies": { - "execa": "^8.0.1", - "tsup": "^8.0.0", - "vitest": "^3.0.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, "packages/edge-functions/dev": { "name": "@netlify/edge-functions-dev", "version": "1.0.8", @@ -20477,7 +20415,7 @@ "@netlify/dev-utils": "4.3.3", "@netlify/edge-bundler": "^14.9.2", "@netlify/edge-functions": "3.0.3", - "@netlify/edge-functions-bootstrap": "2.16.0", + "@netlify/edge-functions-bootstrap": "3.1.0", "@netlify/runtime-utils": "2.2.1", "get-port": "^7.1.0" }, @@ -20490,6 +20428,12 @@ "node": ">=20.6.1" } }, + "packages/edge-functions/dev/node_modules/@netlify/edge-functions-bootstrap": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@netlify/edge-functions-bootstrap/-/edge-functions-bootstrap-3.1.0.tgz", + "integrity": "sha512-A19x6Wi9pA1cp6cMUWPqQhyGhlYxrZIoMjKMN8raBoQHQrscK5SpD/Slbvic7Sji+lYR9QSH5/hAwivT2rVr9A==", + "license": "MIT" + }, "packages/edge-functions/prod": { "name": "@netlify/edge-functions", "version": "3.0.3", @@ -21149,6 +21093,7 @@ "version": "20.19.11", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~6.21.0" } diff --git a/packages/dev/src/main.test.ts b/packages/dev/src/main.test.ts index 968a1dfaf..c538cfaa6 100644 --- a/packages/dev/src/main.test.ts +++ b/packages/dev/src/main.test.ts @@ -766,6 +766,7 @@ describe('Handling requests', () => { params: { '0': 'two/three', }, + path: '/hello/terminate/*', server: { region: 'dev', }, @@ -1038,8 +1039,7 @@ describe('Handling requests', () => { params: { '0': 'two/three', }, - // TODO: This doesn't exist in edge functions but it should. - // path: '/hello/terminate/*', + path: '/hello/terminate/*', server: { region: 'dev', }, diff --git a/packages/edge-functions/dev/package.json b/packages/edge-functions/dev/package.json index 52a7953bc..b12e0cdc7 100644 --- a/packages/edge-functions/dev/package.json +++ b/packages/edge-functions/dev/package.json @@ -42,7 +42,7 @@ "@netlify/dev-utils": "4.3.3", "@netlify/edge-bundler": "^14.9.2", "@netlify/edge-functions": "3.0.3", - "@netlify/edge-functions-bootstrap": "2.16.0", + "@netlify/edge-functions-bootstrap": "3.1.0", "@netlify/runtime-utils": "2.2.1", "get-port": "^7.1.0" }, diff --git a/packages/edge-functions/dev/src/deno/workers/runner.mjs b/packages/edge-functions/dev/src/deno/workers/runner.mjs index aba311175..69914d3ae 100644 --- a/packages/edge-functions/dev/src/deno/workers/runner.mjs +++ b/packages/edge-functions/dev/src/deno/workers/runner.mjs @@ -39,7 +39,7 @@ worker.addEventListener('message', async (e) => { await Promise.allSettled(imports) - const res = await handleRequest(req, functions, { + const res = await handleRequest(req, () => Promise.resolve(functions), { // @ts-ignore TODO: Figure out why `fetchRewrites` is not being picked up // as part of the type. fetchRewrites, diff --git a/packages/edge-functions/dev/src/node/main.test.ts b/packages/edge-functions/dev/src/node/main.test.ts index 8e6f4a49d..b91a2feb1 100644 --- a/packages/edge-functions/dev/src/node/main.test.ts +++ b/packages/edge-functions/dev/src/node/main.test.ts @@ -87,6 +87,7 @@ describe('`EdgeFunctionsHandler`', () => { timezone: 'UTC', }, params: {}, + path: '/echo', server: { region: 'dev' }, site: { id: '123', name: 'test', url: serverAddress }, url: `${serverAddress}/echo`,