Skip to content

Commit 0c21654

Browse files
merge pages and app overlays (#60899)
### What Merges the package into the internal overlay. ### Detailed Changes * Move `@next/react-dev-overlay` into next package and rename the import paths. * Fix the `getErrorSource` symbol issue, use `Symbol.for()` instead of `Symbol` * Extra `getErrorSource` into single lib as it's being used in a lot of places, this will keep the same bundle size Closes PACK-2261 Closes NEXT-1977 --------- Co-authored-by: Jiachi Liu <[email protected]>
1 parent 3a03f50 commit 0c21654

File tree

93 files changed

+203
-6869
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+203
-6869
lines changed

packages/next/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,6 @@
147147
"@napi-rs/triples": "1.2.0",
148148
"@next/polyfill-module": "14.1.1-canary.52",
149149
"@next/polyfill-nomodule": "14.1.1-canary.52",
150-
"@next/react-dev-overlay": "14.1.1-canary.52",
151150
"@next/react-refresh-utils": "14.1.1-canary.52",
152151
"@next/swc": "14.1.1-canary.52",
153152
"@opentelemetry/api": "1.6.0",

packages/next/src/build/collect-build-traces.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,6 @@ export async function collectBuildTraces({
302302
'**/next/dist/compiled/webpack/(bundle4|bundle5).js',
303303
'**/node_modules/webpack5/**/*',
304304
'**/next/dist/server/lib/route-resolver*',
305-
'next/dist/compiled/@next/react-dev-overlay/dist/**/*',
306305
'next/dist/compiled/semver/semver/**/*.js',
307306

308307
...(ciEnvironment.hasNextSupport

packages/next/src/build/webpack/plugins/wellknown-errors-plugin/parseNotFoundError.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { bold, cyan, green, red, yellow } from '../../../../lib/picocolors'
22
import { SimpleWebpackError } from './simpleWebpackError'
3-
import { createOriginalStackFrame } from 'next/dist/compiled/@next/react-dev-overlay/dist/middleware'
3+
import { createOriginalStackFrame } from '../../../../client/components/react-dev-overlay/server/middleware'
44
import type { webpack } from 'next/dist/compiled/webpack/webpack'
55

66
// Based on https://github.com/webpack/webpack/blob/fcdd04a833943394bbb0a9eeb54a962a24cc7e41/lib/stats/DefaultStatsFactoryPlugin.js#L422-L431

packages/next/src/client/app-index.tsx

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -157,9 +157,9 @@ export function hydrate() {
157157
if (process.env.NODE_ENV !== 'production') {
158158
const rootLayoutMissingTagsError = (self as any)
159159
.__next_root_layout_missing_tags_error
160-
const HotReload: typeof import('./components/react-dev-overlay/hot-reloader-client').default =
161-
require('./components/react-dev-overlay/hot-reloader-client')
162-
.default as typeof import('./components/react-dev-overlay/hot-reloader-client').default
160+
const HotReload: typeof import('./components/react-dev-overlay/app/hot-reloader-client').default =
161+
require('./components/react-dev-overlay/app/hot-reloader-client')
162+
.default as typeof import('./components/react-dev-overlay/app/hot-reloader-client').default
163163

164164
// Don't try to hydrate if root layout is missing required tags, render error instead
165165
if (rootLayoutMissingTagsError) {
@@ -236,12 +236,12 @@ export function hydrate() {
236236
if (process.env.NODE_ENV !== 'production') {
237237
// if an error is thrown while rendering an RSC stream, this will catch it in dev
238238
// and show the error overlay
239-
const ReactDevOverlay: typeof import('./components/react-dev-overlay/internal/ReactDevOverlay').default =
240-
require('./components/react-dev-overlay/internal/ReactDevOverlay')
241-
.default as typeof import('./components/react-dev-overlay/internal/ReactDevOverlay').default
239+
const ReactDevOverlay: typeof import('./components/react-dev-overlay/app/ReactDevOverlay').default =
240+
require('./components/react-dev-overlay/app/ReactDevOverlay')
241+
.default as typeof import('./components/react-dev-overlay/app/ReactDevOverlay').default
242242

243-
const INITIAL_OVERLAY_STATE: typeof import('./components/react-dev-overlay/internal/error-overlay-reducer').INITIAL_OVERLAY_STATE =
244-
require('./components/react-dev-overlay/internal/error-overlay-reducer').INITIAL_OVERLAY_STATE
243+
const INITIAL_OVERLAY_STATE: typeof import('./components/react-dev-overlay/app/error-overlay-reducer').INITIAL_OVERLAY_STATE =
244+
require('./components/react-dev-overlay/app/error-overlay-reducer').INITIAL_OVERLAY_STATE
245245

246246
const getSocketUrl: typeof import('./components/react-dev-overlay/internal/helpers/get-socket-url').getSocketUrl =
247247
require('./components/react-dev-overlay/internal/helpers/get-socket-url')

packages/next/src/client/components/app-router.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -619,8 +619,8 @@ function Router({
619619
</DevRootNotFoundBoundary>
620620
)
621621
}
622-
const HotReloader: typeof import('./react-dev-overlay/hot-reloader-client').default =
623-
require('./react-dev-overlay/hot-reloader-client').default
622+
const HotReloader: typeof import('./react-dev-overlay/app/hot-reloader-client').default =
623+
require('./react-dev-overlay/app/hot-reloader-client').default
624624

625625
content = <HotReloader assetPrefix={assetPrefix}>{content}</HotReloader>
626626
}

packages/next/src/client/components/react-dev-overlay/internal/ReactDevOverlay.tsx renamed to packages/next/src/client/components/react-dev-overlay/app/ReactDevOverlay.tsx

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,15 @@ import type {
55
UnhandledErrorAction,
66
} from './error-overlay-reducer'
77

8-
import { ShadowPortal } from './components/ShadowPortal'
9-
import { BuildError } from './container/BuildError'
10-
import { Errors } from './container/Errors'
11-
import type { SupportedErrorEvent } from './container/Errors'
12-
import { RootLayoutError } from './container/RootLayoutError'
13-
import { parseStack } from './helpers/parseStack'
14-
import { Base } from './styles/Base'
15-
import { ComponentStyles } from './styles/ComponentStyles'
16-
import { CssReset } from './styles/CssReset'
8+
import { ShadowPortal } from '../internal/components/ShadowPortal'
9+
import { BuildError } from '../internal/container/BuildError'
10+
import { Errors } from '../internal/container/Errors'
11+
import type { SupportedErrorEvent } from '../internal/container/Errors'
12+
import { RootLayoutError } from '../internal/container/RootLayoutError'
13+
import { parseStack } from '../internal/helpers/parseStack'
14+
import { Base } from '../internal/styles/Base'
15+
import { ComponentStyles } from '../internal/styles/ComponentStyles'
16+
import { CssReset } from '../internal/styles/CssReset'
1717

1818
interface ReactDevOverlayState {
1919
reactError: SupportedErrorEvent | null
@@ -86,12 +86,14 @@ class ReactDevOverlay extends React.PureComponent<
8686
/>
8787
) : reactError ? (
8888
<Errors
89+
isAppDir={true}
8990
versionInfo={state.versionInfo}
9091
initialDisplayState="fullscreen"
9192
errors={[reactError]}
9293
/>
9394
) : hasRuntimeErrors ? (
9495
<Errors
96+
isAppDir={true}
9597
initialDisplayState="minimized"
9698
errors={state.errors}
9799
versionInfo={state.versionInfo}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { StackFrame } from 'next/dist/compiled/stacktrace-parser'
22
import type { VersionInfo } from '../../../../server/dev/parse-version-info'
3-
import type { SupportedErrorEvent } from './container/Errors'
4-
import type { ComponentStackFrame } from './helpers/parse-component-stack'
3+
import type { SupportedErrorEvent } from '../internal/container/Errors'
4+
import type { ComponentStackFrame } from '../internal/helpers/parse-component-stack'
55

66
export const ACTION_BUILD_OK = 'build-ok'
77
export const ACTION_BUILD_ERROR = 'build-error'

packages/next/src/client/components/react-dev-overlay/hot-reloader-client.tsx renamed to packages/next/src/client/components/react-dev-overlay/app/hot-reloader-client.tsx

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,41 +7,41 @@ import React, {
77
startTransition,
88
} from 'react'
99
import stripAnsi from 'next/dist/compiled/strip-ansi'
10-
import formatWebpackMessages from '../../dev/error-overlay/format-webpack-messages'
11-
import { useRouter } from '../navigation'
10+
import formatWebpackMessages from '../../../dev/error-overlay/format-webpack-messages'
11+
import { useRouter } from '../../navigation'
1212
import {
1313
ACTION_VERSION_INFO,
1414
INITIAL_OVERLAY_STATE,
1515
errorOverlayReducer,
16-
} from './internal/error-overlay-reducer'
16+
} from './error-overlay-reducer'
1717
import {
1818
ACTION_BUILD_OK,
1919
ACTION_BUILD_ERROR,
2020
ACTION_BEFORE_REFRESH,
2121
ACTION_REFRESH,
2222
ACTION_UNHANDLED_ERROR,
2323
ACTION_UNHANDLED_REJECTION,
24-
} from './internal/error-overlay-reducer'
25-
import { parseStack } from './internal/helpers/parseStack'
26-
import ReactDevOverlay from './internal/ReactDevOverlay'
24+
} from './error-overlay-reducer'
25+
import { parseStack } from '../internal/helpers/parseStack'
26+
import ReactDevOverlay from './ReactDevOverlay'
2727
import {
2828
RuntimeErrorHandler,
2929
useErrorHandler,
30-
} from './internal/helpers/use-error-handler'
30+
} from '../internal/helpers/use-error-handler'
3131
import {
3232
useSendMessage,
3333
useTurbopack,
3434
useWebsocket,
3535
useWebsocketPing,
36-
} from './internal/helpers/use-websocket'
37-
import { parseComponentStack } from './internal/helpers/parse-component-stack'
38-
import type { VersionInfo } from '../../../server/dev/parse-version-info'
39-
import { HMR_ACTIONS_SENT_TO_BROWSER } from '../../../server/dev/hot-reloader-types'
36+
} from '../internal/helpers/use-websocket'
37+
import { parseComponentStack } from '../internal/helpers/parse-component-stack'
38+
import type { VersionInfo } from '../../../../server/dev/parse-version-info'
39+
import { HMR_ACTIONS_SENT_TO_BROWSER } from '../../../../server/dev/hot-reloader-types'
4040
import type {
4141
HMR_ACTION_TYPES,
4242
TurbopackMsgToBrowser,
43-
} from '../../../server/dev/hot-reloader-types'
44-
import { extractModulesFromTurbopackMessage } from '../../../server/dev/extract-modules-from-turbopack-message'
43+
} from '../../../../server/dev/hot-reloader-types'
44+
import { extractModulesFromTurbopackMessage } from '../../../../server/dev/extract-modules-from-turbopack-message'
4545

4646
interface Dispatcher {
4747
onBuildOk(): void

packages/next/src/client/components/react-dev-overlay/internal/components/Dialog/styles.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const styles = css`
88
margin-right: auto;
99
margin-left: auto;
1010
outline: none;
11-
background: white;
11+
background: var(--color-background);
1212
border-radius: var(--size-gap);
1313
box-shadow: 0 var(--size-gap-half) var(--size-gap-double)
1414
rgba(0, 0, 0, 0.25);

packages/next/src/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,6 @@ const LeftRightDialogHeader: React.FC<LeftRightDialogHeaderProps> =
147147
/>
148148
</svg>
149149
</button>
150-
&nbsp;
151150
{children}
152151
</nav>
153152
{close ? (

0 commit comments

Comments
 (0)