From b58e4e13528c78b0001893e4fd53d681f22dcb76 Mon Sep 17 00:00:00 2001
From: lizw-2015 <1183409807@qq.com>
Date: Wed, 4 Jun 2025 09:47:03 +0800
Subject: [PATCH] =?UTF-8?q?build(yvan-rcs-web):=20=E5=88=9D=E5=A7=8B?=
=?UTF-8?q?=E5=8C=96=E9=A1=B9=E7=9B=AE=E5=B9=B6=E6=B7=BB=E5=8A=A0=20Ease?=
=?UTF-8?q?=20Forge=20=E4=BE=9D=E8=B5=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 在项目中添加 Ease Forge 的 shared 和 runtime 包
- 新增 global.d.ts 文件以引用 Ease Forge 类型定义
- 更新 tsconfig.app.json 以包含新添加的类型定义
- 在 package.json 中添加 init 脚本以方便项目初始化
---
package.json | 5 +-
pnpm-lock.yaml | 210 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
tsconfig.app.json | 3 +-
types/global.d.ts | 2 +
4 files changed, 218 insertions(+), 2 deletions(-)
create mode 100644 types/global.d.ts
diff --git a/package.json b/package.json
index ee3efc7..458dce3 100644
--- a/package.json
+++ b/package.json
@@ -4,6 +4,7 @@
"private": true,
"type": "module",
"scripts": {
+ "init": "pnpm i",
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
@@ -33,7 +34,9 @@
"vue": "^3.5.13",
"vue-i18n": "9.2.2",
"vue-router": "^4.5.0",
- "vue3-menus": "^1.1.2"
+ "vue3-menus": "^1.1.2",
+ "@ease-forge/shared": "^1.0.12",
+ "@ease-forge/runtime": "^1.0.12"
},
"devDependencies": {
"@element-plus/icons-vue": "^2.3.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f684e79..69fe976 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -8,6 +8,12 @@ importers:
.:
dependencies:
+ '@ease-forge/runtime':
+ specifier: ^1.0.12
+ version: 1.0.12(typescript@5.8.3)
+ '@ease-forge/shared':
+ specifier: ^1.0.12
+ version: 1.0.12
'@vueuse/core':
specifier: ^13.2.0
version: 13.2.0(vue@3.5.14(typescript@5.8.3))
@@ -303,6 +309,12 @@ packages:
'@dimforge/rapier3d-compat@0.12.0':
resolution: {integrity: sha512-uekIGetywIgopfD97oDL5PfeezkFpNhwlzlaEYNOA0N6ghdsOvh/HYjSMek5Q2O1PYvRSDFcqFVJl4r4ZBwOow==}
+ '@ease-forge/runtime@1.0.12':
+ resolution: {integrity: sha512-L8X+uLb4/uxJrk9N7FRA5qCc6mXwQWGyQA1DN0FLF4Yqc4j/ErOfnWpmy45EkDqSbDNF1PS5CGMBTXW9dmw2XQ==}
+
+ '@ease-forge/shared@1.0.12':
+ resolution: {integrity: sha512-+in1kiZnVP/QETMGC6i7znJKBs6WUMz8f9yHmGlmWvunTf6Ap7B60fvK7W12NlPpAnqH8WIRtLR5cSmgNeUQsQ==}
+
'@element-plus/icons-vue@2.3.1':
resolution: {integrity: sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==}
peerDependencies:
@@ -729,15 +741,27 @@ packages:
peerDependencies:
'@babel/core': ^7.0.0-0
+ '@vue/compiler-core@3.5.13':
+ resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==}
+
'@vue/compiler-core@3.5.14':
resolution: {integrity: sha512-k7qMHMbKvoCXIxPhquKQVw3Twid3Kg4s7+oYURxLGRd56LiuHJVrvFKI4fm2AM3c8apqODPfVJGoh8nePbXMRA==}
+ '@vue/compiler-dom@3.5.13':
+ resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==}
+
'@vue/compiler-dom@3.5.14':
resolution: {integrity: sha512-1aOCSqxGOea5I80U2hQJvXYpPm/aXo95xL/m/mMhgyPUsKe9jhjwWpziNAw7tYRnbz1I61rd9Mld4W9KmmRoug==}
+ '@vue/compiler-sfc@3.5.13':
+ resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==}
+
'@vue/compiler-sfc@3.5.14':
resolution: {integrity: sha512-9T6m/9mMr81Lj58JpzsiSIjBgv2LiVoWjIVa7kuXHICUi8LiDSIotMpPRXYJsXKqyARrzjT24NAwttrMnMaCXA==}
+ '@vue/compiler-ssr@3.5.13':
+ resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==}
+
'@vue/compiler-ssr@3.5.14':
resolution: {integrity: sha512-Y0G7PcBxr1yllnHuS/NxNCSPWnRGH4Ogrp0tsLA5QemDZuJLs99YjAKQ7KqkHE0vCg4QTKlQzXLKCMF7WPSl7Q==}
@@ -769,20 +793,37 @@ packages:
typescript:
optional: true
+ '@vue/reactivity@3.5.13':
+ resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==}
+
'@vue/reactivity@3.5.14':
resolution: {integrity: sha512-7cK1Hp343Fu/SUCCO52vCabjvsYu7ZkOqyYu7bXV9P2yyfjUMUXHZafEbq244sP7gf+EZEz+77QixBTuEqkQQw==}
+ '@vue/runtime-core@3.5.13':
+ resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==}
+
'@vue/runtime-core@3.5.14':
resolution: {integrity: sha512-w9JWEANwHXNgieAhxPpEpJa+0V5G0hz3NmjAZwlOebtfKyp2hKxKF0+qSh0Xs6/PhfGihuSdqMprMVcQU/E6ag==}
+ '@vue/runtime-dom@3.5.13':
+ resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==}
+
'@vue/runtime-dom@3.5.14':
resolution: {integrity: sha512-lCfR++IakeI35TVR80QgOelsUIdcKjd65rWAMfdSlCYnaEY5t3hYwru7vvcWaqmrK+LpI7ZDDYiGU5V3xjMacw==}
+ '@vue/server-renderer@3.5.13':
+ resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==}
+ peerDependencies:
+ vue: 3.5.13
+
'@vue/server-renderer@3.5.14':
resolution: {integrity: sha512-Rf/ISLqokIvcySIYnv3tNWq40PLpNLDLSJwwVWzG6MNtyIhfbcrAxo5ZL9nARJhqjZyWWa40oRb2IDuejeuv6w==}
peerDependencies:
vue: 3.5.14
+ '@vue/shared@3.5.13':
+ resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==}
+
'@vue/shared@3.5.14':
resolution: {integrity: sha512-oXTwNxVfc9EtP1zzXAlSlgARLXNC84frFYkS0HHz0h3E4WZSP9sywqjqzGCP9Y34M8ipNmd380pVgmMuwELDyQ==}
@@ -884,6 +925,10 @@ packages:
resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
engines: {node: '>= 0.4'}
+ call-bound@1.0.4:
+ resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
+ engines: {node: '>= 0.4'}
+
camera-controls@2.10.1:
resolution: {integrity: sha512-KnaKdcvkBJ1Irbrzl8XD6WtZltkRjp869Jx8c0ujs9K+9WD+1D7ryBsCiVqJYUqt6i/HR5FxT7RLASieUD+Q5w==}
peerDependencies:
@@ -1339,6 +1384,13 @@ packages:
resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==}
engines: {node: '>=18'}
+ numeral@2.0.6:
+ resolution: {integrity: sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA==}
+
+ object-inspect@1.13.4:
+ resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
+ engines: {node: '>= 0.4'}
+
open@10.1.2:
resolution: {integrity: sha512-cxN6aIDPz6rm8hbebcP7vrQNhvRcveZoJU72Y7vskh4oIm+BZwBECnx5nTmrlres1Qapvx27Qo1Auukpf8PKXw==}
engines: {node: '>=18'}
@@ -1419,6 +1471,10 @@ packages:
prr@1.0.1:
resolution: {integrity: sha1-0/wRS6BplaRexok/SEzrHXj19HY=}
+ qs@6.14.0:
+ resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==}
+ engines: {node: '>=0.6'}
+
read-package-json-fast@4.0.0:
resolution: {integrity: sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==}
engines: {node: ^18.17.0 || >=20.5.0}
@@ -1470,6 +1526,22 @@ packages:
resolution: {integrity: sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==}
engines: {node: '>= 0.4'}
+ side-channel-list@1.0.0:
+ resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
+ engines: {node: '>= 0.4'}
+
+ side-channel-map@1.0.1:
+ resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
+ engines: {node: '>= 0.4'}
+
+ side-channel-weakmap@1.0.2:
+ resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
+ engines: {node: '>= 0.4'}
+
+ side-channel@1.1.0:
+ resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
+ engines: {node: '>= 0.4'}
+
signal-exit@4.1.0:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
@@ -1674,6 +1746,14 @@ packages:
vue3-menus@1.1.2:
resolution: {integrity: sha512-MoX87TH25fbKmmE8PwC+c2kJOSGJheP4pBR2we0RkOrfUDQg7sK+akAZSmQU8o+7dF+xVF2NfKPhoVHOhlX9wQ==}
+ vue@3.5.13:
+ resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==}
+ peerDependencies:
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
vue@3.5.14:
resolution: {integrity: sha512-LbOm50/vZFG6Mhy6KscQYXZMQ0LMCC/y40HDJPPvGFQ+i/lUH+PJHR6C3assgOQiXdl6tAfsXHbXYVBZZu65ew==}
peerDependencies:
@@ -1912,6 +1992,31 @@ snapshots:
'@dimforge/rapier3d-compat@0.12.0': {}
+ '@ease-forge/runtime@1.0.12(typescript@5.8.3)':
+ dependencies:
+ '@ease-forge/shared': 1.0.12
+ '@vue/shared': 3.5.13
+ json5: 2.2.3
+ lodash: 4.17.21
+ prettier: 3.5.3
+ vue: 3.5.13(typescript@5.8.3)
+ transitivePeerDependencies:
+ - debug
+ - typescript
+
+ '@ease-forge/shared@1.0.12':
+ dependencies:
+ axios: 1.9.0
+ csstype: 3.1.3
+ dayjs: 1.11.13
+ json5: 2.2.3
+ localforage: 1.10.0
+ lodash: 4.17.21
+ numeral: 2.0.6
+ qs: 6.14.0
+ transitivePeerDependencies:
+ - debug
+
'@element-plus/icons-vue@2.3.1(vue@3.5.14(typescript@5.8.3))':
dependencies:
vue: 3.5.14(typescript@5.8.3)
@@ -2230,6 +2335,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ '@vue/compiler-core@3.5.13':
+ dependencies:
+ '@babel/parser': 7.27.2
+ '@vue/shared': 3.5.13
+ entities: 4.5.0
+ estree-walker: 2.0.2
+ source-map-js: 1.2.1
+
'@vue/compiler-core@3.5.14':
dependencies:
'@babel/parser': 7.27.2
@@ -2238,11 +2351,28 @@ snapshots:
estree-walker: 2.0.2
source-map-js: 1.2.1
+ '@vue/compiler-dom@3.5.13':
+ dependencies:
+ '@vue/compiler-core': 3.5.13
+ '@vue/shared': 3.5.13
+
'@vue/compiler-dom@3.5.14':
dependencies:
'@vue/compiler-core': 3.5.14
'@vue/shared': 3.5.14
+ '@vue/compiler-sfc@3.5.13':
+ dependencies:
+ '@babel/parser': 7.27.2
+ '@vue/compiler-core': 3.5.13
+ '@vue/compiler-dom': 3.5.13
+ '@vue/compiler-ssr': 3.5.13
+ '@vue/shared': 3.5.13
+ estree-walker: 2.0.2
+ magic-string: 0.30.17
+ postcss: 8.5.3
+ source-map-js: 1.2.1
+
'@vue/compiler-sfc@3.5.14':
dependencies:
'@babel/parser': 7.27.2
@@ -2255,6 +2385,11 @@ snapshots:
postcss: 8.5.3
source-map-js: 1.2.1
+ '@vue/compiler-ssr@3.5.13':
+ dependencies:
+ '@vue/compiler-dom': 3.5.13
+ '@vue/shared': 3.5.13
+
'@vue/compiler-ssr@3.5.14':
dependencies:
'@vue/compiler-dom': 3.5.14
@@ -2310,15 +2445,31 @@ snapshots:
optionalDependencies:
typescript: 5.8.3
+ '@vue/reactivity@3.5.13':
+ dependencies:
+ '@vue/shared': 3.5.13
+
'@vue/reactivity@3.5.14':
dependencies:
'@vue/shared': 3.5.14
+ '@vue/runtime-core@3.5.13':
+ dependencies:
+ '@vue/reactivity': 3.5.13
+ '@vue/shared': 3.5.13
+
'@vue/runtime-core@3.5.14':
dependencies:
'@vue/reactivity': 3.5.14
'@vue/shared': 3.5.14
+ '@vue/runtime-dom@3.5.13':
+ dependencies:
+ '@vue/reactivity': 3.5.13
+ '@vue/runtime-core': 3.5.13
+ '@vue/shared': 3.5.13
+ csstype: 3.1.3
+
'@vue/runtime-dom@3.5.14':
dependencies:
'@vue/reactivity': 3.5.14
@@ -2326,12 +2477,20 @@ snapshots:
'@vue/shared': 3.5.14
csstype: 3.1.3
+ '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.8.3))':
+ dependencies:
+ '@vue/compiler-ssr': 3.5.13
+ '@vue/shared': 3.5.13
+ vue: 3.5.13(typescript@5.8.3)
+
'@vue/server-renderer@3.5.14(vue@3.5.14(typescript@5.8.3))':
dependencies:
'@vue/compiler-ssr': 3.5.14
'@vue/shared': 3.5.14
vue: 3.5.14(typescript@5.8.3)
+ '@vue/shared@3.5.13': {}
+
'@vue/shared@3.5.14': {}
'@vue/tsconfig@0.7.0(typescript@5.8.3)(vue@3.5.14(typescript@5.8.3))':
@@ -2436,6 +2595,11 @@ snapshots:
es-errors: 1.3.0
function-bind: 1.1.2
+ call-bound@1.0.4:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ get-intrinsic: 1.3.0
+
camera-controls@2.10.1(three@0.176.0):
dependencies:
three: 0.176.0
@@ -2869,6 +3033,10 @@ snapshots:
path-key: 4.0.0
unicorn-magic: 0.3.0
+ numeral@2.0.6: {}
+
+ object-inspect@1.13.4: {}
+
open@10.1.2:
dependencies:
default-browser: 5.2.1
@@ -2930,6 +3098,10 @@ snapshots:
prr@1.0.1:
optional: true
+ qs@6.14.0:
+ dependencies:
+ side-channel: 1.1.0
+
read-package-json-fast@4.0.0:
dependencies:
json-parse-even-better-errors: 4.0.0
@@ -2991,6 +3163,34 @@ snapshots:
shell-quote@1.8.2: {}
+ side-channel-list@1.0.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.4
+
+ side-channel-map@1.0.1:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
+
+ side-channel-weakmap@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-map: 1.0.1
+
+ side-channel@1.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-list: 1.0.0
+ side-channel-map: 1.0.1
+ side-channel-weakmap: 1.0.2
+
signal-exit@4.1.0: {}
sirv@3.0.1:
@@ -3169,6 +3369,16 @@ snapshots:
vue3-menus@1.1.2: {}
+ vue@3.5.13(typescript@5.8.3):
+ dependencies:
+ '@vue/compiler-dom': 3.5.13
+ '@vue/compiler-sfc': 3.5.13
+ '@vue/runtime-dom': 3.5.13
+ '@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.8.3))
+ '@vue/shared': 3.5.13
+ optionalDependencies:
+ typescript: 5.8.3
+
vue@3.5.14(typescript@5.8.3):
dependencies:
'@vue/compiler-dom': 3.5.14
diff --git a/tsconfig.app.json b/tsconfig.app.json
index b531cee..975e14a 100644
--- a/tsconfig.app.json
+++ b/tsconfig.app.json
@@ -46,7 +46,8 @@
"include": [
"env.d.ts",
"src/**/*.ts",
- "src/**/*.vue"
+ "src/**/*.vue",
+ "types/*.d.ts"
],
"exclude": [
"src/**/__tests__/*"
diff --git a/types/global.d.ts b/types/global.d.ts
new file mode 100644
index 0000000..34a3d45
--- /dev/null
+++ b/types/global.d.ts
@@ -0,0 +1,2 @@
+///
+///