V2.0 将在 next 分支开发 Features: - [x] 升级 Rollup V4 以及相关依赖 #664 - [x] 支持监听配置文件然后自动重启构建服务 #716 - [x] 支持依赖声明并行编译 - [x] 接入 Rolldown 作为可选引擎 #688 性能可提升 1-3 倍,但体积相对也会增加 10%-20%,因为压缩能力差一些 - [x] 接入 Rslib #683 - [x] 支持 Module Federation 打包 #680 - [x] 将类型声明分离出来,作为独立的构建任务 #666 - [x] 将 `declaration` 作为配置项,支持 `boolean | DeclarationUserConfig`,向前兼容 `true`、`false`。 - [ ] 支持配置生成引擎,包括但不限于 tsc、api-extractor、oxc-transform、tsgo - [ ] #324 更好的 Monorepo 支持 - [x] ~全新的 format 能力。新增 `module:language` 语法支持同时设置模块和语言,例如 `esm:es2017`。支持插件设置自定义的 format,避免插件魔改现有 format 的产物和结果~ 废弃,使用 pkg 配置替代 #671 - [x] #682 全新的嵌套式构建配置,可以灵活的继承与配置 #686 - [x] `bundle.externals` 支持 RegExp 和 string 配置 #673 - [x] 支持配置 inline @swc/helpers,方便更多场景使用 #711 - [x] ~支持选择特定任务启动,例如只启动 transform 或者 bundle 中的某个 formats~ 暂时不需要,开发者可以通过环境变量的方式在代码内左过滤 - [x] #430 支持启动 http 服务以供调试 bundle 产物 - Plugin - [x] support order #709 - [x] 新增 pluginScope 支持判断是否在 pkg 内使用插件 #700 - [x] 插件支持直接传入对象 Break Change: - Transform 模式 - [x] 重构实现方式,使用 Rollup 的 preserveModule 实现完整的构建方案 #713 - Bundle 模式 - [x] 默认关闭 `polyfill` #692 - [x] 删除 `development` #691 - [x] es5 构建模式下,默认会编译全部依赖文件 #707 - [x] externals 不再处理子包,需要显示声明 #673 - [x] 默认针对 umd 启用 inlineDynamicImports,避免分包导致无法构建的问题 #705 - [x] 不再针对 `@swc/helpers` 单独转换一个 cjs 的版本 #674 #693 - [x] 不再对外暴露 vitest/jest 相关的帮助函数,同时自动忽略 __tests__ 文件以及支持 vitest 的 in-source test #715 Test: - [x] 提供完备的测试,优化 map 可能不一致的问题 Ecosystem: - [x] Weex 构建插件和体系,可兼容 - [x] 天马构建插件和体系,可兼容 其他 issue 可以查看 v2.0 milestone
V2.0 将在 next 分支开发
Features:
declaration作为配置项,支持boolean | DeclarationUserConfig,向前兼容true、false。全新的 format 能力。新增废弃,使用 pkg 配置替代 feat: support custom format #671module:language语法支持同时设置模块和语言,例如esm:es2017。支持插件设置自定义的 format,避免插件魔改现有 format 的产物和结果pkgoptions #686bundle.externals支持 RegExp 和 string 配置 feat: external support RegExp and not external sub path of package #673支持选择特定任务启动,例如只启动 transform 或者 bundle 中的某个 formats暂时不需要,开发者可以通过环境变量的方式在代码内左过滤Break Change:
polyfillfeat: change polyfill default to none #692developmentfeat: add missing codeSplitting schema and remove development option #691@swc/helpers单独转换一个 cjs 的版本 feat: remove transform swc helpers to cjs is not necessary #674 feat: update swc to 1.13 and not throw @swc/helpers version check error #693Test:
Ecosystem:
其他 issue 可以查看 v2.0 milestone