Comments (2)
Try to enable module
in SWC js minifier plugin.
from rspack.
I've simplified the reproduction.
This problem occurs when importing a "module"
package whose main file contains new URL("./", import.meta.url)
.
Both rspack and webpack will create an asset file xxx.js
for the main file itself because of the statement new URL("./", import.meta.url)
as documented: https://webpack.js.org/guides/asset-modules/#url-assets
Consider the foo
example, the package foo
has these two traits:
- there's
new URL("./", import.meta.url)
infoo/index.js
- is a
"module"
package
When importing foo
, both rspack and webpack will
- bundle content of
foo/index.js
into the main asset file - and also create an asset file
xxxx.js
whose content is same asfoo/index.js
When minimizing the xxxx.js
file, depending on the value of package "type"
package type of foo |
minimize | rspack | webpack |
---|---|---|---|
"module" |
ON | ❌[1] | ✅ |
"commonjs" |
ON | ❌[2] | ❌[2] |
"module" |
OFF | ✅ | ✅ |
"commonjs" |
OFF | ❌[2] | ❌[2] |
After dig into it, I just found
- failure [2] is dropped before minimizing which is as expected and has nothing to do with this issue.
- while [1] is dropped on minimizing which causes this issue.
- webpack minifies the file with
module: undefined
while rspack minifies it withmodule: false
from rspack.
Related Issues (20)
- [Bug]: `.js` in package name fails the build (e.g. `highlight.js`) HOT 3
- [Bug]: debugger is not source code HOT 1
- [Feature]: support `stats.compilation.chunkGroups`
- [Bug]: cheap-[module]-source-map not work with react compiler HOT 6
- [Bug]: Custom SWC loader crashes on ^0.7.3 HOT 6
- [Bug]: The result of bundling with rspack build produces nothing. HOT 4
- [Bug]: 在使用 sass-loader 和 mode为production 打包 Vue 文件时,图片资源未打包 HOT 1
- [Feature]: Use 1 HMR websocket connection for mutilple micro-frontend apps in same page HOT 1
- [Bug]: Segmentation fault and bus error on production builds HOT 2
- [Bug]: DefinePlugin in webpack will throw a warning for the same key, and rspack will choose to override it. HOT 2
- [Bug]: Build stuck for no reason HOT 2
- [Bug]: `copy-webpack-plugin` stuck in `compilation.fileSystemInfo.createSnapshot` HOT 3
- [Feature]: localVars hook to support RetryChunkPlugin HOT 5
- [Bug]: Kernel panic on HMR compilation seal
- [Bug]: Uncaught ReferenceError: exports is not defined HOT 13
- [Feature]: Support htmlWebpackPlugin.files as template parameters HOT 1
- [Bug]: panic during build phase HOT 3
- [Bug]: live reload of styles lazy components is broken when using hashes in names
- [Bug]: Failed to resolve tsconfig paths when using extends(version:0.7.1)
- [Bug]: Cannot get final name for export '__esModule' HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rspack.