diff options
author | 2023-09-25 15:45:13 +0200 | |
---|---|---|
committer | 2023-09-25 15:45:13 +0200 | |
commit | 008f7647c4788207aab55ab12c734bd80e6df9c5 (patch) | |
tree | 5894d352348eced537b9f0acea6d6930bc108fd7 /packages/integrations/netlify/src/integration-functions.ts | |
parent | 954cadc1e534079a6fba369629272caa173d40ac (diff) | |
download | astro-008f7647c4788207aab55ab12c734bd80e6df9c5.tar.gz astro-008f7647c4788207aab55ab12c734bd80e6df9c5.tar.zst astro-008f7647c4788207aab55ab12c734bd80e6df9c5.zip |
fix(netlify): bundle netlify functions as ESM to support top-level await (#8661)
Diffstat (limited to 'packages/integrations/netlify/src/integration-functions.ts')
-rw-r--r-- | packages/integrations/netlify/src/integration-functions.ts | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/packages/integrations/netlify/src/integration-functions.ts b/packages/integrations/netlify/src/integration-functions.ts index b8d56ad65..81aa8ff2f 100644 --- a/packages/integrations/netlify/src/integration-functions.ts +++ b/packages/integrations/netlify/src/integration-functions.ts @@ -1,5 +1,6 @@ import type { AstroAdapter, AstroConfig, AstroIntegration, RouteData } from 'astro'; -import { extname } from 'node:path'; +import { extname, join } from 'node:path'; +import { writeFile } from 'node:fs/promises'; import { fileURLToPath } from 'node:url'; import { generateEdgeMiddleware } from './middleware.js'; import type { Args } from './netlify-functions.js'; @@ -85,6 +86,15 @@ function netlifyFunctions({ } }, 'astro:build:done': async ({ routes, dir }) => { + const functionsConfig = { + version: 1, + config: { + nodeModuleFormat: "esm" + } + } + const functionsConfigPath = join(fileURLToPath(_config.build.server), "entry.json") + await writeFile(functionsConfigPath, JSON.stringify(functionsConfig)) + const type = builders ? 'builders' : 'functions'; const kind = type ?? 'functions'; |