https://github.com/wood3n/bundleless-test
test bundleless tool
https://github.com/wood3n/bundleless-test
bundleless esbuild react tsup
Last synced: about 2 months ago
JSON representation
test bundleless tool
- Host: GitHub
- URL: https://github.com/wood3n/bundleless-test
- Owner: wood3n
- License: mit
- Created: 2024-08-13T02:16:38.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-12-31T09:45:14.000Z (5 months ago)
- Last Synced: 2025-01-26T08:26:15.625Z (4 months ago)
- Topics: bundleless, esbuild, react, tsup
- Language: TypeScript
- Homepage:
- Size: 116 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bundleless-test
bundleless 也就是不 bundle,不对 "dependencies" 以及 "peerDependencies" 下的第三方依赖进行打包处理,仅对项目的模块进行转换处理。
以下对一些工具进行 bundleless 打包测试,模块代码包含 react 组件和普通的 ts 代码。
## @modern-js/module-tools
⭐⭐⭐⭐⭐
1. `esm`和`cjs`产物基于 esbuild 编译代码,`umd`产物时会使用 swc;
2. 配置简单,上手即用,提供的`buildPreset`就能满足打包需求,无需编写额外的 nodejs 文件处理代码;
3. `module-tools`还内置了生成模块文档,以及 changelog 的能力,所以`module-tools`比较侧重于一个工具解决工具库开发的场景。## rslib
⭐⭐⭐⭐⭐
rslib 是基于 rust 编写的下一代库构建工具,支持四种 JavaScript 文件的输出格式:esm、cjs、umd 和 mf。
1. 基于 swc 编译代码;
2. 配置简单,和`@modern-js/module-tools`相比,没有内置文档编写,changelog 等能力,能力更专注于构建库。如果你希望使用一个简单的打包库的工具,推荐使用`rslib`。## tsup
⭐⭐⭐⭐
1. 基于 esbuild 编译代码,不支持生成`umd`产物;
2. bundleless 打包需要设置`bundle:false`,同时指定`entry`为文件夹,`entry`支持 glob 匹配,对于不想转换的模块可通过 glob 忽略。## esbuild
⭐⭐⭐
1. 不支持生成 umd 格式产物;
2. 不支持配置文件配置;
3. bundleless 打包需要设置`bundle:false`,同时指定`entry`为文件夹,`entry`支持 glob 匹配,对于不想转换的模块可通过 glob 忽略。
4. 不支持生成 ts 类型定义文件,可以使用`tsc --project [tsconfig.json]`来生成。## unbuild
⭐⭐⭐
1. 基于 esbuild,不支持生成 umd 格式产物;
2. 配置有点乱,对 jsx 转换无法读取到 tsconfig 里面的配置,都转换成了`React.createElement`。