# @bimetal/kanban-data 中文文档

规范地址：https://npmcn.com/package/%40bimetal/kanban-data/

版本：0\.42\.0
npm 元数据更新时间：2026-10-30T11:45:01.631Z
中文译文更新时间：2026-11-08T02:52:15.295Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40bimetal/kanban-data
原文对照：https://npmcn.com/package/%40bimetal/kanban-data/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：115 kB，31 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2026-07-15T18:08:54.865Z
- 最新版本发布：2026-10-30T11:45:01.265Z
- 近 30 天下载量：12120（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：15（近 12 个月 15 个）

## 中文简介

Kanban-domain 事件包: Board-as-Aggregate (Columns + Cards + Reihenfolge sind EIN Aggregat mit harten Invarianten – Spalten-Ordnung, WIP-Limit) (英语). 命令/活动, kanbanAggregate, kanbanProjection, 创建了 KanbanStore. 建于 @ bimetal/ event- 包机上

## 安装

```sh
npm install @bimetal/kanban-data
```

也可以使用：`pnpm add @bimetal/kanban-data`、`yarn add @bimetal/kanban-data`、`bun add @bimetal/kanban-data`

## README

# @ bimetal/ kanban- data (中文(简体) )

Kanban- domain 事件包 `@bimetal/event-sourcing`。 。 。 .

**板入为相.** 全板——柱子,牌子,和他们的订购 是一个总数。 它的活性很硬,在聚合物中执行 `handle`,而不是软规则:

-   **列顺序** 这是 `columns` 数组顺序.
-   **每栏WIP限值** (单位:千美元)`column.wipLimit`拒绝创建/交叉栏目 外溢的动作——以 `DataValidationError`从不 发射事件.

`T = Board`,所以通用词 `AggregateState<Board>` 将棋盘作为 单个实体按下其 boardId 键; 每件事 `entityId` 是板子吗, 且卡/列身份身份在有效载荷中。 因此,汇兑是 板-角(WIP invariant要求的一致分界线).

**全板撤销.** 棋盘为单通根-一次所创造,由: 牌/列的事实,从未删除。 每个突变都推前一个整板 向倒数堆栈快照; `undo(boardId)` 通过一个 `BoardReverted` 事实上 没有 `previous` 字段,没有 LWW,没有冲突解决器 (建筑测试).

```ts
import { createKanbanStore, createBoard, createCard, moveCard } from '@bimetal/kanban-data';

const store = createKanbanStore();
await store.dispatch(createBoard({
  id: 'b1',
  columns: [
    { id: 'todo',  title: 'Todo',  wipLimit: null, cardIds: [] },
    { id: 'doing', title: 'Doing', wipLimit: 2,    cardIds: [] },
    { id: 'done',  title: 'Done',  wipLimit: null, cardIds: [] },
  ],
  cards: {},
}));
await store.dispatch(createCard('b1', 'todo', { id: 'c1', title: 'Write spec' }));
await store.dispatch(moveCard('b1', 'c1', 'doing', 0));
await store.undo('b1'); // card back in 'todo'
```

发送回路、一能、快照、货币检查和直播 交叉订阅全部由通用先令继承 不变——此包只添加了棋盘折叠,不变量和查询.

## 常见问题

### @bimetal/kanban-data 是什么？

Kanban-domain 事件包: Board-as-Aggregate \(Columns \+ Cards \+ Reihenfolge sind EIN Aggregat mit harten Invarianten – Spalten-Ordnung, WIP-Limit\) \(英语\)\. 命令/活动, kanbanAggregate, kanbanProjection, 创建了 KanbanStore\. 建于 @ bimetal/ event- 包机上

### 如何安装 @bimetal/kanban-data？

在项目目录运行 npm install @bimetal/kanban-data，或使用 pnpm add / yarn add / bun add。

### @bimetal/kanban-data 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @bimetal/kanban-data 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @bimetal/kanban-data 可以商用吗？

@bimetal/kanban-data 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @bimetal/kanban-data 的下载量有多少？

根据 npm 官方下载统计，@bimetal/kanban-data 在 2026/10/08 – 2026/11/06 这 30 天内被下载 12,120 次，日均约 404 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @bimetal/kanban-data 还在维护吗？

最新版本 0\.42\.0 发布于 2026/10/30（9 天前）；至今共发布 15 个版本，其中过去 12 个月发布了 15 个；首次发布于 2026/07/16。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

