Skip to content

chore: 包管理迁移到 pnpm - #32

Merged
ShiningRay merged 2 commits into
mainfrom
chore/pnpm-migrate
Oct 2, 2026
Merged

ShiningRay merged 2 commits into
mainfrom
chore/pnpm-migrate

Conversation

@ShiningRay

Copy link
Copy Markdown
Owner

背景

仓库根原用 npm(package-lock.json),仅 esbuild 一个 dev 依赖供 rake size 体积守卫使用。按全仓统一策略迁移到 pnpm。

改动

  • 删除 package-lock.json,改用 pnpm-lock.yaml + pnpm-workspace.yaml
  • package.json 声明 packageManager: pnpm@12.3.4
  • Rakefile 的 rake size 由 npx --no-install esbuild 改 pnpm exec esbuild,降级提示文案同步改 pnpm install
  • CI(ci.yml quality job)与 release.yml 加 pnpm/action-setup@v4,npm ci 改 pnpm install --frozen-lockfile
  • dependabot.yml 补 npm ecosystem(此前缺失,否则 pnpm-lock 无人升级)
  • CONTRIBUTING.md 的开发环境步骤改 pnpm install
  • pnpm-workspace.yaml 放行 esbuild 构建脚本(pnpm 12 默认不执行依赖构建脚本)

验证

  • pnpm install --frozen-lockfile 通过
  • bundle exec rake size 实测走通:pnpm exec esbuild 正确调用,产物 gzip 123218 bytes(预算 300_000)

- 删除 package-lock.json,改用 pnpm-lock.yaml + pnpm-workspace.yaml
- package.json 声明 packageManager: pnpm@12.3.4
- Rakefile 的 rake size 走 pnpm exec esbuild(原用 npx)
- CI/release 加 pnpm/action-setup@v4,npm ci 改 pnpm install --frozen-lockfile
- dependabot 补 npm ecosystem(否则 pnpm-lock 无人升级)
- CONTRIBUTING 与 Rakefile 降级提示改为 pnpm install
同时指定 action 的 version: 12 与 package.json 的 packageManager: pnpm@12.3.4
会直接失败:
  Error: Multiple versions of pnpm specified:
    - version 12 in the GitHub Action config with the key "version"
    - version pnpm@12.3.4 in the package.json with the key "packageManager"
删掉 version 输入,让 action 读 packageManager 字段取版本,单一来源。
@ShiningRay
ShiningRay merged commit d5af8ac into main Oct 2, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant