@@ -26,111 +26,106 @@ export function pageBootstrap(assetPrefix: string) {
26
26
27
27
addMessageListener ( ( payload ) => {
28
28
if ( reloading ) return
29
- if ( 'action' in payload ) {
30
- switch ( payload . action ) {
31
- case HMR_ACTIONS_SENT_TO_BROWSER . SERVER_ERROR : {
32
- const { stack, message } = JSON . parse ( payload . errorJSON )
33
- const error = new Error ( message )
34
- error . stack = stack
35
- throw error
36
- }
37
- case HMR_ACTIONS_SENT_TO_BROWSER . RELOAD_PAGE : {
38
- reloading = true
39
- window . location . reload ( )
40
- break
41
- }
42
- case HMR_ACTIONS_SENT_TO_BROWSER . DEV_PAGES_MANIFEST_UPDATE : {
43
- fetch (
44
- `${ assetPrefix } /_next/static/development/_devPagesManifest.json`
45
- )
46
- . then ( ( res ) => res . json ( ) )
47
- . then ( ( manifest ) => {
48
- window . __DEV_PAGES_MANIFEST = manifest
49
- } )
50
- . catch ( ( err ) => {
51
- console . log ( `Failed to fetch devPagesManifest` , err )
52
- } )
53
- break
54
- }
55
- case HMR_ACTIONS_SENT_TO_BROWSER . ADDED_PAGE :
56
- case HMR_ACTIONS_SENT_TO_BROWSER . REMOVED_PAGE :
57
- case HMR_ACTIONS_SENT_TO_BROWSER . SERVER_COMPONENT_CHANGES :
58
- case HMR_ACTIONS_SENT_TO_BROWSER . SYNC :
59
- case HMR_ACTIONS_SENT_TO_BROWSER . BUILT :
60
- case HMR_ACTIONS_SENT_TO_BROWSER . BUILDING :
61
- case HMR_ACTIONS_SENT_TO_BROWSER . TURBOPACK_MESSAGE :
62
- case HMR_ACTIONS_SENT_TO_BROWSER . TURBOPACK_CONNECTED :
63
- case HMR_ACTIONS_SENT_TO_BROWSER . ISR_MANIFEST :
64
- case HMR_ACTIONS_SENT_TO_BROWSER . DEVTOOLS_CONFIG :
65
- // Most of these action types are handled in
66
- // src/client/dev/hot-reloader/pages/hot-reloader-pages.ts
67
- break
68
- default :
69
- payload satisfies never
29
+
30
+ switch ( payload . action ) {
31
+ case HMR_ACTIONS_SENT_TO_BROWSER . SERVER_ERROR : {
32
+ const { stack, message } = JSON . parse ( payload . errorJSON )
33
+ const error = new Error ( message )
34
+ error . stack = stack
35
+ throw error
70
36
}
71
- } else if ( 'event' in payload ) {
72
- switch ( payload . event ) {
73
- case HMR_ACTIONS_SENT_TO_BROWSER . MIDDLEWARE_CHANGES : {
74
- return window . location . reload ( )
75
- }
76
- case HMR_ACTIONS_SENT_TO_BROWSER . CLIENT_CHANGES : {
77
- // This is used in `../server/dev/turbopack-utils.ts`.
78
- const isOnErrorPage = window . next . router . pathname === '/_error'
79
- // On the error page we want to reload the page when a page was changed
80
- if ( isOnErrorPage ) {
81
- if ( RuntimeErrorHandler . hadRuntimeError ) {
82
- console . warn ( REACT_REFRESH_FULL_RELOAD_FROM_ERROR )
83
- }
84
- reloading = true
85
- performFullReload ( null )
86
- }
87
- break
88
- }
89
- case HMR_ACTIONS_SENT_TO_BROWSER . SERVER_ONLY_CHANGES : {
37
+ case HMR_ACTIONS_SENT_TO_BROWSER . RELOAD_PAGE : {
38
+ reloading = true
39
+ window . location . reload ( )
40
+ break
41
+ }
42
+ case HMR_ACTIONS_SENT_TO_BROWSER . DEV_PAGES_MANIFEST_UPDATE : {
43
+ fetch (
44
+ `${ assetPrefix } /_next/static/development/_devPagesManifest.json`
45
+ )
46
+ . then ( ( res ) => res . json ( ) )
47
+ . then ( ( manifest ) => {
48
+ window . __DEV_PAGES_MANIFEST = manifest
49
+ } )
50
+ . catch ( ( err ) => {
51
+ console . log ( `Failed to fetch devPagesManifest` , err )
52
+ } )
53
+ break
54
+ }
55
+ case HMR_ACTIONS_SENT_TO_BROWSER . MIDDLEWARE_CHANGES : {
56
+ return window . location . reload ( )
57
+ }
58
+ case HMR_ACTIONS_SENT_TO_BROWSER . CLIENT_CHANGES : {
59
+ // This is used in `../server/dev/turbopack-utils.ts`.
60
+ const isOnErrorPage = window . next . router . pathname === '/_error'
61
+ // On the error page we want to reload the page when a page was changed
62
+ if ( isOnErrorPage ) {
90
63
if ( RuntimeErrorHandler . hadRuntimeError ) {
91
64
console . warn ( REACT_REFRESH_FULL_RELOAD_FROM_ERROR )
92
- performFullReload ( null )
93
65
}
66
+ reloading = true
67
+ performFullReload ( null )
68
+ }
69
+ break
70
+ }
71
+ case HMR_ACTIONS_SENT_TO_BROWSER . SERVER_ONLY_CHANGES : {
72
+ if ( RuntimeErrorHandler . hadRuntimeError ) {
73
+ console . warn ( REACT_REFRESH_FULL_RELOAD_FROM_ERROR )
74
+ performFullReload ( null )
75
+ }
94
76
95
- const { pages } = payload
77
+ const { pages } = payload
96
78
97
- // Make sure to reload when the dev-overlay is showing for an
98
- // API route
99
- // TODO: Fix `__NEXT_PAGE` type
100
- if ( pages . includes ( router . query . __NEXT_PAGE as string ) ) {
101
- return window . location . reload ( )
102
- }
79
+ // Make sure to reload when the dev-overlay is showing for an
80
+ // API route
81
+ // TODO: Fix `__NEXT_PAGE` type
82
+ if ( pages . includes ( router . query . __NEXT_PAGE as string ) ) {
83
+ return window . location . reload ( )
84
+ }
103
85
104
- if ( ! router . clc && pages . includes ( router . pathname ) ) {
105
- console . log ( 'Refreshing page data due to server-side change' )
106
- dispatcher . buildingIndicatorShow ( )
107
- const clearIndicator = dispatcher . buildingIndicatorHide
86
+ if ( ! router . clc && pages . includes ( router . pathname ) ) {
87
+ console . log ( 'Refreshing page data due to server-side change' )
88
+ dispatcher . buildingIndicatorShow ( )
89
+ const clearIndicator = dispatcher . buildingIndicatorHide
108
90
109
- router
110
- . replace (
111
- router . pathname +
112
- '?' +
113
- String (
114
- assign (
115
- urlQueryToSearchParams ( router . query ) ,
116
- new URLSearchParams ( location . search )
117
- )
118
- ) ,
119
- router . asPath ,
120
- { scroll : false }
121
- )
122
- . catch ( ( ) => {
123
- // trigger hard reload when failing to refresh data
124
- // to show error overlay properly
125
- location . reload ( )
126
- } )
127
- . finally ( clearIndicator )
128
- }
129
- break
91
+ router
92
+ . replace (
93
+ router . pathname +
94
+ '?' +
95
+ String (
96
+ assign (
97
+ urlQueryToSearchParams ( router . query ) ,
98
+ new URLSearchParams ( location . search )
99
+ )
100
+ ) ,
101
+ router . asPath ,
102
+ { scroll : false }
103
+ )
104
+ . catch ( ( ) => {
105
+ // trigger hard reload when failing to refresh data
106
+ // to show error overlay properly
107
+ location . reload ( )
108
+ } )
109
+ . finally ( clearIndicator )
130
110
}
131
- default :
132
- payload satisfies never
111
+ break
133
112
}
113
+ case HMR_ACTIONS_SENT_TO_BROWSER . ADDED_PAGE :
114
+ case HMR_ACTIONS_SENT_TO_BROWSER . REMOVED_PAGE :
115
+ case HMR_ACTIONS_SENT_TO_BROWSER . SERVER_COMPONENT_CHANGES :
116
+ case HMR_ACTIONS_SENT_TO_BROWSER . SYNC :
117
+ case HMR_ACTIONS_SENT_TO_BROWSER . BUILT :
118
+ case HMR_ACTIONS_SENT_TO_BROWSER . BUILDING :
119
+ case HMR_ACTIONS_SENT_TO_BROWSER . TURBOPACK_MESSAGE :
120
+ case HMR_ACTIONS_SENT_TO_BROWSER . TURBOPACK_CONNECTED :
121
+ case HMR_ACTIONS_SENT_TO_BROWSER . ISR_MANIFEST :
122
+ case HMR_ACTIONS_SENT_TO_BROWSER . DEVTOOLS_CONFIG :
123
+ // Most of these action types are handled in
124
+ // src/client/dev/hot-reloader/pages/hot-reloader-pages.ts and
125
+ // src/client/dev/hot-reloader/app/hot-reloader-app.tsx
126
+ break
127
+ default :
128
+ payload satisfies never
134
129
}
135
130
} )
136
131
} )
0 commit comments