diff --git a/.changeset/silver-scissors-peel.md b/.changeset/silver-scissors-peel.md new file mode 100644 index 000000000000..9becaee2e186 --- /dev/null +++ b/.changeset/silver-scissors-peel.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/adapter-netlify': patch +--- + +adapter-netlify: Use CJS entrypoint diff --git a/packages/adapter-netlify/files/index.cjs b/packages/adapter-netlify/files/index.cjs new file mode 100644 index 000000000000..df52d8e4876d --- /dev/null +++ b/packages/adapter-netlify/files/index.cjs @@ -0,0 +1,6 @@ +module.exports = { + async handler(event) { + const { handler } = await import('./handler.mjs'); + return await handler(event); + } +}; diff --git a/packages/adapter-netlify/files/render.js b/packages/adapter-netlify/files/render.js index a2470663c52c..d9e90a795432 100644 --- a/packages/adapter-netlify/files/render.js +++ b/packages/adapter-netlify/files/render.js @@ -1,7 +1,7 @@ 'use strict'; import { URLSearchParams } from 'url'; -import { render } from './app.js'; // eslint-disable-line import/no-unresolved +import { render } from './app.mjs'; // eslint-disable-line import/no-unresolved export async function handler(event) { const { diff --git a/packages/adapter-netlify/index.js b/packages/adapter-netlify/index.js index 76afe0b69a1d..36a381091d76 100644 --- a/packages/adapter-netlify/index.js +++ b/packages/adapter-netlify/index.js @@ -1,6 +1,6 @@ 'use strict'; -import { existsSync, readFileSync, copyFileSync, writeFileSync } from 'fs'; +import { existsSync, readFileSync, copyFileSync, writeFileSync, renameSync } from 'fs'; import { dirname, resolve } from 'path'; import toml from 'toml'; import { fileURLToPath } from 'url'; @@ -37,8 +37,14 @@ export default async function adapter(builder) { builder.copy_client_files(publish); builder.copy_server_files(`${functions}/render`); + // rename app to .mjs + renameSync(`${functions}/render/app.js`, `${functions}/render/app.mjs`); + // copy the renderer - copyFileSync(resolve(__dirname, 'files/render.js'), `${functions}/render/index.js`); + copyFileSync(resolve(__dirname, 'files/render.js'), `${functions}/render/handler.mjs`); + + // copy the entry point + copyFileSync(resolve(__dirname, 'files/index.cjs'), `${functions}/render/index.js`); // create _redirects writeFileSync(`${publish}/_redirects`, '/* /.netlify/functions/render 200');