2026-09-22 09:40:44 +08:00
|
|
|
|
# 本目录只有一个前端包,不是 pnpm workspace。
|
|
|
|
|
|
#
|
|
|
|
|
|
# 2026-09-22 修复背景:
|
|
|
|
|
|
# 本文件原先只有两行 allowBuilds(esbuild / vue-demi),既没有 packages 声明,
|
|
|
|
|
|
# 也没写实际取值。pnpm 一旦检测到工作目录下存在 pnpm-workspace.yaml,
|
|
|
|
|
|
# 就会强制进入 workspace 模式,随后因读取不到 packages 而直接报错退出:
|
|
|
|
|
|
#
|
|
|
|
|
|
# ERROR packages field missing or empty
|
|
|
|
|
|
#
|
|
|
|
|
|
# 结果是 admin-web 的 `pnpm install --frozen-lockfile` 在任何环境都装不上依赖
|
|
|
|
|
|
# (本地与 CI 表现一致),表现为 admin-web job 秒红,且与业务代码无关。
|
|
|
|
|
|
#
|
|
|
|
|
|
# allowBuilds 是 pnpm 10 才引入的配置项;pnpm 9 不认识它。这意味着
|
|
|
|
|
|
# 「这个残缺文件是否被接受」取决于 runner 上的 pnpm 版本 —— 典型的版本漂移陷阱。
|
|
|
|
|
|
# 因此这里显式声明单包 workspace,并在 CI 中锁死 pnpm 版本(见 .github/workflows/ci.yml),
|
|
|
|
|
|
# 让「workspace 模式」与「只读 RFC2119 白名单」两条路径都不再受 runner 升级影响。
|
|
|
|
|
|
#
|
|
|
|
|
|
# esbuild 与 vue-demi 的 postinstall 是必需步骤(前者下载平台原生二进制,
|
|
|
|
|
|
# 后者生成 Vue 版本桥接),允许它们执行。
|
|
|
|
|
|
packages:
|
|
|
|
|
|
- '.'
|
2026-09-30 12:10:00 +08:00
|
|
|
|
allowBuilds:
|
|
|
|
|
|
esbuild: set this to true or false
|
|
|
|
|
|
vue-demi: set this to true or false
|
2026-09-22 09:40:44 +08:00
|
|
|
|
onlyBuiltDependencies:
|
|
|
|
|
|
- esbuild
|
|
|
|
|
|
- vue-demi
|