Skip to content

Virtual module with shared ModuleFederation breaks build #20388

@kholstinin

Description

@kholstinin

Bug Description

Using VirtualUrlPlugin with a module that is supposed to be included in a shared chunk of ModuleFederation causes the build to fail

switch (maybePath.length) {
                          ^

TypeError: Cannot read properties of undefined (reading 'length')
    at getType (/Users/d.kholstinin/projects/virtual-mf/node_modules/enhanced-resolve/lib/util/path.js:52:20)
    at join (/Users/d.kholstinin/projects/virtual-mf/node_modules/enhanced-resolve/lib/util/path.js:161:10)
    at cachedJoin (/Users/d.kholstinin/projects/virtual-mf/node_modules/enhanced-resolve/lib/util/path.js:198:15)
    at Resolver.join (/Users/d.kholstinin/projects/virtual-mf/node_modules/enhanced-resolve/lib/Resolver.js:787:10)
    at /Users/d.kholstinin/projects/virtual-mf/node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js:42:18
    at Array.map (<anonymous>)
    at /Users/d.kholstinin/projects/virtual-mf/node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js:41:25
    at Array.map (<anonymous>)
    at /Users/d.kholstinin/projects/virtual-mf/node_modules/enhanced-resolve/lib/ModulesInHierarchicalDirectoriesPlugin.js:40:14
    at _next0 (eval at create (/Users/d.kholstinin/projects/virtual-mf/node_modules/tapable/lib/HookCodeFactory.js:31:10), <anonymous>:8:1

Link to Minimal Reproduction and step to reproduce

https://github.com/kholstinin/virtual-mf-bug/tree/main

Steps:

  1. Run npm i
  2. Run npm run build
  3. See error in console

Expected Behavior

Build finished successfully

Actual Behavior

Build failed

Environment

System:
    OS: macOS 26.2
    CPU: (12) arm64 Apple M3 Pro
    Memory: 823.27 MB / 36.00 GB
  Binaries:
    Node: 24.11.1 - /Users/d.kholstinin/.nvm/versions/node/v24.11.1/bin/node
    Yarn: 1.22.22 - /Users/d.kholstinin/.nvm/versions/node/v24.11.1/bin/yarn
    npm: 11.6.2 - /Users/d.kholstinin/.nvm/versions/node/v24.11.1/bin/npm
    pnpm: 10.24.0 - /Users/d.kholstinin/.nvm/versions/node/v24.11.1/bin/pnpm
  Browsers:
    Chrome: 144.0.7559.110
    Firefox: 144.0
    Safari: 26.2
  Packages:
    webpack: ^5.104.1 => 5.104.1 
    webpack-cli: ^6.0.1 => 6.0.1

Is this a regression?

None

Last Working Version

No response

Additional Context

No response

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions