-
-
Save FbN/0e651105937c8000f10fefdf9ec9af3d to your computer and use it in GitHub Desktop.
// yarn add --dev @esbuild-plugins/node-globals-polyfill | |
import { NodeGlobalsPolyfillPlugin } from '@esbuild-plugins/node-globals-polyfill' | |
// yarn add --dev @esbuild-plugins/node-modules-polyfill | |
import { NodeModulesPolyfillPlugin } from '@esbuild-plugins/node-modules-polyfill' | |
// You don't need to add this to deps, it's included by @esbuild-plugins/node-modules-polyfill | |
import rollupNodePolyFill from 'rollup-plugin-node-polyfills' | |
export default { | |
resolve: { | |
alias: { | |
// This Rollup aliases are extracted from @esbuild-plugins/node-modules-polyfill, | |
// see https://github.com/remorses/esbuild-plugins/blob/master/node-modules-polyfill/src/polyfills.ts | |
// process and buffer are excluded because already managed | |
// by node-globals-polyfill | |
util: 'rollup-plugin-node-polyfills/polyfills/util', | |
sys: 'util', | |
events: 'rollup-plugin-node-polyfills/polyfills/events', | |
stream: 'rollup-plugin-node-polyfills/polyfills/stream', | |
path: 'rollup-plugin-node-polyfills/polyfills/path', | |
querystring: 'rollup-plugin-node-polyfills/polyfills/qs', | |
punycode: 'rollup-plugin-node-polyfills/polyfills/punycode', | |
url: 'rollup-plugin-node-polyfills/polyfills/url', | |
string_decoder: | |
'rollup-plugin-node-polyfills/polyfills/string-decoder', | |
http: 'rollup-plugin-node-polyfills/polyfills/http', | |
https: 'rollup-plugin-node-polyfills/polyfills/http', | |
os: 'rollup-plugin-node-polyfills/polyfills/os', | |
assert: 'rollup-plugin-node-polyfills/polyfills/assert', | |
constants: 'rollup-plugin-node-polyfills/polyfills/constants', | |
_stream_duplex: | |
'rollup-plugin-node-polyfills/polyfills/readable-stream/duplex', | |
_stream_passthrough: | |
'rollup-plugin-node-polyfills/polyfills/readable-stream/passthrough', | |
_stream_readable: | |
'rollup-plugin-node-polyfills/polyfills/readable-stream/readable', | |
_stream_writable: | |
'rollup-plugin-node-polyfills/polyfills/readable-stream/writable', | |
_stream_transform: | |
'rollup-plugin-node-polyfills/polyfills/readable-stream/transform', | |
timers: 'rollup-plugin-node-polyfills/polyfills/timers', | |
console: 'rollup-plugin-node-polyfills/polyfills/console', | |
vm: 'rollup-plugin-node-polyfills/polyfills/vm', | |
zlib: 'rollup-plugin-node-polyfills/polyfills/zlib', | |
tty: 'rollup-plugin-node-polyfills/polyfills/tty', | |
domain: 'rollup-plugin-node-polyfills/polyfills/domain' | |
} | |
}, | |
optimizeDeps: { | |
esbuildOptions: { | |
// Node.js global to browser globalThis | |
define: { | |
global: 'globalThis' | |
}, | |
// Enable esbuild polyfill plugins | |
plugins: [ | |
NodeGlobalsPolyfillPlugin({ | |
process: true, | |
buffer: true | |
}), | |
NodeModulesPolyfillPlugin() | |
] | |
} | |
}, | |
build: { | |
rollupOptions: { | |
plugins: [ | |
// Enable rollup polyfills plugin | |
// used during production bundling | |
rollupNodePolyFill() | |
] | |
} | |
} | |
} |
rollup-plugin-node-polyfills
@Terkea Hello, I use yours and get this error:
Error: Build failed with 2 errors: error: Could not read from file: /root/zzb/node_modules/@esbuild-plugins/node-globals-polyfill/_virtual-process-polyfill_.js error: Could not read from file: /root/zzb/node_modules/@esbuild-plugins/node-globals-polyfill/_virtual-buffer-polyfill_.js at failureErrorWithLog (/root/zzb/node_modules/esbuild/lib/main.js:1566:15) at /root/zzb/node_modules/esbuild/lib/main.js:1024:28 at runOnEndCallbacks (/root/zzb/node_modules/esbuild/lib/main.js:1438:61) at buildResponseToResult (/root/zzb/node_modules/esbuild/lib/main.js:1022:7) at /root/zzb/node_modules/esbuild/lib/main.js:1134:14 at responseCallbacks.<computed> (/root/zzb/node_modules/esbuild/lib/main.js:671:9) at handleIncomingPacket (/root/zzb/node_modules/esbuild/lib/main.js:726:9) at Socket.readFromStdout (/root/zzb/node_modules/esbuild/lib/main.js:647:7) at Socket.emit (node:events:513:28) at addChunk (node:internal/streams/readable:324:12) at readableAddChunk (node:internal/streams/readable:297:9) at Readable.push (node:internal/streams/readable:234:10) at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)
Update to Vite 4.2 solved the issue for me.
Have a project with a WebRTC video player component and we are receiving the following error:
this.once is not a function
Seems to be an issue with how Vite handles transforms around Duplex.once
and _readable_stream
.
Here is a GitHub thread where someone was discussing a similar issue:
nodejs/readable-stream#315 (comment)
Has anyone ran into this or have a solution for it?
I've tried a variety of solutions in this thread and other GitHub threads... none have worked so far. I am on the latest version of Vite ("vite": "^4.3.4",
).
Anyone know how to handle cytpo ? It seems to work in build mode but can't get it to work in dev with crypto-browserify
this worked. thanks!
@Terkea Hello, I use yours and get this error: