将 libs/ 下 4 个独立 pnpm 项目整合为 workspace:
- 新增根 package.json/pnpm-workspace.yaml,4 份重复的 devDeps
(happy-dom/typescript/vite/vitest,版本零分歧)上提到根,各 lib 只留运行时依赖
- 新增 libs/tsconfig.base.json,4 份逐字节相同的 tsconfig.json 改为 extends
- per-lib pnpm-lock.yaml 合并为根 lockfile;冗余的 libs/{lightbox,yggdrasil-core}/.gitignore 删除
(根 .gitignore 的 **/**/node_modules 已覆盖)
收益:依赖共享安装(node_modules 去重)、构建/测试可用 pnpm -r 统一调度,
单库仍可 pnpm --filter @yggdrasil/<name> 独立操作。构建与测试均验证通过(90 个 vitest 用例全绿)。
24 lines
508 B
JSON
24 lines
508 B
JSON
{
|
|
"name": "yggdrasil-workspace",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"build": "pnpm -r run build",
|
|
"test": "pnpm -r run test",
|
|
"typecheck": "pnpm -r run typecheck",
|
|
"lint": "biome check .",
|
|
"format": "biome format --write ."
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "^2.4.16",
|
|
"happy-dom": "^20.10.6",
|
|
"typescript": "^6.0.3",
|
|
"vite": "^8.1.0",
|
|
"vitest": "^4.1.9"
|
|
},
|
|
"packageManager": "pnpm@11.8.0",
|
|
"engines": {
|
|
"node": ">=20"
|
|
}
|
|
}
|