jszip uses a require("core-js/library/fn/set-immediate") statement at one point
- A Babel build with
@babel/preset-env and "useBuiltIns": "entry" uses a custom-minified version of core-js including only the polyfills needed to make the list of that project's supported browsers work
- The resulting bundle doesn't include
setImmediate (because nothing in the bundle actually references setImmediate as a global function)
- ...which leads to
jszip breaking, because it's trying to require something not in the bundle
- ...which leads to
exceljs breaking the first time it tries to use jszip
The "right" behavior here would be for jszip to stop trying to directly include polyfills (and leave that up to the end user like it should), but since that project is effectively unmaintained at this point, any practical bugfixes will have to come from other projects switching away from using it.