Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
With the current setup using
npm
workspaces for the polyfills I didn't take build tools for polyfills into account as we didn't have any. And polyfills tend to be self contained and have no dependencies.However
URL
andIteratorHelpers
now have a build tool to prepare the polyfills for older browsers.Build tools always have incredibly deep and complex dependency graphs.
A side effect of introducing build tools for polyfills is that running
npm update
now has unwanted side effects as it will update those deeply nested dependencies even when direct dependency (e.g.browserify
,babelify
, ...) has a pinned version.I expect this PR to change, even when it contains a few minor changes to transitive dependencies. This shows the brittleness of the current approach.
I am also a bit concerned that we are giving up a lot of control over the final result and the quality thereof.
These tools are known for adding a bunch of bloat which often isn't needed.
Manually written code for older browsers, all in a single file, will always be better and smaller. Ideally we don't have any build tools for polyfills.
I know that this is more work and that we then lose the connection to upstream maintainers. But I do think this is best for end users.