@@ -7,26 +7,33 @@ const makeHandler =
7
7
( ) =>
8
8
// We return a function and then call `toString()` on it to serialise it as the launcher function
9
9
( conf , app ) => {
10
+ // This is just so nft knows about the page entrypoints
11
+ try {
12
+ // eslint-disable-next-line node/no-missing-require
13
+ require . resolve ( './pages.js' )
14
+ } catch { }
15
+
10
16
let NextServer
11
17
try {
12
18
// next >= 11.0.1. Yay breaking changes in patch releases!
13
19
NextServer = require ( 'next/dist/server/next-server' ) . default
14
- } catch {
20
+ } catch ( error ) {
21
+ if ( ! error . message . includes ( "Cannot find module 'next/dist/server/next-server'" ) ) {
22
+ // A different error, so rethrow it
23
+ throw error
24
+ }
15
25
// Probably an old version of next
16
26
}
17
27
18
- // This is just so nft knows about the page entrypoints
19
- try {
20
- // eslint-disable-next-line node/no-missing-require
21
- require . resolve ( './pages.js' )
22
- } catch { }
23
-
24
28
if ( ! NextServer ) {
25
29
try {
26
30
// next < 11.0.1
27
31
// eslint-disable-next-line node/no-missing-require, import/no-unresolved
28
32
NextServer = require ( 'next/dist/next-server/server/next-server' ) . default
29
- } catch {
33
+ } catch ( error ) {
34
+ if ( ! error . message . includes ( "Cannot find module 'next/dist/server/next-server'" ) ) {
35
+ throw error
36
+ }
30
37
throw new Error ( 'Could not find Next.js server' )
31
38
}
32
39
}
@@ -66,11 +73,7 @@ const makeHandler =
66
73
}
67
74
}
68
75
69
- if (
70
- multiValueHeaders [ 'set-cookie' ] &&
71
- multiValueHeaders [ 'set-cookie' ] [ 0 ] &&
72
- multiValueHeaders [ 'set-cookie' ] [ 0 ] . includes ( '__prerender_bypass' )
73
- ) {
76
+ if ( multiValueHeaders [ 'set-cookie' ] ?. [ 0 ] ?. includes ( '__prerender_bypass' ) ) {
74
77
delete multiValueHeaders . etag
75
78
multiValueHeaders [ 'cache-control' ] = [ 'no-cache' ]
76
79
}
0 commit comments