Every build in 4 started from nothing, which on a large application is a minute of parsing and transpiling that produces the same result as last time. buildDependencies…
5 shipped the ability for one bundle to load modules from another at runtime, which is genuinely novel and solves a problem most applications do not have. The…
Numeric module ids in 4 shifted when a module was added, which changed the content of every chunk after it and invalidated caches for files that had not…
Version 4 silently provided browser implementations of crypto, path and stream; 5 does not, and the first build after the upgrade does not compile. Adding the fallback works…
The syntax looks like a function call and is a language feature, and a bundler recognises it as a split point with no configuration at all. The chunk-load…
One attribute replaces an IntersectionObserver and a library — and applying it to everything makes the Largest Contentful Paint worse rather than better.
Every file using JSX had to import React even when it never referenced it, because JSX compiled to React.createElement. The compiled output imports react/jsx-runtime instead, which is a…
3.7 shipped optional chaining in November and the objection got smaller. allowJs, checkJs and a per-file opt-in — and strictNullChecks, which is the flag that pays.