@@ -24,6 +24,7 @@ const {
24
24
getMultiValueHeaders,
25
25
getPrefetchResponse,
26
26
normalizePath,
27
+ nextVersionNum,
27
28
} = require ( './handlerUtils' )
28
29
const { overrideRequireHooks, applyRequireHooks } = require ( './requireHooks' )
29
30
const { getNetlifyNextServer } = require ( './server' )
@@ -61,10 +62,15 @@ const makeHandler = ({ conf, app, pageRoot, NextServer, staticManifest = [], mod
61
62
const { appDir } : ExperimentalConfigWithLegacy = conf . experimental
62
63
// Next 13.4 conditionally uses different React versions and we need to make sure we use the same one
63
64
// With the release of 13.5 experimental.appDir is no longer used.
64
- // we will need to check if appDir exists to run requireHooks for older versions
65
- if ( appDir ) overrideRequireHooks ( conf . experimental )
65
+ // we will need to check if appDir is set and Next version before running requireHooks
66
+ const runRequireHooks = async ( hook ) =>
67
+ await nextVersionNum ( )
68
+ . then ( ( version ) => ( appDir && version ? hook : null ) )
69
+ . catch ( ( ) => ( { } ) )
70
+
71
+ runRequireHooks ( overrideRequireHooks ( conf . experimental ) )
66
72
const NetlifyNextServer : NetlifyNextServerType = getNetlifyNextServer ( NextServer )
67
- if ( appDir ) applyRequireHooks ( )
73
+ runRequireHooks ( applyRequireHooks ( ) )
68
74
69
75
const ONE_YEAR_IN_SECONDS = 31536000
70
76
@@ -222,7 +228,7 @@ export const getHandler = ({
222
228
const { promises } = require ( "fs" ) ;
223
229
// We copy the file here rather than requiring from the node module
224
230
const { Bridge } = require ( "./bridge" ) ;
225
- const { augmentFsModule, getMaxAge, getMultiValueHeaders, getPrefetchResponse, normalizePath } = require ( './handlerUtils' )
231
+ const { augmentFsModule, getMaxAge, getMultiValueHeaders, getPrefetchResponse, normalizePath, nextVersionNum } = require ( './handlerUtils' )
226
232
const { overrideRequireHooks, applyRequireHooks } = require ( "./requireHooks" )
227
233
const { getNetlifyNextServer } = require ( "./server" )
228
234
const NextServer = require ( ${ JSON . stringify ( nextServerModuleRelativeLocation ) } ) . default
0 commit comments