Skip to content

Commit e4d485f

Browse files
committed
webpack 5 for all!
1 parent d440c4a commit e4d485f

File tree

7 files changed

+137
-1139
lines changed

7 files changed

+137
-1139
lines changed

packages/react-devtools-inline/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@
4242
"file-loader": "^6.1.0",
4343
"raw-loader": "^3.1.0",
4444
"style-loader": "^0.23.1",
45-
"webpack": "^4.43.0",
46-
"webpack-cli": "^3.3.11",
47-
"webpack-dev-server": "^3.10.3",
48-
"worker-loader": "^3.0.3"
45+
"webpack": "^5.76.3",
46+
"webpack-cli": "^5.0.1",
47+
"webpack-dev-server": "^4.13.1",
48+
"workerize-loader": "^2.0.2"
4949
}
5050
}

packages/react-devtools-inline/webpack.config.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,9 @@ module.exports = {
4545
path: __dirname + '/dist',
4646
filename: '[name].js',
4747
chunkFilename: '[name].chunk.js',
48-
library: '[name]',
49-
libraryTarget: 'commonjs2',
48+
library: {
49+
type: 'commonjs2',
50+
}
5051
},
5152
externals: {
5253
react: 'react',
@@ -56,9 +57,7 @@ module.exports = {
5657
scheduler: 'scheduler',
5758
},
5859
node: {
59-
// source-maps package has a dependency on 'fs'
60-
// but this build won't trigger that code path
61-
fs: 'empty',
60+
global: false,
6261
},
6362
resolve: {
6463
alias: {
@@ -75,6 +74,7 @@ module.exports = {
7574
__EXTENSION__: false,
7675
__PROFILE__: false,
7776
__TEST__: NODE_ENV === 'test',
77+
'process.env.BABEL_TYPES_8_BREAKING': false,
7878
'process.env.DEVTOOLS_PACKAGE': `"react-devtools-inline"`,
7979
'process.env.DEVTOOLS_VERSION': `"${DEVTOOLS_VERSION}"`,
8080
'process.env.EDITOR_URL': EDITOR_URL != null ? `"${EDITOR_URL}"` : null,

packages/react-devtools-shell/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"name": "react-devtools-shell",
44
"version": "0.0.0",
55
"scripts": {
6-
"start": "cross-env NODE_ENV=development cross-env TARGET=local webpack-dev-server"
6+
"start": "cross-env NODE_ENV=development cross-env TARGET=local node ./webpack-server.js"
77
},
88
"dependencies": {
99
"immutable": "^4.0.0-rc.12",
@@ -25,8 +25,8 @@
2525
"css-loader": "^1.0.1",
2626
"raw-loader": "^3.1.0",
2727
"style-loader": "^0.23.1",
28-
"webpack": "^4.43.0",
29-
"webpack-cli": "^3.3.11",
30-
"webpack-dev-server": "^3.10.3"
28+
"webpack": "^5.76.3",
29+
"webpack-cli": "^5.0.1",
30+
"webpack-dev-server": "^4.13.1"
3131
}
3232
}

packages/react-devtools-shell/src/e2e-regression/devtools.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,13 @@ function init(appIframe, devtoolsContainer, appSource) {
4646
const iframe = document.getElementById('iframe');
4747
const devtoolsContainer = document.getElementById('devtools');
4848

49-
init(iframe, devtoolsContainer, 'dist/e2e-app-regression.js');
49+
const {protocol, hostname} = window.location;
50+
const port = 8181; // secondary webpack server port
51+
init(
52+
iframe,
53+
devtoolsContainer,
54+
`${protocol}//${hostname}:${port}/dist/e2e-app-regression.js`,
55+
);
5056

5157
// ReactDOM Test Selector APIs used by Playwright e2e tests
5258
window.parent.REACT_DOM_DEVTOOLS = ReactDOM;

packages/react-devtools-shell/webpack.config.js renamed to packages/react-devtools-shell/webpack-server.js

Lines changed: 51 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
const {resolve} = require('path');
2-
const {DefinePlugin} = require('webpack');
2+
const Webpack = require('webpack');
3+
const WebpackDevServer = require('webpack-dev-server');
34
const fs = require('fs');
45
const {
56
DARK_MODE_DIMMED_WARNING_COLOR,
@@ -61,11 +62,13 @@ const makeConfig = (entry, alias) => {
6162
const config = {
6263
mode: __DEV__ ? 'development' : 'production',
6364
devtool: __DEV__ ? 'cheap-source-map' : 'source-map',
65+
stats: TARGET === 'local' ? 'errors-only' : 'normal',
6466
entry,
67+
output: {
68+
publicPath: '/dist/',
69+
},
6570
node: {
66-
// source-maps package has a dependency on 'fs'
67-
// but this build won't trigger that code path
68-
fs: 'empty',
71+
global: false,
6972
},
7073
resolve: {
7174
alias,
@@ -74,7 +77,7 @@ const makeConfig = (entry, alias) => {
7477
minimize: false,
7578
},
7679
plugins: [
77-
new DefinePlugin({
80+
new Webpack.DefinePlugin({
7881
__DEV__,
7982
__EXPERIMENTAL__: true,
8083
__EXTENSION__: false,
@@ -127,22 +130,6 @@ const makeConfig = (entry, alias) => {
127130
},
128131
};
129132

130-
if (TARGET === 'local') {
131-
// Local dev server build.
132-
config.devServer = {
133-
hot: true,
134-
port: 8080,
135-
clientLogLevel: 'warning',
136-
publicPath: '/dist/',
137-
stats: 'errors-only',
138-
};
139-
} else {
140-
// Static build to deploy somewhere else.
141-
config.output = {
142-
path: resolve(__dirname, 'dist'),
143-
filename: '[name].js',
144-
};
145-
}
146133
return config;
147134
};
148135

@@ -200,4 +187,46 @@ const e2eRegressionApp = semver.lt(REACT_VERSION, '18.0.0')
200187
},
201188
);
202189

203-
module.exports = [app, e2eRegressionApp];
190+
const appCompiler = Webpack(app);
191+
const appServer = new WebpackDevServer(
192+
{
193+
hot: true,
194+
open: true,
195+
port: 8080,
196+
client: {
197+
logging: 'warn',
198+
},
199+
static: {
200+
directory: __dirname,
201+
publicPath: '/',
202+
},
203+
},
204+
appCompiler,
205+
);
206+
207+
const regAppCompiler = Webpack(e2eRegressionApp);
208+
const regAppServer = new WebpackDevServer(
209+
{
210+
hot: true,
211+
port: 8181,
212+
client: {
213+
logging: 'warn',
214+
},
215+
static: [
216+
{
217+
publicPath: '/dist',
218+
},
219+
],
220+
},
221+
regAppCompiler,
222+
);
223+
224+
const runServer = async () => {
225+
console.log('Starting server...');
226+
await regAppServer.start();
227+
await appServer.start();
228+
};
229+
230+
runServer();
231+
232+
// module.exports = [app, e2eRegressionApp];

packages/react-devtools-timeline/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@
2323
"style-loader": "^1.2.1",
2424
"url-loader": "^4.1.0",
2525
"vercel": "^20.1.0",
26-
"webpack": "^4.44.1",
27-
"webpack-cli": "^3.3.12",
28-
"webpack-dev-server": "^3.11.0",
29-
"worker-loader": "^3.0.2"
26+
"webpack": "^5.76.3",
27+
"webpack-cli": "^5.0.1",
28+
"webpack-dev-server": "^4.13.1",
29+
"workerize-loader": "^2.0.2"
3030
}
3131
}

0 commit comments

Comments
 (0)