New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Serialize generatedCode info to fix bug in asset module cache restoration #16703
Serialize generatedCode info to fix bug in asset module cache restoration #16703
Conversation
AssetGenerator calls out in a TODO-comment that the filename, assetInfo, and fullContentHash values must be captured in the 'data' object that's populated during code generation in order to be accessible in the AssetModulesPlugin. It notes that it must store them in the code generation results because it will be cached, but that appears to be incorrect as data is a simple Map that's instantiated within the NormalModule and not captured anywhere that would be cached. As a result, configurations that use the asset/resource type and make changes to assets between cached builds will result in a runtime error as Webpack is able to access the file from cache but isn't able to access the expected values from the data object. This solution captures the data object as a property of the NormalModule and hooks in to the existing serialize/deserialize functionality in order to make this value available across cached builds.
For maintainers only:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, can you add test case, thank you
Sure thing @alexander-akait , I've added a new test case now that mirrors the behaviour of the existing |
onError | ||
); | ||
}); | ||
}); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/webpack/webpack/tree/main/test/watchCases/cache/asset-modules, so you don't need to write extra lines and it will be easy to maintance tests in future, thank you
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I originally attempted to write a test under asset-modules but could not get it to work, as far as I can see there isn't a mechanism in that test suite to give me the ability to modify an asset between compile steps. I had to heavily tweak the compilation approach in this unit test such that it:
- Used a new
webpack()
instance each time, to avoid relying on shared in-memory state - Used a physical filesystem, so that cache could be written out and re-used between builds
- Made a deliberate modification to a source file between compile passes
I don't think these three things are possible under asset-modules
@TheLarkInn Hello, can you review? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
I had to confirm one detail about the type definition file not getting updated and that is because |
Thanks folks! Our team will be very happy to see this land :) |
@ryanwilsonperkin assuming your team and a large piece of Shopify code is running on webpack v5, we are building a performance roadmap for v6/7 and if you have any performance analysis that you have ran against your builds that you are looking to see addressed, please feel free to reach out. We're looking for at scale webpack builds to focus on for performance improvements. |
We'd certainly be interested, what would be the best way to coordinate with you? |
|
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@aws-sdk/client-cognito-identity-provider](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-cognito-identity-provider) ([source](https://togithub.com/aws/aws-sdk-js-v3)) | [`3.282.0` -> `3.287.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-cognito-identity-provider/3.282.0/3.287.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@aws-sdk/client-s3](https://togithub.com/aws/aws-sdk-js-v3/tree/main/clients/client-s3) ([source](https://togithub.com/aws/aws-sdk-js-v3)) | [`3.282.0` -> `3.287.0`](https://renovatebot.com/diffs/npm/@aws-sdk%2fclient-s3/3.282.0/3.287.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-a11y](https://togithub.com/storybookjs/storybook/tree/main/addons/a11y) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.0-beta.62` -> `7.0.0-beta.63`](https://renovatebot.com/diffs/npm/@storybook%2faddon-a11y/7.0.0-beta.62/7.0.0-beta.63) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-actions](https://togithub.com/storybookjs/storybook/tree/main/addons/actions) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.0-beta.62` -> `7.0.0-beta.63`](https://renovatebot.com/diffs/npm/@storybook%2faddon-actions/7.0.0-beta.62/7.0.0-beta.63) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-docs](https://togithub.com/storybookjs/storybook/tree/main/addons/docs) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.0-beta.62` -> `7.0.0-beta.63`](https://renovatebot.com/diffs/npm/@storybook%2faddon-docs/7.0.0-beta.62/7.0.0-beta.63) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-essentials](https://togithub.com/storybookjs/storybook/tree/main/addons/essentials) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.0-beta.62` -> `7.0.0-beta.63`](https://renovatebot.com/diffs/npm/@storybook%2faddon-essentials/7.0.0-beta.62/7.0.0-beta.63) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-interactions](https://togithub.com/storybookjs/storybook/tree/main/addons/interactions) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.0-beta.62` -> `7.0.0-beta.63`](https://renovatebot.com/diffs/npm/@storybook%2faddon-interactions/7.0.0-beta.62/7.0.0-beta.63) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-links](https://togithub.com/storybookjs/storybook/tree/main/addons/links) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.0-beta.62` -> `7.0.0-beta.63`](https://renovatebot.com/diffs/npm/@storybook%2faddon-links/7.0.0-beta.62/7.0.0-beta.63) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/addon-viewport](https://togithub.com/storybookjs/storybook/tree/main/addons/viewport) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.0-beta.62` -> `7.0.0-beta.63`](https://renovatebot.com/diffs/npm/@storybook%2faddon-viewport/7.0.0-beta.62/7.0.0-beta.63) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/nextjs](https://togithub.com/storybookjs/storybook/tree/next/code/frameworks/nextjs) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.0-beta.62` -> `7.0.0-beta.63`](https://renovatebot.com/diffs/npm/@storybook%2fnextjs/7.0.0-beta.62/7.0.0-beta.63) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/react](https://togithub.com/storybookjs/storybook/tree/main/app/react) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.0-beta.62` -> `7.0.0-beta.63`](https://renovatebot.com/diffs/npm/@storybook%2freact/7.0.0-beta.62/7.0.0-beta.63) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/theming](https://togithub.com/storybookjs/storybook/tree/main/lib/theming) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.0-beta.62` -> `7.0.0-beta.63`](https://renovatebot.com/diffs/npm/@storybook%2ftheming/7.0.0-beta.62/7.0.0-beta.63) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@storybook/types](https://togithub.com/storybookjs/storybook/tree/main/code/lib/types) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.0-beta.62` -> `7.0.0-beta.63`](https://renovatebot.com/diffs/npm/@storybook%2ftypes/7.0.0-beta.62/7.0.0-beta.63) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [@total-typescript/ts-reset](https://togithub.com/total-typescript/ts-reset) | [`0.3.7` -> `0.4.2`](https://renovatebot.com/diffs/npm/@total-typescript%2fts-reset/0.3.7/0.4.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [embla-carousel-react](https://www.embla-carousel.com) ([source](https://togithub.com/davidjerleke/embla-carousel)) | [`7.0.9` -> `7.1.0`](https://renovatebot.com/diffs/npm/embla-carousel-react/7.0.9/7.1.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [msw-storybook-addon](https://msw-sb.vercel.app/) ([source](https://togithub.com/mswjs/msw-storybook-addon)) | [`1.7.0` -> `1.8.0`](https://renovatebot.com/diffs/npm/msw-storybook-addon/1.7.0/1.8.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [next-i18next](https://togithub.com/i18next/next-i18next) | [`13.2.1` -> `13.2.2`](https://renovatebot.com/diffs/npm/next-i18next/13.2.1/13.2.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [storybook](https://togithub.com/storybookjs/storybook/tree/main/lib/cli) ([source](https://togithub.com/storybookjs/storybook)) | [`7.0.0-beta.62` -> `7.0.0-beta.63`](https://renovatebot.com/diffs/npm/storybook/7.0.0-beta.62/7.0.0-beta.63) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | | [webpack](https://togithub.com/webpack/webpack) | [`5.75.0` -> `5.76.0`](https://renovatebot.com/diffs/npm/webpack/5.75.0/5.76.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>aws/aws-sdk-js-v3 (@​aws-sdk/client-cognito-identity-provider)</summary> ### [`v3.287.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-cognito-identity-provider/CHANGELOG.md#​32870-httpsgithubcomawsaws-sdk-js-v3comparev32860v32870-2023-03-08) [Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.282.0...v3.287.0) ##### Bug Fixes - **clients:** remove aggregated client from paginators ([#​4496](https://togithub.com/aws/aws-sdk-js-v3/issues/4496)) ([aea457a](https://togithub.com/aws/aws-sdk-js-v3/commit/aea457ab5d4e72939f2f608140d82b60526eb716)) </details> <details> <summary>aws/aws-sdk-js-v3 (@​aws-sdk/client-s3)</summary> ### [`v3.287.0`](https://togithub.com/aws/aws-sdk-js-v3/blob/HEAD/clients/client-s3/CHANGELOG.md#​32870-httpsgithubcomawsaws-sdk-js-v3comparev32860v32870-2023-03-08) [Compare Source](https://togithub.com/aws/aws-sdk-js-v3/compare/v3.282.0...v3.287.0) ##### Bug Fixes - **clients:** remove aggregated client from paginators ([#​4496](https://togithub.com/aws/aws-sdk-js-v3/issues/4496)) ([aea457a](https://togithub.com/aws/aws-sdk-js-v3/commit/aea457ab5d4e72939f2f608140d82b60526eb716)) </details> <details> <summary>storybookjs/storybook</summary> ### [`v7.0.0-beta.63`](https://togithub.com/storybookjs/storybook/blob/HEAD/CHANGELOG.md#​700-beta63-March-9-2023) [Compare Source](https://togithub.com/storybookjs/storybook/compare/v7.0.0-beta.62...v7.0.0-beta.63) ##### Bug Fixes - Story Index: Fix storySort parsing for parameters variable [#​21481](https://togithub.com/storybooks/storybook/pull/21481) - React/Vite: Add some missing types [#​21449](https://togithub.com/storybooks/storybook/pull/21449) - Docs: Cleanup with Promise instead of setTimeout [#​21476](https://togithub.com/storybooks/storybook/pull/21476) - Docs: Re-render MDX files when you fix a thrown error [#​21454](https://togithub.com/storybooks/storybook/pull/21454) - CLI: Fix mdx-to-csf codemod blocks imports [#​21448](https://togithub.com/storybooks/storybook/pull/21448) ##### Maintenance - CLI: Copy tweaks for automigrations [#​21475](https://togithub.com/storybooks/storybook/pull/21475) - CLI: Warn the user when stories glob does not match any file [#​21392](https://togithub.com/storybooks/storybook/pull/21392) - Docs: Use `Of` type in `useOf` argument [#​21442](https://togithub.com/storybooks/storybook/pull/21442) - Telemetry: Is interactive shell [#​21436](https://togithub.com/storybooks/storybook/pull/21436) </details> <details> <summary>total-typescript/ts-reset</summary> ### [`v0.4.2`](https://togithub.com/total-typescript/ts-reset/releases/tag/v0.4.2) #### 0.4.2 ##### Minor Changes - [`ce9db42`](https://togithub.com/total-typescript/ts-reset/commit/ce9db42): Added support for widening in `Array.lastIndexOf`, `Array.indexOf`, `ReadonlyArray.lastIndexOf` and `ReadonlyArray.indexOf`. - [`107dfc2`](https://togithub.com/total-typescript/ts-reset/commit/107dfc2): Changed the array.includes on readonly arrays to NOT be a type predicate. Before this change, this perfectly valid code would not behave correctly. ```ts type Code = 0 | 1 | 2; type SpecificCode = 0 | 1; const currentCode: Code = 0; // Create an empty list of subset type const specificCodeList: ReadonlyArray<SpecificCode> = []; // This will be false, since 0 is not in [] if (specificCodeList.includes(currentCode)) { currentCode; // -> SpecificCode } else { // This branch will be entered, and ts will think z is 2, when it is actually 0 currentCode; // -> 2 } ``` Removing the type predicate brings ts-reset closer towards correctness. - [`4765413`](https://togithub.com/total-typescript/ts-reset/commit/4765413): author: [@​mefechoel](https://togithub.com/mefechoel) Added the `Map.has` rule. Similar to `.includes` or `Set.has()`, `Map.has()` doesn't let you pass members that don't exist in the map's keys: ```ts // BEFORE const userMap = new Map([ ["matt", 0], ["sofia", 1], [2, "waqas"], ] as const); // Argument of type '"bryan"' is not assignable to // parameter of type '"matt" | "sofia" | "waqas"'. userMap.has("bryan"); ``` With the rule enabled, `Map` follows the same semantics as `Set`. ```ts // AFTER import "@​total-typescript/ts-reset/map-has"; const userMap = new Map([ ["matt", 0], ["sofia", 1], [2, "waqas"], ] as const); // .has now takes a string as the argument! userMap.has("bryan"); ``` ##### Patch Changes - [`b15aaa4`](https://togithub.com/total-typescript/ts-reset/commit/b15aaa4): Fixed an oversight with the initial `set-has` implementation by adding support to `ReadonlySet`. ### [`v0.4.1`](https://togithub.com/total-typescript/ts-reset/blob/HEAD/CHANGELOG.md#​041) ##### Patch Changes - No changes, just pushing to fix the previous slightly borked release. ### [`v0.4.0`](https://togithub.com/total-typescript/ts-reset/blob/HEAD/CHANGELOG.md#​040) ##### Minor Changes - [`ce9db42`](https://togithub.com/total-typescript/ts-reset/commit/ce9db42): Added support for widening in `Array.lastIndexOf`, `Array.indexOf`, `ReadonlyArray.lastIndexOf` and `ReadonlyArray.indexOf`. - [`107dfc2`](https://togithub.com/total-typescript/ts-reset/commit/107dfc2): Changed the array.includes on readonly arrays to NOT be a type predicate. Before this change, this perfectly valid code would not behave correctly. ```ts type Code = 0 | 1 | 2; type SpecificCode = 0 | 1; const currentCode: Code = 0; // Create an empty list of subset type const specificCodeList: ReadonlyArray<SpecificCode> = []; // This will be false, since 0 is not in [] if (specificCodeList.includes(currentCode)) { currentCode; // -> SpecificCode } else { // This branch will be entered, and ts will think z is 2, when it is actually 0 currentCode; // -> 2 } ``` Removing the type predicate brings ts-reset closer towards correctness. - [`4765413`](https://togithub.com/total-typescript/ts-reset/commit/4765413): author: [@​mefechoel](https://togithub.com/mefechoel) Added the `Map.has` rule. Similar to `.includes` or `Set.has()`, `Map.has()` doesn't let you pass members that don't exist in the map's keys: ```ts // BEFORE const userMap = new Map([ ["matt", 0], ["sofia", 1], [2, "waqas"], ] as const); // Argument of type '"bryan"' is not assignable to // parameter of type '"matt" | "sofia" | "waqas"'. userMap.has("bryan"); ``` With the rule enabled, `Map` follows the same semantics as `Set`. ```ts // AFTER import "@​total-typescript/ts-reset/map-has"; const userMap = new Map([ ["matt", 0], ["sofia", 1], [2, "waqas"], ] as const); // .has now takes a string as the argument! userMap.has("bryan"); ``` ##### Patch Changes - [`b15aaa4`](https://togithub.com/total-typescript/ts-reset/commit/b15aaa4): Fixed an oversight with the initial `set-has` implementation by adding support to `ReadonlySet`. </details> <details> <summary>davidjerleke/embla-carousel</summary> ### [`v7.1.0`](https://togithub.com/davidjerleke/embla-carousel/releases/tag/v7.1.0) [Compare Source](https://togithub.com/davidjerleke/embla-carousel/compare/v7.0.9...v7.1.0) ### 🌟 New features: - \[x] [#​440](https://togithub.com/davidjerleke/embla-carousel/issues/440) - Add [`slides`](https://www.embla-carousel.com/api/options/#slides) & [`container`](https://www.embla-carousel.com/api/options/#container) options. ##### Donations Embla Carousel is an open source MIT licensed project. If you are interested in supporting this project, please consider: - [One-off donation via PayPal](https://www.paypal.com/paypalme/davidjerleke) - [One-off/monthly donations via Ko-fi](https://ko-fi.com/davidjerleke) *** #### What's Changed - Migrate to the latest Gatsby version by [@​davidjerleke](https://togithub.com/davidjerleke) in [davidjerleke/embla-carousel#428 - Docs improvements by [@​davidjerleke](https://togithub.com/davidjerleke) in [davidjerleke/embla-carousel#439 - Add `slides` & `container` options by [@​davidjerleke](https://togithub.com/davidjerleke) in [davidjerleke/embla-carousel#441 **Full Changelog**: davidjerleke/embla-carousel@v7.0.9...v7.1.0 </details> <details> <summary>mswjs/msw-storybook-addon</summary> ### [`v1.8.0`](https://togithub.com/mswjs/msw-storybook-addon/blob/HEAD/packages/msw-addon/CHANGELOG.md#v180-Wed-Mar-08-2023) [Compare Source](https://togithub.com/mswjs/msw-storybook-addon/compare/v1.7.0...v1.8.0) ##### 🚀 Enhancement - support Storybook 7 [#​102](https://togithub.com/mswjs/msw-storybook-addon/pull/102) ([@​yannbf](https://togithub.com/yannbf)) ##### 🐛 Bug Fix - Fetch git tags on release workflow [#​103](https://togithub.com/mswjs/msw-storybook-addon/pull/103) ([@​yannbf](https://togithub.com/yannbf)) - Use auto for release management [#​100](https://togithub.com/mswjs/msw-storybook-addon/pull/100) ([@​yannbf](https://togithub.com/yannbf)) - fix: update peer dependency range [#​94](https://togithub.com/mswjs/msw-storybook-addon/pull/94) ([@​rajtslegr](https://togithub.com/rajtslegr)) ##### Authors: 2 - Petr Rajtslegr ([@​rajtslegr](https://togithub.com/rajtslegr)) - Yann Braga ([@​yannbf](https://togithub.com/yannbf)) </details> <details> <summary>i18next/next-i18next</summary> ### [`v13.2.2`](https://togithub.com/i18next/next-i18next/blob/HEAD/CHANGELOG.md#​1322) [Compare Source](https://togithub.com/i18next/next-i18next/compare/v13.2.1...v13.2.2) - pageProps may be undefined on strange setups [#​2109](https://togithub.com/i18next/next-i18next/issues/2109)" </details> <details> <summary>webpack/webpack</summary> ### [`v5.76.0`](https://togithub.com/webpack/webpack/releases/tag/v5.76.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.75.0...v5.76.0) #### Bugfixes - Avoid cross-realm object access by [@​Jack-Works](https://togithub.com/Jack-Works) in [webpack/webpack#16500 - Improve hash performance via conditional initialization by [@​lvivski](https://togithub.com/lvivski) in [webpack/webpack#16491 - Serialize `generatedCode` info to fix bug in asset module cache restoration by [@​ryanwilsonperkin](https://togithub.com/ryanwilsonperkin) in [webpack/webpack#16703 - Improve performance of `hashRegExp` lookup by [@​ryanwilsonperkin](https://togithub.com/ryanwilsonperkin) in [webpack/webpack#16759 #### Features - add `target` to `LoaderContext` type by [@​askoufis](https://togithub.com/askoufis) in [webpack/webpack#16781 #### Security - [CVE-2022-37603](https://togithub.com/advisories/GHSA-3rfm-jhwj-7488) fixed by [@​akhilgkrishnan](https://togithub.com/akhilgkrishnan) in [webpack/webpack#16446 #### Repo Changes - Fix HTML5 logo in README by [@​jakebailey](https://togithub.com/jakebailey) in [webpack/webpack#16614 - Replace TypeScript logo in README by [@​jakebailey](https://togithub.com/jakebailey) in [webpack/webpack#16613 - Update actions/cache dependencies by [@​piwysocki](https://togithub.com/piwysocki) in [webpack/webpack#16493 #### New Contributors - [@​Jack-Works](https://togithub.com/Jack-Works) made their first contribution in [webpack/webpack#16500 - [@​lvivski](https://togithub.com/lvivski) made their first contribution in [webpack/webpack#16491 - [@​jakebailey](https://togithub.com/jakebailey) made their first contribution in [webpack/webpack#16614 - [@​akhilgkrishnan](https://togithub.com/akhilgkrishnan) made their first contribution in [webpack/webpack#16446 - [@​ryanwilsonperkin](https://togithub.com/ryanwilsonperkin) made their first contribution in [webpack/webpack#16703 - [@​piwysocki](https://togithub.com/piwysocki) made their first contribution in [webpack/webpack#16493 - [@​askoufis](https://togithub.com/askoufis) made their first contribution in [webpack/webpack#16781 **Full Changelog**: webpack/webpack@v5.75.0...v5.76.0 </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 is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/weareinreach/InReach). PR-URL: #278 Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Bumps [webpack](https://github.com/webpack/webpack) from 5.72.1 to 5.76.0. v5.76.0 Bugfixes Avoid cross-realm object access by @Jack-Works in webpack/webpack#16500 Improve hash performance via conditional initialization by @lvivski in webpack/webpack#16491 Serialize generatedCode info to fix bug in asset module cache restoration by @ryanwilsonperkin in webpack/webpack#16703 Improve performance of hashRegExp lookup by @ryanwilsonperkin in webpack/webpack#16759 Features add target to LoaderContext type by @askoufis in webpack/webpack#16781 Security CVE-2022-37603 fixed by @akhilgkrishnan in webpack/webpack#16446 Repo Changes Fix HTML5 logo in README by @jakebailey in webpack/webpack#16614 Replace TypeScript logo in README by @jakebailey in webpack/webpack#16613 Update actions/cache dependencies by @piwysocki in webpack/webpack#16493 New Contributors @Jack-Works made their first contribution in webpack/webpack#16500 @lvivski made their first contribution in webpack/webpack#16491 @jakebailey made their first contribution in webpack/webpack#16614 @akhilgkrishnan made their first contribution in webpack/webpack#16446 @ryanwilsonperkin made their first contribution in webpack/webpack#16703 @piwysocki made their first contribution in webpack/webpack#16493 @askoufis made their first contribution in webpack/webpack#16781 Full Changelog: webpack/webpack@v5.75.0...v5.76.0 v5.75.0 Bugfixes experiments.* normalize to false when opt-out avoid NaN% show the correct error when using a conflicting chunk name in code HMR code tests existance of window before trying to access it fix eval-nosources-* actually exclude sources fix race condition where no module is returned from processing module fix position of standalong semicolon in runtime code Features add support for @import to extenal CSS when using experimental CSS in node add i64 support to the deprecated WASM implementation Developer Experience expose EnableWasmLoadingPlugin add more typings generate getters instead of readonly properties in typings to allow overriding them ... (truncated) Commits 97b1718 Merge pull request #16781 from askoufis/loader-context-target-type b84efe6 Merge pull request #16759 from ryanwilsonperkin/real-content-hash-regex-perf c98e9e0 Merge pull request #16493 from piwysocki/patch-1 5f34acf feat: Add target to LoaderContext type b7fc4d8 Merge pull request #16703 from ryanwilsonperkin/ryanwilsonperkin/fix-16160 63ea82d Merge branch 'webpack:main' into patch-1 4ba2252 Merge pull request #16446 from akhilgkrishnan/patch-1 1acd635 Merge pull request #16613 from jakebailey/ts-logo 302eb37 Merge pull request #16614 from jakebailey/html5-logo cfdb1df Improve performance of hashRegExp lookup Additional commits viewable in compare view Maintainer changes This version was pushed to npm by evilebottnawi, a new releaser for webpack since your current version. Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Slade Watkins <srw@sladewatkins.net>
Bumps [webpack](https://github.com/webpack/webpack) from 5.72.1 to 5.76.0. v5.76.0 Bugfixes Avoid cross-realm object access by @Jack-Works in webpack/webpack#16500 Improve hash performance via conditional initialization by @lvivski in webpack/webpack#16491 Serialize generatedCode info to fix bug in asset module cache restoration by @ryanwilsonperkin in webpack/webpack#16703 Improve performance of hashRegExp lookup by @ryanwilsonperkin in webpack/webpack#16759 Features add target to LoaderContext type by @askoufis in webpack/webpack#16781 Security CVE-2022-37603 fixed by @akhilgkrishnan in webpack/webpack#16446 Repo Changes Fix HTML5 logo in README by @jakebailey in webpack/webpack#16614 Replace TypeScript logo in README by @jakebailey in webpack/webpack#16613 Update actions/cache dependencies by @piwysocki in webpack/webpack#16493 New Contributors @Jack-Works made their first contribution in webpack/webpack#16500 @lvivski made their first contribution in webpack/webpack#16491 @jakebailey made their first contribution in webpack/webpack#16614 @akhilgkrishnan made their first contribution in webpack/webpack#16446 @ryanwilsonperkin made their first contribution in webpack/webpack#16703 @piwysocki made their first contribution in webpack/webpack#16493 @askoufis made their first contribution in webpack/webpack#16781 Full Changelog: webpack/webpack@v5.75.0...v5.76.0 v5.75.0 Bugfixes experiments.* normalize to false when opt-out avoid NaN% show the correct error when using a conflicting chunk name in code HMR code tests existance of window before trying to access it fix eval-nosources-* actually exclude sources fix race condition where no module is returned from processing module fix position of standalong semicolon in runtime code Features add support for @import to extenal CSS when using experimental CSS in node add i64 support to the deprecated WASM implementation Developer Experience expose EnableWasmLoadingPlugin add more typings generate getters instead of readonly properties in typings to allow overriding them ... (truncated) Commits 97b1718 Merge pull request #16781 from askoufis/loader-context-target-type b84efe6 Merge pull request #16759 from ryanwilsonperkin/real-content-hash-regex-perf c98e9e0 Merge pull request #16493 from piwysocki/patch-1 5f34acf feat: Add target to LoaderContext type b7fc4d8 Merge pull request #16703 from ryanwilsonperkin/ryanwilsonperkin/fix-16160 63ea82d Merge branch 'webpack:main' into patch-1 4ba2252 Merge pull request #16446 from akhilgkrishnan/patch-1 1acd635 Merge pull request #16613 from jakebailey/ts-logo 302eb37 Merge pull request #16614 from jakebailey/html5-logo cfdb1df Improve performance of hashRegExp lookup Additional commits viewable in compare view Maintainer changes This version was pushed to npm by evilebottnawi, a new releaser for webpack since your current version. Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Slade Watkins <srw@sladewatkins.net>
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [webpack](https://togithub.com/webpack/webpack) | [`5.75.0` -> `5.76.0`](https://renovatebot.com/diffs/npm/webpack/5.75.0/5.76.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2023-28154](https://nvd.nist.gov/vuln/detail/CVE-2023-28154) Webpack 5 before 5.76.0 does not avoid cross-realm object access. ImportParserPlugin.js mishandles the magic comment feature. An attacker who controls a property of an untrusted object can obtain access to the real global object. --- ### Release Notes <details> <summary>webpack/webpack</summary> ### [`v5.76.0`](https://togithub.com/webpack/webpack/releases/tag/v5.76.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.75.0...v5.76.0) #### Bugfixes - Avoid cross-realm object access by [@​Jack-Works](https://togithub.com/Jack-Works) in [webpack/webpack#16500 - Improve hash performance via conditional initialization by [@​lvivski](https://togithub.com/lvivski) in [webpack/webpack#16491 - Serialize `generatedCode` info to fix bug in asset module cache restoration by [@​ryanwilsonperkin](https://togithub.com/ryanwilsonperkin) in [webpack/webpack#16703 - Improve performance of `hashRegExp` lookup by [@​ryanwilsonperkin](https://togithub.com/ryanwilsonperkin) in [webpack/webpack#16759 #### Features - add `target` to `LoaderContext` type by [@​askoufis](https://togithub.com/askoufis) in [webpack/webpack#16781 #### Security - [CVE-2022-37603](https://togithub.com/advisories/GHSA-3rfm-jhwj-7488) fixed by [@​akhilgkrishnan](https://togithub.com/akhilgkrishnan) in [webpack/webpack#16446 #### Repo Changes - Fix HTML5 logo in README by [@​jakebailey](https://togithub.com/jakebailey) in [webpack/webpack#16614 - Replace TypeScript logo in README by [@​jakebailey](https://togithub.com/jakebailey) in [webpack/webpack#16613 - Update actions/cache dependencies by [@​piwysocki](https://togithub.com/piwysocki) in [webpack/webpack#16493 #### New Contributors - [@​Jack-Works](https://togithub.com/Jack-Works) made their first contribution in [webpack/webpack#16500 - [@​lvivski](https://togithub.com/lvivski) made their first contribution in [webpack/webpack#16491 - [@​jakebailey](https://togithub.com/jakebailey) made their first contribution in [webpack/webpack#16614 - [@​akhilgkrishnan](https://togithub.com/akhilgkrishnan) made their first contribution in [webpack/webpack#16446 - [@​ryanwilsonperkin](https://togithub.com/ryanwilsonperkin) made their first contribution in [webpack/webpack#16703 - [@​piwysocki](https://togithub.com/piwysocki) made their first contribution in [webpack/webpack#16493 - [@​askoufis](https://togithub.com/askoufis) made their first contribution in [webpack/webpack#16781 **Full Changelog**: webpack/webpack@v5.75.0...v5.76.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone Australia/Sydney, 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 [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/google/osv.dev). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNTkuMSIsInVwZGF0ZWRJblZlciI6IjM0LjE1OS4xIn0=-->
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [webpack](https://togithub.com/webpack/webpack) | [`5.75.0` -> `5.76.0`](https://renovatebot.com/diffs/npm/webpack/5.75.0/5.76.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2023-28154](https://nvd.nist.gov/vuln/detail/CVE-2023-28154) Webpack 5 before 5.76.0 does not avoid cross-realm object access. ImportParserPlugin.js mishandles the magic comment feature. An attacker who controls a property of an untrusted object can obtain access to the real global object. --- ### Release Notes <details> <summary>webpack/webpack</summary> ### [`v5.76.0`](https://togithub.com/webpack/webpack/releases/tag/v5.76.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.75.0...v5.76.0) #### Bugfixes - Avoid cross-realm object access by [@​Jack-Works](https://togithub.com/Jack-Works) in [webpack/webpack#16500 - Improve hash performance via conditional initialization by [@​lvivski](https://togithub.com/lvivski) in [webpack/webpack#16491 - Serialize `generatedCode` info to fix bug in asset module cache restoration by [@​ryanwilsonperkin](https://togithub.com/ryanwilsonperkin) in [webpack/webpack#16703 - Improve performance of `hashRegExp` lookup by [@​ryanwilsonperkin](https://togithub.com/ryanwilsonperkin) in [webpack/webpack#16759 #### Features - add `target` to `LoaderContext` type by [@​askoufis](https://togithub.com/askoufis) in [webpack/webpack#16781 #### Security - [CVE-2022-37603](https://togithub.com/advisories/GHSA-3rfm-jhwj-7488) fixed by [@​akhilgkrishnan](https://togithub.com/akhilgkrishnan) in [webpack/webpack#16446 #### Repo Changes - Fix HTML5 logo in README by [@​jakebailey](https://togithub.com/jakebailey) in [webpack/webpack#16614 - Replace TypeScript logo in README by [@​jakebailey](https://togithub.com/jakebailey) in [webpack/webpack#16613 - Update actions/cache dependencies by [@​piwysocki](https://togithub.com/piwysocki) in [webpack/webpack#16493 #### New Contributors - [@​Jack-Works](https://togithub.com/Jack-Works) made their first contribution in [webpack/webpack#16500 - [@​lvivski](https://togithub.com/lvivski) made their first contribution in [webpack/webpack#16491 - [@​jakebailey](https://togithub.com/jakebailey) made their first contribution in [webpack/webpack#16614 - [@​akhilgkrishnan](https://togithub.com/akhilgkrishnan) made their first contribution in [webpack/webpack#16446 - [@​ryanwilsonperkin](https://togithub.com/ryanwilsonperkin) made their first contribution in [webpack/webpack#16703 - [@​piwysocki](https://togithub.com/piwysocki) made their first contribution in [webpack/webpack#16493 - [@​askoufis](https://togithub.com/askoufis) made their first contribution in [webpack/webpack#16781 **Full Changelog**: webpack/webpack@v5.75.0...v5.76.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" in timezone Europe/London, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Never, 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 [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/guardian/csnx). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4xNjAuMCIsInVwZGF0ZWRJblZlciI6IjM0LjE2MC4wIn0=-->
Bump webpack from 5.75.0 to 5.76.1 Bumps webpack from 5.75.0 to 5.76.1. Release notes Sourced from webpack's releases. v5.76.1 Fixed Added assert/strict built-in to NodeTargetPlugin Revert Improve performance of hashRegExp lookup by @ryanwilsonperkin in webpack/webpack#16759 v5.76.0 Bugfixes Avoid cross-realm object access by @Jack-Works in webpack/webpack#16500 Improve hash performance via conditional initialization by @lvivski in webpack/webpack#16491 Serialize generatedCode info to fix bug in asset module cache restoration by @ryanwilsonperkin in webpack/webpack#16703 Improve performance of hashRegExp lookup by @ryanwilsonperkin in webpack/webpack#16759 Features add target to LoaderContext type by @askoufis in webpack/webpack#16781 Security CVE-2022-37603 fixed by @akhilgkrishnan in webpack/webpack#16446 Repo Changes Fix HTML5 logo in README by @jakebailey in webpack/webpack#16614 Replace TypeScript logo in README by @jakebailey in webpack/webpack#16613 Update actions/cache dependencies by @piwysocki in webpack/webpack#16493 New Contributors @Jack-Works made their first contribution in webpack/webpack#16500 @lvivski made their first contribution in webpack/webpack#16491 @jakebailey made their first contribution in webpack/webpack#16614 @akhilgkrishnan made their first contribution in webpack/webpack#16446 @ryanwilsonperkin made their first contribution in webpack/webpack#16703 @piwysocki made their first contribution in webpack/webpack#16493 @askoufis made their first contribution in webpack/webpack#16781 Full Changelog: webpack/webpack@v5.75.0...v5.76.0 Commits 21be52b Merge pull request #16804 from webpack/chore-patch-release 1cce945 chore(release): 5.76.1 e76ad9e Merge pull request #16803 from ryanwilsonperkin/revert-16759-real-content-has... 52b1b0e Revert "Improve performance of hashRegExp lookup" c989143 Merge pull request #16766 from piranna/patch-1 710eaf4 Merge pull request #16789 from dmichon-msft/contenthash-hashsalt 5d64468 Merge pull request #16792 from webpack/update-version 67af5ec chore(release): 5.76.0 97b1718 Merge pull request #16781 from askoufis/loader-context-target-type b84efe6 Merge pull request #16759 from ryanwilsonperkin/real-content-hash-regex-perf Additional commits viewable in compare view Maintainer changes This version was pushed to npm by evilebottnawi, a new releaser for webpack since your current version. Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase. Dependabot commands and options You can trigger Dependabot actions by commenting on this PR: @dependabot rebase will rebase this PR @dependabot recreate will recreate this PR, overwriting any edits that have been made to it @dependabot merge will merge this PR after your CI passes on it @dependabot squash and merge will squash and merge this PR after your CI passes on it @dependabot cancel merge will cancel a previously requested merge and block automerging @dependabot reopen will reopen this PR if it is closed @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) @dependabot use these labels will set the current labels as the default for future PRs for this repo and language @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language You can disable automated security fix PRs for this repo from the Security Alerts page. Reviewed-by: Artem Goncharov
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [webpack](https://togithub.com/webpack/webpack) | [`5.74.0` -> `5.76.0`](https://renovatebot.com/diffs/npm/webpack/5.74.0/5.76.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | ### GitHub Vulnerability Alerts #### [CVE-2023-28154](https://nvd.nist.gov/vuln/detail/CVE-2023-28154) Webpack 5 before 5.76.0 does not avoid cross-realm object access. ImportParserPlugin.js mishandles the magic comment feature. An attacker who controls a property of an untrusted object can obtain access to the real global object. --- ### Release Notes <details> <summary>webpack/webpack (webpack)</summary> ### [`v5.76.0`](https://togithub.com/webpack/webpack/releases/tag/v5.76.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.75.0...v5.76.0) #### Bugfixes - Avoid cross-realm object access by [@​Jack-Works](https://togithub.com/Jack-Works) in [webpack/webpack#16500 - Improve hash performance via conditional initialization by [@​lvivski](https://togithub.com/lvivski) in [webpack/webpack#16491 - Serialize `generatedCode` info to fix bug in asset module cache restoration by [@​ryanwilsonperkin](https://togithub.com/ryanwilsonperkin) in [webpack/webpack#16703 - Improve performance of `hashRegExp` lookup by [@​ryanwilsonperkin](https://togithub.com/ryanwilsonperkin) in [webpack/webpack#16759 #### Features - add `target` to `LoaderContext` type by [@​askoufis](https://togithub.com/askoufis) in [webpack/webpack#16781 #### Security - [CVE-2022-37603](https://togithub.com/advisories/GHSA-3rfm-jhwj-7488) fixed by [@​akhilgkrishnan](https://togithub.com/akhilgkrishnan) in [webpack/webpack#16446 #### Repo Changes - Fix HTML5 logo in README by [@​jakebailey](https://togithub.com/jakebailey) in [webpack/webpack#16614 - Replace TypeScript logo in README by [@​jakebailey](https://togithub.com/jakebailey) in [webpack/webpack#16613 - Update actions/cache dependencies by [@​piwysocki](https://togithub.com/piwysocki) in [webpack/webpack#16493 #### New Contributors - [@​Jack-Works](https://togithub.com/Jack-Works) made their first contribution in [webpack/webpack#16500 - [@​lvivski](https://togithub.com/lvivski) made their first contribution in [webpack/webpack#16491 - [@​jakebailey](https://togithub.com/jakebailey) made their first contribution in [webpack/webpack#16614 - [@​akhilgkrishnan](https://togithub.com/akhilgkrishnan) made their first contribution in [webpack/webpack#16446 - [@​ryanwilsonperkin](https://togithub.com/ryanwilsonperkin) made their first contribution in [webpack/webpack#16703 - [@​piwysocki](https://togithub.com/piwysocki) made their first contribution in [webpack/webpack#16493 - [@​askoufis](https://togithub.com/askoufis) made their first contribution in [webpack/webpack#16781 **Full Changelog**: webpack/webpack@v5.75.0...v5.76.0 ### [`v5.75.0`](https://togithub.com/webpack/webpack/releases/tag/v5.75.0) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.74.0...v5.75.0) ### Bugfixes - `experiments.*` normalize to `false` when opt-out - avoid `NaN%` - show the correct error when using a conflicting chunk name in code - HMR code tests existance of `window` before trying to access it - fix `eval-nosources-*` actually exclude sources - fix race condition where no module is returned from processing module - fix position of standalong semicolon in runtime code ### Features - add support for `@import` to extenal CSS when using experimental CSS in node - add `i64` support to the deprecated WASM implementation ### Developer Experience - expose `EnableWasmLoadingPlugin` - add more typings - generate getters instead of readonly properties in typings to allow overriding them </details> --- ### Configuration 📅 **Schedule**: Branch creation - "" (UTC), 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 [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/sammyfilly/Canary-nextjs).
What kind of change does this PR introduce?
Fixes #16160
A minimal reproduction of this bug is available at https://github.com/ryanwilsonperkin/webpack-16160
AssetGenerator calls out in a TODO-comment that the filename, assetInfo, and fullContentHash values must be captured in the 'data' object that's populated during code generation in order to be accessible in the AssetModulesPlugin. It notes that it must store them in the code generation results because it will be cached, but that appears to be incorrect as data is a simple Map that's instantiated within the NormalModule and not captured anywhere that would be cached.
As a result, configurations that use the asset/resource type and make changes to assets between cached builds will result in a runtime error as Webpack is able to access the file from cache but isn't able to access the expected values from the data object.
This solution captures the data object as a property of the NormalModule and hooks in to the existing serialize/deserialize functionality in order to make this value available across cached builds.
Did you add tests for your changes?
Not yet, I would appreciate support understanding what approach you've taken to testing this type of functionality so far.
Does this PR introduce a breaking change?
No
What needs to be documented once your changes are merged?
Shouldn't require documentation, fixing a low-level bug