Releases: SebastianS90/webpack-polyfill-injector
Releases · SebastianS90/webpack-polyfill-injector
Version 3.0.2
Version 3.0.1
Version 3.0.0
- Use
polyfill-library
API to generate the polyfill files. Also use dependency resolution frompolyfill-library
. - New option
excludes
do prevent certain dependencies from being included. - Avoid loading
Promise.prototype.finally
whenPromise
is loaded anyways.
Migration from 2.x:
- Don't change anything.
- Inspect the generated polyfill file(s). Look at the comment at the beginning to see which dependencies are included.
- If you see dependencies that you do not care about (e.g.
Object.defineProperty
which is supported naively from IE 9 onward) then you should add them to theexclude
configuration option.
Version 2.0.2
- Update documentation
Version 2.0.0
BREAKING CHANGES:
- Switch to new Webpack 4 API
Version 1.0.2
- Depend on
polyfill-library
instead ofpolyfill-service
(#12, #14)
polyfill-library
is a new package that contains only the polyfills, no webserver stuff. Furthermore, it ships with precompiled polyfills, so the heavy postinstall script is gone. - Very basic dependency handling (91d8d1c): Whenever a polyfill is configured to depend on another polyfill that starts with an underscore (i.e. a helper function), then the dependency is automatically included in the output.
For example, theMath.log2
polyfill (and many others) depend on the helper functionCreateMethodProperty
which is provided in the_ESAbstract.CreateMethodProperty
polyfill. Those helper polyfills are now included automatically when they are needed.
Other dependencies, e.g.Promise.prototype.finally
depending onPromise
andFunction.prototype.bind
are not yet handled (see issue #8) - Fix problem when webpack
output.publicPath
is not set (#11, #13)
v1.0.2-beta.0
release 1.0.2-beta.0
Version 1.0.1
- Create separate chunks for polyfill assets (2e437ee)
Previously, this plugin attached all polyfill assets to the entry chunks which are configured with polyfills. While attaching assets to chunks is not needed for emitting the files, plugins likeuglifyjs-webpack-plugin
rely on chunks to find all files. Attaching multiple files to the same chunk lead to problems with manifest plugins (#9).
The plugin now creates additional unnamed chunks for the polyfill assets. We still emit the same files as before, only the internal chunk mapping is different.
Version 1.0.0
- Instead of wrapping the whole chunk into the check for polyfills, only wrap the entry modules. This avoids conflicts with other plugins and ensures that our generated code will be considered for calculating the chunk hashes.
- Breaking: Use a special loader to wrap entry modules. It is a bit less magic than before and allows for different configurations per entry-chunk. This is a breaking change and requires a new configuration scheme, please see the updated readme file for details.
- Generate polyfill files for all possible combinations. If you configure to use
[A, B, C]
, then we generate filesA
,B
,C
,AB
,AC
,BC
,ABC
. The browser requests the file that contains all necessary polyfills. This saves bandwidth, as no unnecessary polfills are loaded. Since all files are contained in the bundle, they can be served by a very dumb webserver (instead of something likepolyfill-service
). - Breaking: Support for loading the polyfills from
cdn.polyfill.io
was dropped because we now include these optimized files statically in the bundle such that any dumb webserver can serve the optimal polyfill combination for each client.
v1.0.0-beta.3
release 1.0.0-beta.3