@@ -104,6 +104,8 @@ export default function ({ external = [], edge, split } = {}) {
104
104
* @param {string[] } external
105
105
*/
106
106
async function v1 ( builder , external ) {
107
+ const node_version = get_node_version ( ) ;
108
+
107
109
const dir = '.vercel_build_output' ;
108
110
109
111
const tmp = builder . getBuildDirectory ( 'vercel-tmp' ) ;
@@ -139,13 +141,14 @@ async function v1(builder, external) {
139
141
await esbuild . build ( {
140
142
entryPoints : [ `${ tmp } /serverless.js` ] ,
141
143
outfile : `${ dirs . lambda } /index.js` ,
142
- target : 'node14' ,
144
+ target : `node ${ node_version . full } ` ,
143
145
bundle : true ,
144
146
platform : 'node' ,
145
- external
147
+ external,
148
+ format : 'esm'
146
149
} ) ;
147
150
148
- writeFileSync ( `${ dirs . lambda } /package.json` , JSON . stringify ( { type : 'commonjs ' } ) ) ;
151
+ writeFileSync ( `${ dirs . lambda } /package.json` , JSON . stringify ( { type : 'module ' } ) ) ;
149
152
150
153
builder . log . minor ( 'Copying assets...' ) ;
151
154
@@ -200,6 +203,8 @@ async function v1(builder, external) {
200
203
* @param {boolean } split
201
204
*/
202
205
async function v3 ( builder , external , edge , split ) {
206
+ const node_version = get_node_version ( ) ;
207
+
203
208
const dir = '.vercel/output' ;
204
209
205
210
const tmp = builder . getBuildDirectory ( 'vercel-tmp' ) ;
@@ -247,7 +252,6 @@ async function v3(builder, external, edge, split) {
247
252
async function generate_serverless_function ( name , pattern , generate_manifest ) {
248
253
const tmp = builder . getBuildDirectory ( `vercel-tmp/${ name } ` ) ;
249
254
const relativePath = posix . relative ( tmp , builder . getServerDirectory ( ) ) ;
250
- const nodeVersion = getNodeVersion ( ) ;
251
255
252
256
builder . copy ( `${ files } /serverless.js` , `${ tmp } /serverless.js` , {
253
257
replace : {
@@ -264,7 +268,7 @@ async function v3(builder, external, edge, split) {
264
268
await esbuild . build ( {
265
269
entryPoints : [ `${ tmp } /serverless.js` ] ,
266
270
outfile : `${ dirs . functions } /${ name } .func/index.js` ,
267
- target : `node${ nodeVersion . full } ` ,
271
+ target : `node${ node_version . full } ` ,
268
272
bundle : true ,
269
273
platform : 'node' ,
270
274
format : 'esm' ,
@@ -274,7 +278,7 @@ async function v3(builder, external, edge, split) {
274
278
write (
275
279
`${ dirs . functions } /${ name } .func/.vc-config.json` ,
276
280
JSON . stringify ( {
277
- runtime : `nodejs${ nodeVersion . major } .x` ,
281
+ runtime : `nodejs${ node_version . major } .x` ,
278
282
handler : 'index.js' ,
279
283
launcherType : 'Nodejs'
280
284
} )
@@ -309,7 +313,7 @@ async function v3(builder, external, edge, split) {
309
313
await esbuild . build ( {
310
314
entryPoints : [ `${ tmp } /edge.js` ] ,
311
315
outfile : `${ dirs . functions } /${ name } .func/index.js` ,
312
- target : 'node14' ,
316
+ target : 'es2020' , // TODO verify what the edge runtime supports
313
317
bundle : true ,
314
318
platform : 'node' ,
315
319
format : 'esm' ,
0 commit comments