> For AI agents: the complete documentation index is available at /zh/llms.txt, the full documentation bundle is available at /zh/llms-full.txt.

# API 参考 \{#api-reference}

Rstack CLI 提供统一的配置 API，并通过专用子路径重导出 Rsbuild、Rslib、Rstest 和 Rslint 的公开 API。建议优先从这些子路径导入，而不是直接从各工具的 core 包导入，以统一依赖入口，并确保 API 与 Rstack CLI 集成的工具版本匹配。

## 导入路径 \{#import-paths}

| 导入路径                     | 内容                                     | 使用场景            |
| ------------------------ | -------------------------------------- | --------------- |
| `rstack`                 | Rstack CLI 配置 API                      | 注册各项工具配置        |
| `rstack/app`             | `@rsbuild/core` 的公开 API                | 构建应用及扩展 Rsbuild |
| `rstack/lib`             | `@rslib/core` 的公开 API                  | 构建库及扩展 Rslib    |
| `rstack/test`            | `@rstest/core` 的公开 API                 | 编写测试及配置测试项目     |
| `rstack/lint`            | `@rslint/core` 的公开 API                 | 使用 Rslint 预设和插件 |
| `rstack/types`           | Rsbuild 与 Rslib 共用的项目类型                | 为应用和库的源码提供类型    |
| `rstack/test/globals`    | Rstest 全局 API 声明                       | 启用全局测试 API 类型   |
| `rstack/test/importMeta` | `import.meta.rstest` 的 `ImportMeta` 声明 | 为源码内测试提供类型      |

## 主入口 \{#main-entry-point}

### `define`

从 `rstack` 导入 `define`，用于在 `rstack.config.ts` 中注册各项工具配置；详细用法请参阅[配置 API](/zh/guide/configuration.md#configuration-apis)。

## 重导出 \{#re-exports}

以下工具子路径均会重导出对应 core 包的公开 API。通过这些入口导入，可以统一依赖入口，并确保 API 与 Rstack CLI 集成的工具版本匹配。

### `rstack/app`

`rstack/app` 重导出 `@rsbuild/core` 的全部公开 API，包括用于创建和控制 Rsbuild 实例的 API。

```ts
import { createRsbuild, mergeRsbuildConfig } from 'rstack/app';
```

具体用法请参阅 [Rsbuild 核心 API](https://rsbuild.rs/zh/api/javascript-api/core)。

### `rstack/lib`

`rstack/lib` 重导出 `@rslib/core` 的全部公开 API，包括用于创建 Rslib 实例和合并 Rslib 配置的 API。

```ts
import { createRslib, mergeRslibConfig } from 'rstack/lib';
```

具体用法请参阅 [Rslib 核心 API](https://rslib.rs/zh/api/javascript-api/core)。

### `rstack/test`

`rstack/test` 重导出 `@rstest/core` 的全部公开 API，包括用于定义测试、编写断言、模拟模块和合并测试配置的 API。

```ts
import { describe, expect, test } from 'rstack/test';
```

测试 API 请参阅 [Rstest 运行时 API](https://rstest.rs/zh/api/runtime-api/)，配置辅助 API 请参阅 [Rstest 核心 API](https://rstest.rs/zh/api/javascript-api/rstest-core)。

> 如需了解更多测试相关用法，请参阅[测试](/zh/guide/testing.md)。

### `rstack/lint`

`rstack/lint` 重导出 `@rslint/core` 的全部公开 API，包括 JavaScript 和 TypeScript 预设以及框架插件。

```ts
import { js, reactPlugin, ts } from 'rstack/lint';
```

可用的预设和插件请参阅 [Rslint 规则和预设](https://rslint.rs/config/rules-and-presets)。

## TypeScript 类型 \{#typescript-types}

以下纯类型入口用于为 TypeScript 项目补充环境类型声明。请仅将项目需要的入口添加到 `tsconfig.json` 的 [`compilerOptions.types`](https://www.typescriptlang.org/tsconfig/#types) 中。

### `rstack/types`

`rstack/types` 提供 Rsbuild 与 Rslib 共用的项目级类型声明，包括 `import.meta.env` 和静态资源导入的类型。请使用该入口替代 `@rsbuild/core/types` 或 `@rslib/core/types`。

```json title="tsconfig.json"
{
  "compilerOptions": {
    "types": ["rstack/types", "node"]
  }
}
```

### `rstack/test/globals`

`rstack/test/globals` 提供 `test`、`expect` 和生命周期钩子等 Rstest API 的全局声明。启用 Rstest 的 [`globals`](https://rstest.rs/zh/config/test/globals) 选项且测试代码不显式导入这些 API 时，请添加该入口。

```json title="tsconfig.json"
{
  "compilerOptions": {
    "types": ["rstack/test/globals", "node"]
  }
}
```

### `rstack/test/importMeta`

`rstack/test/importMeta` 为 `ImportMeta` 增加可选的 `rstest` 属性，为源码内测试中的 `import.meta.rstest` 提供类型支持。

```json title="tsconfig.json"
{
  "compilerOptions": {
    "types": ["rstack/test/importMeta", "node"]
  }
}
```
