chore: 去掉 Bun,切换到 pnpm + 纯 Node runtime #66

Closed
opened 2026-06-03 07:35:09 +00:00 by xiaoju · 0 comments
Owner

背景

#62 vitest 迁移 + #64 测试修复后,Bun 在 OCAS 中的角色已无不可替代之处。去掉 Bun 可以简化工具链、删除 sqlite-adapter 兼容层。

改动清单

1. 包管理: bun → pnpm

  • 删除 bun.lock
  • 创建 pnpm-workspace.yaml
  • 全量 pnpm install 生成 pnpm-lock.yaml
  • package.json scripts 里 bun runpnpm run(或直接命令)

2. SQLite adapter 层删除

  • 删除 packages/fs/src/sqlite-adapter.ts(Bun/Node 双 runtime 兼容层)
  • var-store.ts / tag-store.ts / store.ts 直接 import Database from "better-sqlite3"
  • 删除 bun:sqlite 相关代码

3. 发布流程

  • bun publishpnpm publish
  • release 流程文档更新(CLAUDE.md / CHANGELOG 流程)

4. 文档更新

  • CLAUDE.md — Runtime/Tech Stack/Commands 全面更新
  • README.md — 如果有 bun 相关说明

5. 清理

  • package.json 删除 bun 相关 devDependencies(如果有残留)
  • .gitignore 添加 pnpm 相关条目

验证

rm -rf node_modules packages/*/node_modules packages/*/dist
pnpm install
pnpm run build
pnpm run test

备注

  • workspace:* 语法 pnpm 原生支持,无需改动
  • better-sqlite3 已在 packages/fs 安装,只需去掉 adapter 层

Refs #62, #64

## 背景 #62 vitest 迁移 + #64 测试修复后,Bun 在 OCAS 中的角色已无不可替代之处。去掉 Bun 可以简化工具链、删除 sqlite-adapter 兼容层。 ## 改动清单 ### 1. 包管理: bun → pnpm - 删除 `bun.lock` - 创建 `pnpm-workspace.yaml` - 全量 `pnpm install` 生成 `pnpm-lock.yaml` - `package.json` scripts 里 `bun run` → `pnpm run`(或直接命令) ### 2. SQLite adapter 层删除 - 删除 `packages/fs/src/sqlite-adapter.ts`(Bun/Node 双 runtime 兼容层) - `var-store.ts` / `tag-store.ts` / `store.ts` 直接 `import Database from "better-sqlite3"` - 删除 `bun:sqlite` 相关代码 ### 3. 发布流程 - `bun publish` → `pnpm publish` - release 流程文档更新(CLAUDE.md / CHANGELOG 流程) ### 4. 文档更新 - `CLAUDE.md` — Runtime/Tech Stack/Commands 全面更新 - `README.md` — 如果有 bun 相关说明 ### 5. 清理 - `package.json` 删除 bun 相关 devDependencies(如果有残留) - `.gitignore` 添加 pnpm 相关条目 ## 验证 ```bash rm -rf node_modules packages/*/node_modules packages/*/dist pnpm install pnpm run build pnpm run test ``` ## 备注 - `workspace:*` 语法 pnpm 原生支持,无需改动 - better-sqlite3 已在 packages/fs 安装,只需去掉 adapter 层 Refs #62, #64
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: shazhou/ocas#66