Skip to content

Commit b4c92eb

Browse files
committed
fix: explicitly include fallback polyfills
The new Webpack 5 does not replace certain node packages with browser polyfills by default any longer. We need to do this explicitly.
1 parent 8dab4e7 commit b4c92eb

File tree

3 files changed

+52
-2
lines changed

3 files changed

+52
-2
lines changed

package.json

+3
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,11 @@
3939
"rtsp"
4040
],
4141
"dependencies": {
42+
"buffer": "5.6.0",
4243
"debug": "4.2.0",
4344
"md5.js": "1.3.5",
45+
"process": "0.11.10",
46+
"stream-browserify": "3.0.0",
4447
"ws": "7.3.1"
4548
},
4649
"devDependencies": {

webpack.config.js

+16
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
const webpack = require('webpack');
2+
13
module.exports = {
24
target: 'web',
35
entry: './lib/index.browser.ts',
@@ -9,7 +11,21 @@ module.exports = {
911
},
1012
resolve: {
1113
extensions: ['.ts', '.js'],
14+
// These polyfills replace Node.js packages with browser alternatives
15+
fallback: {
16+
buffer: require.resolve('buffer'),
17+
stream: require.resolve('stream-browserify'),
18+
process: require.resolve('process/browser')
19+
},
1220
},
21+
plugins: [
22+
// Import things that are not explicitely imported, because they should
23+
// be global, or are used by other modules and expected to exist.
24+
new webpack.ProvidePlugin({
25+
Buffer: ['buffer', 'Buffer'],
26+
process: 'process', // Needed internally by stream-browserify
27+
})
28+
],
1329
module: {
1430
rules: [
1531
{

yarn.lock

+33-2
Original file line numberDiff line numberDiff line change
@@ -2277,6 +2277,11 @@ balanced-match@^1.0.0:
22772277
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
22782278
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
22792279

2280+
base64-js@^1.0.2:
2281+
version "1.3.1"
2282+
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
2283+
integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
2284+
22802285
base@^0.11.1:
22812286
version "0.11.2"
22822287
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
@@ -2402,6 +2407,14 @@ [email protected], buffer-from@^1.0.0:
24022407
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef"
24032408
integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==
24042409

2410+
2411+
version "5.6.0"
2412+
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786"
2413+
integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==
2414+
dependencies:
2415+
base64-js "^1.0.2"
2416+
ieee754 "^1.1.4"
2417+
24052418
cache-base@^1.0.1:
24062419
version "1.0.1"
24072420
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
@@ -4729,6 +4742,11 @@ [email protected], iconv-lite@^0.4.24:
47294742
dependencies:
47304743
safer-buffer ">= 2.1.2 < 3"
47314744

4745+
ieee754@^1.1.4:
4746+
version "1.1.13"
4747+
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
4748+
integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
4749+
47324750
ignore@^3.3.5:
47334751
version "3.3.10"
47344752
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
@@ -4790,7 +4808,7 @@ inflight@^1.0.4:
47904808
once "^1.3.0"
47914809
wrappy "1"
47924810

4793-
inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
4811+
inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@~2.0.4:
47944812
version "2.0.4"
47954813
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
47964814
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -6992,6 +7010,11 @@ process-nextick-args@^2.0.0, process-nextick-args@~2.0.0:
69927010
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
69937011
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
69947012

7013+
7014+
version "0.11.10"
7015+
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
7016+
integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
7017+
69957018
progress@^2.0.0:
69967019
version "2.0.3"
69977020
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
@@ -7175,7 +7198,7 @@ read-pkg@^5.0.0, read-pkg@^5.2.0:
71757198
parse-json "^5.0.0"
71767199
type-fest "^0.6.0"
71777200

7178-
"readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.6.0:
7201+
"readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.5.0, readable-stream@^3.6.0:
71797202
version "3.6.0"
71807203
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
71817204
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
@@ -7901,6 +7924,14 @@ stealthy-require@^1.1.1:
79017924
resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
79027925
integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
79037926

7927+
7928+
version "3.0.0"
7929+
resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f"
7930+
integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==
7931+
dependencies:
7932+
inherits "~2.0.4"
7933+
readable-stream "^3.5.0"
7934+
79047935
string-length@^4.0.1:
79057936
version "4.0.1"
79067937
resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1"

0 commit comments

Comments
 (0)