File tree Expand file tree Collapse file tree 1 file changed +17
-3
lines changed Expand file tree Collapse file tree 1 file changed +17
-3
lines changed Original file line number Diff line number Diff line change @@ -62,6 +62,18 @@ export async function loadDefaultErrorComponents(distDir: string) {
62
62
}
63
63
}
64
64
65
+ async function loadManifest < T > ( manifestPath : string , attempts = 1 ) : Promise < T > {
66
+ try {
67
+ return require ( manifestPath )
68
+ } catch ( err ) {
69
+ if ( attempts >= 3 ) {
70
+ throw err
71
+ }
72
+ await new Promise ( ( resolve ) => setTimeout ( resolve , 100 ) )
73
+ return loadManifest ( manifestPath , attempts + 1 )
74
+ }
75
+ }
76
+
65
77
export async function loadComponents ( {
66
78
distDir,
67
79
pathname,
@@ -87,10 +99,12 @@ export async function loadComponents({
87
99
88
100
const [ buildManifest , reactLoadableManifest , serverComponentManifest ] =
89
101
await Promise . all ( [
90
- require ( join ( distDir , BUILD_MANIFEST ) ) ,
91
- require ( join ( distDir , REACT_LOADABLE_MANIFEST ) ) ,
102
+ loadManifest < BuildManifest > ( join ( distDir , BUILD_MANIFEST ) ) ,
103
+ loadManifest < ReactLoadableManifest > (
104
+ join ( distDir , REACT_LOADABLE_MANIFEST )
105
+ ) ,
92
106
hasServerComponents
93
- ? require ( join ( distDir , 'server' , FLIGHT_MANIFEST + '.json' ) )
107
+ ? loadManifest ( join ( distDir , 'server' , FLIGHT_MANIFEST + '.json' ) )
94
108
: null ,
95
109
] )
96
110
You can’t perform that action at this time.
0 commit comments