Breaking change happened on v8.3.0 (IE 11 support lost)
See original GitHub issueThis package claims to support IE 11 on the readme. But that stopped working on a minor release.
From what I can gather, v8.3.0 introduced stringify.js
which utilises default parameters. IE 11 does not support default parameters and thus fails.
I’ve managed to fix this issue by using babel, but its worth:
- Not using modern syntax in minor releases until checking they work in all browsers you’re supporting
- Either remove IE 11 support or remove usage of default params
- Using some rollup plugin to compile down to a compatible version
Related to: https://github.com/uuidjs/uuid/issues/469
Issue Analytics
- State:
- Created 3 years ago
- Reactions:2
- Comments:8 (4 by maintainers)
Top Results From Across the Web
Drop IE11 support · Issue #469 · uuidjs/uuid - GitHub
I believe we should drop IE11 support with the next major release. ... Breaking change happened on v8.3.0 (IE 11 support lost) #551....
Read more >Internet Explorer 11 desktop application ended support for ...
On June 15, 2022, the Internet Explorer 11 desktop application ended support on certain versions of Windows 10*.
Read more >Fix list for IBM WebSphere Application Server V8.5
The following is a complete listing of fixes for V8.5 with the most recent fix ... edit memberships of garbage collection using Microsoft...
Read more >Blog - Apache Cordova
We have updated this plugin to support the breaking changes that were introduced in Android 11 around package visibility.
Read more >ETSI TS 129 168 V8.3.0 (2010-01)
ETSI TS 129 168 V8.3.0 (2010-01) ... y the second digit is incremented for all changes of substance, i.e. technical ... signalling connection...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
In the
browser
config we can only specify file overrides but not entry points. In order to support all the various platforms that we want to support, the different fields inpackage.json
are crafted the way the are:pkg.main
is picked up when using the module directly in older Node.js versions. This is the Node.js CommonJS build.pkg.module
was originally introduced by webpack for being able to ship an ESM build for bundling. In order to allow webpack builds for Node.js, this points to the Node.js ESModule build.pkg.browser
now defines overrides when bundling for the browser but assumes that browser builds want to use the ESM build. We don’t include a CommonJS build for the browser as we haven’t really come across a use case for that.So in the specific scenario where you define
config.resolve.mainFields = ['browser', 'main', 'module'];
, the'main'
and'module'
fields inform webpack about the entrypoint to be used. Since'main'
comes first, webpack will pick the Node.js CommonJS build, and won’t find a browser-specific override.If you swap the order, then webpack will pick the Node.js ESModule build and subsequently find the corresponding browser-specific overrides and use the Browser-specific ESModule build instead.
So the use case where you instruct webpack to use CommonJS builds instead of ESModule builds is one which we currently do not support.
BTW once you upgrade to
webpack@5
this problem will also vanish becausewebpack@5
uses the definitions frompkg.exports
instead.We could “fix” this by providing a CommonJS Browser build. We have deliberately not done this so far because it would further increase the package size while we are not convinced about any clear benefit this would add.
my mainfields is set to
config.resolve.mainFields = ['browser', 'main', 'module'];
which i believe is correct.