ca67ea41a7
coordtransform 是真实缺失的依赖:src/package/booking/index.vue 与
src/package/user/{guide,siteGuide,map}.vue 早已在用它,但 package.json
从未声明。npm 布局下靠传递依赖碰巧解析到,干净安装后 build:h5 直接报
Rollup failed to resolve "coordtransform"。
包管理器切换:
- package.json 声明 packageManager: pnpm@12.15.0
- 移除 package-lock.json,只保留 pnpm-lock.yaml(由 pnpm import 从原
npm 锁文件生成,版本逐一对齐)
- pnpm-workspace.yaml 设 nodeLinker: hoisted。uni-app 的 Rollup 插件
只按项目根的 node_modules 解析裸模块,不跟随 pnpm 的符号链接布局;
isolated 模式下 @ant-design/icons-vue → @ant-design/colors →
@ctrl/tinycolor 这条链上逐个报 Rollup failed to resolve。扁平布局
与 npm 一致,一次解决。
- allowBuilds 放行 @parcel/watcher、core-js、esbuild、vue-demi
(pnpm 生成的占位符文件已填实值)
验证:pnpm install --frozen-lockfile、build:h5、build:mp-weixin 均通过;
type-check 为 217 个既有 TS6504(uni_modules 内 JS 文件的 allowJs 问题),
与切换前基线一致,无新增。
11 lines
374 B
YAML
11 lines
374 B
YAML
allowBuilds:
|
|
'@parcel/watcher': true
|
|
core-js: true
|
|
esbuild: true
|
|
vue-demi: true
|
|
|
|
# uni-app 的 Rollup 插件只按项目根的 node_modules 做裸模块解析,不跟随 pnpm
|
|
# 的符号链接布局(@ant-design/icons-vue → @ant-design/colors → @ctrl/tinycolor
|
|
# 会在传递依赖处失败)。扁平 node_modules 与 npm 布局一致。
|
|
nodeLinker: hoisted
|