@@ -119,7 +119,7 @@ const writeHandlerFile = async (ctx: PluginContext, { matchers, name }: NextDefi
119
119
120
120
const copyHandlerDependencies = async (
121
121
ctx : PluginContext ,
122
- { name, files, wasm } : NextDefinition ,
122
+ { name, env , files, wasm } : NextDefinition ,
123
123
) => {
124
124
const srcDir = join ( ctx . standaloneDir , ctx . nextDistDir )
125
125
const destDir = join ( ctx . edgeFunctionsDir , getHandlerName ( { name } ) )
@@ -132,6 +132,11 @@ const copyHandlerDependencies = async (
132
132
133
133
const outputFile = join ( destDir , `server/${ name } .js` )
134
134
135
+ // Prepare environment variables for draft-mode (i.e. __NEXT_PREVIEW_MODE_ID, __NEXT_PREVIEW_MODE_SIGNING_KEY, __NEXT_PREVIEW_MODE_ENCRYPTION_KEY)
136
+ for ( const [ key , value ] of Object . entries ( env ) ) {
137
+ parts . push ( `process.env.${ key } = '${ value } ';` )
138
+ }
139
+
135
140
if ( wasm ?. length ) {
136
141
for ( const wasmChunk of wasm ?? [ ] ) {
137
142
const data = await readFile ( join ( srcDir , wasmChunk . filePath ) )
@@ -161,16 +166,16 @@ const buildHandlerDefinition = (
161
166
ctx : PluginContext ,
162
167
{ name, matchers, page } : NextDefinition ,
163
168
) : Array < ManifestFunction > => {
164
- const fun = getHandlerName ( { name } )
165
- const funName = name . endsWith ( 'middleware' )
169
+ const functionHandlerName = getHandlerName ( { name } )
170
+ const functionName = name . endsWith ( 'middleware' )
166
171
? 'Next.js Middleware Handler'
167
172
: `Next.js Edge Handler: ${ page } `
168
173
const cache = name . endsWith ( 'middleware' ) ? undefined : ( 'manual' as const )
169
174
const generator = `${ ctx . pluginName } @${ ctx . pluginVersion } `
170
175
171
176
return augmentMatchers ( matchers , ctx ) . map ( ( matcher ) => ( {
172
- function : fun ,
173
- name : funName ,
177
+ function : functionHandlerName ,
178
+ name : functionName ,
174
179
pattern : matcher . regexp ,
175
180
cache,
176
181
generator,
@@ -183,10 +188,7 @@ export const clearStaleEdgeHandlers = async (ctx: PluginContext) => {
183
188
184
189
export const createEdgeHandlers = async ( ctx : PluginContext ) => {
185
190
const nextManifest = await ctx . getMiddlewareManifest ( )
186
- const nextDefinitions = [
187
- ...Object . values ( nextManifest . middleware ) ,
188
- // ...Object.values(nextManifest.functions)
189
- ]
191
+ const nextDefinitions = [ ...Object . values ( nextManifest . middleware ) ]
190
192
await Promise . all ( nextDefinitions . map ( ( def ) => createEdgeHandler ( ctx , def ) ) )
191
193
192
194
const netlifyDefinitions = nextDefinitions . flatMap ( ( def ) => buildHandlerDefinition ( ctx , def ) )
0 commit comments