web-infra-dev / rspack

The fast Rust-based web bundler with webpack-compatible API 🦀️
https://rspack.dev
MIT License
9.4k stars 545 forks source link

[Bug]: esm default import with shared does not properly access the default function #8043

Open jmvtrinidad opened 6 days ago

jmvtrinidad commented 6 days ago

System Info

System: OS: macOS 15.0 CPU: (12) arm64 Apple M2 Pro Memory: 74.30 MB / 32.00 GB Shell: 5.9 - /bin/zsh Binaries: Node: 22.4.0 - ~/.nvm/versions/node/v22.4.0/bin/node npm: 10.8.1 - ~/.nvm/versions/node/v22.4.0/bin/npm pnpm: 9.11.0 - ~/.nvm/versions/node/v22.4.0/bin/pnpm bun: 1.1.4 - ~/.bun/bin/bun Browsers: Chrome: 129.0.6668.90 Edge: 129.0.2792.65 Safari: 18.0 npmPackages: @rspack/cli: ^1.0.2 => 1.0.5 @rspack/core: ^1.0.2 => 1.0.5 @rspack/dev-server: ^1.0.2 => 1.0.5 @rspack/plugin-minify: ^0.7.5 => 0.7.5 @rspack/plugin-react-refresh: ^1.0.0 => 1.0.0

Details

orginal code from react calendar Image generated code from rspack Image

Reproduce link

  1. Clone the repository: git clone git@github.com:jmvtrinidad/issues.git
  2. Checkout the branch: git checkout rspackDefaultExportIssue
  3. Serve the app: nx serve host
  4. Build the app with react calendar - it still works.
  5. Install clsx - the issue appears, failing to infer the correct module.

Reproduce Steps

Works without clsx in package.json:

Fails with clsx installed in package json and being shared by rspack:

Additional Context

Prior to switching to rspack, webpack produced the following outputs which is working:

loveholly commented 1 day ago

Seems like we got something similar to this issue: https://github.com/module-federation/core/issues/2995