swc-loader
swc-loader copied to clipboard
incorrectly defaulting CJS code to strict mode
I have an ejected CRA with a custom webpack loader. I use swc-loader
instead of babel-loader
for faster compile time. Actually, I add @walletconnect/web3-provider
into my app. I got an error to include { util: require.resolve('util/') }
into resolve.fallback
webpack configuration. After that error was fixed, I got the error again like this
ERROR in ./node_modules/util/util.js
Module build failed (from ./node_modules/swc-loader/src/index.js):
Error:
× the name `fn` is defined multiple times
╭─[/media/data/SIDE_PROJECTS/webpack-react-ts-inversify-web-worker/node_modules/util/util.js:617:5]
617 │ var fn = original[kCustomPromisifiedSymbol];
· ─┬
· ╰── previous definition of `fn` here
618 │ if (typeof fn !== 'function') {
619 │ throw new TypeError('The "util.promisify.custom" argument must be of type Function');
620 │ }
621 │ Object.defineProperty(fn, kCustomPromisifiedSymbol, {
622 │ value: fn, enumerable: false, writable: false, configurable: true
623 │ });
624 │ return fn;
625 │ }
626 │
627 │ function fn() {
· ─┬
· ╰── `fn` redefined here
╰────
I request to refactor fn
variable/function definition, but I have a comment like this from its member:
https://github.com/browserify/node-util/issues/75#issuecomment-1161064376
Maybe, is swc-loader
(or @swc/core
) has a problem incorrectly defaulting CJS code to strict mode?
I'm having a similar problem, is there a workaround to avoid this?
how to close strict mode, With statement are not allowed in strict mode