webpack.js.org icon indicating copy to clipboard operation
webpack.js.org copied to clipboard

Document webpack change: Fix layer is missing in dynamic import with dynamic resource

Open webpack-bot opened this issue 2 years ago • 2 comments

A pull request by @huozhi was merged and maintainers requested a documentation change.

See pull request: https://github.com/webpack/webpack/pull/17310


Summary

When you're using dynamic import with dynamic resource name with feature layers enabled, the dynamic imported files didn't inherit with the parent layer

related issue on next.js side: https://github.com/vercel/next.js/issues/49382

🤖 Generated by Copilot at 8422d51

This pull request adds support for layers in ContextModule and tests the feature with different scenarios of dynamic imports and resources. It also adds a new rule to the webpack configuration file for assigning modules to layers based on their names.

Details

🤖 Generated by Copilot at 8422d51

  • Add layer property to ContextModule class and its serialization and deserialization methods (link, link, link)
  • Set layer property of data object in ContextModuleFactory class from contextInfo object populated by ContextDependency class (link)
  • Add new rule to webpack configuration file to assign dynamic-layer layer to files matching dynamic-module-layer in name (test/configCases/layer/rules/webpack.config.js, link)
  • Add new test case file dynamic-module-layer.js to export an object with name, layer, and modules properties, where modules is an array of promises resolving to dynamic modules imported with dynamic resources (test/configCases/layer/rules/dynamic-module-layer.js, link)
  • Add new test case files module1.js and module2.js to export objects with name and layer properties, where layer is a special variable __webpack_layer__ replaced by webpack at runtime (test/configCases/layer/rules/dynamic/module1.js, link; test/configCases/layer/rules/dynamic/module2.js, link)
  • Import object from dynamic-module-layer.js and add new test case to assert that layer property of object and dynamic modules match dynamic-layer (test/configCases/layer/rules/index.js, link, link)

webpack-bot avatar Jun 05 '23 16:06 webpack-bot

Ref: https://github.com/webpack/webpack.js.org/issues/6750

alexander-akait avatar Jun 05 '23 16:06 alexander-akait

Hello, Is this open for external help?

cannarron avatar Aug 07 '23 10:08 cannarron