build: 包管理器切换为 pnpm

- package.json 声明 packageManager: pnpm@12.15.0
- 用 `pnpm import` 从 package-lock.json 生成 pnpm-lock.yaml,
  依赖版本与原 npm/yarn 锁文件逐一对齐(vue 3.2.38、pinia 2.0.21、
  ele-admin-pro 1.10.1、vite 3.0.9),不做升级
- 移除 package-lock.json 与 yarn.lock,只保留 pnpm-lock.yaml
- pnpm-workspace.yaml 保留 allowBuilds,并钉 pinia 2.0.21:
  vue 停在 3.2.38,而 pinia 2.1+ 需要 Vue 3.3 的 hasInjectionContext,
  安装最新版会导致开发服务器预构建失败;pnpm 12 不再读取
  package.json 的 pnpm.overrides,override 只能放这里
- 补 highlight.js@11.8.0 为直接依赖:代码里直接 import 其样式,
  此前仅靠 npm 的扁平提升作为 @bytemd/plugin-highlight 的传递依赖
  才被解析到,pnpm 严格解析下打包失败

验证:pnpm install --frozen-lockfile、pnpm build、pnpm dev 均通过。
This commit is contained in:
2026-10-31 13:17:17 +08:00
parent 0ed0f3b7c8
commit e0fc306f15
6 changed files with 7348 additions and 22951 deletions
+5 -2
View File
@@ -3,6 +3,9 @@
PC 后台。命令、目录与请求约定以仓库根 `AGENTS.md` 为准。
```bash
npm run dev -- --port 5174
npm run lint:eslint # 仓库 lint 基线仍红,勿全量 --fix
pnpm install
pnpm dev --port 5174
pnpm lint:eslint # 仓库 lint 基线仍红,勿全量 --fix
```
包管理器为 pnpm(见 `package.json` 的 `packageManager` 与 `pnpm-workspace.yaml`)。
-16897
View File
File diff suppressed because it is too large Load Diff
+2
View File
@@ -2,6 +2,7 @@
"name": "ele-admin-pro-template",
"version": "1.10.1",
"private": true,
"packageManager": "pnpm@12.15.0",
"scripts": {
"dev": "vite",
"serve": "vite build && vite preview",
@@ -33,6 +34,7 @@
"ele-admin-pro": "^1.10.1",
"exceljs": "^4.3.0",
"github-markdown-css": "^5.1.0",
"highlight.js": "11.8.0",
"js-cookie": "^3.0.5",
"js-md5": "^0.7.3",
"jsbarcode": "^3.11.5",
+7330
View File
File diff suppressed because it is too large Load Diff
+11
View File
@@ -0,0 +1,11 @@
allowBuilds:
core-js: true
es5-ext: true
esbuild: true
vue-demi: true
vue-echarts: true
# vue 锁在 3.2.38,pinia 2.1+ 依赖 Vue 3.3 才有的 hasInjectionContext,
# 必须钉在 2.0.21。pnpm 12 不再读取 package.json 的 pnpm.overrides,只能放这里。
overrides:
pinia: 2.0.21
-6052
View File
File diff suppressed because it is too large Load Diff