build: 包管理器切换为 pnpm,补 coordtransform 依赖
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 问题),
与切换前基线一致,无新增。
This commit is contained in:
Generated
-12829
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"name": "uni-preset-vue",
|
||||
"version": "0.0.0",
|
||||
"packageManager": "pnpm@12.15.0",
|
||||
"scripts": {
|
||||
"dev:app": "uni -p app",
|
||||
"dev:app-android": "uni -p app-android",
|
||||
@@ -60,6 +61,7 @@
|
||||
"@types/socket.io-client": "^3.0.0",
|
||||
"@vitejs/plugin-vue": "^5.0.5",
|
||||
"autoprefixer": "^9.8.8",
|
||||
"coordtransform": "^2.1.2",
|
||||
"crypto-js": "^4.2.0",
|
||||
"dayjs": "^1.11.11",
|
||||
"decimal.js": "^10.4.3",
|
||||
|
||||
Generated
+9219
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,10 @@
|
||||
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
|
||||
Reference in New Issue
Block a user