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 dependency whose
isLazyis a flag when walking a lazy barrel. (by @alexander-akait in #21998) -
Move diagnostics to
buildInfo.diagnostics, persisting parse-time bailouts. (by @hai-x in #22055) -
Invalidate consumer codegen when an inlined export value changes. (by @xiaoxiaojx in #22020)
-
Rebuild DelegatedModule when DLL manifest metadata changes. (by @xiaoxiaojx in #22028)
-
Keep a CSS layer's blocks in order where one of them streams. (by @alexander-akait in #22044)
-
Refuse inlining const exports across sync cycles with binding reads. (by @xiaoxiaojx in #22085)
-
Escape a text run ending in
</, which the tag after it made a comment of. (by @aryanraj45 in #22086) -
Skip JS render sentinel scans on chunks without HTML. (by @xiaoxiaojx in #21974)
-
Minify an attribute by what its value says, not by how the source spelled it. (by @aryanraj45 in #22095)
-
Cut allocation and scanning in the CSS and HTML printers, output unchanged. (by @alexander-akait in #21997)
-
Emit less chunk-loading runtime. (by @alexander-akait in #22094)
-
Recognize the reflected attributes of
frame,frameset,marqueeanddir. (by @alexander-akait in #22003) -
Drop the
neo-asyncdependency in favor of a faster built-in async helper. (by @alexander-akait in #21959) -
Speed up cache serialization by cutting per-object lookups and call frames. (by @alexander-akait in #21994)
-
Update dependencies and match the
ReadFileSynctype to Node.js typings. (by @dependabot in #21919) -
Match acorn on
**arrows, LS/PS cooking, string export names,programreuse. (by @alexander-akait in #21666) -
Parse a regexp literal the running engine cannot build, and keep locations. (by @alexander-akait in #22009)
-
Parse without acorn, serialize parse-error locations, trim walker allocations. (by @alexander-akait in #21667)
-
Drop the
acorndependency in favor of webpack's own JavaScript parser. (by @alexander-akait in #22042) -
Name HTML chunks after their tags' urls, drop the JS copy, type
text/html. (by @alexander-akait in #22008)