Skip to content
This repository was archived by the owner on Dec 6, 2021. It is now read-only.

Commit e6deed4

Browse files
committed
fix: make react-refresh work better with error overlay
1 parent beef754 commit e6deed4

File tree

6 files changed

+37
-9
lines changed

6 files changed

+37
-9
lines changed

core/dev-utils/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"address": "^1.0.3",
1414
"cross-spawn": "^7.0.2",
1515
"open": "^7.0.4",
16-
"react-error-overlay": "^4.0.1",
16+
"react-error-overlay": "^6.0.7",
1717
"sockjs-client": "^1.1.5",
1818
"strip-ansi": "5.2.0"
1919
},
+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
const {
2+
dismissRuntimeErrors,
3+
reportRuntimeError
4+
} = require('react-error-overlay')
5+
6+
module.exports = {
7+
clearRuntimeErrors: dismissRuntimeErrors,
8+
handleRuntimeError: reportRuntimeError
9+
}

core/poi/lib/plugins/config-react-refresh.js

+13-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,18 @@ exports.when = api =>
88
exports.apply = api => {
99
api.hook('createWebpackChain', config => {
1010
const reactRefresh = require('@pmmmwh/react-refresh-webpack-plugin')
11-
config.plugin('react-refresh').use(reactRefresh)
11+
config.plugin('react-refresh').use(reactRefresh, [
12+
{
13+
overlay: {
14+
entry: require.resolve('@poi/dev-utils/hotDevClient'),
15+
// The expected exports are slightly different from what the overlay exports,
16+
// so an interop is included here to enable feedback on module-level errors.
17+
module: require.resolve('@poi/dev-utils/refreshOverlayInterop'),
18+
// Since we ship a custom dev client and overlay integration,
19+
// the bundled socket handling logic can be eliminated.
20+
sockIntegration: false
21+
}
22+
}
23+
])
1224
})
1325
}

core/poi/lib/plugins/serve.js

+8-1
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,15 @@ exports.cli = api => {
5454
{
5555
noInfo: true,
5656
historyApiFallback: true,
57-
overlay: true,
57+
overlay: false,
5858
disableHostCheck: true,
59+
compress: true,
60+
// Silence WebpackDevServer's own logs since they're generally not useful.
61+
// It will still show compile warnings and errors with this setting.
62+
clientLogLevel: 'none',
63+
// Prevent a WS client from getting injected as we're already including
64+
// `webpackHotDevClient`.
65+
injectClient: false,
5966
publicPath: webpackConfig.output.publicPath,
6067
contentBase:
6168
api.config.publicFolder && api.resolveCwd(api.config.publicFolder),

core/poi/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
"vue-style-loader": "^4.1.2",
7474
"webpack": "^4.26.0",
7575
"webpack-chain": "^6.4.0",
76-
"webpack-dev-server": "^3.8.2",
76+
"webpack-dev-server": "^3.11.0",
7777
"webpack-merge": "^4.1.4"
7878
},
7979
"xo": false,

yarn.lock

+5-5
Original file line numberDiff line numberDiff line change
@@ -12619,10 +12619,10 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.2.7:
1261912619
minimist "^1.2.0"
1262012620
strip-json-comments "~2.0.1"
1262112621

12622-
react-error-overlay@^4.0.1:
12623-
version "4.0.1"
12624-
resolved "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-4.0.1.tgz#417addb0814a90f3a7082eacba7cee588d00da89"
12625-
integrity sha512-xXUbDAZkU08aAkjtUvldqbvI04ogv+a1XdHxvYuHPYKIVk/42BIOD0zSKTHAWV4+gDy3yGm283z2072rA2gdtw==
12622+
react-error-overlay@^6.0.7:
12623+
version "6.0.7"
12624+
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108"
12625+
integrity sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA==
1262612626

1262712627
react-is@^16.12.0:
1262812628
version "16.13.1"
@@ -15560,7 +15560,7 @@ webpack-dev-middleware@^3.7.0, webpack-dev-middleware@^3.7.2:
1556015560
range-parser "^1.2.1"
1556115561
webpack-log "^2.0.0"
1556215562

15563-
webpack-dev-server@^3.8.2:
15563+
webpack-dev-server@^3.11.0:
1556415564
version "3.11.0"
1556515565
resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#8f154a3bce1bcfd1cc618ef4e703278855e7ff8c"
1556615566
integrity sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==

0 commit comments

Comments
 (0)