API 参考
Rstack CLI 提供统一的配置 API,并通过专用子路径重导出 Rsbuild、Rslib、Rstest 和 Rslint 的公开 API。建议优先从这些子路径导入,而不是直接从各工具的 core 包导入,以统一依赖入口,并确保 API 与 Rstack CLI 集成的工具版本匹配。
导入路径
主入口
define
从 rstack 导入 define,用于在 rstack.config.ts 中注册各项工具配置;详细用法请参阅配置 API。
RstackConfig
RstackConfig 是公共配置的类型。所有字段均为可选,只需填写需要共享的配置。
各工具字段接受与对应 define.*() 方法相同的配置,例如 fmt 对应 define.fmt()。
还可以通过 extends 字段继承其他公共配置,该字段的类型为 readonly RstackConfig[]。
重导出
以下工具子路径均会重导出对应 core 包的公开 API。通过这些入口导入,可以统一依赖入口,并确保 API 与 Rstack CLI 集成的工具版本匹配。
rstack/app
rstack/app 重导出 @rsbuild/core 的全部公开 API,包括用于创建和控制 Rsbuild 实例的 API。
具体用法请参阅 Rsbuild 核心 API。
rstack/lib
rstack/lib 重导出 @rslib/core 的全部公开 API,包括用于创建 Rslib 实例和合并 Rslib 配置的 API。
具体用法请参阅 Rslib 核心 API。
rstack/test
rstack/test 重导出 @rstest/core 的全部公开 API,包括用于定义测试、编写断言、模拟模块和合并测试配置的 API。
测试 API 请参阅 Rstest 运行时 API,配置辅助 API 请参阅 Rstest 核心 API。
如需了解更多测试相关用法,请参阅测试。
rstack/lint
rstack/lint 重导出 @rslint/core 的全部公开 API,包括 JavaScript 和 TypeScript 预设以及框架插件。
可用的预设和插件请参阅 Rslint 规则和预设。
加载配置
loadRstackConfig()
使用 rstack/config 导出的 loadRstackConfig(),可以在代码中加载 Rstack 配置:
支持以下可选参数:
cwd:查找配置文件的目录。configFilePath为相对路径时,也以此目录为基准。默认为当前工作目录。configFilePath:配置文件路径,可以是相对路径或绝对路径。省略时,优先使用 CLI 通过--config指定的路径;若也未指定,则在cwd中按默认文件名查找配置。
返回对象包含以下字段:
configs:各工具的配置对象或函数,包含项目配置及继承的公共配置。filePath:加载的配置文件路径,未找到文件时为null。dependencies:加载器收集到的配置依赖路径列表。
loadRstackConfig() 仅负责加载配置,不会执行工具配置函数。调用方仍需完成相应工具的配置解析和初始化,才能运行工具。
rstack/config 还导出相关类型:LoadRstackConfigOptions(参数)、LoadedRstackConfig(返回值)和 RstackConfigDefinitions(工具配置)。
TypeScript 类型
以下纯类型入口用于为 TypeScript 项目补充环境类型声明。请仅将项目需要的入口添加到 tsconfig.json 的 compilerOptions.types 中。
rstack/types
rstack/types 提供 Rsbuild 与 Rslib 共用的项目级类型声明,包括 import.meta.env 和静态资源导入的类型。请使用该入口替代 @rsbuild/core/types 或 @rslib/core/types。
rstack/test/globals
rstack/test/globals 提供 test、expect 和生命周期钩子等 Rstest API 的全局声明。启用 Rstest 的 globals 选项且测试代码不显式导入这些 API 时,请添加该入口。
rstack/test/importMeta
rstack/test/importMeta 为 ImportMeta 增加可选的 rstest 属性,为源码内测试中的 import.meta.rstest 提供类型支持。