Skip to content

Commit e22f6be

Browse files
authored
Update to webpack 5 in supervisor frontend (#18552)
* Update to webpack 5 in supervisor frontend * Fix * Fix
1 parent 6d7f32d commit e22f6be

File tree

4 files changed

+239
-803
lines changed

4 files changed

+239
-803
lines changed

components/supervisor/frontend/package.json

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,25 @@
55
"version": "0.0.0",
66
"dependencies": {
77
"@gitpod/gitpod-protocol": "0.1.5",
8-
"@gitpod/supervisor-api-grpc": "0.1.5"
8+
"@gitpod/supervisor-api-grpc": "0.1.5",
9+
"crypto-browserify": "3.12.0",
10+
"stream-browserify": "^2.0.1",
11+
"url": "^0.11.1",
12+
"util": "^0.11.1",
13+
"buffer": "^4.3.0",
14+
"process": "^0.11.10"
915
},
1016
"devDependencies": {
11-
"@babel/core": "^7.10.0",
12-
"@babel/plugin-transform-classes": "^7.10.0",
13-
"@babel/plugin-transform-runtime": "^7.10.0",
14-
"@babel/preset-env": "^7.10.0",
1517
"@types/sharedworker": "^0.0.29",
1618
"@types/trusted-types": "^2.0.0",
17-
"babel-loader": "^8.1.0",
18-
"concurrently": "^5.3.0",
19-
"copy-webpack-plugin": "^6.2.0",
20-
"css-loader": "^0.28.11",
21-
"source-map-loader": "^1.1.0",
22-
"style-loader": "^0.23.1",
19+
"concurrently": "^6.2.1",
20+
"copy-webpack-plugin": "^11.0.0",
21+
"css-loader": "^6.8.1",
22+
"source-map-loader": "^4.0.1",
23+
"style-loader": "^3.3.3",
2324
"typescript": "~4.4.2",
24-
"webpack": "^4.40.0",
25-
"webpack-cli": "^3.1.1"
25+
"webpack": "^5.37.1",
26+
"webpack-cli": "^4.7.0"
2627
},
2728
"scripts": {
2829
"build": "tsc && webpack --mode=production",

components/supervisor/frontend/tsconfig.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"rootDir": "src",
44
"outDir": "lib",
55
"module": "commonjs",
6-
"target": "es6",
6+
"target": "ES2021",
77
"lib": [
88
"es6",
99
"dom"
@@ -17,4 +17,4 @@
1717
"include": [
1818
"src"
1919
]
20-
}
20+
}

components/supervisor/frontend/webpack.config.js

Lines changed: 13 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,12 @@
66

77
// @ts-check
88

9+
const webpack = require("webpack");
910
const path = require("path");
1011
const CopyWebpackPlugin = require("copy-webpack-plugin");
1112

1213
module.exports = {
14+
target: "web",
1315
entry: {
1416
main: path.resolve(__dirname, "lib/index.js"),
1517
},
@@ -24,44 +26,24 @@ module.exports = {
2426
test: /\.css$/i,
2527
use: ["style-loader", "css-loader"],
2628
},
27-
{
28-
test: /\\.js$/,
29-
enforce: "pre",
30-
loader: "source-map-loader",
31-
},
32-
{
33-
test: /\.js$/,
34-
// include only es6 dependencies to transpile them to es5 classes
35-
include: /vscode-ws-jsonrpc|vscode-jsonrpc|vscode-languageserver-protocol|vscode-languageserver-types/,
36-
use: {
37-
loader: "babel-loader",
38-
options: {
39-
presets: ["@babel/preset-env"],
40-
plugins: [
41-
// reuse runtime babel lib instead of generating it in each js file
42-
"@babel/plugin-transform-runtime",
43-
// ensure that classes are transpiled
44-
"@babel/plugin-transform-classes",
45-
],
46-
// see https://github.com/babel/babel/issues/8900#issuecomment-431240426
47-
sourceType: "unambiguous",
48-
cacheDirectory: true,
49-
},
50-
},
51-
},
5229
],
5330
},
54-
node: {
55-
fs: "empty",
56-
child_process: "empty",
57-
net: "empty",
58-
crypto: true,
59-
tls: "empty",
31+
resolve: {
32+
fallback: {
33+
crypto: require.resolve("crypto-browserify"),
34+
stream: require.resolve("stream-browserify"),
35+
url: require.resolve("url"),
36+
util: require.resolve("util"),
37+
},
6038
},
6139
devtool: "source-map",
6240
plugins: [
6341
new CopyWebpackPlugin({
6442
patterns: [{ from: "public", to: "." }],
6543
}),
44+
new webpack.ProvidePlugin({
45+
process: "process/browser",
46+
Buffer: ["buffer", "Buffer"],
47+
}),
6648
],
6749
};

0 commit comments

Comments
 (0)