From 2ee95642815b22d3c306745972e125bf6a83315c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Bou=C3=A7as?= Date: Wed, 30 Jul 2025 10:56:16 +0100 Subject: [PATCH 1/3] chore: use edge functions bootstrap package in tests --- package-lock.json | 8 ++++++++ packages/edge-bundler/node/server/server.test.ts | 5 +++-- packages/edge-bundler/package.json | 1 + packages/edge-bundler/tsconfig.json | 2 +- 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index da0cddcb5c..df5ac5d1e6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2393,6 +2393,13 @@ "resolved": "packages/edge-bundler", "link": true }, + "node_modules/@netlify/edge-functions-bootstrap": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/@netlify/edge-functions-bootstrap/-/edge-functions-bootstrap-2.14.0.tgz", + "integrity": "sha512-Fs1cQ+XKfKr2OxrAvmX+S46CJmrysxBdCUCTk/wwcCZikrDvsYUFG7FTquUl4JfAf9taYYyW/tPv35gKOKS8BQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@netlify/functions-utils": { "resolved": "packages/functions-utils", "link": true @@ -24363,6 +24370,7 @@ "uuid": "^11.0.0" }, "devDependencies": { + "@netlify/edge-functions-bootstrap": "^2.14.0", "@types/node": "^18.19.111", "@types/semver": "^7.3.9", "@types/uuid": "^10.0.0", diff --git a/packages/edge-bundler/node/server/server.test.ts b/packages/edge-bundler/node/server/server.test.ts index f6554fedd6..518fd7c41c 100644 --- a/packages/edge-bundler/node/server/server.test.ts +++ b/packages/edge-bundler/node/server/server.test.ts @@ -3,6 +3,7 @@ import { readFile } from 'fs/promises' import { join } from 'path' import process from 'process' +import { getURL as getBootstrapURL } from '@netlify/edge-functions-bootstrap/version' import getPort from 'get-port' import tmp from 'tmp-promise' import { v4 as uuidv4 } from 'uuid' @@ -22,7 +23,7 @@ test('Starts a server and serves requests for edge functions', async () => { const servePath = join(basePath, '.netlify', 'edge-functions-serve') const server = await serve({ basePath, - bootstrapURL: 'https://edge.netlify.com/bootstrap/index-combined.ts', + bootstrapURL: await getBootstrapURL(), port, servePath, }) @@ -119,7 +120,7 @@ test('Serves edge functions in a monorepo setup', async () => { const servePath = join(basePath, '.netlify', 'edge-functions-serve') const server = await serve({ basePath, - bootstrapURL: 'https://edge.netlify.com/bootstrap/index-combined.ts', + bootstrapURL: await getBootstrapURL(), port, rootPath, servePath, diff --git a/packages/edge-bundler/package.json b/packages/edge-bundler/package.json index 6967fa8dd9..25bb7b1751 100644 --- a/packages/edge-bundler/package.json +++ b/packages/edge-bundler/package.json @@ -42,6 +42,7 @@ "test": "test/node" }, "devDependencies": { + "@netlify/edge-functions-bootstrap": "^2.14.0", "@types/node": "^18.19.111", "@types/semver": "^7.3.9", "@types/uuid": "^10.0.0", diff --git a/packages/edge-bundler/tsconfig.json b/packages/edge-bundler/tsconfig.json index 98e40d81b6..42ace1355e 100644 --- a/packages/edge-bundler/tsconfig.json +++ b/packages/edge-bundler/tsconfig.json @@ -40,7 +40,7 @@ // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ /* Module Resolution Options */ - "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, + "moduleResolution": "nodenext" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ From fff3d79491d3ddd2870672f51d8792e451c7853d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Bou=C3=A7as?= Date: Wed, 30 Jul 2025 11:08:54 +0100 Subject: [PATCH 2/3] fix: update `module` setting --- packages/edge-bundler/tsconfig.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/edge-bundler/tsconfig.json b/packages/edge-bundler/tsconfig.json index 42ace1355e..b26a8b9ad7 100644 --- a/packages/edge-bundler/tsconfig.json +++ b/packages/edge-bundler/tsconfig.json @@ -5,7 +5,7 @@ /* Basic Options */ "incremental": true /* Enable incremental compilation */, "target": "ES2019" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, - "module": "es2020" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, + "module": "nodenext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, // "lib": [], /* Specify library files to be included in the compilation. */ "allowJs": true /* Allow javascript files to be compiled. */, // "checkJs": true, /* Report errors in .js files. */ From 5a588deceb2217eea396411b89082491b104ef0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eduardo=20Bou=C3=A7as?= Date: Wed, 30 Jul 2025 11:17:46 +0100 Subject: [PATCH 3/3] refactor: revert tsconfig changes --- packages/edge-bundler/node/server/server.test.ts | 4 ++++ packages/edge-bundler/tsconfig.json | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/edge-bundler/node/server/server.test.ts b/packages/edge-bundler/node/server/server.test.ts index 518fd7c41c..525339df63 100644 --- a/packages/edge-bundler/node/server/server.test.ts +++ b/packages/edge-bundler/node/server/server.test.ts @@ -3,6 +3,10 @@ import { readFile } from 'fs/promises' import { join } from 'path' import process from 'process' +// @ts-expect-error TypeScript is complaining about the values for the `module` +// and `moduleResolution` configuration properties, but changing those to more +// modern values causes other packages to fail. Leaving this for now, but we +// should have a proper fix for this. import { getURL as getBootstrapURL } from '@netlify/edge-functions-bootstrap/version' import getPort from 'get-port' import tmp from 'tmp-promise' diff --git a/packages/edge-bundler/tsconfig.json b/packages/edge-bundler/tsconfig.json index b26a8b9ad7..98e40d81b6 100644 --- a/packages/edge-bundler/tsconfig.json +++ b/packages/edge-bundler/tsconfig.json @@ -5,7 +5,7 @@ /* Basic Options */ "incremental": true /* Enable incremental compilation */, "target": "ES2019" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, - "module": "nodenext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, + "module": "es2020" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */, // "lib": [], /* Specify library files to be included in the compilation. */ "allowJs": true /* Allow javascript files to be compiled. */, // "checkJs": true, /* Report errors in .js files. */ @@ -40,7 +40,7 @@ // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ /* Module Resolution Options */ - "moduleResolution": "nodenext" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, + "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */