Object | Function
>= 0.4.11
通过 tools.swc
可以设置 builtin:swc-loader 的选项。
Rsbuild 默认使用 builtin:swc-loader
来转换 JavaScript 代码,它是 swc-loader 的 Rust 版本,选项与 JS 版本的 swc-loader 保持对齐。
tools.swc
可以配置为一个对象,这个对象将会和内置的 builtin:swc-loader
选项进行深层合并。
tools.swc
也可以配置为一个函数,这个函数接收一个参数,即内置的 builtin:swc-loader
选项,你可以对这个对象进行修改,然后返回一份新的配置。比如:
tools.swc
函数返回的对象会直接作为最终使用的 builtin:swc-loader
选项,不会再与内置的 builtin:swc-loader
选项进行合并。
tools.swc
可以用于注册 SWC 的 Wasm 插件,比如注册 @swc/plugin-styled-jsx
:
注意,目前 SWC 的 Wasm 插件不向后兼容,SWC 插件和 Rspack 依赖的 @swc/core
的版本存在一定的绑定关系。因此,你需要选择和当前 @swc/core
版本匹配的 SWC 插件,才能使 SWC 正常执行。
更多信息可参考 SWC - Selecting the version。
启用 builtin:swc-loader
对 Emotion 支持的示例:
更多选项可参考 @swc/plugin-emotion。
启用 builtin:swc-loader
对 Relay 支持的示例:
更多选项可参考 Rspack - rspackExperiments.relay。