Skip to content

Commit

Permalink
adapter-netlify: Use CJS entrypoint to load ESM files (#485)
Browse files Browse the repository at this point in the history
* adapter-netlify: Use CJS entrypoint to load ESM files

* adapter-netlify changeset
  • Loading branch information
GrygrFlzr authored Mar 12, 2021
1 parent ea63518 commit 512b8c9
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 3 deletions.
5 changes: 5 additions & 0 deletions .changeset/silver-scissors-peel.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@sveltejs/adapter-netlify': patch
---

adapter-netlify: Use CJS entrypoint
6 changes: 6 additions & 0 deletions packages/adapter-netlify/files/index.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module.exports = {
async handler(event) {
const { handler } = await import('./handler.mjs');
return await handler(event);
}
};
2 changes: 1 addition & 1 deletion packages/adapter-netlify/files/render.js
Original file line number Diff line number Diff line change
@@ -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 {
Expand Down
10 changes: 8 additions & 2 deletions packages/adapter-netlify/index.js
Original file line number Diff line number Diff line change
@@ -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';
Expand Down Expand Up @@ -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');
Expand Down

0 comments on commit 512b8c9

Please sign in to comment.