Skip to content

Commit 419dc8d

Browse files
committed
use esm everywhere, base target on env for v1 output as well as v3
1 parent 38f5707 commit 419dc8d

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

packages/adapter-vercel/index.js

+11-7
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ export default function ({ external = [], edge, split } = {}) {
104104
* @param {string[]} external
105105
*/
106106
async function v1(builder, external) {
107+
const node_version = get_node_version();
108+
107109
const dir = '.vercel_build_output';
108110

109111
const tmp = builder.getBuildDirectory('vercel-tmp');
@@ -139,13 +141,14 @@ async function v1(builder, external) {
139141
await esbuild.build({
140142
entryPoints: [`${tmp}/serverless.js`],
141143
outfile: `${dirs.lambda}/index.js`,
142-
target: 'node14',
144+
target: `node${node_version.full}`,
143145
bundle: true,
144146
platform: 'node',
145-
external
147+
external,
148+
format: 'esm'
146149
});
147150

148-
writeFileSync(`${dirs.lambda}/package.json`, JSON.stringify({ type: 'commonjs' }));
151+
writeFileSync(`${dirs.lambda}/package.json`, JSON.stringify({ type: 'module' }));
149152

150153
builder.log.minor('Copying assets...');
151154

@@ -200,6 +203,8 @@ async function v1(builder, external) {
200203
* @param {boolean} split
201204
*/
202205
async function v3(builder, external, edge, split) {
206+
const node_version = get_node_version();
207+
203208
const dir = '.vercel/output';
204209

205210
const tmp = builder.getBuildDirectory('vercel-tmp');
@@ -247,7 +252,6 @@ async function v3(builder, external, edge, split) {
247252
async function generate_serverless_function(name, pattern, generate_manifest) {
248253
const tmp = builder.getBuildDirectory(`vercel-tmp/${name}`);
249254
const relativePath = posix.relative(tmp, builder.getServerDirectory());
250-
const nodeVersion = getNodeVersion();
251255

252256
builder.copy(`${files}/serverless.js`, `${tmp}/serverless.js`, {
253257
replace: {
@@ -264,7 +268,7 @@ async function v3(builder, external, edge, split) {
264268
await esbuild.build({
265269
entryPoints: [`${tmp}/serverless.js`],
266270
outfile: `${dirs.functions}/${name}.func/index.js`,
267-
target: `node${nodeVersion.full}`,
271+
target: `node${node_version.full}`,
268272
bundle: true,
269273
platform: 'node',
270274
format: 'esm',
@@ -274,7 +278,7 @@ async function v3(builder, external, edge, split) {
274278
write(
275279
`${dirs.functions}/${name}.func/.vc-config.json`,
276280
JSON.stringify({
277-
runtime: `nodejs${nodeVersion.major}.x`,
281+
runtime: `nodejs${node_version.major}.x`,
278282
handler: 'index.js',
279283
launcherType: 'Nodejs'
280284
})
@@ -309,7 +313,7 @@ async function v3(builder, external, edge, split) {
309313
await esbuild.build({
310314
entryPoints: [`${tmp}/edge.js`],
311315
outfile: `${dirs.functions}/${name}.func/index.js`,
312-
target: 'node14',
316+
target: 'es2020', // TODO verify what the edge runtime supports
313317
bundle: true,
314318
platform: 'node',
315319
format: 'esm',

0 commit comments

Comments
 (0)