chore(deps): update dependency webpack to v5.107.1 #177

Open
renovate-bot wants to merge 1 commit from renovate/webpack-5.x-lockfile into master
Member

This PR contains the following updates:

Package Change Age Confidence
webpack 5.94.0 -> 5.107.1 age confidence

Release Notes

webpack/webpack (webpack)

v5.107.1

Compare Source

Patch Changes
  • Align the experimental HTML tokenizer with the WHATWG spec: fix offset-range bugs in the script-data, content-mode end-tag, attribute-value, and EOF states; surface tokenizer parse errors to consumers via a new parseError callback ("warning" when the tokenizer recovers and the emitted token is still well-formed, "error" when the offset range is incomplete — e.g. eof-in-tag); and add the full WHATWG named character references table so decodeHtmlEntities handles all named entities (including legacy bare forms like &AMP and multi-code-point entities like ≂̸) with proper longest-prefix backtracking. (by @​alexander-akait in #​21000)

  • Tree-shake CommonJS modules imported through a const NAME = require(LITERAL) binding when only static members of NAME are read. Previously webpack treated every export of such modules as referenced (because the bare require() dependency reports EXPORTS_OBJECT_REFERENCED), so unused exports.x = ... assignments remained in the bundle even with usedExports enabled. The parser now forwards NAME.x / NAME.x() / NAME["x"] accesses to the underlying CommonJsRequireDependency as referenced exports, falling back to the full exports object the moment NAME is read in any other context (passed by value, destructured later, accessed with a dynamic key, …). This brings the binding form to parity with the existing destructuring form (const { x } = require(...)). (by @​alexander-akait in #​21003)

  • Fix RangeError: Maximum call stack size exceeded thrown from HarmonyImportSideEffectDependency.getModuleEvaluationSideEffectsState on long linear chains of side-effect-free imports. NormalModule.getSideEffectsConnectionState previously descended through HarmonyImportSideEffectDependency.getModuleEvaluationSideEffectsState recursively, adding two stack frames per module, which overflowed V8's stack at a few thousand modules deep. The traversal is now iterative. (by @​alexander-akait in #​20993)

  • Fix NormalModuleFactory parser/generator types: (by @​alexander-akait in #​20999)

    • module.generator.html now uses HtmlGeneratorOptions instead of EmptyGeneratorOptions (the extract option was hidden from the createGenerator / generator hook types).
    • WebAssembly (webassembly/async, webassembly/sync) generator hooks now use EmptyGeneratorOptions instead of EmptyParserOptions.
    • NormalModuleFactory#getParser / createParser / getGenerator / createGenerator are now generic over the module-type string, returning the specific parser/generator class for known types (e.g. JavascriptParser for "javascript/auto", CssGenerator for "css", etc.) instead of always returning the base Parser / Generator.
    • NormalModuleCreateData is now generic over the module type so parser, parserOptions, generator, and generatorOptions are narrowed to the specific class / options for the given type.
  • Link import bindings used inside define(...) callbacks in ES modules. Previously, HarmonyDetectionParserPlugin skipped walking the arguments of define calls in harmony modules, so references to imported bindings inside an inline AMD define factory (e.g. define(function () { console.log(foo); })) were not rewritten to their imported references and could cause ReferenceError at runtime. Inner graph usage analysis is also fixed for the related pattern const fn = function () { foo; }; define(fn);. (by @​alexander-akait in #​20990)

  • HTML-entry pipeline (experiments.html + experiments.css): emit <link rel="stylesheet"> tags for CSS chunks reachable from a <script src> entry. Previously when the bundled JS imported CSS, the resulting .css file was emitted to disk but never referenced from the extracted HTML (no <link> tag), and when splitChunks extracted CSS into sibling chunks the HTML cloned the originating <script> for each one — producing <script src="style.js"> pointing at non-existent JS filenames instead of <link rel="stylesheet" href="style.css">. CSS chunks are now sorted by the entrypoint's module post-order index so the <link> tags also appear in source import order, fixing the cascade ordering issue documented in html-webpack-plugin#1838 and webpack/mini-css-extract-plugin#959 for HTML-entry builds. nonce/crossorigin/referrerpolicy are copied from the originating tag onto the emitted <link>. (by @​alexander-akait in #​21002)

  • Allow devtool and SourceMapDevToolPlugin (or multiple SourceMapDevToolPlugin instances) to coexist on the same asset. Previously the second instance would silently skip any asset whose info.related.sourceMap had already been set by an earlier instance, and even when it ran the asset had been rewrapped as a RawSource so no source map could be recovered — producing an empty .map file. The plugin now keeps a per-compilation stash of pristine source maps, namespaces its persistent cache entries by the options that affect output, and appends additional related.sourceMap entries instead of overwriting them. The classic workaround of pairing devtool: 'hidden-source-map' with a new webpack.SourceMapDevToolPlugin({ filename: '[file].secondary.map', noSources: true }) now produces both maps in a single build. (by @​alexander-akait in #​21001)

  • Narrow TemplatePathFn callback types by context. pathData.chunk is now non-optional for chunk filename callbacks (output.filename, chunkFilename, cssFilename, cssChunkFilename, htmlFilename, htmlChunkFilename, optimization.splitChunks.cacheGroups[*].filename), and pathData.module is non-optional for module filename callbacks (output.assetModuleFilename, per-module generator.filename / generator.outputPath, module.parser.css.localIdentName). (by @​alexander-akait in #​20987)

  • Tighten the CreateData typedef in NormalModuleFactory. CreateData now represents the fully-populated value passed to the createModule, module, and createModuleClass hooks (NormalModuleCreateData & { settings: ModuleSettings }), while ResolveData.createData is typed as Partial<CreateData> to reflect the empty initial state. Plugins tapping those hooks no longer need to cast individual fields away from optional. (by @​alexander-akait in #​20992)

  • Stop webpackPrefetch / webpackPreload magic comments from leaking across import() call sites that share a webpackChunkName. When two imports targeted the same named chunk and only one of them set webpackPrefetch: true, the prefetch directive was applied from every parent chunk that referenced the named chunk. Prefetch and preload orders are now resolved per import() call site instead of from the shared chunk group's accumulated options. (by @​alexander-akait in #​20994)

  • Fix [fullhash:N] and [hash:N] (with length suffix) in output.publicPath not being interpolated at runtime. The detection regex in RuntimePlugin only matched [fullhash] / [hash] without a length suffix, so the PublicPathRuntimeModule was not flagged as a full-hash module and __webpack_require__.p was emitted with the placeholder XXXX left in place (e.g. out/XXXX/) instead of the real hash truncated to the requested length. (by @​alexander-akait in #​21004)

  • Re-export ModuleNotFoundError from webpack/lib/ModuleNotFoundError for backward compatibility with old plugins that import it from that path. This re-export will be removed in webpack 6. (by @​alexander-akait in #​20988)

v5.107.0

Compare Source

Minor Changes
  • Add module.generator.javascript.anonymousDefaultExportName option to control whether webpack sets .name to "default" for anonymous default export functions and classes per ES spec. Defaults to true for applications and false for libraries (when output.library is set) to avoid unnecessary bundle size overhead. Also extract anonymous default export .name fix-up into a shared runtime helper (__webpack_require__.dn), replacing repeated inline Object.defineProperty / Object.getOwnPropertyDescriptor calls with a single short call per module to reduce output size. (by @​xiaoxiaojx in #​20894)

  • Support module concatenation (scope hoisting) for CSS modules with text, css-style-sheet, style, and link export types (by @​xiaoxiaojx in #​20851)

  • The generator.exportsConvention function form for CSS modules now accepts string[] in addition to string. (by @​alexander-akait in #​20914)

  • Add linkInsert hook to CssLoadingRuntimeModule.getCompilationHooks(compilation) so plugin developers can control where stylesheet <link> elements are inserted into the document. (by @​alexander-akait in #​20947)

  • Add CssModulesPlugin.getCompilationHooks(compilation).orderModules hook. (by @​alexander-akait in #​20978)

  • Add a pure parser option for css/module and css/auto types matching postcss-modules-local-by-default's pure mode: every selector must contain at least one local class or id, otherwise webpack emits a build error. (by @​alexander-akait in #​20946)

  • Support CSS Modules @value identifiers as @import URLs and inside url() functions, e.g. @value path: "./other.css"; @&#8203;import path; and @value bg: "./image.png"; .a { background: url(bg); } (by @​alexander-akait in #​20925)

  • Add experimental TypeScript support via experiments.typescript: true (auto-enabled by experiments.futureDefaults). Uses Node.js's built-in module.stripTypeScriptTypes (Node.js >= 22.6 with the stable mode: "strip" API, including Node.js 26) to transform .ts, .cts, .mts, data:text/typescript, and data:application/typescript modules — no type checking, only erasable TypeScript (types, generics, import type, casts). .tsx/JSX and non-erasable syntax (enum, namespace, parameter-property constructors, decorator metadata) are NOT supported; use a TSX-capable loader (e.g. ts-loader, swc-loader) for those. (by @​alexander-akait in #​20964)

  • Added an experiments.html flag that reserves the html module type for the first-class HTML entry-point support. (by @​aryanraj45 in #​20902)

  • Preserve defer / source import phase keywords on external dependencies in ESM output, the same way import attributes are preserved. (by @​alexander-akait in #​20934)

  • Support the #__NO_SIDE_EFFECTS__ annotation to mark functions as pure for better tree-shaking. (by @​hai-x in #​20775)

  • Add module.generator.html.extract for HTML modules and the matching output.htmlFilename / output.htmlChunkFilename filename templates (defaults derived from output.filename / output.chunkFilename with .js swapped for .html, mirroring the CSS pipeline). When extraction is on, the parsed and URL-rewritten HTML is emitted as a standalone .html output file alongside the module's JavaScript export. (by @​alexander-akait in #​20979)

  • Add "module-sync" to default conditionNames for resolver defaults to align with Node.js, which exposes the module-sync community condition for synchronously-loadable ESM. (by @​alexander-akait in #​20933)

Patch Changes
  • Fix CSS modules composes so composes: foo from "./self.module.css" from inside self.module.css no longer creates a duplicate module instance. Fix CSS modules composes parsing so local() and global() function wrappers are tracked per class name. Fix CSS modules composes: ... from "<file>" so the composed files load in an order consistent with every rule's local composes order, instead of source first-appearance order. (by @​alexander-akait in #​20929)

  • Avoid emitting the __webpack_require__ runtime in CSS bundles when all imported CSS modules were concatenated into the same scope. (by @​alexander-akait in #​20936)

  • Recompute the CSS chunk's [contenthash] and the rendered CSS bytes when an asset referenced by url()/src()/string in CSS changes its hashed filename. (by @​alexander-akait in #​20938)

  • Embed an inline sourceMappingURL data URI inside the CSS when the parser.exportType option are text, style, or css-style-sheet. Also merge @imported CSS at build time for text and css-style-sheet exportTypes so the bundle ships a single accurate inline source map covering every contributing file. Map each generated CSS-module class export line in the JS bundle back to its selector position in the original CSS file (e.g. btn: "...".btn { ... }). (by @​alexander-akait in #​20886)

  • Fix CSS modules deduplication so a .module.<ext> file imported both directly (JS) and via icss (composes from / :import) becomes a single module instance. (by @​alexander-akait in #​20929)

  • Preserve @charset at-rule when CSS modules use exportType: "text". (by @​alexander-akait in #​20912)

  • Resolve [hash]/[fullhash] placeholders in output.publicPath when generating url() references for experiments.css. (by @​alexander-akait in #​20879)

  • Fix HMR for concatenated CSS modules with style exportType by using stable per-module identifiers for injected style elements and tracking inner module IDs of concatenated modules in HMR records (by @​xiaoxiaojx in #​20911)

  • Fix CSS Modules @value resolution when the same local name is imported from multiple modules. (by @​alexander-akait in #​20940)

  • Fix typeof ns.default / ns.default instanceof X on a static import defer * as ns from "./mod" for default-only and default-with-named external modules under optimization.concatenateModules. The concatenated-module rewrite was collapsing ns.default to the deferred-namespace proxy itself instead of routing through the optimized .a getter (which lazily evaluates the module and returns its default value), so typeof ns.default observed "object" (the proxy) rather than the type of the default. The dynamic exportsType already used .a correctly; default-only and default-with-named now match. (by @​alexander-akait in #​20910)

  • Make import defer * as ns more spec-compliant: ns.x = value no longer triggers module evaluation (per the TC39 import-defer [[Set]] algorithm), and the deferred namespace is now a distinct object from the eager namespace, with the same Deferred Module Namespace Exotic Object shared across defer-import call sites for the same module. (by @​alexander-akait in #​20913)

  • Fixed spec deviations in the deferred namespace object returned by __webpack_require__.z (import defer * as ns / import.defer(...)). (by @​alexander-akait in #​20910)

  • Drop the __webpack_require__, __webpack_require__.d, and __webpack_require__.o runtime helpers from library: { type: "module" } bundles when the on-demand exports source they were emitted for ends up dropped (e.g. a single concatenated entry without an IIFE). (by @​alexander-akait in #​20901)

  • Resolve the static specifier of a dynamic import() whose argument is a side-effect-free SequenceExpression, e.g. import((1, 0, "./mod.js")) is now treated the same as import("./mod.js") instead of being rejected as unresolvable. (by @​alexander-akait in #​20917)

  • Stable shared module ids and runtime-chunk emission order. (by @​imccausl in #​20860)

  • Fix snapshot validity check for context dependencies in watch mode by treating watchpack's existence-only entries ({}) as cache misses. (by @​alexander-akait in #​20916)

  • Support no-expression template literals in computed member access (e.g. import.meta[`url`]). (by @​alexander-akait in #​20889)

  • Improve tree-shaking in isPure: handle more expression types (ArrayExpression, ObjectExpression, NewExpression, ChainExpression, UnaryExpression (safe operators), MetaProperty, TaggedTemplateExpression, BinaryExpression (strict equality)), prevent /*#__PURE__*/ comments from leaking across ObjectExpression properties, and detect PURE comments inside TemplateLiteral interpolations. (by @​alexander-akait in #​20723)

  • Reject new import.defer(...) and new import.source(...) as a parse-time SyntaxError, matching the spec — ImportCall is a CallExpression and is not a valid operand of new. Parenthesized forms (new (import.defer(...))) remain valid and continue to throw TypeError at runtime as before. (by @​alexander-akait in #​20917)

  • Escape # characters that appear inside a path-shaped request's directory portion before passing the request to the resolver, so projects located in directories like /home/user/proj#1 (and tools like webpack-dev-server that build entry requests with query strings) resolve correctly. The escape only kicks in when the request contains both a # in the path portion and a ? query string — paths without a query keep their existing semantics. (by @​alexander-akait in #​20980)

  • Silence unhandled rejection from the prefetch trigger when chunk loading fails. The ensureChunkHandlers.prefetch runtime created Promise.all(promises).then(...) whose result is discarded by __webpack_require__.e. If chunk loading rejected (e.g. chunkLoadTimeout), that dangling chain produced an unhandled rejection. Prefetch is best-effort, so a no-op rejection handler is now attached. (by @​alexander-akait in #​20898)

  • Align require() of an ES module with Node.js's require(esm) "module.exports" named-export convention. When CommonJS require() resolves to an ES module that exports a binding with the literal string name "module.exports" (e.g. export { value as "module.exports" }), require() now returns the value of that export instead of the module's namespace object — matching Node.js v22.12+/v23+ behavior and easing migration of dual ESM/CJS libraries that rely on module.exports = …. The unwrap applies to plain require(), require().foo, calls (require()(…)), destructuring, and to CJS wrappers like module.exports = require(esm) / exports.x = require(esm). (by @​alexander-akait in #​20981)

  • Remove outdated @types/eslint-scope package from dependencies. (by @​alexander-akait in #​20869)

  • Fix export * resolution when a star-reexported module re-exports a name back to the importer cyclically. Previously, in a graph where a does export * from "./b"; export * from "./c"; and b does export { foo } from "./a"; while c provides the actual foo binding, webpack hoisted foo from b into a's namespace without per-name cycle detection — emitting a getter chain (a.foob.fooa.foo) that threw "Maximum call stack size exceeded" at runtime. The TC39 ResolveExport algorithm requires the cyclic branch to return null and the star loop to fall through to the non-cyclic source. (by @​alexander-akait in #​20959)

  • Preserve using declaration initializers when the inner graph optimization is enabled. (by @​hai-x in #​20906)

  • Fixed typescript types. (by @​alexander-akait in #​20880)

  • Bump webpack-sources to ^3.4.1 and feed asset bytes into hashes via the new Source.prototype.buffers() API. For large ConcatSource/ReplaceSource outputs this avoids the intermediate Buffer.concat that source.buffer() performs, removing a peak-memory spike equal to the source's total size on each hashed asset (AssetGenerator.getFullContentHash, CssIcssExportDependency content hashing, and RealContentHashPlugin). A small benchmark on a 64 MiB ConcatSource shows ~64 MiB lower peak external memory and ~45% faster hashing. (by @​alexander-akait in #​20897)

v5.106.2

Compare Source

Patch Changes
  • CSS @​import now inherits the parent module's exportType, so a file configured as "text" correctly creates a style tag when @​imported by a "style" parent. (by @​xiaoxiaojx in #​20838)

  • Make asset modules available in JS context when referenced from both CSS and a lazily compiled JS chunk. (by @​xiaoxiaojx in #​20801)

  • Include missing generator options in hash to ensure persistent cache invalidation when configuration changes (CssGenerator exportsOnly, JsonGenerator JSONParse, WebAssemblyGenerator mangleImports). (by @​xiaoxiaojx in #​20821)

  • Fix || default value handling in ProgressPlugin and ManifestPlugin that incorrectly overrode user-provided falsy values (e.g. modules: false, entries: false, entrypoints: false). (by @​xiaoxiaojx in #​20823)

  • Migrate from mime-types to mime-db. (by @​alexander-akait in #​20812)

  • Handle @charset at-rules in CSS modules. (by @​alexander-akait in #​20831)

  • Marked all experimental options in types. (by @​alexander-akait in #​20814)

v5.106.1

Compare Source

Patch Changes
  • Fix two ES5-environment regressions in the anonymous default export .name fix-up: the generated code referenced an undeclared __WEBPACK_DEFAULT_EXPORT__ binding causing ReferenceError, and used Reflect.defineProperty which is not available in pre-ES2015 runtimes. The fix-up now references the real assignment target and uses Object.defineProperty / Object.getOwnPropertyDescriptor. (by @​xiaoxiaojx in #​20796)

  • Prevent !important from being renamed as a local identifier in CSS modules. (by @​xiaoxiaojx in #​20798)

  • Use compiler context instead of module context for CSS modules local ident hashing to avoid hash collisions when files with the same name exist in different directories. (by @​xiaoxiaojx in #​20799)

v5.106.0

Compare Source

Minor Changes
  • Add exportType: "style" for CSS modules to inject styles into DOM via HTMLStyleElement, similar to style-loader functionality. (by @​xiaoxiaojx in #​20579)

  • Add context option support for VirtualUrlPlugin (by @​xiaoxiaojx in #​20449)

    • The context for the virtual module. A string path. Defaults to 'auto', which will try to resolve the context from the module id.
    • Support custom context path for resolving relative imports in virtual modules
    • Add examples demonstrating context usage and filename customization
  • Generate different CssModule instances for different exportType values. (by @​xiaoxiaojx in #​20590)

  • Added the localIdentHashFunction option to configure the hash function to be used for hashing. (by @​alexander-akait in #​20694)
    Additionally, the localIdentName option can now be a function.

  • Added support for destructuring assignment require in cjs, allowing for tree shaking. (by @​ahabhgk in #​20548)

  • Added the validate option to enable/disable validation in webpack/plugins/loaders, also implemented API to make it inside plugins. (by @​xiaoxiaojx in #​20275)

  • Added source support for async WASM modules. (by @​magic-akari in #​20364)

Patch Changes
  • Add a static getSourceBasicTypes method to the Module class to prevent errors across multiple versions. (by @​xiaoxiaojx in #​20614)

  • Included fragment groups in the conflicting order warning for CSS. (by @​aryanraj45 in #​20660)

  • Avoid rendering unused top-level __webpack_exports__ declaration when output ECMA module library. (by @​hai-x in #​20669)

  • Fixed resolving in CSS modules. (by @​alexander-akait in #​20771)

  • Allow external modules place in async chunks when output ECMA module. (by @​hai-x in #​20662)

  • Implement deprecate flag in schema for better TypeScript support to show which options are already deprecated by the configuration (by @​bjohansebas in #​20432)

  • Set .name to "default" for anonymous default export functions and classes per ES spec (by @​xiaoxiaojx in #​20773)

  • Hash entry chunks after runtime chunks to prevent stale content hash references in watch mode (by @​xiaoxiaojx in #​20724)

  • Fix multiple bugs and optimizations in CSS modules: correct third code point position in walkCssTokens number detection, fix multiline CSS comment regex, fix swapped :import/:export error message, fix comma callback incorrectly popping balanced stack, fix cache comparison missing array length check, fix match.index mutation side effect, move publicPathAutoRegex to module scope, precompute merged callbacks in consumeUntil, simplify redundant ternary in CssGenerator, fix typo GRID_TEMPLATE_ARES, remove duplicate grid-column-start, and merge duplicate getCompilationHooks calls. (by @​xiaoxiaojx in #​20648)

  • Correct url() path resolution and preserve source maps for non-link CSS export types (style, text, css-style-sheet) (by @​xiaoxiaojx in #​20717)

  • Emit error when proxy server returns non-200 status code in HttpUriPlugin instead of silently failing. (by @​xiaoxiaojx in #​20646)

  • import.meta as standalone expression now returns a complete object with known properties (url, webpack, main, env) instead of an empty object ({}), and hoists it as a module-level variable to ensure import.meta === import.meta identity. In preserve-unknown mode (ESM output), the hoisted object merges runtime import.meta properties via Object.assign. (by @​xiaoxiaojx in #​20658)

  • Fix incorrect condition in FileSystemInfo that always evaluated to false, preventing trailing slash removal from directory paths during build dependency resolution. (by @​xiaoxiaojx in #​20649)

  • fix: VirtualUrlPlugin absolute path virtual module IDs getting concatenated with compiler context (by @​xiaoxiaojx in #​20656)

    When a virtual module ID is an absolute path (e.g. virtual:C:/project/user.js), the auto-derived context was incorrectly joined with compiler.context, producing a concatenated path like C:\cwd\C:\project. Now absolute-path contexts are used directly.

  • All deprecated methods and options now have @deprecated flag in types. (by @​alexander-akait in #​20707)

  • Fix CompatibilityPlugin to correctly rename __webpack_require__ when it appears as an arrow function parameter (e.g. (__webpack_module, __webpack_exports, __webpack_require__) => { ... }). (by @​hai-x in #​20661)

v5.105.4

Compare Source

Patch Changes

v5.105.3

Compare Source

Patch Changes
  • Context modules now handle rejections correctly. (by @​alexander-akait in #​20455)

  • Only mark asset modules as side-effect-free when experimental.futureDefaults is set to true, so asset-copying use cases (e.g. import "./x.png") won’t break unless the option is enabled. (by @​hai-x in #​20535)

  • Add the missing webpack_exports declaration in certain cases when bundling a JS entry together with non-JS entries (e.g., CSS entry or asset module entry). (by @​hai-x in #​20463)

  • Fixed HMR failure for CSS modules with @​import when exportType !== "link". When exportType is not "link", CSS modules now behave like JavaScript modules and don't require special HMR handling, allowing @​import CSS to work correctly during hot module replacement. (by @​xiaoxiaojx in #​20514)

  • Fixed an issue where empty JavaScript files were generated for CSS-only entry points. The code now correctly checks if entry modules have JavaScript source types before determining whether to generate a JS file. (by @​xiaoxiaojx in #​20454)

  • Do not crash when a referenced chunk is not a runtime chunk. (by @​alexander-akait in #​20461)

  • Fix some types. (by @​alexander-akait in #​20412)

  • Ensure that missing module error are thrown after the interception handler (if present), allowing module interception to customize the module factory. (by @​hai-x in #​20510)

  • Added createRequire support for ECMA modules. (by @​stefanbinoj in #​20497)

  • Added category for CJS reexport dependency to fix issues with ECMA modules. (by @​hai-x in #​20444)

  • Implement immutable bytes for bytes import attribute to match tc39 spec. (by @​alexander-akait in #​20481)

  • Fixed deterministic search for graph roots regardless of edge order. (by @​veeceey in #​20452)

v5.105.2

Compare Source

Patch Changes

v5.105.1

Compare Source

Patch Changes
  • Fix VirtualUrlPlugin Windows compatibility by sanitizing cache keys and filenames. Cache keys now use toSafePath to replace colons (:) with double underscores (__) and sanitize other invalid characters, ensuring compatibility with Windows filesystem restrictions. (by @​xiaoxiaojx in #​20424)

  • Revert part of the createRequire generation behavior for require("node:...") to keep compatibility with those modules exports, e.g. const EventEmitter = require("node:events");. (by @​hai-x in #​20433)

  • Skip guard collection when exports-presence mode is disabled to improve parsing performance. (by @​hai-x in #​20433)

v5.105.0

Compare Source

Minor Changes
  • Allow resolving worker module by export condition name when using new Worker() (by @​hai-x in #​20353)

  • Detect conditional imports to avoid compile-time linking errors for non-existent exports. (by @​hai-x in #​20320)

  • Added the tsconfig option for the resolver options (replacement for tsconfig-paths-webpack-plugin). Can be false (disabled), true (use the default tsconfig.json file to search for it), a string path to tsconfig.json, or an object with configFile and references options. (by @​alexander-akait in #​20400)

  • Support import.defer() for context modules. (by @​ahabhgk in #​20399)

  • Added support for array values ​​to the devtool option. (by @​hai-x in #​20191)

  • Improve rendering node built-in modules for ECMA module output. (by @​hai-x in #​20255)

  • Unknown import.meta properties are now determined at runtime instead of being statically analyzed at compile time. (by @​xiaoxiaojx in #​20312)

Patch Changes
  • Fixed ESM default export handling for .mjs files in Module Federation (by @​y-okt in #​20189)

  • Optimized import.meta.env handling in destructuring assignments by using cached stringified environment definitions. (by @​xiaoxiaojx in #​20313)

  • Respect the stats.errorStack option in stats output. (by @​samarthsinh2660 in #​20258)

  • Fixed a bug where declaring a module variable in module scope would conflict with the default moduleArgument. (by @​xiaoxiaojx in #​20265)

  • Fix VirtualUrlPlugin to set resourceData.context for proper module resolution. Previously, when context was not set, it would fallback to the virtual scheme path (e.g., virtual:routes), which is not a valid filesystem path, causing subsequent resolve operations to fail. (by @​xiaoxiaojx in #​20390)

  • Fixed Worker self-import handling to support various URL patterns (e.g., import.meta.url, new URL(import.meta.url), new URL(import.meta.url, import.meta.url), new URL("./index.js", import.meta.url)). Workers that resolve to the same module are now properly deduplicated, regardless of the URL syntax used. (by @​xiaoxiaojx in #​20381)

  • Reuse the same async entrypoint for the same Worker URL within a module to avoid circular dependency warnings when multiple Workers reference the same resource. (by @​xiaoxiaojx in #​20345)

  • Fixed a bug where a self-referencing dependency would have an unused export name when imported inside a web worker. (by @​samarthsinh2660 in #​20251)

  • Fix missing export generation when concatenated modules in different chunks share the same runtime in module library bundles. (by @​hai-x in #​20346)

  • Fixed import.meta.env.xxx behavior: when accessing a non-existent property, it now returns empty object instead of full object at runtime. (by @​xiaoxiaojx in #​20289)

  • Improved parsing error reporting by adding a link to the loader documentation. (by @​gaurav10gg in #​20244)

  • Fix typescript types. (by @​alexander-akait in #​20305)

  • Add declaration for unused harmony import specifier. (by @​hai-x in #​20286)

  • Fix compressibility of modules while retaining portability. (by @​dmichon-msft in #​20287)

  • Optimize source map generation: only include ignoreList property when it has content, avoiding empty arrays in source maps. (by @​xiaoxiaojx in #​20319)

  • Preserve star exports for dependencies in ECMA module output. (by @​hai-x in #​20293)

  • Consider asset modulem to be side-effect free. (by @​hai-x in #​20352)

  • Avoid generating JavaScript modules for CSS exports that are not used, reducing unnecessary output and bundle size. (by @​xiaoxiaojx in #​20337)

v5.104.1

Compare Source

Patch Changes
  • 2efd21b: Reexports runtime calculation should not accessing WEBPACK_IMPORT_KEY decl with var.
  • c510070: Fixed a user information bypass vulnerability in the HttpUriPlugin plugin.

v5.104.0

Compare Source

Minor Changes
  • d3dd841: Use method shorthand to render module content in __webpack_modules__ object.
  • d3dd841: Enhance import.meta.env to support object access.
  • 4baab4e: Optimize dependency sorting in updateParent: sort each module only once by deferring to finishUpdateParent(), and reduce traversal count in sortWithSourceOrder by caching WeakMap values upfront.
  • 04cd530: Handle more at-rules for CSS modules.
  • cafae23: Added options to control the renaming of at-rules and various identifiers in CSS modules.
  • d3dd841: Added base64url, base62, base58, base52, base49, base36, base32 and base25 digests.
  • 5983843: Provide a stable runtime function variable __webpack_global__.
  • d3dd841: Improved localIdentName hashing for CSS.
Patch Changes
  • 22c48fb: Added module existence check for informative error message in development mode.
  • 50689e1: Use the fully qualified class name (or export name) for [fullhash] placeholder in CSS modules.
  • d3dd841: Support universal lazy compilation.
  • d3dd841: Fixed module library export definitions when multiple runtimes.
  • d3dd841: Fixed CSS nesting and CSS custom properties parsing.
  • d3dd841: Don't write fragment from URL to filename and apply fragment to module URL.
  • aab1da9: Fixed bugs for css/global type.
  • d3dd841: Compatibility import.meta.filename and import.meta.dirname with eval devtools.
  • d3dd841: Handle nested __webpack_require__.
  • 728ddb7: The speed of identifier parsing has been improved.
  • 0f8b31b: Improve types.
  • d3dd841: Don't corrupt debugId injection when hidden-source-map is used.
  • 2179fdb: Re-validate HttpUriPlugin redirects against allowedUris, restrict to http(s) and add a conservative redirect limit to prevent SSRF and untrusted content inclusion. Redirects failing policy are rejected before caching/lockfile writes.
  • d3dd841: Serialize HookWebpackError.
  • d3dd841: Added ability to use built-in properties in dotenv and define plugin.
  • 3c4319f: Optimizing the regular expression character class by specifying ranges for runtime code.
  • d3dd841: Reduce collision for local indent name in CSS.
  • d3dd841: Remove CSS link tags when CSS imports are removed.

v5.103.0

Compare Source

Features
  • Added DotenvPlugin and top level dotenv option to enable this plugin
  • Added WebpackManifestPlugin
  • Added support the ignoreList option in devtool plugins
  • Allow to use custom javascript parse function
  • Added import.meta.env support for environment variables
  • Added support for import.meta.dirname and import.meta.filename
  • Added support import.defer() for statistical path
  • Handle import.meta.main
  • Added suport to setup named exports for JSON modules and disable usage named export for import file from "./file.json" with { type: "json" }
  • Added support __dirname/__filename/import.meta.dirname/import.meta.filename for universal target
  • [CSS] Added the exportType option with link (by default), "text" and css-style-sheet values
  • [CSS] Added support for composes properties
Fixes
  • The dependOn chunk must be loaded before the common chunk
  • Return to namespace import when the external request includes a specific export
  • No runtime extra runtime code for module libraries
  • Delay HMR accept dependencies to preserve import attributes
  • Properly handle external presets for universal target
  • Fixed incorrect identifier of import binding for module externals
  • Fixed when defer import and dynamic default export mixed
  • Reduce generated output when globalThis supported
  • Fixed loading async modules in defer import
  • Reexport module for default import when no used exports for systemjs library
  • Rename HarmonyExportDependencyParserPlugin exported id to CompatibilityPlugin tagged id
  • Handle __dirname and __filename for ES modules
  • Rename single nested __webpack_export__ and __webpack_require__ in already bundled code
  • [Types] webpack function type
  • [Types] NormalModule type
  • [Types] Multi compiler configuration type
  • [Types] Fixed regression in custom hashDigest type
  • [CSS] No extra runtime for initial chunk
  • [CSS] Fixed a lot of CSS modules bugs

v5.102.1

Compare Source

Fixes
  • Supported extends with env for browserslist
  • Supported JSONP fragment format for web workers.
  • Fixed dynamic import support in workers using browserslist.
  • Fixed default defer import mangling.
  • Fixed default import of commonjs externals for SystemJS format.
  • Fixed context modules to the same file with different import attributes.
  • Fixed typescript types.
  • Improved import.meta warning messages to be more clear when used directly.
  • [CSS] Fixed CC_UPPER_U parsing (E -> U) in tokenizer.

v5.102.0

Compare Source

Features
  • Added static analyze for dynamic imports
  • Added support for import file from "./file.ext" with { type: "bytes" } to get the content as Uint8Array (look at example)
  • Added support for import file from "./file.ext" with { type: "text" } to get the content as text (look at example)
  • Added the snapshot.contextModule to configure snapshots options for context modules
  • Added the extractSourceMap option to implement the capabilities of loading source maps by comment, you don't need source-map-loader (look at example)
  • The topLevelAwait experiment is now stable (you can remove experiments.topLevelAwait from your webpack.config.js)
  • The layers experiment is now stable (you can remove experiments.layers from your webpack.config.js)
  • Added function matcher support in rule options
Fixes
  • Fixed conflicts caused by multiple concatenate modules
  • Ignore import failure during HMR update with ES modules output
  • Keep render module order consistent
  • Prevent inlining modules that have this exports
  • Removed unused timeout attribute of script tag
  • Supported UMD chunk format to work in web workers
  • Improved CommonJs bundle to ES module library
  • Use es-lexer for mjs files for build dependencies
  • Fixed support __non_webpack_require__ for ES modules
  • Properly handle external modules for CSS
  • AssetsByChunkName included assets from chunk.auxiliaryFiles
  • Use createRequire only when output is ES module and target is node
  • Typescript types
Performance Improvements
  • Avoid extra calls for snapshot
  • A avoid extra jobs for build dependencies
  • Move import attributes to own dependencies

v5.101.3

Compare Source

Fixes
  • Fixed resolve execution order issue from extra await in async modules
  • Avoid empty block for unused statement
  • Collect only specific expressions for destructuring assignment

v5.101.2

Compare Source

Fixes
  • Fixed syntax error when comment is on the last line
  • Handle var declaration for createRequire
  • Distinguish free variable and tagged variable

v5.101.1

Compare Source

Fixes
  • Filter deleted assets in processAdditionalAssets hook
  • HMR failure in defer module
  • Emit assets even if invalidation occurs again
  • Export types for serialization and deserialization in plugins and export the ModuleFactory class
  • Fixed the failure export of internal function for ES module chunk format
  • Fixed GetChunkFilename failure caused by dependOn entry
  • Fixed the import of missing dependency chunks
  • Fixed when entry chunk depends on the runtime chunk hash
  • Fixed module.exports bundle to ESM library
  • Adjusted the time of adding a group depending on the fragment of execution time
  • Fixed circle dependencies when require RawModule and condition of isDeferred
  • Tree-shakable module library should align preconditions of allowInlineStartup

v5.101.0

Compare Source

Fixes
  • Fixed concatenate optimization for ESM that caused undefined export
  • Respect the output.environment.nodePrefixForCoreModules option everywhere
  • Respect the output.importMetaName option everywhere
  • Fixed await async dependencies when accepting them during HMR
  • Better typescript types
Features
  • Added colors helpers for CLI
  • Enable tree-shaking for ESM external modules with named imports
  • Added the deferImport option to parser options
Performance Improvements
  • Fixed a regression in module concatenation after implementing deferred import support
  • Fixed a potential performance issue in CleanPlugin
  • Avoid extra require in some places

v5.100.2

Compare Source

Fixes
  • Keep consistent CSS order
  • Dependency without the source order attribute must keep their original index
  • Keep module traversal consistent across reexport scenarios
Performance Improvements
  • Extend importPhasesPlugin only when enable deferImport (#​19689)

v5.100.1

Compare Source

Fixes
  • Tree-shaking unused ignored modules
  • [Types] Compatibility with old Node.js versions

v5.100.0

Compare Source

Fixes
  • Fixed the case where an ES modules entry chunk depends on the runtime chunk hash
  • Handle function exports in webpack module wrapper
  • Ensure dependent chunks are imported before startup & fix duplicate export of 'default'
  • Generate lose closing brace when exports are unprovided
  • CleanPlugin doesn't unlink same file twice
  • Fixed unexpected error codes from fs.unlink on Windows
  • Typescript types
Features
  • HMR support for ES modules output
  • ES module output mode now fully supports splitChunks when external variables and runtimeChunk are not set.
  • Added support using keyword
  • Implemented tc39 Defer Module Evaluation (experiment)
  • Support dynamic template literals expressions for new URL(...)
  • Enable ES modules worker chunk loading for Node.js targets
  • Improved support for destructing in DefinePlugin
  • Added VirtualUrlPlugin to support virtual: scheme
Performance Improvements
  • Remove useless startup entrypoint runtime for ES modules output
  • Cache new URL(...) evaluate expression

v5.99.9

Compare Source

Fixes
  • HMR might fail if there are new initial chunks
  • Destructuring namespace import with default
  • Destructuring namespace import with computed-property
  • Generate valid code for es export generation for multiple module entries
  • Fixed public path issue for ES modules
  • Asset modules work when lazy compilation used
  • Eliminate unused statements in certain scenarios
  • Fixed regression with location and order of dependencies
  • Fixed typescript types

v5.99.8

Compare Source

Fixes
  • Fixed type error with latest @types/node
  • Fixed typescript types

v5.99.7

Compare Source

Fixes
  • Don't skip export generation for default reexport (#​19463)
  • Fixed module library export generation for reexport (#​19459)
  • Avoid module concatenation in child compilation for module library (#​19457)
  • Ensure HMR recover gracefully when CSS module with error
  • Respect cause of any errors and errors of AggregateError in stats output
  • Added missing @types/json-schema in types

v5.99.6

Compare Source

Fixes
  • Respect public path for ES modules
  • Fixed generation of module for module library when mixing commonjs and esm modules
  • Always apply FlagDependencyExportsPlugin for libraries where it required
  • Faster logic for dead control flow
  • Typescript types

v5.99.5

Compare Source

Fixes
  • Control dead flow for labeled and blockless statements

v5.99.4

Compare Source

Fixes
  • Fixed terminated state for if/else

v5.99.3

Compare Source

Fixes
  • Fixed dead control flow with deep nested if/else

v5.99.2

Compare Source

Fixes
  • Dead control flow for exotic cases

v5.99.1

Compare Source

Fixes
  • Dead control flow for many cases

v5.99.0

Compare Source

Fixes
  • Fixed a lot of types
  • Fixed runtime error when using asset module as entrypoint and runtimeChunk
  • JSON generator now preserves __proto__ property
  • Fixed when entry module isn't executed when targeting webworker with a runtime chunk
  • Do not duplicate modules with import attributes and reexport
  • The module and module ESM libraries have been union and code generation has been improved
  • Use a valid output path for errored asset modules
  • Remove BOM from JavaScript and CSS files when loader was not used
  • Create export for externals for module/modern-module library
  • Export unprovided variables for commonjs-static library
  • Forward semicolons from meta.webpackAST
  • Use xxhash64 for cache.hashAlgorithm when experiments.futureDefaults enabled
  • [CSS] Fixed profiling plugin for CSS
  • [CSS] Avoid extra module.export output for CSS module
Features
  • Add dead control flow check
  • Handle new Worker(import.meta.url) and new Worker(new URL(import.meta.url)) syntax
  • Added ability to generate custom error content for generators
Performance Improvements
  • Fixed excessive calls of getAllReferences
  • Optimize loc for monomorphic inline caching
Chores
  • Switch on strict types for typescript

v5.98.0

Compare Source

Fixes
Performance Improvements
Chores
Features
Continuous Integration

New Contributors

Full Changelog: https://github.com/webpack/webpack/compare/v5.97.1...v5.98.0

v5.97.1

Compare Source

Bug Fixes

  • Performance regression
  • Sub define key should't be renamed when it's a defined variable

v5.97.0

Compare Source

Bug Fixes

  • Don't crash with filesystem cache and unknown scheme
  • Generate a valid code when output.iife is true and output.library.type is umd
  • Fixed conflict variable name with concatenate modules and runtime code
  • Merge duplicate chunks before
  • Collisions in ESM library
  • Use recursive search for versions of shared dependencies
  • [WASM] Don't crash WebAssembly with Reference Types (sync and async)
  • [WASM] Fixed wasm loading for sync and async webassembly
  • [CSS] Don't add [uniqueName] to localIdentName when it is empty
  • [CSS] Parsing strings on Windows
  • [CSS] Fixed CSS local escaping

New Features

  • Added support for injecting debug IDs
  • Export the MergeDuplicateChunks plugin
  • Added universal loading for JS chunks and JS worker chunks (only ES modules)
  • [WASM] Added universal loading for WebAssembly chunks (only for async WebAssembly)
  • [CSS] Allow initial CSS chunks to be placed anywhere - the output.cssHeadDataCompression option was deleted
  • [CSS] Added universal loading for CSS chunks
  • [CSS] Parse ICSS @value at-rules in CSS modules
  • [CSS] Parse ICSS :import rules in CSS modules
  • [CSS] Added the url and import options for CSS
  • [CSS] Allow to import custom properties in CSS modules

Performance

  • Faster Queue implementation, also fixed queue iterator state in dequeue method to ensure correct behavior after item removal

v5.96.1

Compare Source

Bug Fixes

  • [Types] Add @types/eslint-scope to dependencieS
  • [Types] Fixed regression in validate

v5.96.0

Compare Source

Bug Fixes

  • Fixed Module Federation should track all referenced chunks
  • Handle Data URI without base64 word
  • HotUpdateChunk have correct runtime when modified with new runtime
  • Order of chunks ids in generated chunk code
  • No extra Javascript chunks when using asset module as an entrypoint
  • Use optimistically logic for output.environment.dynamicImport to determine chunk format when no browserslist or target
  • Collision with global variables for optimization.avoidEntryIife
  • Avoid through variables in inlined module
  • Allow chunk template strings in output.devtoolNamespace
  • No extra runtime for get javascript/css chunk filename
  • No extra runtime for prefetch and preload in JS runtime when it was unsed in CSS
  • Avoid cache invalidation using ProgressPlugin
  • Increase parallelism when using importModule on the execution stage
  • Correctly parsing string in export and import
  • Typescript types
  • [CSS] css/auto considers a module depending on its filename as css (pure CSS) or css/local, before it was css/global and css/local
  • [CSS] Always interpolate classes even if they are not involved in export
  • [CSS] No extra runtime in Javascript runtime chunks for asset modules used in CSS
  • [CSS] No extra runtime in Javascript runtime chunks for external asset modules used in CSS
  • [CSS] No extra runtime for the node target
  • [CSS] Fixed url()s and @import parsing
  • [CSS] Fixed - emit a warning on broken :local and :global

New Features

  • Export CSS and ESM runtime modules
  • Single Runtime Chunk and Federation eager module hoisting
  • [CSS] Support /* webpackIgnore: true */ for CSS files
  • [CSS] Support src() support
  • [CSS] CSS nesting in CSS modules

v5.95.0

Compare Source

Bug Fixes

  • Fixed hanging when attempting to read a symlink-like file that it can't read
  • Handle default for import context element dependency
  • Merge duplicate chunks call after split chunks
  • Generate correctly code for dynamically importing the same file twice and destructuring
  • Use content hash as [base] and [name] for extracted DataURI's
  • Distinguish module and import in module-import for externals import's
  • [Types] Make EnvironmentPlugin default values types less strict
  • [Types] Typescript 5.6 compatibility

New Features

  • Add new optimization.avoidEntryIife option (true by default for the production mode)
  • Pass output.hash* options to loader context

Performance

  • Avoid unneeded re-visit in build chunk graph

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [webpack](https://github.com/webpack/webpack) | [`5.94.0` -> `5.107.1`](https://renovatebot.com/diffs/npm/webpack/5.94.0/5.107.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/webpack/5.107.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webpack/5.94.0/5.107.1?slim=true) | --- ### Release Notes <details> <summary>webpack/webpack (webpack)</summary> ### [`v5.107.1`](https://github.com/webpack/webpack/blob/HEAD/CHANGELOG.md#51071) [Compare Source](https://github.com/webpack/webpack/compare/v5.107.0...v5.107.1) ##### Patch Changes - Align the experimental HTML tokenizer with the WHATWG spec: fix offset-range bugs in the script-data, content-mode end-tag, attribute-value, and EOF states; surface tokenizer parse errors to consumers via a new `parseError` callback (`"warning"` when the tokenizer recovers and the emitted token is still well-formed, `"error"` when the offset range is incomplete — e.g. `eof-in-tag`); and add the full WHATWG named character references table so `decodeHtmlEntities` handles all named entities (including legacy bare forms like `&AMP` and multi-code-point entities like `&NotEqualTilde;`) with proper longest-prefix backtracking. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;21000](https://github.com/webpack/webpack/pull/21000)) - Tree-shake CommonJS modules imported through a `const NAME = require(LITERAL)` binding when only static members of `NAME` are read. Previously webpack treated every export of such modules as referenced (because the bare `require()` dependency reports `EXPORTS_OBJECT_REFERENCED`), so unused `exports.x = ...` assignments remained in the bundle even with `usedExports` enabled. The parser now forwards `NAME.x` / `NAME.x()` / `NAME["x"]` accesses to the underlying `CommonJsRequireDependency` as referenced exports, falling back to the full exports object the moment `NAME` is read in any other context (passed by value, destructured later, accessed with a dynamic key, …). This brings the binding form to parity with the existing destructuring form (`const { x } = require(...)`). (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;21003](https://github.com/webpack/webpack/pull/21003)) - Fix `RangeError: Maximum call stack size exceeded` thrown from `HarmonyImportSideEffectDependency.getModuleEvaluationSideEffectsState` on long linear chains of side-effect-free imports. `NormalModule.getSideEffectsConnectionState` previously descended through `HarmonyImportSideEffectDependency.getModuleEvaluationSideEffectsState` recursively, adding two stack frames per module, which overflowed V8's stack at a few thousand modules deep. The traversal is now iterative. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20993](https://github.com/webpack/webpack/pull/20993)) - Fix `NormalModuleFactory` parser/generator types: (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20999](https://github.com/webpack/webpack/pull/20999)) - `module.generator.html` now uses `HtmlGeneratorOptions` instead of `EmptyGeneratorOptions` (the `extract` option was hidden from the `createGenerator` / `generator` hook types). - WebAssembly (`webassembly/async`, `webassembly/sync`) generator hooks now use `EmptyGeneratorOptions` instead of `EmptyParserOptions`. - `NormalModuleFactory#getParser` / `createParser` / `getGenerator` / `createGenerator` are now generic over the module-type string, returning the specific parser/generator class for known types (e.g. `JavascriptParser` for `"javascript/auto"`, `CssGenerator` for `"css"`, etc.) instead of always returning the base `Parser` / `Generator`. - `NormalModuleCreateData` is now generic over the module type so `parser`, `parserOptions`, `generator`, and `generatorOptions` are narrowed to the specific class / options for the given `type`. - Link import bindings used inside `define(...)` callbacks in ES modules. Previously, `HarmonyDetectionParserPlugin` skipped walking the arguments of `define` calls in harmony modules, so references to imported bindings inside an inline AMD `define` factory (e.g. `define(function () { console.log(foo); })`) were not rewritten to their imported references and could cause `ReferenceError` at runtime. Inner graph usage analysis is also fixed for the related pattern `const fn = function () { foo; }; define(fn);`. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20990](https://github.com/webpack/webpack/pull/20990)) - HTML-entry pipeline (`experiments.html` + `experiments.css`): emit `<link rel="stylesheet">` tags for CSS chunks reachable from a `<script src>` entry. Previously when the bundled JS imported CSS, the resulting `.css` file was emitted to disk but never referenced from the extracted HTML (no `<link>` tag), and when `splitChunks` extracted CSS into sibling chunks the HTML cloned the originating `<script>` for each one — producing `<script src="style.js">` pointing at non-existent JS filenames instead of `<link rel="stylesheet" href="style.css">`. CSS chunks are now sorted by the entrypoint's module post-order index so the `<link>` tags also appear in source import order, fixing the cascade ordering issue documented in `html-webpack-plugin#1838` and `webpack/mini-css-extract-plugin#959` for HTML-entry builds. `nonce`/`crossorigin`/`referrerpolicy` are copied from the originating tag onto the emitted `<link>`. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;21002](https://github.com/webpack/webpack/pull/21002)) - Allow `devtool` and `SourceMapDevToolPlugin` (or multiple `SourceMapDevToolPlugin` instances) to coexist on the same asset. Previously the second instance would silently skip any asset whose `info.related.sourceMap` had already been set by an earlier instance, and even when it ran the asset had been rewrapped as a `RawSource` so no source map could be recovered — producing an empty `.map` file. The plugin now keeps a per-compilation stash of pristine source maps, namespaces its persistent cache entries by the options that affect output, and appends additional `related.sourceMap` entries instead of overwriting them. The classic workaround of pairing `devtool: 'hidden-source-map'` with a `new webpack.SourceMapDevToolPlugin({ filename: '[file].secondary.map', noSources: true })` now produces both maps in a single build. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;21001](https://github.com/webpack/webpack/pull/21001)) - Narrow `TemplatePathFn` callback types by context. `pathData.chunk` is now non-optional for chunk filename callbacks (`output.filename`, `chunkFilename`, `cssFilename`, `cssChunkFilename`, `htmlFilename`, `htmlChunkFilename`, `optimization.splitChunks.cacheGroups[*].filename`), and `pathData.module` is non-optional for module filename callbacks (`output.assetModuleFilename`, per-module `generator.filename` / `generator.outputPath`, `module.parser.css.localIdentName`). (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20987](https://github.com/webpack/webpack/pull/20987)) - Tighten the `CreateData` typedef in `NormalModuleFactory`. `CreateData` now represents the fully-populated value passed to the `createModule`, `module`, and `createModuleClass` hooks (`NormalModuleCreateData & { settings: ModuleSettings }`), while `ResolveData.createData` is typed as `Partial<CreateData>` to reflect the empty initial state. Plugins tapping those hooks no longer need to cast individual fields away from optional. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20992](https://github.com/webpack/webpack/pull/20992)) - Stop `webpackPrefetch` / `webpackPreload` magic comments from leaking across `import()` call sites that share a `webpackChunkName`. When two imports targeted the same named chunk and only one of them set `webpackPrefetch: true`, the prefetch directive was applied from every parent chunk that referenced the named chunk. Prefetch and preload orders are now resolved per `import()` call site instead of from the shared chunk group's accumulated options. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20994](https://github.com/webpack/webpack/pull/20994)) - Fix `[fullhash:N]` and `[hash:N]` (with length suffix) in `output.publicPath` not being interpolated at runtime. The detection regex in `RuntimePlugin` only matched `[fullhash]` / `[hash]` without a length suffix, so the `PublicPathRuntimeModule` was not flagged as a full-hash module and `__webpack_require__.p` was emitted with the placeholder `XXXX` left in place (e.g. `out/XXXX/`) instead of the real hash truncated to the requested length. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;21004](https://github.com/webpack/webpack/pull/21004)) - Re-export `ModuleNotFoundError` from `webpack/lib/ModuleNotFoundError` for backward compatibility with old plugins that import it from that path. This re-export will be removed in webpack 6. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20988](https://github.com/webpack/webpack/pull/20988)) ### [`v5.107.0`](https://github.com/webpack/webpack/blob/HEAD/CHANGELOG.md#51070) [Compare Source](https://github.com/webpack/webpack/compare/v5.106.2...v5.107.0) ##### Minor Changes - Add `module.generator.javascript.anonymousDefaultExportName` option to control whether webpack sets `.name` to `"default"` for anonymous default export functions and classes per ES spec. Defaults to `true` for applications and `false` for libraries (when `output.library` is set) to avoid unnecessary bundle size overhead. Also extract anonymous default export `.name` fix-up into a shared runtime helper (`__webpack_require__.dn`), replacing repeated inline `Object.defineProperty` / `Object.getOwnPropertyDescriptor` calls with a single short call per module to reduce output size. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20894](https://github.com/webpack/webpack/pull/20894)) - Support module concatenation (scope hoisting) for CSS modules with `text`, `css-style-sheet`, `style`, and `link` export types (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20851](https://github.com/webpack/webpack/pull/20851)) - The `generator.exportsConvention` function form for CSS modules now accepts `string[]` in addition to `string`. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20914](https://github.com/webpack/webpack/pull/20914)) - Add `linkInsert` hook to `CssLoadingRuntimeModule.getCompilationHooks(compilation)` so plugin developers can control where stylesheet `<link>` elements are inserted into the document. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20947](https://github.com/webpack/webpack/pull/20947)) - Add `CssModulesPlugin.getCompilationHooks(compilation).orderModules` hook. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20978](https://github.com/webpack/webpack/pull/20978)) - Add a `pure` parser option for `css/module` and `css/auto` types matching `postcss-modules-local-by-default`'s pure mode: every selector must contain at least one local class or id, otherwise webpack emits a build error. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20946](https://github.com/webpack/webpack/pull/20946)) - Support CSS Modules `@value` identifiers as `@import` URLs and inside `url()` functions, e.g. `@value path: "./other.css"; @&#8203;import path;` and `@value bg: "./image.png"; .a { background: url(bg); }` (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20925](https://github.com/webpack/webpack/pull/20925)) - Add experimental TypeScript support via `experiments.typescript: true` (auto-enabled by `experiments.futureDefaults`). Uses Node.js's built-in `module.stripTypeScriptTypes` (Node.js >= 22.6 with the stable `mode: "strip"` API, including Node.js 26) to transform `.ts`, `.cts`, `.mts`, `data:text/typescript`, and `data:application/typescript` modules — no type checking, only erasable TypeScript (types, generics, `import type`, casts). `.tsx`/JSX and non-erasable syntax (`enum`, `namespace`, parameter-property constructors, decorator metadata) are NOT supported; use a TSX-capable loader (e.g. `ts-loader`, `swc-loader`) for those. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20964](https://github.com/webpack/webpack/pull/20964)) - Added an `experiments.html` flag that reserves the `html` module type for the first-class HTML entry-point support. (by [@&#8203;aryanraj45](https://github.com/aryanraj45) in [#&#8203;20902](https://github.com/webpack/webpack/pull/20902)) - Preserve `defer` / `source` import phase keywords on external dependencies in ESM output, the same way import attributes are preserved. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20934](https://github.com/webpack/webpack/pull/20934)) - Support the `#__NO_SIDE_EFFECTS__` annotation to mark functions as pure for better tree-shaking. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20775](https://github.com/webpack/webpack/pull/20775)) - Add `module.generator.html.extract` for HTML modules and the matching `output.htmlFilename` / `output.htmlChunkFilename` filename templates (defaults derived from `output.filename` / `output.chunkFilename` with `.js` swapped for `.html`, mirroring the CSS pipeline). When extraction is on, the parsed and URL-rewritten HTML is emitted as a standalone `.html` output file alongside the module's JavaScript export. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20979](https://github.com/webpack/webpack/pull/20979)) - Add `"module-sync"` to default `conditionNames` for resolver defaults to align with Node.js, which exposes the `module-sync` community condition for synchronously-loadable ESM. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20933](https://github.com/webpack/webpack/pull/20933)) ##### Patch Changes - Fix CSS modules `composes` so `composes: foo from "./self.module.css"` from inside `self.module.css` no longer creates a duplicate module instance. Fix CSS modules `composes` parsing so `local()` and `global()` function wrappers are tracked per class name. Fix CSS modules `composes: ... from "<file>"` so the composed files load in an order consistent with every rule's local composes order, instead of source first-appearance order. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20929](https://github.com/webpack/webpack/pull/20929)) - Avoid emitting the `__webpack_require__` runtime in CSS bundles when all imported CSS modules were concatenated into the same scope. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20936](https://github.com/webpack/webpack/pull/20936)) - Recompute the CSS chunk's `[contenthash]` and the rendered CSS bytes when an asset referenced by `url()`/`src()`/string in CSS changes its hashed filename. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20938](https://github.com/webpack/webpack/pull/20938)) - Embed an inline `sourceMappingURL` data URI inside the CSS when the `parser.exportType` option are `text`, `style`, or `css-style-sheet`. Also merge `@import`ed CSS at build time for `text` and `css-style-sheet` exportTypes so the bundle ships a single accurate inline source map covering every contributing file. Map each generated CSS-module class export line in the JS bundle back to its selector position in the original CSS file (e.g. `btn: "..."` → `.btn { ... }`). (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20886](https://github.com/webpack/webpack/pull/20886)) - Fix CSS modules deduplication so a `.module.<ext>` file imported both directly (JS) and via icss (`composes from` / `:import`) becomes a single module instance. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20929](https://github.com/webpack/webpack/pull/20929)) - Preserve `@charset` at-rule when CSS modules use `exportType: "text"`. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20912](https://github.com/webpack/webpack/pull/20912)) - Resolve `[hash]`/`[fullhash]` placeholders in `output.publicPath` when generating `url()` references for `experiments.css`. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20879](https://github.com/webpack/webpack/pull/20879)) - Fix HMR for concatenated CSS modules with `style` exportType by using stable per-module identifiers for injected style elements and tracking inner module IDs of concatenated modules in HMR records (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20911](https://github.com/webpack/webpack/pull/20911)) - Fix CSS Modules `@value` resolution when the same local name is imported from multiple modules. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20940](https://github.com/webpack/webpack/pull/20940)) - Fix `typeof ns.default` / `ns.default instanceof X` on a static `import defer * as ns from "./mod"` for `default-only` and `default-with-named` external modules under `optimization.concatenateModules`. The concatenated-module rewrite was collapsing `ns.default` to the deferred-namespace proxy itself instead of routing through the optimized `.a` getter (which lazily evaluates the module and returns its default value), so `typeof ns.default` observed `"object"` (the proxy) rather than the type of the default. The `dynamic` exportsType already used `.a` correctly; default-only and default-with-named now match. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20910](https://github.com/webpack/webpack/pull/20910)) - Make `import defer * as ns` more spec-compliant: `ns.x = value` no longer triggers module evaluation (per the TC39 import-defer `[[Set]]` algorithm), and the deferred namespace is now a distinct object from the eager namespace, with the same Deferred Module Namespace Exotic Object shared across defer-import call sites for the same module. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20913](https://github.com/webpack/webpack/pull/20913)) - Fixed spec deviations in the deferred namespace object returned by `__webpack_require__.z` (`import defer * as ns` / `import.defer(...)`). (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20910](https://github.com/webpack/webpack/pull/20910)) - Drop the `__webpack_require__`, `__webpack_require__.d`, and `__webpack_require__.o` runtime helpers from `library: { type: "module" }` bundles when the on-demand exports source they were emitted for ends up dropped (e.g. a single concatenated entry without an IIFE). (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20901](https://github.com/webpack/webpack/pull/20901)) - Resolve the static specifier of a dynamic `import()` whose argument is a side-effect-free `SequenceExpression`, e.g. `import((1, 0, "./mod.js"))` is now treated the same as `import("./mod.js")` instead of being rejected as unresolvable. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20917](https://github.com/webpack/webpack/pull/20917)) - Stable shared module ids and runtime-chunk emission order. (by [@&#8203;imccausl](https://github.com/imccausl) in [#&#8203;20860](https://github.com/webpack/webpack/pull/20860)) - Fix snapshot validity check for context dependencies in watch mode by treating watchpack's existence-only entries (`{}`) as cache misses. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20916](https://github.com/webpack/webpack/pull/20916)) - Support no-expression template literals in computed member access (e.g. ``import.meta[`url`]``). (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20889](https://github.com/webpack/webpack/pull/20889)) - Improve tree-shaking in `isPure`: handle more expression types (`ArrayExpression`, `ObjectExpression`, `NewExpression`, `ChainExpression`, `UnaryExpression` (safe operators), `MetaProperty`, `TaggedTemplateExpression`, `BinaryExpression` (strict equality)), prevent `/*#__PURE__*/` comments from leaking across `ObjectExpression` properties, and detect PURE comments inside `TemplateLiteral` interpolations. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20723](https://github.com/webpack/webpack/pull/20723)) - Reject `new import.defer(...)` and `new import.source(...)` as a parse-time `SyntaxError`, matching the spec — `ImportCall` is a `CallExpression` and is not a valid operand of `new`. Parenthesized forms (`new (import.defer(...))`) remain valid and continue to throw `TypeError` at runtime as before. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20917](https://github.com/webpack/webpack/pull/20917)) - Escape `#` characters that appear inside a path-shaped request's directory portion before passing the request to the resolver, so projects located in directories like `/home/user/proj#1` (and tools like webpack-dev-server that build entry requests with query strings) resolve correctly. The escape only kicks in when the request contains both a `#` in the path portion and a `?` query string — paths without a query keep their existing semantics. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20980](https://github.com/webpack/webpack/pull/20980)) - Silence unhandled rejection from the prefetch trigger when chunk loading fails. The `ensureChunkHandlers.prefetch` runtime created `Promise.all(promises).then(...)` whose result is discarded by `__webpack_require__.e`. If chunk loading rejected (e.g. `chunkLoadTimeout`), that dangling chain produced an unhandled rejection. Prefetch is best-effort, so a no-op rejection handler is now attached. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20898](https://github.com/webpack/webpack/pull/20898)) - Align `require()` of an ES module with Node.js's [`require(esm)`](https://nodejs.org/docs/latest/api/modules.html#loading-ecmascript-modules-using-require) `"module.exports"` named-export convention. When CommonJS `require()` resolves to an ES module that exports a binding with the literal string name `"module.exports"` (e.g. `export { value as "module.exports" }`), `require()` now returns the value of that export instead of the module's namespace object — matching Node.js v22.12+/v23+ behavior and easing migration of dual ESM/CJS libraries that rely on `module.exports = …`. The unwrap applies to plain `require()`, `require().foo`, calls (`require()(…)`), destructuring, and to CJS wrappers like `module.exports = require(esm)` / `exports.x = require(esm)`. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20981](https://github.com/webpack/webpack/pull/20981)) - Remove outdated `@types/eslint-scope` package from dependencies. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20869](https://github.com/webpack/webpack/pull/20869)) - Fix `export *` resolution when a star-reexported module re-exports a name back to the importer cyclically. Previously, in a graph where `a` does `export * from "./b"; export * from "./c";` and `b` does `export { foo } from "./a";` while `c` provides the actual `foo` binding, webpack hoisted `foo` from `b` into `a`'s namespace without per-name cycle detection — emitting a getter chain (`a.foo` → `b.foo` → `a.foo`) that threw "Maximum call stack size exceeded" at runtime. The TC39 `ResolveExport` algorithm requires the cyclic branch to return null and the star loop to fall through to the non-cyclic source. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20959](https://github.com/webpack/webpack/pull/20959)) - Preserve `using` declaration initializers when the inner graph optimization is enabled. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20906](https://github.com/webpack/webpack/pull/20906)) - Fixed typescript types. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20880](https://github.com/webpack/webpack/pull/20880)) - Bump `webpack-sources` to `^3.4.1` and feed asset bytes into hashes via the new `Source.prototype.buffers()` API. For large `ConcatSource`/`ReplaceSource` outputs this avoids the intermediate `Buffer.concat` that `source.buffer()` performs, removing a peak-memory spike equal to the source's total size on each hashed asset (`AssetGenerator.getFullContentHash`, `CssIcssExportDependency` content hashing, and `RealContentHashPlugin`). A small benchmark on a 64 MiB `ConcatSource` shows \~64 MiB lower peak external memory and \~45% faster hashing. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20897](https://github.com/webpack/webpack/pull/20897)) ### [`v5.106.2`](https://github.com/webpack/webpack/blob/HEAD/CHANGELOG.md#51062) [Compare Source](https://github.com/webpack/webpack/compare/v5.106.1...v5.106.2) ##### Patch Changes - CSS [@&#8203;import](https://github.com/import) now inherits the parent module's exportType, so a file configured as "text" correctly creates a style tag when [@&#8203;imported](https://github.com/imported) by a "style" parent. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20838](https://github.com/webpack/webpack/pull/20838)) - Make asset modules available in JS context when referenced from both CSS and a lazily compiled JS chunk. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20801](https://github.com/webpack/webpack/pull/20801)) - Include missing generator options in hash to ensure persistent cache invalidation when configuration changes (CssGenerator `exportsOnly`, JsonGenerator `JSONParse`, WebAssemblyGenerator `mangleImports`). (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20821](https://github.com/webpack/webpack/pull/20821)) - Fix `||` default value handling in ProgressPlugin and ManifestPlugin that incorrectly overrode user-provided falsy values (e.g. `modules: false`, `entries: false`, `entrypoints: false`). (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20823](https://github.com/webpack/webpack/pull/20823)) - Migrate from `mime-types` to `mime-db`. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20812](https://github.com/webpack/webpack/pull/20812)) - Handle `@charset` at-rules in CSS modules. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20831](https://github.com/webpack/webpack/pull/20831)) - Marked all experimental options in types. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20814](https://github.com/webpack/webpack/pull/20814)) ### [`v5.106.1`](https://github.com/webpack/webpack/blob/HEAD/CHANGELOG.md#51061) [Compare Source](https://github.com/webpack/webpack/compare/v5.106.0...v5.106.1) ##### Patch Changes - Fix two ES5-environment regressions in the anonymous default export `.name` fix-up: the generated code referenced an undeclared `__WEBPACK_DEFAULT_EXPORT__` binding causing `ReferenceError`, and used `Reflect.defineProperty` which is not available in pre-ES2015 runtimes. The fix-up now references the real assignment target and uses `Object.defineProperty` / `Object.getOwnPropertyDescriptor`. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20796](https://github.com/webpack/webpack/pull/20796)) - Prevent `!important` from being renamed as a local identifier in CSS modules. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20798](https://github.com/webpack/webpack/pull/20798)) - Use compiler context instead of module context for CSS modules local ident hashing to avoid hash collisions when files with the same name exist in different directories. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20799](https://github.com/webpack/webpack/pull/20799)) ### [`v5.106.0`](https://github.com/webpack/webpack/blob/HEAD/CHANGELOG.md#51060) [Compare Source](https://github.com/webpack/webpack/compare/v5.105.4...v5.106.0) ##### Minor Changes - Add `exportType: "style"` for CSS modules to inject styles into DOM via HTMLStyleElement, similar to style-loader functionality. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20579](https://github.com/webpack/webpack/pull/20579)) - Add `context` option support for VirtualUrlPlugin (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20449](https://github.com/webpack/webpack/pull/20449)) - The context for the virtual module. A string path. Defaults to 'auto', which will try to resolve the context from the module id. - Support custom context path for resolving relative imports in virtual modules - Add examples demonstrating context usage and filename customization - Generate different `CssModule` instances for different `exportType` values. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20590](https://github.com/webpack/webpack/pull/20590)) - Added the `localIdentHashFunction` option to configure the hash function to be used for hashing. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20694](https://github.com/webpack/webpack/pull/20694)) Additionally, the `localIdentName` option can now be a function. - Added support for destructuring assignment `require` in cjs, allowing for tree shaking. (by [@&#8203;ahabhgk](https://github.com/ahabhgk) in [#&#8203;20548](https://github.com/webpack/webpack/pull/20548)) - Added the `validate` option to enable/disable validation in webpack/plugins/loaders, also implemented API to make it inside plugins. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20275](https://github.com/webpack/webpack/pull/20275)) - Added `source` support for async WASM modules. (by [@&#8203;magic-akari](https://github.com/magic-akari) in [#&#8203;20364](https://github.com/webpack/webpack/pull/20364)) ##### Patch Changes - Add a static getSourceBasicTypes method to the Module class to prevent errors across multiple versions. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20614](https://github.com/webpack/webpack/pull/20614)) - Included fragment groups in the conflicting order warning for CSS. (by [@&#8203;aryanraj45](https://github.com/aryanraj45) in [#&#8203;20660](https://github.com/webpack/webpack/pull/20660)) - Avoid rendering unused top-level `__webpack_exports__` declaration when output ECMA module library. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20669](https://github.com/webpack/webpack/pull/20669)) - Fixed resolving in CSS modules. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20771](https://github.com/webpack/webpack/pull/20771)) - Allow external modules place in async chunks when output ECMA module. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20662](https://github.com/webpack/webpack/pull/20662)) - Implement `deprecate` flag in schema for better TypeScript support to show which options are already deprecated by the configuration (by [@&#8203;bjohansebas](https://github.com/bjohansebas) in [#&#8203;20432](https://github.com/webpack/webpack/pull/20432)) - Set `.name` to `"default"` for anonymous default export functions and classes per ES spec (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20773](https://github.com/webpack/webpack/pull/20773)) - Hash entry chunks after runtime chunks to prevent stale content hash references in watch mode (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20724](https://github.com/webpack/webpack/pull/20724)) - Fix multiple bugs and optimizations in CSS modules: correct third code point position in walkCssTokens number detection, fix multiline CSS comment regex, fix swapped :import/:export error message, fix comma callback incorrectly popping balanced stack, fix cache comparison missing array length check, fix match.index mutation side effect, move publicPathAutoRegex to module scope, precompute merged callbacks in consumeUntil, simplify redundant ternary in CssGenerator, fix typo GRID\_TEMPLATE\_ARES, remove duplicate grid-column-start, and merge duplicate getCompilationHooks calls. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20648](https://github.com/webpack/webpack/pull/20648)) - Correct url() path resolution and preserve source maps for non-link CSS export types (style, text, css-style-sheet) (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20717](https://github.com/webpack/webpack/pull/20717)) - Emit error when proxy server returns non-200 status code in HttpUriPlugin instead of silently failing. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20646](https://github.com/webpack/webpack/pull/20646)) - `import.meta` as standalone expression now returns a complete object with known properties (`url`, `webpack`, `main`, `env`) instead of an empty object `({})`, and hoists it as a module-level variable to ensure `import.meta === import.meta` identity. In `preserve-unknown` mode (ESM output), the hoisted object merges runtime `import.meta` properties via `Object.assign`. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20658](https://github.com/webpack/webpack/pull/20658)) - Fix incorrect condition in FileSystemInfo that always evaluated to false, preventing trailing slash removal from directory paths during build dependency resolution. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20649](https://github.com/webpack/webpack/pull/20649)) - fix: VirtualUrlPlugin absolute path virtual module IDs getting concatenated with compiler context (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20656](https://github.com/webpack/webpack/pull/20656)) When a virtual module ID is an absolute path (e.g. `virtual:C:/project/user.js`), the auto-derived context was incorrectly joined with `compiler.context`, producing a concatenated path like `C:\cwd\C:\project`. Now absolute-path contexts are used directly. - All deprecated methods and options now have `@deprecated` flag in types. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20707](https://github.com/webpack/webpack/pull/20707)) - Fix `CompatibilityPlugin` to correctly rename `__webpack_require__` when it appears as an arrow function parameter (e.g. `(__webpack_module, __webpack_exports, __webpack_require__) => { ... }`). (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20661](https://github.com/webpack/webpack/pull/20661)) ### [`v5.105.4`](https://github.com/webpack/webpack/blob/HEAD/CHANGELOG.md#51054) [Compare Source](https://github.com/webpack/webpack/compare/v5.105.3...v5.105.4) ##### Patch Changes - Add `Module.getSourceBasicTypes` to distinguish basic source types and clarify how modules with non-basic source types like `remote` still produce JavaScript output. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20546](https://github.com/webpack/webpack/pull/20546)) - Handle `createRequire` in expressions. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20549](https://github.com/webpack/webpack/pull/20549)) - Fixed types for multi stats. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20556](https://github.com/webpack/webpack/pull/20556)) - Remove empty needless js output for normal css module. (by [@&#8203;JSerFeng](https://github.com/JSerFeng) in [#&#8203;20162](https://github.com/webpack/webpack/pull/20162)) - Update `enhanced-resolve` to support new features for `tsconfig.json`. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20555](https://github.com/webpack/webpack/pull/20555)) - Narrows export presence guard detection to explicit existence checks on namespace imports only, i.e. patterns like "x" in ns. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20561](https://github.com/webpack/webpack/pull/20561)) ### [`v5.105.3`](https://github.com/webpack/webpack/blob/HEAD/CHANGELOG.md#51053) [Compare Source](https://github.com/webpack/webpack/compare/v5.105.2...v5.105.3) ##### Patch Changes - Context modules now handle rejections correctly. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20455](https://github.com/webpack/webpack/pull/20455)) - Only mark asset modules as side-effect-free when `experimental.futureDefaults` is set to true, so asset-copying use cases (e.g. `import "./x.png"`) won’t break unless the option is enabled. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20535](https://github.com/webpack/webpack/pull/20535)) - Add the missing **webpack\_exports** declaration in certain cases when bundling a JS entry together with non-JS entries (e.g., CSS entry or asset module entry). (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20463](https://github.com/webpack/webpack/pull/20463)) - Fixed HMR failure for CSS modules with [@&#8203;import](https://github.com/import) when exportType !== "link". When exportType is not "link", CSS modules now behave like JavaScript modules and don't require special HMR handling, allowing [@&#8203;import](https://github.com/import) CSS to work correctly during hot module replacement. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20514](https://github.com/webpack/webpack/pull/20514)) - Fixed an issue where empty JavaScript files were generated for CSS-only entry points. The code now correctly checks if entry modules have JavaScript source types before determining whether to generate a JS file. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20454](https://github.com/webpack/webpack/pull/20454)) - Do not crash when a referenced chunk is not a runtime chunk. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20461](https://github.com/webpack/webpack/pull/20461)) - Fix some types. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20412](https://github.com/webpack/webpack/pull/20412)) - Ensure that missing module error are thrown after the interception handler (if present), allowing module interception to customize the module factory. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20510](https://github.com/webpack/webpack/pull/20510)) - Added `createRequire` support for ECMA modules. (by [@&#8203;stefanbinoj](https://github.com/stefanbinoj) in [#&#8203;20497](https://github.com/webpack/webpack/pull/20497)) - Added category for CJS reexport dependency to fix issues with ECMA modules. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20444](https://github.com/webpack/webpack/pull/20444)) - Implement immutable bytes for `bytes` import attribute to match tc39 spec. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20481](https://github.com/webpack/webpack/pull/20481)) - Fixed deterministic search for graph roots regardless of edge order. (by [@&#8203;veeceey](https://github.com/veeceey) in [#&#8203;20452](https://github.com/webpack/webpack/pull/20452)) ### [`v5.105.2`](https://github.com/webpack/webpack/blob/HEAD/CHANGELOG.md#51052) [Compare Source](https://github.com/webpack/webpack/compare/v5.105.1...v5.105.2) ##### Patch Changes - Fixed `WebpackPluginInstance` type regression. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20440](https://github.com/webpack/webpack/pull/20440)) ### [`v5.105.1`](https://github.com/webpack/webpack/blob/HEAD/CHANGELOG.md#51051) [Compare Source](https://github.com/webpack/webpack/compare/v5.105.0...v5.105.1) ##### Patch Changes - Fix VirtualUrlPlugin Windows compatibility by sanitizing cache keys and filenames. Cache keys now use `toSafePath` to replace colons (`:`) with double underscores (`__`) and sanitize other invalid characters, ensuring compatibility with Windows filesystem restrictions. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20424](https://github.com/webpack/webpack/pull/20424)) - Revert part of the createRequire generation behavior for `require("node:...")` to keep compatibility with those modules exports, e.g. `const EventEmitter = require("node:events");`. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20433](https://github.com/webpack/webpack/pull/20433)) - Skip guard collection when exports-presence mode is disabled to improve parsing performance. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20433](https://github.com/webpack/webpack/pull/20433)) ### [`v5.105.0`](https://github.com/webpack/webpack/blob/HEAD/CHANGELOG.md#51050) [Compare Source](https://github.com/webpack/webpack/compare/v5.104.1...v5.105.0) ##### Minor Changes - Allow resolving worker module by export condition name when using `new Worker()` (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20353](https://github.com/webpack/webpack/pull/20353)) - Detect conditional imports to avoid compile-time linking errors for non-existent exports. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20320](https://github.com/webpack/webpack/pull/20320)) - Added the `tsconfig` option for the `resolver` options (replacement for `tsconfig-paths-webpack-plugin`). Can be `false` (disabled), `true` (use the default `tsconfig.json` file to search for it), a string path to `tsconfig.json`, or an object with `configFile` and `references` options. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20400](https://github.com/webpack/webpack/pull/20400)) - Support `import.defer()` for context modules. (by [@&#8203;ahabhgk](https://github.com/ahabhgk) in [#&#8203;20399](https://github.com/webpack/webpack/pull/20399)) - Added support for array values ​​to the `devtool` option. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20191](https://github.com/webpack/webpack/pull/20191)) - Improve rendering node built-in modules for ECMA module output. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20255](https://github.com/webpack/webpack/pull/20255)) - Unknown import.meta properties are now determined at runtime instead of being statically analyzed at compile time. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20312](https://github.com/webpack/webpack/pull/20312)) ##### Patch Changes - Fixed ESM default export handling for `.mjs` files in Module Federation (by [@&#8203;y-okt](https://github.com/y-okt) in [#&#8203;20189](https://github.com/webpack/webpack/pull/20189)) - Optimized `import.meta.env` handling in destructuring assignments by using cached stringified environment definitions. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20313](https://github.com/webpack/webpack/pull/20313)) - Respect the `stats.errorStack` option in stats output. (by [@&#8203;samarthsinh2660](https://github.com/samarthsinh2660) in [#&#8203;20258](https://github.com/webpack/webpack/pull/20258)) - Fixed a bug where declaring a `module` variable in module scope would conflict with the default `moduleArgument`. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20265](https://github.com/webpack/webpack/pull/20265)) - Fix VirtualUrlPlugin to set resourceData.context for proper module resolution. Previously, when context was not set, it would fallback to the virtual scheme path (e.g., `virtual:routes`), which is not a valid filesystem path, causing subsequent resolve operations to fail. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20390](https://github.com/webpack/webpack/pull/20390)) - Fixed Worker self-import handling to support various URL patterns (e.g., `import.meta.url`, `new URL(import.meta.url)`, `new URL(import.meta.url, import.meta.url)`, `new URL("./index.js", import.meta.url)`). Workers that resolve to the same module are now properly deduplicated, regardless of the URL syntax used. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20381](https://github.com/webpack/webpack/pull/20381)) - Reuse the same async entrypoint for the same Worker URL within a module to avoid circular dependency warnings when multiple Workers reference the same resource. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20345](https://github.com/webpack/webpack/pull/20345)) - Fixed a bug where a self-referencing dependency would have an unused export name when imported inside a web worker. (by [@&#8203;samarthsinh2660](https://github.com/samarthsinh2660) in [#&#8203;20251](https://github.com/webpack/webpack/pull/20251)) - Fix missing export generation when concatenated modules in different chunks share the same runtime in module library bundles. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20346](https://github.com/webpack/webpack/pull/20346)) - Fixed `import.meta.env.xxx` behavior: when accessing a non-existent property, it now returns empty object instead of full object at runtime. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20289](https://github.com/webpack/webpack/pull/20289)) - Improved parsing error reporting by adding a link to the loader documentation. (by [@&#8203;gaurav10gg](https://github.com/gaurav10gg) in [#&#8203;20244](https://github.com/webpack/webpack/pull/20244)) - Fix typescript types. (by [@&#8203;alexander-akait](https://github.com/alexander-akait) in [#&#8203;20305](https://github.com/webpack/webpack/pull/20305)) - Add declaration for unused harmony import specifier. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20286](https://github.com/webpack/webpack/pull/20286)) - Fix compressibility of modules while retaining portability. (by [@&#8203;dmichon-msft](https://github.com/dmichon-msft) in [#&#8203;20287](https://github.com/webpack/webpack/pull/20287)) - Optimize source map generation: only include `ignoreList` property when it has content, avoiding empty arrays in source maps. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20319](https://github.com/webpack/webpack/pull/20319)) - Preserve star exports for dependencies in ECMA module output. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20293](https://github.com/webpack/webpack/pull/20293)) - Consider asset modulem to be side-effect free. (by [@&#8203;hai-x](https://github.com/hai-x) in [#&#8203;20352](https://github.com/webpack/webpack/pull/20352)) - Avoid generating JavaScript modules for CSS exports that are not used, reducing unnecessary output and bundle size. (by [@&#8203;xiaoxiaojx](https://github.com/xiaoxiaojx) in [#&#8203;20337](https://github.com/webpack/webpack/pull/20337)) ### [`v5.104.1`](https://github.com/webpack/webpack/blob/HEAD/CHANGELOG.md#51041) [Compare Source](https://github.com/webpack/webpack/compare/v5.104.0...v5.104.1) ##### Patch Changes - [`2efd21b`](https://github.com/webpack/webpack/commit/2efd21b): Reexports runtime calculation should not accessing **WEBPACK\_IMPORT\_KEY** decl with var. - [`c510070`](https://github.com/webpack/webpack/commit/c510070): Fixed a user information bypass vulnerability in the HttpUriPlugin plugin. ### [`v5.104.0`](https://github.com/webpack/webpack/blob/HEAD/CHANGELOG.md#51040) [Compare Source](https://github.com/webpack/webpack/compare/v5.103.0...v5.104.0) ##### Minor Changes - [`d3dd841`](https://github.com/webpack/webpack/commit/d3dd841): Use method shorthand to render module content in `__webpack_modules__` object. - [`d3dd841`](https://github.com/webpack/webpack/commit/d3dd841): Enhance `import.meta.env` to support object access. - [`4baab4e`](https://github.com/webpack/webpack/commit/4baab4e): Optimize dependency sorting in updateParent: sort each module only once by deferring to finishUpdateParent(), and reduce traversal count in sortWithSourceOrder by caching WeakMap values upfront. - [`04cd530`](https://github.com/webpack/webpack/commit/04cd530): Handle more at-rules for CSS modules. - [`cafae23`](https://github.com/webpack/webpack/commit/cafae23): Added options to control the renaming of at-rules and various identifiers in CSS modules. - [`d3dd841`](https://github.com/webpack/webpack/commit/d3dd841): Added `base64url`, `base62`, `base58`, `base52`, `base49`, `base36`, `base32` and `base25` digests. - [`5983843`](https://github.com/webpack/webpack/commit/5983843): Provide a stable runtime function variable `__webpack_global__`. - [`d3dd841`](https://github.com/webpack/webpack/commit/d3dd841): Improved `localIdentName` hashing for CSS. ##### Patch Changes - [`22c48fb`](https://github.com/webpack/webpack/commit/22c48fb): Added module existence check for informative error message in development mode. - [`50689e1`](https://github.com/webpack/webpack/commit/50689e1): Use the fully qualified class name (or export name) for `[fullhash]` placeholder in CSS modules. - [`d3dd841`](https://github.com/webpack/webpack/commit/d3dd841): Support universal lazy compilation. - [`d3dd841`](https://github.com/webpack/webpack/commit/d3dd841): Fixed module library export definitions when multiple runtimes. - [`d3dd841`](https://github.com/webpack/webpack/commit/d3dd841): Fixed CSS nesting and CSS custom properties parsing. - [`d3dd841`](https://github.com/webpack/webpack/commit/d3dd841): Don't write fragment from URL to filename and apply fragment to module URL. - [`aab1da9`](https://github.com/webpack/webpack/commit/aab1da9): Fixed bugs for `css/global` type. - [`d3dd841`](https://github.com/webpack/webpack/commit/d3dd841): Compatibility `import.meta.filename` and `import.meta.dirname` with `eval` devtools. - [`d3dd841`](https://github.com/webpack/webpack/commit/d3dd841): Handle nested `__webpack_require__`. - [`728ddb7`](https://github.com/webpack/webpack/commit/728ddb7): The speed of identifier parsing has been improved. - [`0f8b31b`](https://github.com/webpack/webpack/commit/0f8b31b): Improve types. - [`d3dd841`](https://github.com/webpack/webpack/commit/d3dd841): Don't corrupt `debugId` injection when `hidden-source-map` is used. - [`2179fdb`](https://github.com/webpack/webpack/commit/2179fdb): Re-validate HttpUriPlugin redirects against allowedUris, restrict to http(s) and add a conservative redirect limit to prevent SSRF and untrusted content inclusion. Redirects failing policy are rejected before caching/lockfile writes. - [`d3dd841`](https://github.com/webpack/webpack/commit/d3dd841): Serialize `HookWebpackError`. - [`d3dd841`](https://github.com/webpack/webpack/commit/d3dd841): Added ability to use built-in properties in dotenv and define plugin. - [`3c4319f`](https://github.com/webpack/webpack/commit/3c4319f): Optimizing the regular expression character class by specifying ranges for runtime code. - [`d3dd841`](https://github.com/webpack/webpack/commit/d3dd841): Reduce collision for local indent name in CSS. - [`d3dd841`](https://github.com/webpack/webpack/commit/d3dd841): Remove CSS link tags when CSS imports are removed. ### [`v5.103.0`](https://github.com/webpack/webpack/releases/tag/v5.103.0) [Compare Source](https://github.com/webpack/webpack/compare/v5.102.1...v5.103.0) ##### Features - Added `DotenvPlugin` and top level `dotenv` option to enable this plugin - Added `WebpackManifestPlugin` - Added support the `ignoreList` option in devtool plugins - Allow to use custom javascript parse function - Added `import.meta.env` support for environment variables - Added support for `import.meta.dirname` and `import.meta.filename` - Added support `import.defer()` for statistical path - Handle import.meta.main - Added suport to setup named exports for JSON modules and disable usage named export for `import file from "./file.json" with { type: "json" }` - Added support `__dirname`/`__filename`/`import.meta.dirname`/`import.meta.filename` for universal target - \[CSS] Added the `exportType` option with `link` (by default), "text" and `css-style-sheet` values - \[CSS] Added support for `composes` properties ##### Fixes - The `dependOn` chunk must be loaded before the common chunk - Return to namespace import when the external request includes a specific export - No runtime extra runtime code for module libraries - Delay HMR accept dependencies to preserve import attributes - Properly handle external presets for universal target - Fixed incorrect identifier of import binding for module externals - Fixed when defer import and dynamic default export mixed - Reduce generated output when `globalThis` supported - Fixed loading async modules in defer import - Reexport module for default import when no used exports for systemjs library - Rename HarmonyExportDependencyParserPlugin exported id to CompatibilityPlugin tagged id - Handle `__dirname` and `__filename` for ES modules - Rename single nested `__webpack_export__` and `__webpack_require__` in already bundled code - \[Types] webpack function type - \[Types] NormalModule type - \[Types] Multi compiler configuration type - \[Types] Fixed regression in custom `hashDigest` type - \[CSS] No extra runtime for initial chunk - \[CSS] Fixed a lot of CSS modules bugs ### [`v5.102.1`](https://github.com/webpack/webpack/releases/tag/v5.102.1) [Compare Source](https://github.com/webpack/webpack/compare/v5.102.0...v5.102.1) ##### Fixes - Supported `extends` with `env` for `browserslist` - Supported `JSONP` fragment format for web workers. - Fixed dynamic import support in workers using `browserslist`. - Fixed default defer import mangling. - Fixed default import of `commonjs` externals for `SystemJS` format. - Fixed context modules to the same file with different import attributes. - Fixed typescript types. - Improved `import.meta` warning messages to be more clear when used directly. - \[CSS] Fixed CC\_UPPER\_U parsing (E -> U) in tokenizer. ### [`v5.102.0`](https://github.com/webpack/webpack/releases/tag/v5.102.0) [Compare Source](https://github.com/webpack/webpack/compare/v5.101.3...v5.102.0) ##### Features - Added static analyze for dynamic imports - Added support for `import file from "./file.ext" with { type: "bytes" }` to get the content as `Uint8Array` (look at [example](https://github.com/webpack/webpack/tree/main/examples/asset)) - Added support for `import file from "./file.ext" with { type: "text" }` to get the content as text (look at [example](https://github.com/webpack/webpack/tree/main/examples/asset)) - Added the `snapshot.contextModule` to configure snapshots options for context modules - Added the `extractSourceMap` option to implement the capabilities of loading source maps by comment, you don't need `source-map-loader` (look at [example](https://github.com/webpack/webpack/tree/main/examples/source-mapping-url)) - The `topLevelAwait` experiment is now stable (you can remove `experiments.topLevelAwait` from your `webpack.config.js`) - The `layers` experiment is now stable (you can remove `experiments.layers` from your `webpack.config.js`) - Added function matcher support in rule options ##### Fixes - Fixed conflicts caused by multiple concatenate modules - Ignore import failure during HMR update with ES modules output - Keep render module order consistent - Prevent inlining modules that have `this` exports - Removed unused `timeout` attribute of script tag - Supported UMD chunk format to work in web workers - Improved CommonJs bundle to ES module library - Use `es-lexer` for `mjs` files for build dependencies - Fixed support `__non_webpack_require__` for ES modules - Properly handle external modules for CSS - AssetsByChunkName included assets from `chunk.auxiliaryFiles` - Use `createRequire` only when output is ES module and target is node - Typescript types ##### Performance Improvements - Avoid extra calls for snapshot - A avoid extra jobs for build dependencies - Move import attributes to own dependencies ### [`v5.101.3`](https://github.com/webpack/webpack/releases/tag/v5.101.3) [Compare Source](https://github.com/webpack/webpack/compare/v5.101.2...v5.101.3) ##### Fixes - Fixed resolve execution order issue from extra await in async modules - Avoid empty block for unused statement - Collect only specific expressions for destructuring assignment ### [`v5.101.2`](https://github.com/webpack/webpack/releases/tag/v5.101.2) [Compare Source](https://github.com/webpack/webpack/compare/v5.101.1...v5.101.2) ##### Fixes - Fixed syntax error when comment is on the last line - Handle var declaration for `createRequire` - Distinguish free variable and tagged variable ### [`v5.101.1`](https://github.com/webpack/webpack/releases/tag/v5.101.1) [Compare Source](https://github.com/webpack/webpack/compare/v5.101.0...v5.101.1) ##### Fixes - Filter deleted assets in `processAdditionalAssets` hook - HMR failure in defer module - Emit assets even if invalidation occurs again - Export types for serialization and deserialization in plugins and export the `ModuleFactory` class - Fixed the failure export of internal function for ES module chunk format - Fixed `GetChunkFilename` failure caused by `dependOn` entry - Fixed the import of missing dependency chunks - Fixed when entry chunk depends on the runtime chunk hash - Fixed `module.exports` bundle to ESM library - Adjusted the time of adding a group depending on the fragment of execution time - Fixed circle dependencies when require `RawModule` and condition of `isDeferred` - Tree-shakable module library should align preconditions of `allowInlineStartup` ### [`v5.101.0`](https://github.com/webpack/webpack/releases/tag/v5.101.0) [Compare Source](https://github.com/webpack/webpack/compare/v5.100.2...v5.101.0) ##### Fixes - Fixed concatenate optimization for ESM that caused undefined export - Respect the `output.environment.nodePrefixForCoreModules` option everywhere - Respect the `output.importMetaName` option everywhere - Fixed await async dependencies when accepting them during HMR - Better typescript types ##### Features - Added colors helpers for CLI - Enable tree-shaking for ESM external modules with named imports - Added the `deferImport` option to parser options ##### Performance Improvements - Fixed a regression in module concatenation after implementing deferred import support - Fixed a potential performance issue in CleanPlugin - Avoid extra `require` in some places ### [`v5.100.2`](https://github.com/webpack/webpack/releases/tag/v5.100.2) [Compare Source](https://github.com/webpack/webpack/compare/v5.100.1...v5.100.2) ##### Fixes - Keep consistent CSS order - Dependency without the source order attribute must keep their original index - Keep module traversal consistent across reexport scenarios ##### Performance Improvements - Extend `importPhasesPlugin` only when enable `deferImport` ([#&#8203;19689](https://github.com/webpack/webpack/issues/19689)) ### [`v5.100.1`](https://github.com/webpack/webpack/releases/tag/v5.100.1) [Compare Source](https://github.com/webpack/webpack/compare/v5.100.0...v5.100.1) ##### Fixes - Tree-shaking unused ignored modules - \[Types] Compatibility with old Node.js versions ### [`v5.100.0`](https://github.com/webpack/webpack/releases/tag/v5.100.0) [Compare Source](https://github.com/webpack/webpack/compare/v5.99.9...v5.100.0) ##### Fixes - Fixed the case where an ES modules entry chunk depends on the runtime chunk hash - Handle function exports in webpack module wrapper - Ensure dependent chunks are imported before startup & fix duplicate export of 'default' - Generate lose closing brace when exports are unprovided - CleanPlugin doesn't unlink same file twice - Fixed unexpected error codes from fs.unlink on Windows - Typescript types ##### Features - HMR support for ES modules output - ES module output mode now fully supports `splitChunks` when external variables and runtimeChunk are not set. - Added support `using` keyword - Implemented tc39 [Defer Module Evaluation](https://github.com/tc39/proposal-defer-import-eval) (experiment) - Support dynamic template literals expressions for `new URL(...)` - Enable ES modules worker chunk loading for Node.js targets - Improved support for destructing in DefinePlugin - Added [VirtualUrlPlugin](https://github.com/webpack/webpack/tree/main/examples/virtual-modules) to support `virtual:` scheme ##### Performance Improvements - Remove useless startup entrypoint runtime for ES modules output - Cache `new URL(...)` evaluate expression ### [`v5.99.9`](https://github.com/webpack/webpack/releases/tag/v5.99.9) [Compare Source](https://github.com/webpack/webpack/compare/v5.99.8...v5.99.9) ##### Fixes - HMR might fail if there are new initial chunks - Destructuring namespace import with default - Destructuring namespace import with computed-property - Generate valid code for es export generation for multiple module entries - Fixed public path issue for ES modules - Asset modules work when lazy compilation used - Eliminate unused statements in certain scenarios - Fixed regression with location and order of dependencies - Fixed typescript types ### [`v5.99.8`](https://github.com/webpack/webpack/releases/tag/v5.99.8) [Compare Source](https://github.com/webpack/webpack/compare/v5.99.7...v5.99.8) ##### Fixes - Fixed type error with latest `@types/node` - Fixed typescript types ### [`v5.99.7`](https://github.com/webpack/webpack/releases/tag/v5.99.7) [Compare Source](https://github.com/webpack/webpack/compare/v5.99.6...v5.99.7) ##### Fixes - Don't skip export generation for `default` reexport ([#&#8203;19463](https://github.com/webpack/webpack/issues/19463)) - Fixed module library export generation for reexport ([#&#8203;19459](https://github.com/webpack/webpack/issues/19459)) - Avoid module concatenation in child compilation for module library ([#&#8203;19457](https://github.com/webpack/webpack/issues/19457)) - Ensure HMR recover gracefully when CSS module with error - Respect `cause` of any errors and `errors` of AggregateError in stats output - Added missing `@types/json-schema` in types ### [`v5.99.6`](https://github.com/webpack/webpack/releases/tag/v5.99.6) [Compare Source](https://github.com/webpack/webpack/compare/v5.99.5...v5.99.6) ##### Fixes - Respect public path for ES modules - Fixed generation of module for `module` library when mixing commonjs and esm modules - Always apply `FlagDependencyExportsPlugin` for libraries where it required - Faster logic for dead control flow - Typescript types ### [`v5.99.5`](https://github.com/webpack/webpack/releases/tag/v5.99.5) [Compare Source](https://github.com/webpack/webpack/compare/v5.99.4...v5.99.5) ##### Fixes - Control dead flow for labeled and blockless statements ### [`v5.99.4`](https://github.com/webpack/webpack/releases/tag/v5.99.4) [Compare Source](https://github.com/webpack/webpack/compare/v5.99.3...v5.99.4) ##### Fixes - Fixed terminated state for `if`/`else` ### [`v5.99.3`](https://github.com/webpack/webpack/releases/tag/v5.99.3) [Compare Source](https://github.com/webpack/webpack/compare/v5.99.2...v5.99.3) ##### Fixes - Fixed dead control flow with deep nested `if`/`else` ### [`v5.99.2`](https://github.com/webpack/webpack/releases/tag/v5.99.2) [Compare Source](https://github.com/webpack/webpack/compare/v5.99.1...v5.99.2) ##### Fixes - Dead control flow for exotic cases ### [`v5.99.1`](https://github.com/webpack/webpack/releases/tag/v5.99.1) [Compare Source](https://github.com/webpack/webpack/compare/v5.99.0...v5.99.1) ##### Fixes - Dead control flow for many cases ### [`v5.99.0`](https://github.com/webpack/webpack/releases/tag/v5.99.0) [Compare Source](https://github.com/webpack/webpack/compare/v5.98.0...v5.99.0) ##### Fixes - Fixed a lot of types - Fixed runtime error when using asset module as entrypoint and runtimeChunk - JSON generator now preserves `__proto__` property - Fixed when entry module isn't executed when targeting webworker with a runtime chunk - Do not duplicate modules with import attributes and reexport - The `module` and `module` ESM libraries have been union and code generation has been improved - Use a valid output path for errored asset modules - Remove BOM from JavaScript and CSS files when loader was not used - Create export for externals for module/modern-module library - Export unprovided variables for `commonjs-static` library - Forward semicolons from `meta.webpackAST` - Use `xxhash64` for `cache.hashAlgorithm` when `experiments.futureDefaults` enabled - \[CSS] Fixed profiling plugin for CSS - \[CSS] Avoid extra module.export output for CSS module ##### Features - Add dead control flow check - Handle `new Worker(import.meta.url)` and `new Worker(new URL(import.meta.url))` syntax - Added ability to generate custom error content for generators ##### Performance Improvements - Fixed excessive calls of getAllReferences - Optimize loc for monomorphic inline caching ##### Chores - Switch on `strict` types for `typescript` ### [`v5.98.0`](https://github.com/webpack/webpack/releases/tag/v5.98.0) [Compare Source](https://github.com/webpack/webpack/compare/v5.97.1...v5.98.0) ##### Fixes - Avoid the deprecation message [#&#8203;19062](https://github.com/webpack/webpack/issues/19062) by [@&#8203;alexander-akait](https://github.com/alexander-akait) - Should not escape CSS local ident in JS [#&#8203;19060](https://github.com/webpack/webpack/issues/19060) by [@&#8203;JSerFeng](https://github.com/JSerFeng) - MF parse range not compatible with Safari [#&#8203;19083](https://github.com/webpack/webpack/issues/19083) by [@&#8203;alexander-akait](https://github.com/alexander-akait) - Preserve `filenameTemplate` in new split chunk [#&#8203;19104](https://github.com/webpack/webpack/issues/19104) by [@&#8203;henryqdineen](https://github.com/henryqdineen) - Use module IDs for final render order [#&#8203;19184](https://github.com/webpack/webpack/issues/19184) by [@&#8203;dmichon-msft](https://github.com/dmichon-msft) - Strip `blob:` protocol when public path is `auto` [#&#8203;19199](https://github.com/webpack/webpack/issues/19199) by [@&#8203;alexander-akait](https://github.com/alexander-akait) - Respect `output.charset` everywhere [#&#8203;19202](https://github.com/webpack/webpack/issues/19202) by [@&#8203;alexander-akait](https://github.com/alexander-akait) - Node async WASM loader generation [#&#8203;19210](https://github.com/webpack/webpack/issues/19210) by [@&#8203;ashi009](https://github.com/ashi009) - Correct `BuildInfo` and `BuildMeta` type definitions [#&#8203;19200](https://github.com/webpack/webpack/issues/19200) by [@&#8203;inottn](https://github.com/inottn) ##### Performance Improvements - Improve `FlagDependencyExportsPlugin` for large JSON by depth [#&#8203;19058](https://github.com/webpack/webpack/issues/19058) by [@&#8203;hai-x](https://github.com/hai-x) - Optimize assign-depths [#&#8203;19193](https://github.com/webpack/webpack/issues/19193) by [@&#8203;dmichon-msft](https://github.com/dmichon-msft) - Use `startsWith` for matching instead of converting the string to a regex [#&#8203;19207](https://github.com/webpack/webpack/issues/19207) by [@&#8203;inottn](https://github.com/inottn) ##### Chores - Bump `nanoid` from 3.3.7 to 3.3.8 [#&#8203;19063](https://github.com/webpack/webpack/issues/19063) by [@&#8203;dependabot](https://github.com/dependabot) - Fixed incorrect typecast in `DefaultStatsFactoryPlugin` [#&#8203;19156](https://github.com/webpack/webpack/issues/19156) by [@&#8203;Andarist](https://github.com/Andarist) - Improved `readme.md` by adding video links for understanding webpack [#&#8203;19101](https://github.com/webpack/webpack/issues/19101) by [@&#8203;Vansh5632](https://github.com/Vansh5632) - Typo fix [#&#8203;19205](https://github.com/webpack/webpack/issues/19205) by [@&#8203;hai-x](https://github.com/hai-x) - Adopt the new webpack governance model [#&#8203;18804](https://github.com/webpack/webpack/issues/18804) by [@&#8203;ovflowd](https://github.com/ovflowd) ##### Features - Implement `/* webpackIgnore: true */` for `require.resolve` [#&#8203;19201](https://github.com/webpack/webpack/issues/19201) by [@&#8203;alexander-akait](https://github.com/alexander-akait) ##### Continuous Integration - CI fix [#&#8203;19196](https://github.com/webpack/webpack/issues/19196) by [@&#8203;alexander-akait](https://github.com/alexander-akait) #### New Contributors - [@&#8203;Andarist](https://github.com/Andarist) made their first contribution in [#&#8203;19156](https://github.com/webpack/webpack/pull/19156) - [@&#8203;Vansh5632](https://github.com/Vansh5632) made their first contribution in [#&#8203;19101](https://github.com/webpack/webpack/pull/19101) - [@&#8203;ashi009](https://github.com/ashi009) made their first contribution in [#&#8203;19210](https://github.com/webpack/webpack/pull/19210) - [@&#8203;ovflowd](https://github.com/ovflowd) made their first contribution in [#&#8203;18804](https://github.com/webpack/webpack/pull/18804) **Full Changelog**: <https://github.com/webpack/webpack/compare/v5.97.1...v5.98.0> ### [`v5.97.1`](https://github.com/webpack/webpack/releases/tag/v5.97.1) [Compare Source](https://github.com/webpack/webpack/compare/v5.97.0...v5.97.1) #### Bug Fixes - Performance regression - Sub define key should't be renamed when it's a defined variable ### [`v5.97.0`](https://github.com/webpack/webpack/releases/tag/v5.97.0) [Compare Source](https://github.com/webpack/webpack/compare/v5.96.1...v5.97.0) #### Bug Fixes - Don't crash with filesystem cache and unknown scheme - Generate a valid code when `output.iife` is `true` and output.library.type is `umd` - Fixed conflict variable name with concatenate modules and runtime code - Merge duplicate chunks before - Collisions in ESM library - Use recursive search for versions of shared dependencies - **\[WASM]** Don't crash WebAssembly with Reference Types (sync and async) - **\[WASM]** Fixed wasm loading for sync and async webassembly - **\[CSS]** Don't add `[uniqueName]` to `localIdentName` when it is empty - **\[CSS]** Parsing strings on Windows - **\[CSS]** Fixed CSS local escaping #### New Features - Added support for injecting debug IDs - Export the `MergeDuplicateChunks` plugin - Added universal loading for JS chunks and JS worker chunks (only ES modules) - **\[WASM]** Added universal loading for WebAssembly chunks (only for async WebAssembly) - **\[CSS]** Allow initial CSS chunks to be placed anywhere - **the `output.cssHeadDataCompression` option was deleted** - **\[CSS]** Added universal loading for CSS chunks - **\[CSS]** Parse ICSS `@value` at-rules in CSS modules - **\[CSS]** Parse ICSS `:import` rules in CSS modules - **\[CSS]** Added the `url` and `import` options for CSS - **\[CSS]** Allow to import custom properties in CSS modules #### Performance - Faster Queue implementation, also fixed queue iterator state in dequeue method to ensure correct behavior after item removal ### [`v5.96.1`](https://github.com/webpack/webpack/releases/tag/v5.96.1) [Compare Source](https://github.com/webpack/webpack/compare/v5.96.0...v5.96.1) #### Bug Fixes - **\[Types]** Add `@types/eslint-scope` to dependencieS - **\[Types]** Fixed regression in `validate` ### [`v5.96.0`](https://github.com/webpack/webpack/releases/tag/v5.96.0) [Compare Source](https://github.com/webpack/webpack/compare/v5.95.0...v5.96.0) #### Bug Fixes - Fixed Module Federation should track all referenced chunks - Handle Data URI without base64 word - HotUpdateChunk have correct runtime when modified with new runtime - Order of chunks ids in generated chunk code - No extra Javascript chunks when using asset module as an entrypoint - Use optimistically logic for `output.environment.dynamicImport` to determine chunk format when no browserslist or target - Collision with global variables for `optimization.avoidEntryIife` - Avoid through variables in inlined module - Allow chunk template strings in `output.devtoolNamespace` - No extra runtime for get javascript/css chunk filename - No extra runtime for prefetch and preload in JS runtime when it was unsed in CSS - Avoid cache invalidation using ProgressPlugin - Increase parallelism when using `importModule` on the execution stage - Correctly parsing string in `export` and `import` - Typescript types - **\[CSS]** `css/auto` considers a module depending on its filename as `css` (pure CSS) or `css/local`, before it was `css/global` and `css/local` - **\[CSS]** Always interpolate classes even if they are not involved in export - **\[CSS]** No extra runtime in Javascript runtime chunks for asset modules used in CSS - **\[CSS]** No extra runtime in Javascript runtime chunks for external asset modules used in CSS - **\[CSS]** No extra runtime for the `node` target - **\[CSS]** Fixed `url()`s and `@import` parsing - **\[CSS]** Fixed - emit a warning on broken :local and :global #### New Features - Export CSS and ESM runtime modules - Single Runtime Chunk and Federation eager module hoisting - **\[CSS]** Support `/* webpackIgnore: true */` for CSS files - **\[CSS]** Support `src()` support - **\[CSS]** CSS nesting in CSS modules ### [`v5.95.0`](https://github.com/webpack/webpack/releases/tag/v5.95.0) [Compare Source](https://github.com/webpack/webpack/compare/v5.94.0...v5.95.0) #### Bug Fixes - Fixed hanging when attempting to read a symlink-like file that it can't read - Handle `default` for import context element dependency - Merge duplicate chunks call after split chunks - Generate correctly code for dynamically importing the same file twice and destructuring - Use content hash as \[base] and \[name] for extracted DataURI's - Distinguish `module` and `import` in `module-import` for externals `import`'s - \[Types] Make `EnvironmentPlugin` default values types less strict - \[Types] Typescript 5.6 compatibility #### New Features - Add new `optimization.avoidEntryIife` option (`true` by default for the `production` mode) - Pass output.hash\* options to loader context #### Performance - Avoid unneeded re-visit in build chunk graph </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC45NS4wIiwidXBkYXRlZEluVmVyIjoiNDIuNTIuOCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJyZW5vdmF0ZS1ib3QiXX0=-->
renovate-bot changed title from chore(deps): update dependency webpack to v5.95.0 to chore(deps): update dependency webpack to v5.96.0 2024-11-01 03:38:29 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from c7c3a0112e
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
to 2aa8f394d5
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2024-11-01 03:38:29 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.96.0 to chore(deps): update dependency webpack to v5.96.1 2024-11-01 16:36:33 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 2aa8f394d5
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
to d2085f1c7c
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
2024-11-01 16:36:34 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.96.1 to chore(deps): update dependency webpack to v5.97.1 2024-12-23 18:19:42 +05:30
Author
Member

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: yarn.lock
Unknown Syntax Error: Unsupported option name ("--ignore-platform").

$ yarn install [--json] [--immutable] [--immutable-cache] [--refresh-lockfile] [--check-cache] [--check-resolutions] [--inline-builds] [--mode #0]

### ⚠️ Artifact update problem Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens: - any of the package files in this branch needs updating, or - the branch becomes conflicted, or - you click the rebase/retry checkbox if found above, or - you rename this PR's title to start with "rebase!" to trigger it manually The artifact failure details are included below: ##### File name: yarn.lock ``` Unknown Syntax Error: Unsupported option name ("--ignore-platform"). $ yarn install [--json] [--immutable] [--immutable-cache] [--refresh-lockfile] [--check-cache] [--check-resolutions] [--inline-builds] [--mode #0] ```
renovate-bot force-pushed renovate/webpack-5.x-lockfile from d2085f1c7c
All checks were successful
ci/woodpecker/pr/woodpecker Pipeline was successful
to b69c09a362
Some checks failed
renovate/artifacts Artifact file update failure
2024-12-23 18:19:43 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from b69c09a362
Some checks failed
renovate/artifacts Artifact file update failure
to 4078688e7c
Some checks failed
renovate/artifacts Artifact file update failure
2025-01-10 22:50:51 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 4078688e7c
Some checks failed
renovate/artifacts Artifact file update failure
to 93cf531497
Some checks failed
renovate/artifacts Artifact file update failure
2025-01-13 05:22:23 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 93cf531497
Some checks failed
renovate/artifacts Artifact file update failure
to 4af1af984d
Some checks failed
renovate/artifacts Artifact file update failure
2025-01-20 05:23:11 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 4af1af984d
Some checks failed
renovate/artifacts Artifact file update failure
to db2a2638bc
Some checks failed
renovate/artifacts Artifact file update failure
2025-01-27 05:25:09 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from db2a2638bc
Some checks failed
renovate/artifacts Artifact file update failure
to e5c55549ed
Some checks failed
renovate/artifacts Artifact file update failure
2025-02-03 05:26:27 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from e5c55549ed
Some checks failed
renovate/artifacts Artifact file update failure
to 5eed3a9f58
Some checks failed
renovate/artifacts Artifact file update failure
2025-02-10 05:25:24 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.97.1 to chore(deps): update dependency webpack to v5.98.0 2025-02-17 05:24:54 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 5eed3a9f58
Some checks failed
renovate/artifacts Artifact file update failure
to 678fa6c5a7
Some checks failed
renovate/artifacts Artifact file update failure
2025-02-17 05:24:54 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 678fa6c5a7
Some checks failed
renovate/artifacts Artifact file update failure
to 788bd08032
Some checks failed
renovate/artifacts Artifact file update failure
2025-02-24 05:23:39 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 788bd08032
Some checks failed
renovate/artifacts Artifact file update failure
to 2fa927de41
Some checks failed
renovate/artifacts Artifact file update failure
2025-03-17 05:21:14 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 2fa927de41
Some checks failed
renovate/artifacts Artifact file update failure
to 627344525a
Some checks failed
renovate/artifacts Artifact file update failure
2025-03-24 05:23:03 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 627344525a
Some checks failed
renovate/artifacts Artifact file update failure
to 70f6f116e9
Some checks failed
renovate/artifacts Artifact file update failure
2025-03-31 05:22:17 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 70f6f116e9
Some checks failed
renovate/artifacts Artifact file update failure
to 8662d15616
Some checks failed
renovate/artifacts Artifact file update failure
2025-04-03 10:36:37 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 8662d15616
Some checks failed
renovate/artifacts Artifact file update failure
to 009dabea81
Some checks failed
renovate/artifacts Artifact file update failure
2025-04-03 12:12:04 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 009dabea81
Some checks failed
renovate/artifacts Artifact file update failure
to f41e199bc2
Some checks failed
renovate/artifacts Artifact file update failure
2025-04-07 05:20:03 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from f41e199bc2
Some checks failed
renovate/artifacts Artifact file update failure
to 241cf8863d
Some checks failed
renovate/artifacts Artifact file update failure
2025-04-14 05:18:57 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.98.0 to chore(deps): update dependency webpack to v5.99.5 2025-04-14 05:18:58 +05:30
renovate-bot changed title from chore(deps): update dependency webpack to v5.99.5 to chore(deps): update dependency webpack to v5.99.6 2025-04-20 19:17:45 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 241cf8863d
Some checks failed
renovate/artifacts Artifact file update failure
to ab8afeb340
Some checks failed
renovate/artifacts Artifact file update failure
2025-04-20 19:17:45 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.99.6 to chore(deps): update dependency webpack to v5.99.7 2025-04-28 05:22:53 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from ab8afeb340
Some checks failed
renovate/artifacts Artifact file update failure
to 70f685286d
Some checks failed
renovate/artifacts Artifact file update failure
2025-04-28 05:22:54 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 70f685286d
Some checks failed
renovate/artifacts Artifact file update failure
to 9a5cd91ca6
Some checks failed
renovate/artifacts Artifact file update failure
2025-05-05 05:34:56 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 9a5cd91ca6
Some checks failed
renovate/artifacts Artifact file update failure
to 01e1051109
Some checks failed
renovate/artifacts Artifact file update failure
2025-05-12 05:41:55 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.99.7 to chore(deps): update dependency webpack to v5.99.8 2025-05-12 05:41:55 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 01e1051109
Some checks failed
renovate/artifacts Artifact file update failure
to bf16a1a259
Some checks failed
renovate/artifacts Artifact file update failure
2025-05-19 05:19:50 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.99.8 to chore(deps): update dependency webpack to v5.99.9 2025-05-26 05:34:15 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from bf16a1a259
Some checks failed
renovate/artifacts Artifact file update failure
to df6b519d04
Some checks failed
renovate/artifacts Artifact file update failure
2025-05-26 05:34:15 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from df6b519d04
Some checks failed
renovate/artifacts Artifact file update failure
to 572cb85482
Some checks failed
renovate/artifacts Artifact file update failure
2025-06-02 05:29:28 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 572cb85482
Some checks failed
renovate/artifacts Artifact file update failure
to c1fdef9fba
Some checks failed
renovate/artifacts Artifact file update failure
2025-06-16 06:10:21 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from c1fdef9fba
Some checks failed
renovate/artifacts Artifact file update failure
to 4c26f72198
Some checks failed
renovate/artifacts Artifact file update failure
2025-06-23 05:28:06 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 4c26f72198
Some checks failed
renovate/artifacts Artifact file update failure
to 1b320a2da3
Some checks failed
renovate/artifacts Artifact file update failure
2025-06-30 05:16:45 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 1b320a2da3
Some checks failed
renovate/artifacts Artifact file update failure
to a5ef8205a1
Some checks failed
renovate/artifacts Artifact file update failure
2025-07-07 05:32:24 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.99.9 to chore(deps): update dependency webpack to v5.100.1 2025-07-14 05:41:15 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from a5ef8205a1
Some checks failed
renovate/artifacts Artifact file update failure
to ca797f3911
Some checks failed
renovate/artifacts Artifact file update failure
2025-07-14 05:41:16 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from ca797f3911
Some checks failed
renovate/artifacts Artifact file update failure
to 18f227f1ff
Some checks failed
renovate/artifacts Artifact file update failure
2025-07-21 05:19:41 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.100.1 to chore(deps): update dependency webpack to v5.100.2 2025-07-21 05:19:41 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 18f227f1ff
Some checks failed
renovate/artifacts Artifact file update failure
to af33813f7e
Some checks failed
renovate/artifacts Artifact file update failure
2025-07-28 05:26:51 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from af33813f7e
Some checks failed
renovate/artifacts Artifact file update failure
to 722ce61cfe
Some checks failed
renovate/artifacts Artifact file update failure
2025-08-04 05:26:36 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.100.2 to chore(deps): update dependency webpack to v5.101.0 2025-08-04 05:26:36 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 722ce61cfe
Some checks failed
renovate/artifacts Artifact file update failure
to cbef477b0b
Some checks failed
renovate/artifacts Artifact file update failure
2025-08-11 05:23:40 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from cbef477b0b
Some checks failed
renovate/artifacts Artifact file update failure
to 1e0422908a
Some checks failed
renovate/artifacts Artifact file update failure
2025-08-18 06:14:06 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.101.0 to chore(deps): update dependency webpack to v5.101.2 2025-08-18 06:14:06 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 1e0422908a
Some checks failed
renovate/artifacts Artifact file update failure
to 351eb6c831
Some checks failed
renovate/artifacts Artifact file update failure
2025-08-25 05:23:11 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.101.2 to chore(deps): update dependency webpack to v5.101.3 2025-08-25 05:23:11 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 351eb6c831
Some checks failed
renovate/artifacts Artifact file update failure
to 16914c0d41
Some checks failed
renovate/artifacts Artifact file update failure
2025-09-01 05:24:33 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 16914c0d41
Some checks failed
renovate/artifacts Artifact file update failure
to 69917a52c4
Some checks failed
renovate/artifacts Artifact file update failure
2025-09-08 05:24:44 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 69917a52c4
Some checks failed
renovate/artifacts Artifact file update failure
to 8945111f57
Some checks failed
renovate/artifacts Artifact file update failure
2025-09-15 05:25:18 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 8945111f57
Some checks failed
renovate/artifacts Artifact file update failure
to 2a92598182
Some checks failed
renovate/artifacts Artifact file update failure
2025-09-22 05:29:13 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 2a92598182
Some checks failed
renovate/artifacts Artifact file update failure
to eb33b99dc6
Some checks failed
renovate/artifacts Artifact file update failure
2025-09-29 05:25:16 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from eb33b99dc6
Some checks failed
renovate/artifacts Artifact file update failure
to 036461ee82
Some checks failed
renovate/artifacts Artifact file update failure
2025-10-01 16:40:14 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.101.3 to chore(deps): update dependency webpack to v5.102.0 2025-10-01 16:40:15 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 036461ee82
Some checks failed
renovate/artifacts Artifact file update failure
to 171510dba9
Some checks failed
renovate/artifacts Artifact file update failure
2025-10-02 12:31:35 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 171510dba9
Some checks failed
renovate/artifacts Artifact file update failure
to 31f0aa8136
Some checks failed
renovate/artifacts Artifact file update failure
2025-10-04 12:42:05 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 31f0aa8136
Some checks failed
renovate/artifacts Artifact file update failure
to d1476975e8
Some checks failed
renovate/artifacts Artifact file update failure
2025-10-06 05:21:23 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from d1476975e8
Some checks failed
renovate/artifacts Artifact file update failure
to 74d4483ce7
Some checks failed
renovate/artifacts Artifact file update failure
2025-10-13 05:23:59 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.102.0 to chore(deps): update dependency webpack to v5.102.1 2025-10-13 05:24:00 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 74d4483ce7
Some checks failed
renovate/artifacts Artifact file update failure
to bd8899db7f
Some checks failed
renovate/artifacts Artifact file update failure
2025-10-20 05:25:34 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from bd8899db7f
Some checks failed
renovate/artifacts Artifact file update failure
to 9ce28ab9af
Some checks failed
renovate/artifacts Artifact file update failure
2025-10-27 05:23:53 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 9ce28ab9af
Some checks failed
renovate/artifacts Artifact file update failure
to 5a8f50012c
Some checks failed
renovate/artifacts Artifact file update failure
2025-11-03 05:28:08 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 5a8f50012c
Some checks failed
renovate/artifacts Artifact file update failure
to 0af5b75439
Some checks failed
renovate/artifacts Artifact file update failure
2025-11-10 05:27:35 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 0af5b75439
Some checks failed
renovate/artifacts Artifact file update failure
to 65953800ec
Some checks failed
renovate/artifacts Artifact file update failure
2025-11-17 06:04:32 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 65953800ec
Some checks failed
renovate/artifacts Artifact file update failure
to d881b03b50
Some checks failed
renovate/artifacts Artifact file update failure
2025-11-24 05:26:11 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.102.1 to chore(deps): update dependency webpack to v5.103.0 2025-11-24 05:26:11 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from d881b03b50
Some checks failed
renovate/artifacts Artifact file update failure
to 421dc37302
Some checks failed
renovate/artifacts Artifact file update failure
2025-12-01 05:24:35 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 421dc37302
Some checks failed
renovate/artifacts Artifact file update failure
to e551301dc7
Some checks failed
renovate/artifacts Artifact file update failure
2025-12-08 05:23:45 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from e551301dc7
Some checks failed
renovate/artifacts Artifact file update failure
to f79208b4e8
Some checks failed
renovate/artifacts Artifact file update failure
2025-12-15 05:23:48 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from f79208b4e8
Some checks failed
renovate/artifacts Artifact file update failure
to 5ed3c94a58
Some checks failed
renovate/artifacts Artifact file update failure
2025-12-22 05:19:51 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.103.0 to chore(deps): update dependency webpack to v5.104.1 2025-12-22 05:19:53 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 5ed3c94a58
Some checks failed
renovate/artifacts Artifact file update failure
to e1eddd9dec
Some checks failed
renovate/artifacts Artifact file update failure
2025-12-29 05:20:14 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from e1eddd9dec
Some checks failed
renovate/artifacts Artifact file update failure
to 494bd89e2a
Some checks failed
renovate/artifacts Artifact file update failure
2026-01-05 05:22:09 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 494bd89e2a
Some checks failed
renovate/artifacts Artifact file update failure
to 0cf7fe66a5
Some checks failed
renovate/artifacts Artifact file update failure
2026-01-12 05:21:56 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 0cf7fe66a5
Some checks failed
renovate/artifacts Artifact file update failure
to d1a97ec987
Some checks failed
renovate/artifacts Artifact file update failure
2026-01-19 05:20:24 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from d1a97ec987
Some checks failed
renovate/artifacts Artifact file update failure
to 2f24128e24
Some checks failed
renovate/artifacts Artifact file update failure
2026-01-26 05:20:15 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 2f24128e24
Some checks failed
renovate/artifacts Artifact file update failure
to 17f41ab77a
Some checks failed
renovate/artifacts Artifact file update failure
2026-02-02 05:20:28 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 17f41ab77a
Some checks failed
renovate/artifacts Artifact file update failure
to d69398ea88
Some checks failed
renovate/artifacts Artifact file update failure
2026-02-09 05:21:04 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.104.1 to chore(deps): update dependency webpack to v5.105.0 2026-02-09 05:21:05 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from d69398ea88
Some checks failed
renovate/artifacts Artifact file update failure
to 03de1063fe
Some checks failed
renovate/artifacts Artifact file update failure
2026-02-16 05:20:54 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.105.0 to chore(deps): update dependency webpack to v5.105.2 2026-02-16 05:20:55 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 03de1063fe
Some checks failed
renovate/artifacts Artifact file update failure
to 8da159c1ea
Some checks failed
renovate/artifacts Artifact file update failure
2026-02-23 05:21:54 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 8da159c1ea
Some checks failed
renovate/artifacts Artifact file update failure
to 04448ae21e
Some checks failed
renovate/artifacts Artifact file update failure
2026-03-02 05:20:04 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.105.2 to chore(deps): update dependency webpack to v5.105.3 2026-03-02 05:20:06 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 04448ae21e
Some checks failed
renovate/artifacts Artifact file update failure
to 40932e9720
Some checks failed
renovate/artifacts Artifact file update failure
2026-03-09 05:20:46 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.105.3 to chore(deps): update dependency webpack to v5.105.4 2026-03-09 05:20:48 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 40932e9720
Some checks failed
renovate/artifacts Artifact file update failure
to 17a7c08445
Some checks failed
renovate/artifacts Artifact file update failure
2026-03-16 05:21:43 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 17a7c08445
Some checks failed
renovate/artifacts Artifact file update failure
to 83b7773050
Some checks failed
renovate/artifacts Artifact file update failure
2026-03-23 05:20:54 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 83b7773050
Some checks failed
renovate/artifacts Artifact file update failure
to 3537fd9842
Some checks failed
renovate/artifacts Artifact file update failure
2026-03-30 05:26:11 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 3537fd9842
Some checks failed
renovate/artifacts Artifact file update failure
to de48504441
Some checks failed
renovate/artifacts Artifact file update failure
2026-04-06 05:21:39 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from de48504441
Some checks failed
renovate/artifacts Artifact file update failure
to 1f43f05643
Some checks failed
renovate/artifacts Artifact file update failure
2026-04-13 05:20:25 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.105.4 to chore(deps): update dependency webpack to v5.106.1 2026-04-13 05:20:28 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 1f43f05643
Some checks failed
renovate/artifacts Artifact file update failure
to d89c4a8f88
Some checks failed
renovate/artifacts Artifact file update failure
2026-04-20 05:22:39 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.106.1 to chore(deps): update dependency webpack to v5.106.2 2026-04-20 05:22:41 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from d89c4a8f88
Some checks failed
renovate/artifacts Artifact file update failure
to ebe9fcea9d
Some checks failed
renovate/artifacts Artifact file update failure
2026-04-27 05:20:16 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from ebe9fcea9d
Some checks failed
renovate/artifacts Artifact file update failure
to 919d6d9fd6
Some checks failed
renovate/artifacts Artifact file update failure
2026-05-04 05:20:03 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 919d6d9fd6
Some checks failed
renovate/artifacts Artifact file update failure
to 01497b0960
Some checks failed
renovate/artifacts Artifact file update failure
2026-05-11 05:23:31 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 01497b0960
Some checks failed
renovate/artifacts Artifact file update failure
to d97be261db
Some checks failed
renovate/artifacts Artifact file update failure
2026-05-18 05:21:28 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from d97be261db
Some checks failed
renovate/artifacts Artifact file update failure
to 6af5563fcc
Some checks failed
renovate/artifacts Artifact file update failure
2026-05-25 05:21:57 +05:30
Compare
renovate-bot changed title from chore(deps): update dependency webpack to v5.106.2 to chore(deps): update dependency webpack to v5.107.1 2026-05-25 05:21:58 +05:30
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 6af5563fcc
Some checks failed
renovate/artifacts Artifact file update failure
to 9e76a5f876 2026-05-28 23:37:57 +05:30
Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 9e76a5f876 to 11073e45b1 2026-06-01 05:20:06 +05:30 Compare
renovate-bot force-pushed renovate/webpack-5.x-lockfile from 11073e45b1 to d4f98f5fb1 2026-06-08 05:21:14 +05:30 Compare
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/webpack-5.x-lockfile:renovate/webpack-5.x-lockfile
git switch renovate/webpack-5.x-lockfile

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch master
git merge --no-ff renovate/webpack-5.x-lockfile
git switch renovate/webpack-5.x-lockfile
git rebase master
git switch master
git merge --ff-only renovate/webpack-5.x-lockfile
git switch renovate/webpack-5.x-lockfile
git rebase master
git switch master
git merge --no-ff renovate/webpack-5.x-lockfile
git switch master
git merge --squash renovate/webpack-5.x-lockfile
git switch master
git merge --ff-only renovate/webpack-5.x-lockfile
git switch master
git merge renovate/webpack-5.x-lockfile
git push origin master
Sign in to join this conversation.
No description provided.