Repository navigation
Releases: webpack/webpack
Release list
v5.112.2
Patch Changes
-
Reduce repeated scans when concatenating imported modules. (by @xiaoxiaojx in #22865)
-
Avoid allocating CSS module sets for single-group chunks. (by @xiaoxiaojx in #22866)
-
Return the value of every module type loaded with
importModule(). (by @alexander-akait in #22869)
v5.112.1
Patch Changes
-
Rebuild a lazy barrel in watch when what it defers changes, and keep the imports and re-exports it still runs. (by @aryanraj45 in #22699)
-
Rebuild under
cacheUnaffecteda module whose re-export target goes or returns. (by @aryanraj45 in #22749) -
Fix "Self-reference dependency has unused export name" for CommonJS namespace re-exports. (by @alexander-akait in #22791)
-
Fix
exportType: "style"CSS modules throwing outside the runtime chunk. (by @lazerg in #22833) -
Fix crash when a CSS module with
exportType: "style"imports an ignored stylesheet. (by @codeXsidd in #22846) -
Keep empty process environment variables that
.envfiles don't define inDotenvPlugin. (by @alexander-akait in #22794) -
Rehash an ESM entry chunk when a chunk it imports by file name changes. (by @alexander-akait in #22804)
-
Handle a NUL inside an HTML CDATA section the way the parsing spec does. (by @dependabot in #22811)
-
Keep module exports live across chunks, runtimes, HMR and eval, sparing globals. (by @alexander-akait in #22733)
-
Await asynchronous modules that
ProvidePlugininjects into ES modules. (by @alexander-akait in #22728) -
Keep a resolve that ends after the compiler closed from throwing. (by @alexander-akait in #22795)
-
Preserve string names passed to SharedWorker constructors. (by @bjohansebas in #22770)
-
Preserve string contents when extracting source map comments. (by @bjohansebas in #22768)
-
Scope strict-mode, async and generator block function declarations to their block. (by @alexander-akait in #22800)
-
Preserve raw dotenv values when reusing cached environment files. (by @Eshiv-Pandey in #22787)
-
Preserve assigned or patched built-ins, conversions and pattern targets. (by @aryanraj45 in #22761)
-
Keep globals a
globalThiswrite replaces, andsliceon a patched array. (by @alexander-akait in #22862) -
Skip HTML script tags for shared chunks that emit no JavaScript. (by @bjohansebas in #22779)
-
Keep the digits Firefox lays out a minified CSS percentage with. (by @alexander-akait in #22718)
-
Reject a second
srcsetdescriptor after a0xdensity descriptor. (by @alexander-akait in #22741) -
Minify JavaScript faster, folding string methods on constants and
x -= 1. (by @alexander-akait in #22823) -
Shorten minified JavaScript, and keep it running like its source. (by @alexander-akait in #22717)
-
Drop more unused functions, arguments, calls, global reads and variable copies when minifying JavaScript. (by @alexander-akait in #22789)
-
Minify JavaScript smaller where swc does, and fold a function's
lengthright. (by @alexander-akait in #22826) -
Reduce JavaScript output size where oxc or swc produce smaller output. (by @alexander-akait in #22829)
-
Update watchpack to 2.6.3 and rebuild on a
node_modulescreated mid-build. (by @alexander-akait in #22743) -
Support
concatenateModuleswithcacheUnaffected. (by @alexander-akait in #22746) -
Update schema-utils to 4.8.1. (by @alexander-akait in #22774)
-
Keep CSS fallbacks, vendor overrides,
oklch()hues and HTML elements. (by @alexander-akait in #22753) -
Validate
CleanPluginandDotenvPluginoptions with a precompiled check, so valid options no longer compile their schema at startup. (by @alexander-akait in #22758) -
Speed up startup and CSS minification, sharing the compile cache with workers. (by @xiaoxiaojx in #22706)
-
Use precise, generic types for modules, parsers, generators, stats and loaders. (by @alexander-akait in #22731)
v5.112.0
Minor Changes
-
Apply
pluginsset on a multi-configuration array to theMultiCompiler. (by @alexander-akait in #22702) -
Add
optimization.minimize.css.dropOverriddenDeclarations, dropping a declaration a later one overrides where no target is named. (by @alexander-akait in #22175) -
Export more plugins under their scope, move eleven loose exports under theirs, deprecate the old, and expose
template.DependencyTemplate,module.NullFactoryandutil.makeSerializable. (by @alexander-akait in #22261) -
Let
util.makeSerializabletake several requests, current one first. (by @alexander-akait in #22340) -
Emit the source map
scopesfield, so a debugger resolves imported ESM bindings by name. (by @alexander-akait in #21999) -
Add
library.entryExports: "all"to expose the exports of every entry module. (by @alexander-akait in #22235) -
Recognize a required
constbinding assigned toexportsas a re-export. (by @hai-x in #22276) -
Accept glob patterns in more path, module and file filter options. (by @hai-x in #22422)
-
Bundle a run of inline
<script>tags into one chunk the page can inline. (by @alexander-akait in #22188) -
Add
module.parser.javascript.topLevelThisfor classic-scriptthissemantics. (by @alexander-akait in #22193) -
Add
module.parser.html.chunkNameand awebpackChunkNamecomment for tags. (by @alexander-akait in #22200) -
Add
include/excludeversion and request filters to shared modules. (by @alexander-akait in #22297) -
Keep module side-effect information in ESM output as PURE annotations. (by @alexander-akait in #21789)
-
Add
optimization.splitChunks.dedupDepthto discover chunk intersections. (by @alexander-akait in #22240) -
Add
optimization.minimizeOptions.json, on by default withfutureDefaults. (by @alexander-akait in #22286) -
Add
SSRManifestPluginand fix server-rendered CSS collection and adoption. (by @alexander-akait in #21913) -
Add an
ignorehook tooutput.copyand keep unfollowedfromsymlinks. (by @alexander-akait in #22216) -
Add
optimization.minimize.css.convertApproximateColors. (by @alexander-akait in #22157) -
Add XML parsing and SVG/XML minification with data URLs and attribute sorting. (by @alexander-akait in #22269)
-
Extract CSS/HTML license comments like JS and safely shorten CSS gradients. (by @alexander-akait in #22408)
-
Resolve an async
DefinePlugin.runtimeValueover an asyncbeforeParsehook. (by @alexander-akait in #22210) -
Add CSS
customMedia/customSelectorsminimize options; resolve chained names. (by @alexander-akait in #22360) -
Rename the
Harmony*names toESM*and deprecate the old spellings. (by @hai-x in #22283) -
Reduce
css.syntax/html.syntaxtoparser,printer,SourceProcessorwith one node path. (by @alexander-akait in #22233) -
Add a JavaScript
SyntaxTreeread like the CSS one, andtoEstreeObject. (by @alexander-akait in #22608) -
Fix minified code that threw, and add
pure_conversionsandpure_heritage. (by @alexander-akait in #22473) -
Shorten more CSS values and selectors, fold longhands, order declarations and gather layer blocks. (by @alexander-akait in #22442)
-
Add
optimization.minimize.css.charset;falsedrops@charsetfor UTF-8 CSS. (by @alexander-akait in #22632)
Patch Changes
-
Join rules a gathered
@layerleaves adjacent, and an at-rule with a later one (by @alexander-akait in #22204)
stating the same condition; read what a condition declares. -
Read escaped CSS names and functions as spelled, and minify them unescaped. (by @alexander-akait in #22262)
-
Minify JavaScript, CSS and HTML assets whose names carry a
#fragment. (by @alexander-akait in #22277) -
Require
minimizer-webpack-plugin5.12, so inline scripts in HTML minify again. (by @alexander-akait in #22296) -
Minify the attributes of an HTML tag without rewriting the template in it. (by @alexander-akait in #22166)
-
Order joined at-rule selector lists and gather a repeated large
@layerblock. (by @alexander-akait in #22224) -
Preserve case-sensitive template identifiers when minifying HTML tag attributes. (by @bjohansebas in #22177)
-
Match Acorn's strict directives, Unicode identifiers and expression validation. (by @bjohansebas in #22185)
-
Skip concatenating modules when
optimization.providedExportsis disabled. (by @hai-x in #22410) -
Join rules a nesting lowering or duplicate drop left for a second pass. (by @aryanraj45 in #22268)
-
Write U+00A0 in a minified HTML attribute as the character, not
. (by @alexander-akait in #22208) -
Escape a foreign
<script>or<style>body, which is character data. (by @alexander-akait in #22233) -
Name the runtime module whose generation fails while hashing. (by @alexander-akait in #22203)
-
Rebuild a module in watch when its missing unused dependencies swap. (by @alexander-akait in #22693)
-
Rebuild in watch mode when a file is deleted while a build is running. (by @alexander-akait in #22650)
-
Take out the declaration a lowered shorthand writes over, which its source spelling made look like a fallback. (by @aryanraj45 in #22270)
-
Read a foreign
<script>or<style>body as character data, not as raw text. (by @alexander-akait in #22258) -
Keep an inline
<style>body as written when rebuilding a page webpack emitted. (by @alexander-akait in #22265) -
Fix minified HTML for
stylespellings, CSS quotes,<noscript>and a BOM. (by @alexander-akait in #22370) -
Record a build dependency required through a spread on Bun. (by @alexander-akait in #22230)
-
Write a nested selector opening on a combinator against its parent the way the printer writes one. (by @aryanraj45 in #22271)
-
Fix missing async stylesheets with a shared runtime. (by [@bjohansebas](https://git...
v5.111.1
Patch Changes
-
Throw on a write to an imported binding without losing concatenation. (by @alexander-akait in #22141)
-
Keep the
</html>a page was written with, whatever opened the element. (by @aryanraj45 in #22103) -
Look an attribute up by what its value decodes to, not how it was spelled. (by @aryanraj45 in #22107)
-
Minify HTML by what a value says rather than how it was spelled. (by @alexander-akait in #22154)
-
Follow HTML template form and frameset rules during tree construction. (by @dependabot in #22129)
-
Keep the whitespace
calc()needs around+and-in a custom property. (by @alexander-akait in #22150) -
Keep an attribute's delimiter and spell its value back where quoting is frozen. (by @alexander-akait in #22119)
-
Rewrite an attribute value the source spelled with character references. (by @aryanraj45 in #22110)
-
Unquote an HTML attribute value carrying a vertical tab. (by @alexander-akait in #22162)
-
Keep a shadow's spread and canonicalize a merged selector list. (by @alexander-akait in #22101)
-
Leave out an implied tag and merge adjacent runs on the first pass. (by @aryanraj45 in #22121)
-
Minify in one pass what a second pass of the CSS minifier used to find. (by @alexander-akait in #22106)
-
Cover the CSS lookup tables no stylesheet in the corpus reaches. (by @aryanraj45 in #22126)
-
Keep
initialwhere an engine reads the property's initial keyword apart. (by @aryanraj45 in #22128) -
Join the CSS rules a cut leaves adjacent, and keep a value an escape ate. (by @alexander-akait in #22108)
-
Drop the dead CSS a cut leaves, and join more of the blocks that print alike. (by @alexander-akait in #22111)
-
Run the printer equivalence suite against Firefox as well as Chrome. (by @aryanraj45 in #22151)
-
Finish in one CSS pass the joins, drops and collapses left to a second. (by @alexander-akait in #22117)
-
Move the context module sources into
lib/context/. (by @alexander-akait in #22115) -
Declare loader context types in JSDoc instead of hand-written
.d.tsfiles. (by @alexander-akait in #22116) -
Emit a failing module's stack relative, and name what a tap failed with. (by @alexander-akait in #22122)
-
Finish in one CSS pass the drops, layer gathers and joins left to a second. (by @alexander-akait in #22120)
-
Speed up CSS parsing by stepping over dropped selector preludes in bytes. (by @alexander-akait in #22142)
-
Record hoisted, module and block declarations while parsing, not by re-walking. (by @alexander-akait in #22147)
-
Fold more enumerated attribute values and drop those naming no keyword. (by @alexander-akait in #22148)
-
Halve the CSS minifier's browser-version tables by narrowing their element type. (by @alexander-akait in #22140)
-
Make each
optimization.minimize.cssswitch govern its own rewrite alone. (by @alexander-akait in #22140) -
Join the rules a top-level
@layergather leaves meeting at the seam. (by @alexander-akait in #22140) -
Gather a CSS layer past a rule that writes only a different one. (by @alexander-akait in #22154)
-
Order HTML attributes by what reaches the output, and read values decoded. (by @alexander-akait in #22146)
-
Drop a fallback declaration every
browserslisttarget reads past. (by @alexander-akait in #22158) -
Fix module library exports lost under cache or missing behind a re-export. (by @hai-x in #22114)
v5.111.0
Minor Changes
-
Enable
output.moduleby default withfutureDefaultson ESM-capable targets. (by @alexander-akait in #22088) -
Remove
experiments.outputModule, setoutput.moduleto emit ESM instead. (by @alexander-akait in #22011) -
Add
output.copyto copy files and directories into the output directory. (by @alexander-akait in #21938) -
Accept a file URL in any spelling Node reads where an absolute path is taken. (by @alexander-akait in #22012)
-
Minify inline CSS and JSON via
renderEmbeddedSource, exporting webpack's own. (by @alexander-akait in #21993) -
Export
cssMinifyandhtmlMinifyoncss.syntaxandhtml.syntax. (by @alexander-akait in #21953) -
Make
processResultasync and let a tap rename the asset it rewrote. (by @alexander-akait in #21854) -
Lower a CSS spelling a target cannot read and write a color fallback before one. (by @alexander-akait in #21926)
-
Allow optional filesystem cache build dependencies. (by @xiaoxiaojx in #21849)
-
Add
output.environment.topLevelAwaitand await every async ESM entry. (by @alexander-akait in #21915) -
Add
unusedSymbolsandpseudoClasses, and evaluate a CSS color function. (by @alexander-akait in #21927) -
Drop an implied shorthand slot, fold a math function, tighten color conversion. (by @alexander-akait in #21929)
-
Add
module.parser.javascript.specNamespaceObjectfor spec namespace objects. (by @alexander-akait in #22049) -
Drop what is already said or only a gone engine reads, add
lowerUnsupported. (by @alexander-akait in #21931) -
Add
normalizeUrlAttributes,mergeScripts, boolean and token switches. (by @alexander-akait in #21960) -
Minify an event handler attribute, and name the production each script body is. (by @alexander-akait in #21968)
-
Add source-map, asset, module, bailout, federation hints; group config checks. (by @alexander-akait in #21961)
-
Lower CSS nesting,
:dir()and custom at-rules; gate case folding and escapes. (by @alexander-akait in #21950) -
Add
optimization.minimize.css.mergeDistantRulesto join rules across a gap. (by @alexander-akait in #21969)
Patch Changes
-
Minify an embedded body through the embedded path, dropping three html options. (by @alexander-akait in #21936)
-
Take a minified
styleattribute's answer whatever quoting it needs. (by @alexander-akait in #21936) -
Name chunk imports in the chunk loader, not at each import site. (by @alexander-akait in #22076)
-
Repair hashed names; under HMR bake hashed url maps and reload moved css names. (by @alexander-akait in #21916)
-
Enable
output.moduleformoduleandmodern-modulelibrary types. (by @alexander-akait in #22071) -
Name an anonymous
export default classbefore its static initializers run. (by @alexander-akait in #21910) -
Throw on a non-optional read past an undefined
DefinePluginmember. (by @alexander-akait in #22017) -
Reject a fulfilled async cycle member with the cycle's evaluation error. (by @alexander-akait in #21921)
-
Escape external requests in generated ESM imports and star reexports. (by @bjohansebas in #22078)
-
Fix stack overflows in ESM library star reexport cycles with externals. (by @bjohansebas in #22080)
-
Preserve live bindings when reexporting external ESM exports. (by @bjohansebas in #22082)
-
Use configured external requests in ESM star reexports; reject property paths. (by @bjohansebas in #22079)
-
Preserve import attributes on ESM library star reexports of externals. (by @bjohansebas in #22081)
-
Fail the build when a runtime module's code generation throws while hashing. (by @alexander-akait in #22034)
-
Settle a css chunk load without a DOM where its stylesheet cannot be read. (by @alexander-akait in #21970)
-
Await a deferred import's async dependency that is evaluating-async. (by @alexander-akait in #21934)
-
Keep a color the CSS minifier would round where its channels are read back. (by @alexander-akait in #21923)
-
Refresh a cached module's
resolveOptionsfrom the factory, not the pack. (by @hai-x in #21945) -
Read a
<script type>decoded, so a reference-spelled type is minified. (by @alexander-akait in #21933) -
Read the extension out of a path-scoped rule's alternation, class or braces. (by @alexander-akait in #21946)
-
Keep an HTML attribute name or list token holding a foreign template delimiter. (by @alexander-akait in #22018)
-
Answer a name a module does not export from the spec namespace. (by @alexander-akait in #22092)
-
Give a deferred namespace the spec's exotic shape when the exports are known. (by @alexander-akait in #21939)
-
Give a JSON, text or CommonJS namespace the spec's exotic shape and identity. (by @alexander-akait in #22087)
-
Report a missing asset instead of a code generation deadlock. (by @alexander-akait in #21992)
-
Keep a concatenated CommonJS reference a separate statement, guarding it once. (by @alexander-akait in #21962)
-
Keep CSS module exports for a direct loader
importModule()call. (by @alexander-akait in #22047) -
Fix
import.metaandrequire.main, and scope-hoistimport.meta.main. (by @alexander-akait in #21973) -
Honor
resolve.fileSystemand say wheremodule.exprContextCriticalmoved. (by @alexander-akait in #22091) -
Release stale compilation data from nested children and idle watch builds. (by @alexander-akait in #22096)
-
Resolve a
@valueonce and then localize it, wherever it names an identifier. (by @alexander-akait in #22036) -
Release the printed-text store's text when the CSS printer drops it. (by @alexander-akait in #21958)
-
Skip a foreign depend...
v5.110.3
Patch Changes
-
Fix
import()options, circular reexport severity and namespace writes. (by @alexander-akait in #21867) -
Skip ESM interop when require() targets a module outside the concatenation. (by @hai-x in #21884)
-
Fix concatenated
require()in arequire.ensurecallback or a computed request. (by @hai-x in #21907) -
Keep
optimization.minimizea boolean; its options move tominimizeOptions. (by @alexander-akait in #21886) -
Fix mangled exports read through require() and a leaked internal reference. (by @alexander-akait in #21905)
-
Fix
newon a default import of a wrapped CommonJS module. (by @alexander-akait in #21876) -
Throw when a deferred namespace of an async module is forced while it evaluates. (by @alexander-akait in #21871)
-
Do not report a missing export for a name a side-effect-free barrel defers. (by @alexander-akait in #21874)
-
Fix queue, URL scheme, dotenv, HTTP module and persistent cache edge cases. (by @alexander-akait in #21901)
-
Evaluate a deferred import's async dependencies where the import sits. (by @alexander-akait in #21902)
-
Omit ambiguous
export *names from the module namespace. (by @alexander-akait in #21878)
v5.110.2
Patch Changes
-
Fix analyzable ESM baking around cycles, mixed-served wasm and style url maps. (by @alexander-akait in #21851)
-
Minify more HTML and CSS shorthands, and cut two costs off printing. (by @alexander-akait in #21842)
-
Report a named import that is never read when it names a missing export. (by @alexander-akait in #21856)
-
Fix ESM circular reexports, cyclic const TDZ, and defer evaluation order. (by @alexander-akait in #21852)
-
Stop
output.htmlemitting an unused JS chunk for each generated page. (by @alexander-akait in #21859) -
Stop emitting the CSS chunk loading runtime when every CSS chunk is initial. (by @alexander-akait in #21862)
-
Strip a BOM a loader put on a string, and shift a source map that counted it. (by @alexander-akait in #21857)
v5.110.1
Patch Changes
-
Fix a capture-group-less
snapshot.managedPathsRegExp; speed up cache writes. (by @alexander-akait in #21843) -
Throw
SyntaxError, orWebAssembly.CompileError, from an unparsable module. (by @alexander-akait in #21847) -
Accept the
optimization.minimize: trueshorthand set by a plugin inapply(). (by @AgentEnder in #21845)
v5.110.0
Minor Changes
-
Wrap concatenated modules in lazy
__webpack_require__.cwaccessors and inlinerequire(), keeping a wrapped body's names and side effects intact. (by @hai-x in #21519) -
Add performance hints reporting what a build costs: duplicate packages and modules, circular dependencies, broad contexts, large modules and chunks, hotspots,
eval, missing PURE annotations, polyfills, redundant dynamic imports, OS-dependent rules, cache effectiveness, how chunks load, what splitting refused, why an optimization was skipped, and rules, defines, externals, aliases and barrel reexports nothing uses. An oversized asset names its largest modules, and an entrypoint carrying the runtime recommendsoptimization.runtimeChunk. Enable every check not set individually withperformance.all, report hints in stats only withperformance.hints: "stats", and get them in a stable order that leaves the build hashes unchanged. (by @alexander-akait in #21841) -
Add the
descriptionRelativePathmodule rule condition. (by @alexander-akait in #21705) -
Add OS-independent
globmatching to module rules. (by @alexander-akait in #21771) -
Report inner-graph, AMD and bare
modulebailouts inoptimizationBailout. (by @alexander-akait in #21740) -
Allow marking externals as side-effect-free with a
sideEffectsflag. (by @alexander-akait in #21712) -
Give externals the original request of a context module element. (by @alexander-akait in #21780)
-
Add the
externalsPresets.nodeModulespreset with anallowlistoption to externalize installed packages, replacing thewebpack-node-externalsplugin. (by @alexander-akait in #21569) -
Add
output.library.umdAmdContainerfor an AMD-style loader branch in UMD. (by @hai-x in #21770) -
Resolve
@custom-mediavalues that aretrue/falseor name another custom media. (by @alexander-akait in #21624) -
Add the
__webpack_css_server_styles__module variable to read the CSS collected while rendering without a DOM, and keep that CSS in the order the styles were applied. (by @alexander-akait in #21576) -
Patch the HTML
<head>in place on hot update instead of forcing a full reload, including when a<script>that never executed is removed. (by @alexander-akait in #21624) -
Scope counter names in CSS modules; fix the
counter()counter-style andanimationtimeline keywords. (by @alexander-akait in #21600) -
Derive
import defer/import sourcefrom the target and fix the source phase. (by @alexander-akait in #21810) -
Emit analyzable ESM urls for chunks, assets, styles, workers and wasm. (by @alexander-akait in #21788)
-
Tree shake CommonJS:
module.exportsobject literals, exports destructured from arequire()binding, unused method requires, and unused side-effect-freerequire()calls and reexports. (by @alexander-akait in #21841) -
Resolve relative entry
baseUrivalues and bake one side of a hash cycle. (by @alexander-akait in #21750) -
Minify CSS further, only where the document is unchanged: shorthands and box longhands,
font-weight,<position>andfont-stretchkeywords, colors (polar, Lab andhsl()converted to hex), numbers, times, zero units,calc()and every math function the spec names folded over constants, selector lists, An+B, keyframe selectors, media-feature ranges,unicode-range,transitionlayers,display, transforms, gradients, font families, identical repeated declarations, and rules an identical later one makes dead. Abilities are read off the target browsers,vendorPrefixesadds and drops vendor prefixes for them, andrewriteCustomPropertiesshortens custom property values. Minification never changes whether a declaration parses, and beautifying keeps every rule. (by @alexander-akait in #21841) -
Safely minify CSS (with source maps) and HTML assets when
optimization.minimizeis enabled, unless a minimizer is already configured for them, making only transformations an engine cannot tell apart. Every rewrite is named as an option, so it can be switched off. (by @alexander-akait in #21841) -
Minify HTML further where the parsed document is unchanged: drop redundant quotes, whitespace nothing renders, escapes text does not need, implied tags, optional end tags nothing prints behind, empty attributes and nested empty elements; fold enumerated values and casing; normalize each attribute against the element it is on; and rewrite
style, token lists,srcset,sizes, URL, integer and boolean attributes, viewportcontent, inline<style>and a JSON<script>body through their own grammars. Adds theoptimization.minimize.htmloptionscollapseWhitespace,mergeStyles,minifyConditionalComments,minifySrcdoc,preserveComments,removeEmptyAttributes,removeEmptyElements,removeImpliedTags,removeRedundantAttributes,sortAttributesandsortTokenLists, and keeps an end tag the parent, the next element or the adoption agency would otherwise restructure the tree over. (by @alexander-akait in #21841) -
Suggest the closest name or a casing fix anywhere in a failed request. (by @alexander-akait in #21727)
-
Add aggregated
shutdownhook toMultiCompiler. (by @bjohansebas in #21578) -
Report which compilers changed on the MultiCompiler
donehook. (by @bjohansebas in #21580) -
Add
[containedpath]/[containedfile]placeholders, used for[path]/[file]of asset and html modules withexperiments.futureDefaults. (by @alexander-akait in #21592) -
Support an object for an entry's
htmlthat overridesoutput.htmlper option. (by @alexander-akait in #21574) -
Configure or exclude each asset type's minifier via
optimization.minimize. (by @alexander-akait in #21663) -
Support printing CSS and HTML beautified as well as minified. (by @alexander-akait in #21660)
-
Add
renderEmbeddedSource, and minify what it offers out of the box. (by @alexander-akait in #21830) -
Report bindings named
eval,argumentsor reserved words in ES module output. (by @alexander-akait in #21567) -
Emit no development source map for module libraries, or any with futureDefaults. (by @alexander-akait in #21839)
-
Speed up builds and cut memory: faster CSS, HTML and JavaScript parsing and minification, a built-in scope analyzer replacing
eslint-scope, faster dependency hot paths, module diagnostics, CommonJS export scanning and concatenated module renaming, runtime modules, parsers, generators and dependencies loaded only when used, one file watcher pool shared between MultiCompiler children, and lower parser, graph and startup memory. (by @alexander-akait in #21841) -
Improve tree-shaking for a namespace reexported as default, and fix
import d from "./mod"; d.memberreadingundefinedin that case. (by @alexander-akait in #21841) -
Warn on cross-kind CSS module export conflicts and let the class win. (by @alexander-akait in #21538)
-
Add
output.resourceHints.dedupeto skip prefetch links for already preloaded/prefetched chunks. (by @alexander-akait in #21386)
Patch Changes
- Let a memory-cache etag misma...
v5.109.2
Patch Changes
-
Resolve aliases pointing at a package directory whose name ends with
.jsagain. (by @alexander-akait in #21542) -
Name CSS sources in source maps by their resource path, without the
cssprefix. (by @bjohansebas in #21536) -
Delete no longer referenced files from the filesystem cache directory after storing the cache, age them by recorded time so restored caches are cleaned too, and collect every fully expired pack in one store instead of one per build. (by @bjohansebas in #21528)
-
Report
"universal"as the loader context target for the universal target. (by @alexander-akait in #21540) -
Skip
require().propin dead branches gated by inlined imported constants. (by @hai-x in #21517) -
Annotate configuration options and public hooks in the generated types with the
@sinceJSDoc tag. (by @bjohansebas in #21473)