@epxing/cli 0.5.0-beta.4 → 0.5.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/API.md
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
独立工程命令行工具,终端命令名为 epxing。/vite 提供产品构建插件,根入口不提供业务运行时。
|
|
4
4
|
|
|
5
|
-
本页对应包版本 `0.5.0-beta.
|
|
5
|
+
本页对应包版本 `0.5.0-beta.5`。导出名、子路径和签名从当前源码、package.json 与类型声明生成。
|
|
6
6
|
|
|
7
7
|
## 安装与使用
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
```sh
|
|
11
|
-
npm install -g @epxing/cli@0.5.0-beta.
|
|
11
|
+
npm install -g @epxing/cli@0.5.0-beta.5
|
|
12
12
|
```
|
|
13
13
|
|
|
14
14
|
|
|
@@ -26,6 +26,8 @@ epxing migrate .
|
|
|
26
26
|
|
|
27
27
|
工程命令使用当前项目已安装的依赖和脚本。--dir 指定项目目录;创建/迁移默认使用 @epxing 独立包,版本留空查询最新 beta 并固定到具体版本,没有 beta 时使用 latest。--packages-version 可指定数字版本或标签;--epx-frame 仅显式保留旧聚合模式,两者互斥。CLI 采用自己的版本号,独立于其余平台包。完整参数、迁移与发布说明见本包 README。
|
|
28
28
|
|
|
29
|
+
创建和升级在可识别的应用入口中预留默认注释的 installLegacyFrame 导入与调用。需要旧远程库共享桥时手动启用,要求 core 5.3.0-beta.5 或以上版本;升级保留已有启用状态,重复升级不重复插入。
|
|
30
|
+
|
|
29
31
|
## 稳定子路径
|
|
30
32
|
|
|
31
33
|
下表按实际 package.json 的公开入口列出。default 使用默认导入,其他名称使用具名导入;类型接口用 import type。
|
package/README.md
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
独立的工程开发工具,包含交互菜单、开发服务、产品库构建、创建、Vue3 迁移、静态检查和升级技能安装。创建和升级默认使用 `@epxing/*` 独立包,版本留空时查询最新 `beta` 并固定到具体版本,没有 `beta` 时使用 `latest`;可用 `--packages-version` 指定版本或标签。CLI 使用自己的版本号。创建和升级会生成产品使用说明;`@epxing/cli/vite` 提供产品构建插件,不依赖聚合包中的构建工具。
|
|
6
6
|
|
|
7
|
-
本批测试版本:`@epxing/cli@0.5.0-beta.
|
|
7
|
+
本批测试版本:`@epxing/cli@0.5.0-beta.5`,平台包 `5.3.0-beta.5`,均使用 npm 公网 `beta` 标签。完整流程见文档站“CLI 创建、升级与产品使用”;各包公开 API 随安装包的 `API.md` 提供。
|
|
8
|
+
|
|
9
|
+
创建和升级会在可识别的独立包应用入口中预留默认注释的 `import { installLegacyFrame } from '@epxing/core'` 与 `installLegacyFrame(app)`。仅在需要加载依赖 `window.frame` 的旧远程库时手动取消两处注释,要求 core 5.3.0-beta.5 或以上版本;调用放在所需组件包安装后、远程库加载前。升级保留产品自定义代码及已经启用的调用,重复升级不重复添加提示。
|
|
8
10
|
|
|
9
11
|
平台包从 `5.3.0-beta.2` 起自动加载自身样式,产品无需手动引入各包的 `style.css`。创建和迁移使用此版本时,CLI 不再添加这些导入;指定旧版本时仍保留显式样式以兼容旧包。标签会先解析成具体版本再选择模板。已有显式导入可以保留,产品覆盖样式放在框架导入之后。
|
|
10
12
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as r}from"./OVN5O3EZ.mjs";function c(i="5.3.0-beta.2"){let s=i.match(/^[~^]?(\d+)\.(\d+)\.(\d+)(?:-([\w.-]+))?$/);if(!s)return!1;let[,p,t,e,n]=s,o=Number(p)*1e6+Number(t)*1e3+Number(e);return o!==5003e3?o>5003e3:!n||/^beta\.(\d+)$/.test(n)&&Number(n.slice(5))>=2}r(c,"usesAutomaticStyles");var m=["@epxing/core/style.css","@epxing/components/style.css","@epxing/business/style.css"],a={main:`import { createApp } from '@epxing/core'
|
|
2
2
|
import Components from '@epxing/components'
|
|
3
3
|
import Business from '@epxing/business'
|
|
4
4
|
import '@epxing/theme'
|
|
@@ -26,10 +26,10 @@ const count = ref(0)
|
|
|
26
26
|
<style scoped>
|
|
27
27
|
.product-start { padding: var(--epx-space-4, 24px); color: var(--epx-text); }
|
|
28
28
|
</style>
|
|
29
|
-
`};function
|
|
29
|
+
`};function u(i,s,p){let t=r(n=>(n||"").replaceAll(`\r
|
|
30
30
|
`,`
|
|
31
|
-
`).trim(),"normalize"),e=t(i);for(let
|
|
32
|
-
`,"");return e===t(
|
|
31
|
+
`).trim(),"normalize"),e=t(i);for(let n of m)e=e.replace(`import '${n}'
|
|
32
|
+
`,"");return e===t(a.main)&&t(s)===t(a.app.replaceAll("__NAME__",p))}r(u,"isLegacyWelcomeProduct");function d(i,s){let p={...i,"package.json":JSON.stringify({name:"__NAME__",version:"0.1.0",private:!0,runtime:"vue3",type:"module",scripts:{dev:"vite","build:lib":"vite build","build:lib:lazy":"cross-env LAZY_LIB=true vite build","build:app":"vite build --mode app",preview:"vite preview"},dependencies:{"@epxing/core":"__PACKAGES_VERSION__","@epxing/components":"__PACKAGES_VERSION__","@epxing/utils":"__PACKAGES_VERSION__","@epxing/business":"__PACKAGES_VERSION__","@epxing/theme":"__PACKAGES_VERSION__",vue:"3.5.39","vue-router":"4.6.4",vuex:"4.1.0","element-plus":"2.14.3"},devDependencies:{"@epxing/cli":"__CLI_VERSION__","@epxing/icons":"__PACKAGES_VERSION__",vite:"^6.0.0","@vitejs/plugin-vue":"^5.2.1","@vitejs/plugin-vue-jsx":"^4.1.1",sass:"^1.83.3","cross-env":"^7.0.3"}},null,2)+`
|
|
33
33
|
`,"vite.config.mjs":`import path from 'node:path'
|
|
34
34
|
import { fileURLToPath } from 'node:url'
|
|
35
35
|
import { createRequire } from 'node:module'
|
|
@@ -80,15 +80,18 @@ export default defineConfig(({ command, mode }) => {
|
|
|
80
80
|
}
|
|
81
81
|
})
|
|
82
82
|
`,"src/main.js":`import { createApp, createFrameRouter } from '@epxing/core'
|
|
83
|
+
// import { installLegacyFrame } from '@epxing/core'
|
|
83
84
|
import Components from '@epxing/components'
|
|
84
85
|
import Business from '@epxing/business'
|
|
85
86
|
import '@epxing/theme'
|
|
86
87
|
import product from './index'
|
|
87
88
|
|
|
88
|
-
// \
|
|
89
|
+
// core \u63D0\u4F9B\u57FA\u7840\u8DEF\u7531\u89C6\u56FE\uFF1B\u672A\u4F7F\u7528\u4E1A\u52A1\u529F\u80FD\u65F6\u53EF\u79FB\u9664 Business \u7684\u5BFC\u5165\u548C\u5B89\u88C5\u3002
|
|
89
90
|
const app = createApp({ router: createFrameRouter() })
|
|
90
91
|
app.use(Components)
|
|
91
92
|
app.use(Business)
|
|
93
|
+
// \u9700\u8981\u52A0\u8F7D\u4F9D\u8D56 window.frame \u7684\u65E7\u8FDC\u7A0B\u5E93\u65F6\uFF0C\u53D6\u6D88\u5BFC\u5165\u4E0E\u8C03\u7528\u7684\u6CE8\u91CA\uFF08core >= 5.3.0-beta.5\uFF09\u3002
|
|
94
|
+
// installLegacyFrame(app)
|
|
92
95
|
app.use(product)
|
|
93
96
|
app.mount('#app')
|
|
94
97
|
`,"src/__DIRNAME__/DemoList.vue":`<script>
|
|
@@ -118,9 +121,9 @@ npm run build:app
|
|
|
118
121
|
\`\`\`
|
|
119
122
|
|
|
120
123
|
\u672C\u5730\u9884\u89C8\u9ED8\u8BA4\u7AEF\u53E3 8080\uFF0C\u9ED8\u8BA4\u6253\u5F00\u5E73\u53F0\u7CFB\u7EDF\u3002\u542F\u52A8\u524D\u5728 .env.development.local \u914D\u7F6E\u540E\u7AEF\u53CA\u5BA2\u6237\u7AEF\u3001\u7CFB\u7EDF\u3001\u5E94\u7528\u53C2\u6570\uFF1B\u767B\u5F55\u3001\u83DC\u5355\u548C\u9996\u9875\u4F7F\u7528\u5E73\u53F0\u914D\u7F6E\u3002
|
|
121
|
-
`,"PRODUCT-GUIDE.md":
|
|
124
|
+
`,"PRODUCT-GUIDE.md":l};if(!c(s)){let t=m.map(e=>`import '${e}'`).join(`
|
|
122
125
|
`);for(let e of["src/main.js","PRODUCT-GUIDE.md"])p[e]=p[e].replace("import '@epxing/theme'",`import '@epxing/theme'
|
|
123
|
-
`+t)}return p}
|
|
126
|
+
`+t)}return p}r(d,"createPackageTemplates");var l=`# \u4EA7\u54C1\u5F00\u53D1\u4E0E\u5347\u7EA7\u4F7F\u7528\u8BF4\u660E
|
|
124
127
|
|
|
125
128
|
<!-- epxing-generated-product-guide -->
|
|
126
129
|
|
|
@@ -141,6 +144,7 @@ npm run dev
|
|
|
141
144
|
|
|
142
145
|
\`\`\`js
|
|
143
146
|
import { createApp, createFrameRouter } from '@epxing/core'
|
|
147
|
+
// import { installLegacyFrame } from '@epxing/core'
|
|
144
148
|
import Components from '@epxing/components'
|
|
145
149
|
import Business from '@epxing/business'
|
|
146
150
|
import '@epxing/theme'
|
|
@@ -149,17 +153,21 @@ import product from './index'
|
|
|
149
153
|
const app = createApp({ router: createFrameRouter() })
|
|
150
154
|
app.use(Components)
|
|
151
155
|
app.use(Business)
|
|
156
|
+
// \u9700\u8981\u52A0\u8F7D\u4F9D\u8D56 window.frame \u7684\u65E7\u8FDC\u7A0B\u5E93\u65F6\uFF0C\u53D6\u6D88\u5BFC\u5165\u4E0E\u8C03\u7528\u7684\u6CE8\u91CA\uFF08core >= 5.3.0-beta.5\uFF09\u3002
|
|
157
|
+
// installLegacyFrame(app)
|
|
152
158
|
app.use(product)
|
|
153
159
|
app.mount('#app')
|
|
154
160
|
\`\`\`
|
|
155
161
|
|
|
156
162
|
createApp \u8FD4\u56DE Vue App\uFF0C\u9ED8\u8BA4\u521B\u5EFA\u72EC\u7ACB store\u3001hash router \u548C HTTP \u5BA2\u6237\u7AEF\u3002\u9700\u8981\u81EA\u5B9A\u4E49\u65F6\u4F20\u5165 \`{ rootComponent, store, router, http: productHttp }\`\u3002\u4EA7\u54C1 HTTP \u5BA2\u6237\u7AEF\u9700\u5B9E\u73B0\u9875\u9762\u5B9E\u9645\u8C03\u7528\u7684 find/get/list/save \u7B49\u534F\u8BAE\u3002
|
|
157
163
|
|
|
164
|
+
installLegacyFrame \u9ED8\u8BA4\u6CE8\u91CA\uFF0C\u9700\u517C\u5BB9\u4F9D\u8D56 window.frame \u7684\u65E7\u8FDC\u7A0B\u5E93\u65F6\u624B\u52A8\u53D6\u6D88\u4E24\u5904\u6CE8\u91CA\u3002\u8981\u6C42 core 5.3.0-beta.5 \u6216\u4EE5\u4E0A\u7248\u672C\uFF0C\u5728\u6240\u9700\u7EC4\u4EF6\u5305\u5B89\u88C5\u540E\u3001\u8FDC\u7A0B\u5E93\u52A0\u8F7D\u524D\u8C03\u7528\uFF1B\u5B83\u590D\u7528\u5DF2\u5B89\u88C5\u5305\u7684\u5171\u4EAB\u7EC4\u4EF6\uFF0C\u4E0D\u81EA\u52A8\u5B89\u88C5 business \u6216 dashboard\u3002\u65E7\u63D2\u4EF6\u7684 Vue2 \u6E32\u67D3\u517C\u5BB9\u4ECD\u7531\u8FDC\u7A0B\u52A0\u8F7D\u5668\u81EA\u52A8\u9009\u62E9\u3002
|
|
165
|
+
|
|
158
166
|
\u4ECE\u5E73\u53F0\u5305 5.3.0-beta.2 \u8D77\uFF0Ccore\u3001component/components\u3001business\u3001designer\u3001dashboard \u7684 JS \u5165\u53E3\u81EA\u52A8\u52A0\u8F7D\u672C\u5305\u805A\u5408\u6837\u5F0F\uFF0C\u6839\u5BFC\u5165\u548C\u7EC4\u4EF6\u5B50\u8DEF\u5F84\u90FD\u65E0\u9700\u624B\u52A8 import style.css\u3002utils \u548C icons \u5DE5\u5177\u4E0D\u52A0\u8F7D UI \u6837\u5F0F\uFF1Btheme \u4ECD\u662F\u663E\u5F0F\u4F7F\u7528\u7684 SCSS \u6E90\u7801\u5305\u3002\u81EA\u52A8\u52A0\u8F7D\u6309\u5305\u805A\u5408\uFF0C\u4E0D\u662F\u5355\u4E2A\u7EC4\u4EF6\u7684 CSS \u88C1\u526A\u3002
|
|
159
167
|
|
|
160
168
|
\u4FDD\u7559 style.css \u5165\u53E3\u4EE5\u517C\u5BB9\u65E7\u4EE3\u7801\uFF1B\u5DF2\u6709\u624B\u52A8\u5BFC\u5165\u53EF\u4EE5\u5220\u9664\u3002\u4EA7\u54C1\u8986\u76D6\u6837\u5F0F\u653E\u5728\u6846\u67B6\u5BFC\u5165\u4E4B\u540E\u3002CLI \u6307\u5B9A\u65E7\u7248\u672C\u6216\u65E0\u6CD5\u786E\u5B9A\u7248\u672C\u4E0B\u9650\u7684\u6807\u7B7E\u65F6\uFF0C\u4F1A\u4FDD\u5B88\u4FDD\u7559\u663E\u5F0F CSS \u5BFC\u5165\u3002
|
|
161
169
|
|
|
162
|
-
\u9ED8\u8BA4\u6839\u7EC4\u4EF6\u7531 core \u63D0\u4F9B\uFF0C\u8D1F\u8D23\u8DEF\u7531\u51FA\u53E3\u3001\u8DEF\u7531\u5237\u65B0\u7B56\u7565\u548C\u4E3B\u9898\u521D\u59CB\u5316\uFF1BcreateFrameRouter \u63D0\u4F9B\u5E73\u53F0\u8DEF\u7531\u548C\u767B\u5F55\u5B88\u536B\
|
|
170
|
+
\u9ED8\u8BA4\u6839\u7EC4\u4EF6\u7531 core \u63D0\u4F9B\uFF0C\u8D1F\u8D23\u8DEF\u7531\u51FA\u53E3\u3001\u8DEF\u7531\u5237\u65B0\u7B56\u7565\u548C\u4E3B\u9898\u521D\u59CB\u5316\uFF1BcreateFrameRouter \u63D0\u4F9B\u5E73\u53F0\u8DEF\u7531\u548C\u767B\u5F55\u5B88\u536B\u3002core \u63D0\u4F9B\u7684 App \u5728\u5E94\u7528\u914D\u7F6E\u52A0\u8F7D\u540E\u8BFB\u53D6 FIRST_PAGE / MOBILE_FIRST_PAGE\uFF0C\u8FDB\u5165\u7CFB\u7EDF\u9996\u9875\uFF0C\u4E0D\u5E94\u76F4\u63A5\u66FF\u6362\u6700\u5916\u5C42\u8DEF\u7531\u6839\u7EC4\u4EF6\u3002components \u63D0\u4F9B AppIndex\u3001\u767B\u5F55\u548C\u57FA\u7840\u7EC4\u4EF6\uFF0C\u4EA7\u54C1\u901A\u8FC7 app.use(product) \u6CE8\u518C\u81EA\u5DF1\u7684\u7EC4\u4EF6\u3002\u672A\u4F7F\u7528\u5F85\u529E\u3001\u5E2E\u52A9\u7B49\u4E1A\u52A1\u529F\u80FD\u65F6\uFF0C\u53EF\u79FB\u9664 Business \u7684\u5BFC\u5165\u548C\u5B89\u88C5\u3002
|
|
163
171
|
|
|
164
172
|
\u9700\u8981\u5B8C\u5168\u81EA\u5EFA\u5E94\u7528\u65F6\uFF0C\u624D\u4F20\u5165\u81EA\u5DF1\u7684 rootComponent\u3001router \u6216 routes\u3002\u4EA7\u54C1\u7EC4\u4EF6\u653E\u5728 src/__DIRNAME__/\uFF0C\u901A\u8FC7\u5E73\u53F0\u9875\u9762\u7EC4\u4EF6\u914D\u7F6E\u4F7F\u7528\uFF1B\u5F00\u53D1\u5165\u53E3 src/main.js \u4E0D\u8FDB\u5165\u8FDC\u7A0B\u4EA7\u54C1\u5E93\uFF0C\u5E93\u6784\u5EFA\u53EA\u8BFB\u53D6 src/index.js\u3002
|
|
165
173
|
|
|
@@ -224,4 +232,4 @@ epxing --version
|
|
|
224
232
|
\`\`\`
|
|
225
233
|
|
|
226
234
|
\u6D4B\u8BD5\u7248\u4F7F\u7528 beta \u6807\u7B7E\uFF1B\u4EA7\u54C1\u5C06 @epxing \u5E73\u53F0\u5305\u56FA\u5B9A\u5728\u540C\u4E00\u5DF2\u9A8C\u8BC1\u7248\u672C\u3002CLI \u66F4\u65B0\u4E0D\u4F1A\u81EA\u52A8\u6539\u4EA7\u54C1\u4F9D\u8D56\uFF0C\u6309 migrate \u9884\u89C8\u3001\u5BA1\u9605\u3001\u5E94\u7528\u3001\u5B89\u88C5\u3001\u6784\u5EFA\u548C\u9A8C\u6536\u7684\u987A\u5E8F\u66F4\u65B0\u3002
|
|
227
|
-
`;export{c as a,
|
|
235
|
+
`;export{c as a,m as b,u as c,d};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var b=Object.defineProperty;var d=(i,t)=>b(i,"name",{value:t,configurable:!0});import l from"node:fs";import m from"node:path";import{execSync as v}from"node:child_process";import{fileURLToPath as h,pathToFileURL as y}from"node:url";function A(i="5.3.0-beta.2"){let t=i.match(/^[~^]?(\d+)\.(\d+)\.(\d+)(?:-([\w.-]+))?$/);if(!t)return!1;let[,o,n,p,a]=t,s=Number(o)*1e6+Number(n)*1e3+Number(p);return s!==5003e3?s>5003e3:!a||/^beta\.(\d+)$/.test(a)&&Number(a.slice(5))>=2}d(A,"usesAutomaticStyles");var I=["@epxing/core/style.css","@epxing/components/style.css","@epxing/business/style.css"];function g(i,t){let o={...i,"package.json":JSON.stringify({name:"__NAME__",version:"0.1.0",private:!0,runtime:"vue3",type:"module",scripts:{dev:"vite","build:lib":"vite build","build:lib:lazy":"cross-env LAZY_LIB=true vite build","build:app":"vite build --mode app",preview:"vite preview"},dependencies:{"@epxing/core":"__PACKAGES_VERSION__","@epxing/components":"__PACKAGES_VERSION__","@epxing/utils":"__PACKAGES_VERSION__","@epxing/business":"__PACKAGES_VERSION__","@epxing/theme":"__PACKAGES_VERSION__",vue:"3.5.39","vue-router":"4.6.4",vuex:"4.1.0","element-plus":"2.14.3"},devDependencies:{"@epxing/cli":"__CLI_VERSION__","@epxing/icons":"__PACKAGES_VERSION__",vite:"^6.0.0","@vitejs/plugin-vue":"^5.2.1","@vitejs/plugin-vue-jsx":"^4.1.1",sass:"^1.83.3","cross-env":"^7.0.3"}},null,2)+`
|
|
2
2
|
`,"vite.config.mjs":`import path from 'node:path'
|
|
3
3
|
import { fileURLToPath } from 'node:url'
|
|
4
4
|
import { createRequire } from 'node:module'
|
|
@@ -49,15 +49,18 @@ export default defineConfig(({ command, mode }) => {
|
|
|
49
49
|
}
|
|
50
50
|
})
|
|
51
51
|
`,"src/main.js":`import { createApp, createFrameRouter } from '@epxing/core'
|
|
52
|
+
// import { installLegacyFrame } from '@epxing/core'
|
|
52
53
|
import Components from '@epxing/components'
|
|
53
54
|
import Business from '@epxing/business'
|
|
54
55
|
import '@epxing/theme'
|
|
55
56
|
import product from './index'
|
|
56
57
|
|
|
57
|
-
// \
|
|
58
|
+
// core \u63D0\u4F9B\u57FA\u7840\u8DEF\u7531\u89C6\u56FE\uFF1B\u672A\u4F7F\u7528\u4E1A\u52A1\u529F\u80FD\u65F6\u53EF\u79FB\u9664 Business \u7684\u5BFC\u5165\u548C\u5B89\u88C5\u3002
|
|
58
59
|
const app = createApp({ router: createFrameRouter() })
|
|
59
60
|
app.use(Components)
|
|
60
61
|
app.use(Business)
|
|
62
|
+
// \u9700\u8981\u52A0\u8F7D\u4F9D\u8D56 window.frame \u7684\u65E7\u8FDC\u7A0B\u5E93\u65F6\uFF0C\u53D6\u6D88\u5BFC\u5165\u4E0E\u8C03\u7528\u7684\u6CE8\u91CA\uFF08core >= 5.3.0-beta.5\uFF09\u3002
|
|
63
|
+
// installLegacyFrame(app)
|
|
61
64
|
app.use(product)
|
|
62
65
|
app.mount('#app')
|
|
63
66
|
`,"src/__DIRNAME__/DemoList.vue":`<script>
|
|
@@ -87,7 +90,7 @@ npm run build:app
|
|
|
87
90
|
\`\`\`
|
|
88
91
|
|
|
89
92
|
\u672C\u5730\u9884\u89C8\u9ED8\u8BA4\u7AEF\u53E3 8080\uFF0C\u9ED8\u8BA4\u6253\u5F00\u5E73\u53F0\u7CFB\u7EDF\u3002\u542F\u52A8\u524D\u5728 .env.development.local \u914D\u7F6E\u540E\u7AEF\u53CA\u5BA2\u6237\u7AEF\u3001\u7CFB\u7EDF\u3001\u5E94\u7528\u53C2\u6570\uFF1B\u767B\u5F55\u3001\u83DC\u5355\u548C\u9996\u9875\u4F7F\u7528\u5E73\u53F0\u914D\u7F6E\u3002
|
|
90
|
-
`,"PRODUCT-GUIDE.md":S};if(!
|
|
93
|
+
`,"PRODUCT-GUIDE.md":S};if(!A(t)){let n=I.map(p=>`import '${p}'`).join(`
|
|
91
94
|
`);for(let p of["src/main.js","PRODUCT-GUIDE.md"])o[p]=o[p].replace("import '@epxing/theme'",`import '@epxing/theme'
|
|
92
95
|
`+n)}return o}d(g,"createPackageTemplates");var S=`# \u4EA7\u54C1\u5F00\u53D1\u4E0E\u5347\u7EA7\u4F7F\u7528\u8BF4\u660E
|
|
93
96
|
|
|
@@ -110,6 +113,7 @@ npm run dev
|
|
|
110
113
|
|
|
111
114
|
\`\`\`js
|
|
112
115
|
import { createApp, createFrameRouter } from '@epxing/core'
|
|
116
|
+
// import { installLegacyFrame } from '@epxing/core'
|
|
113
117
|
import Components from '@epxing/components'
|
|
114
118
|
import Business from '@epxing/business'
|
|
115
119
|
import '@epxing/theme'
|
|
@@ -118,17 +122,21 @@ import product from './index'
|
|
|
118
122
|
const app = createApp({ router: createFrameRouter() })
|
|
119
123
|
app.use(Components)
|
|
120
124
|
app.use(Business)
|
|
125
|
+
// \u9700\u8981\u52A0\u8F7D\u4F9D\u8D56 window.frame \u7684\u65E7\u8FDC\u7A0B\u5E93\u65F6\uFF0C\u53D6\u6D88\u5BFC\u5165\u4E0E\u8C03\u7528\u7684\u6CE8\u91CA\uFF08core >= 5.3.0-beta.5\uFF09\u3002
|
|
126
|
+
// installLegacyFrame(app)
|
|
121
127
|
app.use(product)
|
|
122
128
|
app.mount('#app')
|
|
123
129
|
\`\`\`
|
|
124
130
|
|
|
125
131
|
createApp \u8FD4\u56DE Vue App\uFF0C\u9ED8\u8BA4\u521B\u5EFA\u72EC\u7ACB store\u3001hash router \u548C HTTP \u5BA2\u6237\u7AEF\u3002\u9700\u8981\u81EA\u5B9A\u4E49\u65F6\u4F20\u5165 \`{ rootComponent, store, router, http: productHttp }\`\u3002\u4EA7\u54C1 HTTP \u5BA2\u6237\u7AEF\u9700\u5B9E\u73B0\u9875\u9762\u5B9E\u9645\u8C03\u7528\u7684 find/get/list/save \u7B49\u534F\u8BAE\u3002
|
|
126
132
|
|
|
133
|
+
installLegacyFrame \u9ED8\u8BA4\u6CE8\u91CA\uFF0C\u9700\u517C\u5BB9\u4F9D\u8D56 window.frame \u7684\u65E7\u8FDC\u7A0B\u5E93\u65F6\u624B\u52A8\u53D6\u6D88\u4E24\u5904\u6CE8\u91CA\u3002\u8981\u6C42 core 5.3.0-beta.5 \u6216\u4EE5\u4E0A\u7248\u672C\uFF0C\u5728\u6240\u9700\u7EC4\u4EF6\u5305\u5B89\u88C5\u540E\u3001\u8FDC\u7A0B\u5E93\u52A0\u8F7D\u524D\u8C03\u7528\uFF1B\u5B83\u590D\u7528\u5DF2\u5B89\u88C5\u5305\u7684\u5171\u4EAB\u7EC4\u4EF6\uFF0C\u4E0D\u81EA\u52A8\u5B89\u88C5 business \u6216 dashboard\u3002\u65E7\u63D2\u4EF6\u7684 Vue2 \u6E32\u67D3\u517C\u5BB9\u4ECD\u7531\u8FDC\u7A0B\u52A0\u8F7D\u5668\u81EA\u52A8\u9009\u62E9\u3002
|
|
134
|
+
|
|
127
135
|
\u4ECE\u5E73\u53F0\u5305 5.3.0-beta.2 \u8D77\uFF0Ccore\u3001component/components\u3001business\u3001designer\u3001dashboard \u7684 JS \u5165\u53E3\u81EA\u52A8\u52A0\u8F7D\u672C\u5305\u805A\u5408\u6837\u5F0F\uFF0C\u6839\u5BFC\u5165\u548C\u7EC4\u4EF6\u5B50\u8DEF\u5F84\u90FD\u65E0\u9700\u624B\u52A8 import style.css\u3002utils \u548C icons \u5DE5\u5177\u4E0D\u52A0\u8F7D UI \u6837\u5F0F\uFF1Btheme \u4ECD\u662F\u663E\u5F0F\u4F7F\u7528\u7684 SCSS \u6E90\u7801\u5305\u3002\u81EA\u52A8\u52A0\u8F7D\u6309\u5305\u805A\u5408\uFF0C\u4E0D\u662F\u5355\u4E2A\u7EC4\u4EF6\u7684 CSS \u88C1\u526A\u3002
|
|
128
136
|
|
|
129
137
|
\u4FDD\u7559 style.css \u5165\u53E3\u4EE5\u517C\u5BB9\u65E7\u4EE3\u7801\uFF1B\u5DF2\u6709\u624B\u52A8\u5BFC\u5165\u53EF\u4EE5\u5220\u9664\u3002\u4EA7\u54C1\u8986\u76D6\u6837\u5F0F\u653E\u5728\u6846\u67B6\u5BFC\u5165\u4E4B\u540E\u3002CLI \u6307\u5B9A\u65E7\u7248\u672C\u6216\u65E0\u6CD5\u786E\u5B9A\u7248\u672C\u4E0B\u9650\u7684\u6807\u7B7E\u65F6\uFF0C\u4F1A\u4FDD\u5B88\u4FDD\u7559\u663E\u5F0F CSS \u5BFC\u5165\u3002
|
|
130
138
|
|
|
131
|
-
\u9ED8\u8BA4\u6839\u7EC4\u4EF6\u7531 core \u63D0\u4F9B\uFF0C\u8D1F\u8D23\u8DEF\u7531\u51FA\u53E3\u3001\u8DEF\u7531\u5237\u65B0\u7B56\u7565\u548C\u4E3B\u9898\u521D\u59CB\u5316\uFF1BcreateFrameRouter \u63D0\u4F9B\u5E73\u53F0\u8DEF\u7531\u548C\u767B\u5F55\u5B88\u536B\
|
|
139
|
+
\u9ED8\u8BA4\u6839\u7EC4\u4EF6\u7531 core \u63D0\u4F9B\uFF0C\u8D1F\u8D23\u8DEF\u7531\u51FA\u53E3\u3001\u8DEF\u7531\u5237\u65B0\u7B56\u7565\u548C\u4E3B\u9898\u521D\u59CB\u5316\uFF1BcreateFrameRouter \u63D0\u4F9B\u5E73\u53F0\u8DEF\u7531\u548C\u767B\u5F55\u5B88\u536B\u3002core \u63D0\u4F9B\u7684 App \u5728\u5E94\u7528\u914D\u7F6E\u52A0\u8F7D\u540E\u8BFB\u53D6 FIRST_PAGE / MOBILE_FIRST_PAGE\uFF0C\u8FDB\u5165\u7CFB\u7EDF\u9996\u9875\uFF0C\u4E0D\u5E94\u76F4\u63A5\u66FF\u6362\u6700\u5916\u5C42\u8DEF\u7531\u6839\u7EC4\u4EF6\u3002components \u63D0\u4F9B AppIndex\u3001\u767B\u5F55\u548C\u57FA\u7840\u7EC4\u4EF6\uFF0C\u4EA7\u54C1\u901A\u8FC7 app.use(product) \u6CE8\u518C\u81EA\u5DF1\u7684\u7EC4\u4EF6\u3002\u672A\u4F7F\u7528\u5F85\u529E\u3001\u5E2E\u52A9\u7B49\u4E1A\u52A1\u529F\u80FD\u65F6\uFF0C\u53EF\u79FB\u9664 Business \u7684\u5BFC\u5165\u548C\u5B89\u88C5\u3002
|
|
132
140
|
|
|
133
141
|
\u9700\u8981\u5B8C\u5168\u81EA\u5EFA\u5E94\u7528\u65F6\uFF0C\u624D\u4F20\u5165\u81EA\u5DF1\u7684 rootComponent\u3001router \u6216 routes\u3002\u4EA7\u54C1\u7EC4\u4EF6\u653E\u5728 src/__DIRNAME__/\uFF0C\u901A\u8FC7\u5E73\u53F0\u9875\u9762\u7EC4\u4EF6\u914D\u7F6E\u4F7F\u7528\uFF1B\u5F00\u53D1\u5165\u53E3 src/main.js \u4E0D\u8FDB\u5165\u8FDC\u7A0B\u4EA7\u54C1\u5E93\uFF0C\u5E93\u6784\u5EFA\u53EA\u8BFB\u53D6 src/index.js\u3002
|
|
134
142
|
|
|
@@ -435,7 +443,7 @@ dist/
|
|
|
435
443
|
*.tgz
|
|
436
444
|
.DS_Store
|
|
437
445
|
.env*.local
|
|
438
|
-
`;r["README.md"]='# __NAME__\n\nepx-frame \u4EA7\u54C1\u8FDC\u7A0B\u5E93\u9879\u76EE\uFF08Vite \u5F62\u6001\uFF09\u3002\u5F00\u53D1\u6307\u5357\u89C1 epx-frame \u4ED3\u5E93 `docs/PROJECT-GUIDE.md`\u3002\n\n```bash\nnpm i # \u88C5\u4F9D\u8D56\nnpm run dev # \u672C\u5730\u5F00\u53D1\uFF08:8080\uFF0C\u8D77\u5B8C\u6574\u5E73\u53F0\uFF0C\u7528\u5E73\u53F0\u8D26\u53F7\u767B\u5F55\uFF09\nnpm run build:lib # \u6784\u5EFA\u8FDC\u7A0B\u5E93 lib/index.js + index.css\n```\n\n\u90E8\u7F72\uFF1Alib \u4EA7\u7269\u53D1\u5230\u6587\u4EF6\u670D\u52A1\uFF0C\u5E73\u53F0 FM_SYSTEM_WEBPACK \u7ED9\u672C\u7CFB\u7EDF\u914D js/css \u4E24\u6761 url\u3002\n`lib/index.deps.json`\uFF08\u4F9D\u8D56\u6E05\u5355\uFF09**\u8981\u548C index.js \u540C\u76EE\u5F55\u540C\u540D\u4E00\u8D77\u4F20**\uFF0C\u4F46**\u4E0D\u7528**\u5355\u72EC\u914D url\u2014\u2014\n\u5E73\u53F0\u6309 js url \u63A8\u5BFC\u5B83\uFF0C\u52A0\u8F7D\u672C\u5E93\u524D\u5148\u5907\u597D\u7528\u5230\u7684\u61D2\u52A0\u8F7D\u5E73\u53F0\u7EC4\u4EF6\uFF1B\u6F0F\u4F20\u53EA\u4F1A\u9759\u9ED8\u9000\u5316\u4E3A\u300C\u5907\u5168\u90E8\u300D\uFF08\u591A\u4E0B\u70B9 chunk\uFF09\u3002\n\u7EC4\u4EF6\u547D\u540D\uFF1A`epx-__NAME__-<\u57DF>-<\u540D>`\uFF08\u5168\u5E73\u53F0\u552F\u4E00\uFF09\uFF1B\u65B0\u589E .vue \u5373\u81EA\u52A8\u6CE8\u518C\u3002\n\n\u6846\u67B6\u5F15\u7528\u662F**\u6309\u9700\u5B50\u8DEF\u5F84**\u5F62\u6001\uFF08`epx-frame/core` + `epx-frame/components`\uFF0C\u89C1 src/main.js \u6CE8\u91CA\uFF09\uFF1A\nbusiness/designer/dashboard \u4E0D\u88C5\u4E5F\u4F1A\u5728\u8FD0\u884C\u65F6\u6309\u9700\u61D2\u52A0\u8F7D\uFF1B\u7EC4\u4EF6\u6E90\u7801\u91CC\u4E5F\u4ECE `epx-frame/components`\n\u5BFC\u5165\u7EE7\u627F\uFF08\u522B\u548C\u805A\u5408\u5165\u53E3 `epx-frame` \u6DF7\u7528\u2014\u2014\u4F1A\u51FA\u73B0\u4E24\u5957\u8FD0\u884C\u65F6\uFF09\u3002\n\n## \u56FE\u6807\n\n**461 \u4E2A\u5E73\u53F0\u56FE\u6807\u76F4\u63A5\u5199\u5C31\u884C\uFF0C\u96F6\u914D\u7F6E**\u2014\u2014\u5B83\u4EEC\u968F epx-frame \u53D1\u5E03\uFF0C\u62FF\u5230\u5373\u7528\uFF1A\n\n```vue\n<i class="el-icon-search"></i>\n<i class="epx-icon-shezhi"></i>\n```\n\n`font-size` \u63A7\u5236\u5927\u5C0F\u3001`color` \u63A7\u5236\u989C\u8272\uFF08\u5E95\u5C42\u662F CSS mask + currentColor\uFF09\u3002\n\n\u60F3\u7528\u5E73\u53F0\u6CA1\u6709\u7684\u56FE\u6807\uFF0C\u76F4\u63A5\u5199 [Remix Icon](https://remixicon.com) \u7684\u540D\u5B57\uFF1A\n\n```vue\n<i class="ri-rocket-line"></i>\n```\n\n**\u8981\u5148 `npm i -D @iconify-json/ri`**\uFF083229 \u4E2A\u56FE\u6807\u7684\u6570\u636E\u6E90\uFF0C\u53EA\u5728\u6784\u5EFA\u671F\u8BFB\u4E00\u6B21\uFF0C\u4E0D\u8FDB\u4EA7\u7269\uFF09\u3002\n`vite.config.mjs` \u91CC\u7684 `epxIcons()` \u4F1A\u626B\u6E90\u7801\u3001\u53EA\u4E3A**\u4F60\u5B9E\u9645\u7528\u5230\u7684**\u90A3\u51E0\u4E2A\u751F\u6210\u89C4\u5219\u2014\u2014\n\u5199 5 \u4E2A\u5C31\u662F 5 \u4E2A\u7684\u4F53\u79EF\uFF0C\u4E0D\u4F1A\u628A 3229 \u4E2A\u90FD\u6253\u8FDB\u53BB\u3002\u540D\u5B57\u62FC\u9519\u4E86\u4F1A\u5728\u6784\u5EFA\u65F6\u62A5\u51FA\u6765\uFF0C\u4E0D\u4F1A\u9759\u9ED8\u53D8\u7A7A\u767D\u3002\n\n\u56FE\u6807\u540D\u5B58\u5728**\u6570\u636E\u5E93**\u91CC\uFF08\u83DC\u5355\u56FE\u6807\u3001\u6309\u94AE iconCls\u3001\u9875\u9762\u914D\u7F6E\uFF09\u7684\u90A3\u4E9B\uFF0C\u6784\u5EFA\u671F\u626B\u4E0D\u5230\u2014\u2014\n\u4F46\u5E73\u53F0\u8FD0\u884C\u65F6\u4F1A\u6309\u9700\u8865\u9F50\uFF0C\u4F60\u4E0D\u7528\u505A\u4EFB\u4F55\u4E8B\u3002\u5B8C\u6574\u8BF4\u660E\u89C1 epx-frame \u4ED3\u5E93 `docs/guide/tools/icon.md`\u3002\n\n\u540E\u7AEF\u5730\u5740\u7B49\u73AF\u5883\u914D\u7F6E\u5728 `.env.development`\uFF1B\u672C\u673A\u60F3\u8FDE\u522B\u7684\u540E\u7AEF\uFF0C\u65B0\u5EFA `.env.development.local`\n\uFF08\u4E0D\u8FDB git\uFF09\u8986\u76D6\u5BF9\u5E94\u884C\uFF08\u5982 `IP=https://test.epxing.com:88/`\uFF09\uFF0C\u91CD\u542F dev \u751F\u6548\u3002\n\n\u521B\u5EFA\u547D\u4EE4\u5DF2\u5728 package.json \u5199\u5165 `runtime: "vue3"`\uFF0C\u5E76\u7531 src/index.js \u9ED8\u8BA4\u5BFC\u51FA\u540C\u540D\u6807\u8BC6\u3002\n\u6784\u5EFA\u90E8\u7F72\u540E\u5E73\u53F0\u6309\u5305\u9009\u62E9\u5B89\u88C5\u65B9\u5F0F\uFF1A`vue3` \u8D70\u539F\u751F\u5B89\u88C5\uFF0C`vue2` \u6216\u672A\u6807\u8BC6\u7684\u5176\u5B83\u5E93\u7EE7\u7EED\u4F7F\u7528\u517C\u5BB9\u6865\u3002\n';function j({name:i,dir:t,epxFrameSpec:o,packagesVersion:n,cliVersion:p="0.5.0-beta.
|
|
446
|
+
`;r["README.md"]='# __NAME__\n\nepx-frame \u4EA7\u54C1\u8FDC\u7A0B\u5E93\u9879\u76EE\uFF08Vite \u5F62\u6001\uFF09\u3002\u5F00\u53D1\u6307\u5357\u89C1 epx-frame \u4ED3\u5E93 `docs/PROJECT-GUIDE.md`\u3002\n\n```bash\nnpm i # \u88C5\u4F9D\u8D56\nnpm run dev # \u672C\u5730\u5F00\u53D1\uFF08:8080\uFF0C\u8D77\u5B8C\u6574\u5E73\u53F0\uFF0C\u7528\u5E73\u53F0\u8D26\u53F7\u767B\u5F55\uFF09\nnpm run build:lib # \u6784\u5EFA\u8FDC\u7A0B\u5E93 lib/index.js + index.css\n```\n\n\u90E8\u7F72\uFF1Alib \u4EA7\u7269\u53D1\u5230\u6587\u4EF6\u670D\u52A1\uFF0C\u5E73\u53F0 FM_SYSTEM_WEBPACK \u7ED9\u672C\u7CFB\u7EDF\u914D js/css \u4E24\u6761 url\u3002\n`lib/index.deps.json`\uFF08\u4F9D\u8D56\u6E05\u5355\uFF09**\u8981\u548C index.js \u540C\u76EE\u5F55\u540C\u540D\u4E00\u8D77\u4F20**\uFF0C\u4F46**\u4E0D\u7528**\u5355\u72EC\u914D url\u2014\u2014\n\u5E73\u53F0\u6309 js url \u63A8\u5BFC\u5B83\uFF0C\u52A0\u8F7D\u672C\u5E93\u524D\u5148\u5907\u597D\u7528\u5230\u7684\u61D2\u52A0\u8F7D\u5E73\u53F0\u7EC4\u4EF6\uFF1B\u6F0F\u4F20\u53EA\u4F1A\u9759\u9ED8\u9000\u5316\u4E3A\u300C\u5907\u5168\u90E8\u300D\uFF08\u591A\u4E0B\u70B9 chunk\uFF09\u3002\n\u7EC4\u4EF6\u547D\u540D\uFF1A`epx-__NAME__-<\u57DF>-<\u540D>`\uFF08\u5168\u5E73\u53F0\u552F\u4E00\uFF09\uFF1B\u65B0\u589E .vue \u5373\u81EA\u52A8\u6CE8\u518C\u3002\n\n\u6846\u67B6\u5F15\u7528\u662F**\u6309\u9700\u5B50\u8DEF\u5F84**\u5F62\u6001\uFF08`epx-frame/core` + `epx-frame/components`\uFF0C\u89C1 src/main.js \u6CE8\u91CA\uFF09\uFF1A\nbusiness/designer/dashboard \u4E0D\u88C5\u4E5F\u4F1A\u5728\u8FD0\u884C\u65F6\u6309\u9700\u61D2\u52A0\u8F7D\uFF1B\u7EC4\u4EF6\u6E90\u7801\u91CC\u4E5F\u4ECE `epx-frame/components`\n\u5BFC\u5165\u7EE7\u627F\uFF08\u522B\u548C\u805A\u5408\u5165\u53E3 `epx-frame` \u6DF7\u7528\u2014\u2014\u4F1A\u51FA\u73B0\u4E24\u5957\u8FD0\u884C\u65F6\uFF09\u3002\n\n## \u56FE\u6807\n\n**461 \u4E2A\u5E73\u53F0\u56FE\u6807\u76F4\u63A5\u5199\u5C31\u884C\uFF0C\u96F6\u914D\u7F6E**\u2014\u2014\u5B83\u4EEC\u968F epx-frame \u53D1\u5E03\uFF0C\u62FF\u5230\u5373\u7528\uFF1A\n\n```vue\n<i class="el-icon-search"></i>\n<i class="epx-icon-shezhi"></i>\n```\n\n`font-size` \u63A7\u5236\u5927\u5C0F\u3001`color` \u63A7\u5236\u989C\u8272\uFF08\u5E95\u5C42\u662F CSS mask + currentColor\uFF09\u3002\n\n\u60F3\u7528\u5E73\u53F0\u6CA1\u6709\u7684\u56FE\u6807\uFF0C\u76F4\u63A5\u5199 [Remix Icon](https://remixicon.com) \u7684\u540D\u5B57\uFF1A\n\n```vue\n<i class="ri-rocket-line"></i>\n```\n\n**\u8981\u5148 `npm i -D @iconify-json/ri`**\uFF083229 \u4E2A\u56FE\u6807\u7684\u6570\u636E\u6E90\uFF0C\u53EA\u5728\u6784\u5EFA\u671F\u8BFB\u4E00\u6B21\uFF0C\u4E0D\u8FDB\u4EA7\u7269\uFF09\u3002\n`vite.config.mjs` \u91CC\u7684 `epxIcons()` \u4F1A\u626B\u6E90\u7801\u3001\u53EA\u4E3A**\u4F60\u5B9E\u9645\u7528\u5230\u7684**\u90A3\u51E0\u4E2A\u751F\u6210\u89C4\u5219\u2014\u2014\n\u5199 5 \u4E2A\u5C31\u662F 5 \u4E2A\u7684\u4F53\u79EF\uFF0C\u4E0D\u4F1A\u628A 3229 \u4E2A\u90FD\u6253\u8FDB\u53BB\u3002\u540D\u5B57\u62FC\u9519\u4E86\u4F1A\u5728\u6784\u5EFA\u65F6\u62A5\u51FA\u6765\uFF0C\u4E0D\u4F1A\u9759\u9ED8\u53D8\u7A7A\u767D\u3002\n\n\u56FE\u6807\u540D\u5B58\u5728**\u6570\u636E\u5E93**\u91CC\uFF08\u83DC\u5355\u56FE\u6807\u3001\u6309\u94AE iconCls\u3001\u9875\u9762\u914D\u7F6E\uFF09\u7684\u90A3\u4E9B\uFF0C\u6784\u5EFA\u671F\u626B\u4E0D\u5230\u2014\u2014\n\u4F46\u5E73\u53F0\u8FD0\u884C\u65F6\u4F1A\u6309\u9700\u8865\u9F50\uFF0C\u4F60\u4E0D\u7528\u505A\u4EFB\u4F55\u4E8B\u3002\u5B8C\u6574\u8BF4\u660E\u89C1 epx-frame \u4ED3\u5E93 `docs/guide/tools/icon.md`\u3002\n\n\u540E\u7AEF\u5730\u5740\u7B49\u73AF\u5883\u914D\u7F6E\u5728 `.env.development`\uFF1B\u672C\u673A\u60F3\u8FDE\u522B\u7684\u540E\u7AEF\uFF0C\u65B0\u5EFA `.env.development.local`\n\uFF08\u4E0D\u8FDB git\uFF09\u8986\u76D6\u5BF9\u5E94\u884C\uFF08\u5982 `IP=https://test.epxing.com:88/`\uFF09\uFF0C\u91CD\u542F dev \u751F\u6548\u3002\n\n\u521B\u5EFA\u547D\u4EE4\u5DF2\u5728 package.json \u5199\u5165 `runtime: "vue3"`\uFF0C\u5E76\u7531 src/index.js \u9ED8\u8BA4\u5BFC\u51FA\u540C\u540D\u6807\u8BC6\u3002\n\u6784\u5EFA\u90E8\u7F72\u540E\u5E73\u53F0\u6309\u5305\u9009\u62E9\u5B89\u88C5\u65B9\u5F0F\uFF1A`vue3` \u8D70\u539F\u751F\u5B89\u88C5\uFF0C`vue2` \u6216\u672A\u6807\u8BC6\u7684\u5176\u5B83\u5E93\u7EE7\u7EED\u4F7F\u7528\u517C\u5BB9\u6865\u3002\n';function j({name:i,dir:t,epxFrameSpec:o,packagesVersion:n,cliVersion:p="0.5.0-beta.5"}){let a=i.toLowerCase(),s=i;if(!/^[a-z][a-z0-9-]*$/i.test(i))throw new Error(`\u4EA7\u54C1\u540D\u300C${i}\u300D\u9700\u4EE5\u5B57\u6BCD\u5F00\u5934\uFF0C\u4EC5\u542B\u5B57\u6BCD/\u6570\u5B57/-`);let e=m.resolve(t);if(n&&o)throw new Error("--packages-version \u4E0E --epx-frame \u4E0D\u80FD\u540C\u65F6\u6307\u5B9A");if(n&&!/^(?:[~^]?\d+\.\d+\.\d+(?:-[\w.-]+)?|[a-z][\w.-]*)$/.test(n))throw new Error("--packages-version \u9700\u8981 npm \u7248\u672C\u3001\u7248\u672C\u8303\u56F4\u6216\u6807\u7B7E");if(l.existsSync(e)&&l.readdirSync(e).length)throw new Error(`\u76EE\u6807\u76EE\u5F55\u975E\u7A7A\uFF1A${e}`);let c=o;if(l.mkdirSync(e,{recursive:!0}),!c&&!n)if(l.existsSync(m.join(_,"vite.config.mjs"))){if(!l.existsSync(m.join(_,"lib/epx-frame.common.js")))throw new Error("frame \u4ED3\u5E93 lib/ \u672A\u6784\u5EFA\u2014\u2014\u5148\u5728 frame-vue3 \u8DD1 pnpm build:component\uFF0C\u6216\u7528 --epx-frame \u6307\u5B9A\u6765\u6E90");console.log(" \u6253\u5305 epx-frame tarball\uFF08npm pack\uFF09\u2026");let u=v("npm pack --pack-destination "+JSON.stringify(e),{cwd:_,encoding:"utf8"}).trim().split(`
|
|
439
447
|
`).pop();c="file:./"+u,console.log(" \u2713 "+u)}else c="^"+JSON.parse(l.readFileSync(m.join(_,"package.json"),"utf8")).version,console.log(` epx-frame \u4F9D\u8D56 \u2192 ${c}\uFF08\u5168\u5C40\u5B89\u88C5\u6A21\u5F0F\uFF1Bnpm i \u65F6\u9700 --registry \u516C\u53F8\u6E90\uFF09`);let E=n?g(r,n):r;for(let[f,u]of Object.entries(E)){let x=m.join(e,f.replace("__DIRNAME__",s));l.mkdirSync(m.dirname(x),{recursive:!0}),l.writeFileSync(x,u.replaceAll("__NAME__",a).replaceAll("__DIRNAME__",s).replaceAll("__EPX_FRAME__",c||"").replaceAll("__PACKAGES_VERSION__",n||"").replaceAll("__CLI_VERSION__",p))}return v('git init -q && git add -A && git commit -qm "epx-create: \u9879\u76EE\u521D\u59CB\u5316\uFF08Vite \u5F62\u6001\u811A\u624B\u67B6\uFF09"',{cwd:e}),console.log(`
|
|
440
448
|
\u2713 \u9879\u76EE\u5DF2\u751F\u6210\uFF1A${e}`),n?(console.log(` npm install --prefix "${e}" --registry https://registry.npmjs.org/
|
|
441
449
|
cd "${e}"
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{c as h}from"../chunks/
|
|
2
|
+
import{c as h}from"../chunks/7OXB6XHJ.mjs";import{a as g}from"../chunks/TEF5R433.mjs";import{b as x}from"../chunks/Y7JO7Q5F.mjs";import"../chunks/SIBBFYRW.mjs";import{a as l}from"../chunks/OVN5O3EZ.mjs";import r from"node:fs";import c from"node:path";var i=process.argv.slice(2).find(e=>!e.startsWith("--"));(!i||!r.existsSync(i))&&(console.error("\u7528\u6CD5\uFF1Anode tools/epx-migrate/detect-vue3-risks.mjs <\u9879\u76EE\u76EE\u5F55>"),process.exit(1));var p=[],y=l(e=>{for(let s of r.readdirSync(e,{withFileTypes:!0})){let n=c.join(e,s.name);s.isDirectory()&&!/node_modules|\.git|^lib$|^dist$/.test(s.name)?y(n):/\.(?:vue|[cm]?js|jsx|ts|tsx)$/.test(s.name)&&p.push(n)}},"walk"),f=c.join(i,"src");r.existsSync(f)&&y(f);var o=[],a=l(e=>r.existsSync(c.join(i,e))?r.readFileSync(c.join(i,e),"utf8"):"","readIf"),$=a("package.json");$&&h(a("src/main.js"),a("src/App.vue"),JSON.parse($).name)&&o.push({file:"src/main.js",rule:"R4-platform-entry",detail:"\u65E7 CLI \u8BA1\u6570\u6B22\u8FCE\u9875\u5C1A\u672A\u63A5\u5165\u5E73\u53F0\u7CFB\u7EDF\uFF1B\u4F7F\u7528\u65B0\u7248 epxing upgrade . \u9884\u89C8\uFF0C\u518D\u52A0 --apply \u4FEE\u590D\u539F\u59CB\u5165\u53E3\u3002\u81EA\u5B9A\u4E49\u5165\u53E3\u4FDD\u7559\uFF0C\u6309\u4EA7\u54C1\u7528\u9014\u6838\u5BF9\u5E73\u53F0\u8DEF\u7531\u548C\u63D2\u4EF6\u3002"});for(let e of p){let s=r.readFileSync(e,"utf8"),n=c.relative(i,e),m=g(s,{filename:e});for(let t of m.fixes)o.push({file:`${n}:${t.line}`,rule:"R2-date-format",detail:`${t.before} \u2192 ${t.after}\uFF1B\u6267\u884C\u65E5\u671F\u683C\u5F0F\u4FEE\u590D\u5668 --apply\uFF1B\u539F\u751FVue3\u5305\u4E0D\u8D70\u65E7render\u57AB\u7247\uFF08F21\uFF09`});for(let t of m.warnings)o.push({file:n,rule:"R2-date-format\u5F85\u8FFD\u8E2A",detail:t});let S=/<template[>\s]/.test(s),d=/\bextends:\s*(\w+)/.exec(s),u=(/<style[^>]*\bscoped\b[^>]*>([\s\S]*?)<\/style>/.exec(s)||[])[1]||"";if(u&&d&&!S){let t=u.match(/^[ \t]*\.[\w-][^{}\n]*\{/gm)||[];t.length&&o.push({file:n,rule:"R1-scoped\u5F85\u590D\u6838",detail:`extends ${d[1]} + <style scoped> + \u65E0 <template>\uFF0C\u4E14 scoped \u5757\u542B ${t.length} \u4E2A\u88F8\u7C7B\u9009\u62E9\u5668\uFF08\u5982 ${t[0].trim()}\uFF09\u3002\u4EC5\u63D0\u793A\u5F85\u590D\u6838\uFF0C\u4E0D\u8BC1\u660E\u6837\u5F0F\u5931\u6548\uFF1B\u5148\u4FDD\u7559 scoped\uFF0C\u7528\u6700\u7EC8\u4EA7\u7269\u9A8C\u8BC1 DOM \u4E0E CSS \u5339\u914D\u3002\u82E5\u786E\u9700\u53BB scoped\uFF0C\u987B\u540C\u65F6\u5B8C\u6210\u552F\u4E00\u547D\u540D\u7A7A\u95F4\u9694\u79BB\uFF0C\u5E76\u590D\u6D4B\u7EC4\u4EF6\u5916\u540C\u540D\u5143\u7D20\u548C\u5176\u4ED6\u9875\u9762\uFF1B\u4E0D\u8981\u4E3A\u6D88\u9664\u544A\u8B66\u6279\u91CF\u6539\u6837\u5F0F`})}}if(r.existsSync(f))for(let e of x(i)){for(let s of e.fixes)o.push({file:`${e.file}:${s.line}`,rule:"R3-theme",detail:`${s.before} \u2192 ${s.after}\uFF1B\u6267\u884C epxing theme <\u76EE\u5F55> --apply\uFF0C\u6216\u5728\u8FC1\u79FB\u65F6\u81EA\u52A8\u9002\u914D\uFF08E2\uFF09`});for(let s of e.warnings)o.push({file:e.file,rule:"R3-theme\u5F85\u590D\u6838",detail:s})}console.log(`[detect-vue3-risks] \u626B\u63CF ${p.length} \u4E2A\u7EC4\u4EF6/\u811A\u672C\u6587\u4EF6\u53CA src \u6837\u5F0F\u6587\u4EF6`);o.length===0&&(console.log(" \u2713 \u672A\u53D1\u73B0\u5DF2\u77E5\u9759\u6001\u98CE\u9669\u6A21\u5F0F"),process.exit(0));console.log(` \u26A0 \u53D1\u73B0 ${o.length} \u5904\u5F85\u590D\u6838\u98CE\u9669\u6A21\u5F0F\uFF08\u9759\u6001\u547D\u4E2D\u4E0D\u4EE3\u8868\u8FD0\u884C\u65F6\u5DF2\u5931\u6548\uFF09\uFF1A`);for(let e of o)console.log(` [${e.rule}] ${e.file}
|
|
3
3
|
${e.detail}`);process.exit(2);
|
|
@@ -1,80 +1,84 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{a as Fe,b as we,c as Pe,d as je}from"../chunks/
|
|
3
|
-
`,
|
|
2
|
+
import{a as Fe,b as we,c as Pe,d as je}from"../chunks/7OXB6XHJ.mjs";import{a as $e}from"../chunks/TEF5R433.mjs";import{a as Ce}from"../chunks/Y7JO7Q5F.mjs";import"../chunks/SIBBFYRW.mjs";import{a as u,b as ke,c as Ee}from"../chunks/OVN5O3EZ.mjs";import h from"node:fs";import be from"node:os";import P from"node:path";import{execSync as me,spawnSync as ct}from"node:child_process";import{fileURLToPath as Wt}from"node:url";var te={"epx-frame":{target:"^5.3.0",note:"Vue3 \u7248 epx-frame\uFF08\u53D1\u5E03\u540E\u586B\u5B9E\u9645\u7248\u672C\uFF1B\u89C1 docs/build-and-publish.md \xA7\u2461\uFF09"},"@vue/cli-service":{target:"~5.0.8",dev:!0},"@vue/cli-plugin-babel":{target:"~5.0.8",dev:!0},"@vue/cli-plugin-eslint":{target:"~5.0.8",dev:!0},"@vue/cli-plugin-router":{target:"~5.0.8",dev:!0},"@vue/cli-plugin-vuex":{target:"~5.0.8",dev:!0},"@vue/cli-plugin-pwa":{target:"~5.0.8",dev:!0},"vue-template-compiler":{target:null,note:"Vue3 \u65E0\u6B64\u5305 \u2192 @vue/compiler-sfc\uFF08\u968F vue \u5305\u5185\u7F6E\uFF09"},"eslint-plugin-vue":{target:"^9.33.0",dev:!0},eslint:{target:"^8.57.0",dev:!0,note:"6\u21928 \u5BF9\u9F50\u5E73\u53F0\uFF08plugin-vue9/cli-plugin-eslint5 \u7684 peer\uFF09"},"babel-eslint":{target:null,dev:!0,note:"\u5F03\u7528 \u2192 @babel/eslint-parser\uFF08lint \u914D\u7F6E\u91CD\u5EFA\u65F6\u6309\u9700\u52A0\uFF09"},"@vue/eslint-config-standard":{target:null,dev:!0,note:"v5 \u7ED1 eslint6\uFF1Blint \u914D\u7F6E\u6309\u5E73\u53F0 .eslintrc \u91CD\u5EFA"},"eslint-plugin-import":{target:null,dev:!0,note:"\u8001 standard \u5957\u4EF6\u6210\u5458\uFF0C\u968F lint \u914D\u7F6E\u91CD\u5EFA"},"eslint-plugin-node":{target:null,dev:!0,note:"\u540C\u4E0A"},"eslint-plugin-promise":{target:null,dev:!0,note:"\u540C\u4E0A"},"eslint-plugin-standard":{target:null,dev:!0,note:"\u540C\u4E0A"},"element-ui":{target:null,note:"\u2192 \u5E73\u53F0\u8FD0\u884C\u65F6\u63D0\u4F9B element-plus\uFF1B\u9879\u76EE\u5185 import \u5904\u4EBA\u5DE5\u6E05\u7406"},"babel-plugin-component":{target:null,dev:!0,note:"element-ui \u6309\u9700\u5F15\u5165\u63D2\u4EF6\uFF0C\u5F03\u7528\uFF08babel.config \u7531\u5DE5\u5177\u540C\u6B65\u6E05\u7406\uFF09"},"vue-cli-plugin-element":{target:null,dev:!0,note:"element-ui \u7684 vue-cli \u63D2\u4EF6\uFF0C\u5F03\u7528"},"babel-plugin-import":{target:null,dev:!0,note:"vant \u6309\u9700\u5F15\u5165\uFF0C\u5F03\u7528\uFF08babel.config \u7531\u5DE5\u5177\u540C\u6B65\u6E05\u7406\uFF09"},vue:{target:"^3.5.13",note:"\u82E5\u9879\u76EE\u76F4\u63A5\u4F9D\u8D56 vue"},"vue-router":{target:"^4.6.0"},vuex:{target:"^4.1.0"}},Ae={webpack:"^5.97.1","webpack-cli":"^5.1.4","vue-loader":"^17.4.2",vue:"^3.5.13","babel-loader":"^9.2.1","@babel/core":"^7.26.0","@babel/preset-env":"^7.26.0","css-loader":"^6.11.0","mini-css-extract-plugin":"^2.9.2","sass-loader":"^13.3.3","clean-webpack-plugin":"^4.0.0","url-loader":"^4.1.1","file-loader":"^6.2.0"},pe={"gogocode-cli":"^0.2.28","gogocode-plugin-vue":"^1.0.29","gogocode-plugin-element":"^0.0.3"},Ie={"@vue/babel-plugin-jsx":"^1.2.5"},Te={"@element-plus/icons-vue":"^2.3.1"},ce={signature_pad:"^5.1.3",sortablejs:"^1.15.7",moment:"^2.30.1","js-cookie":"^3.0.5",axios:"^1.18.1","lodash-es":"^4.17.21",lodash:"^4.17.21"},Me=['externals \u5DF2\u7531\u5DE5\u5177\u8FFD\u52A0 { vue: window.frame.Vue }\u2014\u2014Vue3 \u7F16\u8BD1\u4EA7\u7269 import "vue"\uFF0C\u8FD0\u884C\u65F6\u7531\u5E73\u53F0\u63D0\u4F9B\uFF0C\u522B\u6253\u8FDB bundle',"DefinePlugin \u7684 process.env \u4FDD\u7559\uFF08IP/BASE_* \u7531\u90E8\u7F72\u73AF\u5883\u6CE8\u5165\uFF09","browserslist/babel targets \u82E5\u542B ie\uFF08Vue3 \u4E0D\u652F\u6301 IE\uFF09\uFF0C\u5EFA\u8BAE\u66F4\u65B0\u4E3A\u73B0\u4EE3\u6D4F\u89C8\u5668"],ne={"vue-orgchart-direction":{note:"\u7EC4\u7EC7\u67B6\u6784\u56FE\uFF08Vue2 \u7EC4\u4EF6\u5E93\uFF0C\u65E0 Vue3 \u7248\uFF09\u3002Vue3 \u4EA7\u7269\u8FD0\u884C\u65F6\u62A5 _c undefined\u3002\u5EFA\u8BAE\u6362 Vue3 \u517C\u5BB9\u7684\u7EC4\u7EC7\u67B6\u6784\u56FE\u5E93\uFF0C\u6216\u7528 SVG/canvas \u81EA\u5B9E\u73B0\u3002"},"vue-bpmn":{note:"BPMN \u6D41\u7A0B\u56FE\u7684 Vue2 \u5C01\u88C5\u7EC4\u4EF6\uFF0C\u65E0 Vue3 \u7248\u3002\u5EFA\u8BAE\u76F4\u63A5\u7528\u6846\u67B6\u65E0\u5173\u7684 bpmn-js \u81EA\u5C01\u88C5\uFF0C\u6216\u627E Vue3 \u5C01\u88C5\u3002"},"vue-quill-editor":{note:"\u5BCC\u6587\u672C\u7F16\u8F91\u5668\uFF08Vue2 \u7248\uFF0C3.x \u5DF2\u505C\u66F4\u672A\u51FA Vue3\uFF09\u3002Vue3 \u6362 @vueup/vue-quill\u3002"},vuedraggable:{note:"\u62D6\u62FD\u6392\u5E8F\uFF1A2.x \u4E3A Vue2 \u7248\u3002Vue3 \u7528\u540C\u540D vuedraggable@4\uFF08\u82E5\u9879\u76EE\u5DF2\u5347\u5230 4.x \u5219\u5FFD\u7565\u672C\u6761\uFF09\u3002"}};var bt=/import\.meta\.glob\(\s*(['"])([^'"]+)\1\s*,\s*\{\s*eager\s*:\s*true\s*\}\s*\)/;function Le(e){let t=bt.exec(String(e||""));return t?t[2]:null}u(Le,"extractGlobPattern");function ht(e){let t=String(e||""),n=t.includes("vite-plugin-lazy-lib"),s=/lazyLib\s*\(/.test(t);return n&&s?"present":n||s?"half":"absent"}u(ht,"lazyLibState");var Re=u(e=>/'/.test(e)?JSON.stringify(e):`'${e}'`,"q"),vt=`import lazyLib from 'epx-frame/build/vite-plugin-lazy-lib.mjs'
|
|
3
|
+
`,St=/^([ \t]*)frameDeps\s*\(\s*\)\s*,?[^\n]*$/m;function De(e,{glob:t,pkgName:n}){let s=String(e||""),r=ht(s);if(r!=="absent")return{src:s,status:r};let o=St.exec(s);if(!o)return{src:s,status:"no-anchor"};let i=o[1],a=`
|
|
4
4
|
${i}// \u6253\u5305\u5F62\u6001\uFF1A\u9ED8\u8BA4\u6574\u4F53\u5355\u4F53\uFF08\u4E0E\u5386\u53F2\u4E00\u81F4\uFF09\u3002npm run build:lib:lazy \u5207\u5230\u300C\u6E05\u5355 + \u7EC4\u4EF6\u6309\u9700\u52A0\u8F7D\u300D\uFF0C
|
|
5
5
|
${i}// \u90E8\u7F72\u65F6\u5FC5\u987B\u4E0A\u4F20\u6574\u4E2A lib/ \u76EE\u5F55\uFF08\u4E0D\u518D\u662F index.js + index.css \u4E24\u4E2A\u6587\u4EF6\uFF09\u3002
|
|
6
|
-
${i}lazyLib({ enabled: process.env.LAZY_LIB === 'true', glob: ${Re(t)}, pkgName: ${Re(n)} }),`,c=
|
|
7
|
-
`);p=
|
|
8
|
-
`+t),n=!0),{src:t,changed:n}}u(Et,"viteEntryCodemod");function Ne({read:e,epxFrameSpec:t,basePkgRaw:n}){let
|
|
9
|
-
`});for(let y of["webpack.config.js","vue.config.js","babel.config.js"])e(y)!=null&&
|
|
10
|
-
`+(e("vue.config.js")||"");if(/sass-resources-loader/.test(f)){let y=f.match(/resources:\s*path\.resolve\([^,]*,\s*['"]([^'"]+)['"]/);r.push(`scss \u5168\u5C40\u6CE8\u5165\uFF1A\u65E7\u914D\u7F6E\u7528 sass-resources-loader \u6CE8\u5165 ${y?"`"+y[1]+"`\uFF08\u9879\u76EE\u5185\uFF09":"(\u9879\u76EE\u5185 scss)"}\uFF1Bvite.config \u6A21\u677F\u9ED8\u8BA4\u6CE8\u5165\u7684\u662F epx-frame \u6846\u67B6 mixins\u3002\u9879\u76EE\u82E5\u6709\u81EA\u5DF1\u7684\u5168\u5C40 mixins\uFF0C\u628A vite.config \u7684 css.preprocessorOptions.scss.additionalData \u6307\u8FC7\u53BB\u3002`)}/DefinePlugin/.test(f)&&/process\.env/.test(f)&&r.push("\u65E7\u914D\u7F6E\u7528 DefinePlugin \u628A process.env\uFF08IP / BASE_* \u7B49\uFF09\u7F16\u8BD1\u8FDB\u4EA7\u7269\uFF1BVite \u5F62\u6001\u6539\u7531 .env* + \u5E73\u53F0\u8FD0\u884C\u65F6 window.* \u63D0\u4F9B\uFF08\u6A21\u677F dev \u58F3\u7684 inject-window-config \u5DF2\u63A5 .env\uFF09\u3002\u6838\u5BF9\u8FD9\u4E9B\u503C\u662F\u5426\u5DF2\u7531\u5E73\u53F0\u63D0\u4F9B\uFF0C\u6216\u8FC1\u5230 .env.development\u3002");let l=f.match(/url-loader[\s\S]{0,120}?limit:\s*([0-9*\s]+)/);l&&r.push(`\u65E7\u914D\u7F6E\u7528 url-loader \u5185\u8054\u5C0F\u8D44\u6E90\uFF08limit\u2248${l[1].trim()} \u5B57\u8282\uFF09\uFF1BVite \u7528 build.assetsInlineLimit\uFF08\u9ED8\u8BA4 4096\uFF09\u3002\u9608\u503C\u5DEE\u5F02\u5927\u65F6\u5728 vite.config \u7684 build \u91CC\u8865 assetsInlineLimit\u3002`);let
|
|
11
|
-
${n}`);try{
|
|
12
|
-
`),n=0;for(let
|
|
13
|
-
`),n}}u(Dt,"fixValue");function Je(e){let t=0;return{src:e.replace(/(?:v-bind)?:([\w-]+)\.sync="([^"]*)"/g,(
|
|
14
|
-
`),t=t.replace(new RegExp("\\b"+a+"\\.([A-Za-z_$][\\w$]*)","g"),"$1")}n++}return{src:t,count:n}}u(Ye,"fixNamespaceImport");function Ot(e){let t=e,n=0,
|
|
15
|
-
`);return{body:
|
|
6
|
+
${i}lazyLib({ enabled: process.env.LAZY_LIB === 'true', glob: ${Re(t)}, pkgName: ${Re(n)} }),`,c=s.slice(0,o.index+o[0].length)+a+s.slice(o.index+o[0].length),p=0;if(c.startsWith("#!")){let v=c.indexOf(`
|
|
7
|
+
`);p=v===-1?c.length:v+1}let m=/^([ \t]*\/\/[^\n]*\r?\n|[ \t]*\r?\n)/,x;for(;x=c.slice(p).match(m);)p+=x[0].length;return c=c.slice(0,p)+vt+c.slice(p),{src:c,status:"injected"}}u(De,"injectLazyLib");function Ve(e){let t=e||{},n={...t,scripts:{...t.scripts||{}}},s=!1;n.scripts["build:lib:lazy"]||(n.scripts["build:lib:lazy"]="cross-env LAZY_LIB=true vite build",s=!0);let r=!!(t.dependencies||{})["cross-env"],o=!!(t.devDependencies||{})["cross-env"];return!r&&!o?(n.devDependencies={...t.devDependencies||{},"cross-env":"^7.0.3"},s=!0):t.devDependencies&&(n.devDependencies={...t.devDependencies}),{pkg:n,changed:s}}u(Ve,"addLazyScripts");import{TEMPLATES as Oe}from"../epx-create/scaffold.mjs";var kt=["webpack","webpack-cli","webpack-merge","vue-loader","vue-template-compiler","css-loader","sass-loader","sass-resources-loader","style-loader","postcss-loader","node-sass","fibers","mini-css-extract-plugin","clean-webpack-plugin","progress-bar-webpack-plugin","url-loader","file-loader","raw-loader","babel-loader","@babel/core","@babel/preset-env","@vue/cli-service","@vue/cli-plugin-babel","@vue/cli-plugin-router","@vue/cli-plugin-vuex","@vue/cli-plugin-eslint","@vue/cli-plugin-pwa"];function Et(e){let t=e,n=!1,s=/require\.context\(\s*['"]@\/([^'"]+)['"]\s*,\s*true\s*,\s*\/\\?\.vue\$?\/\s*\)/,r=t.match(s);return r&&(t=t.replace(s,`import.meta.glob('./${r[1]}/**/*.vue', { eager: true })`),n=!0),/\bfiles\.keys\(\)/.test(t)&&(t=t.replace(/\bfiles\.keys\(\)/g,"Object.keys(files)"),n=!0),/\bfiles\(([\w$]+)\)/.test(t)&&(t=t.replace(/\bfiles\(([\w$]+)\)/g,"files[$1]"),n=!0),/require\(\s*['"]\.\.\/package\.json['"]\s*\)/.test(t)&&(t=t.replace(/require\(\s*['"]\.\.\/package\.json['"]\s*\)/g,"pkg"),/import\s+pkg\s+from\s+['"]\.\.\/package\.json['"]/.test(t)||(t=`import pkg from '../package.json'
|
|
8
|
+
`+t),n=!0),{src:t,changed:n}}u(Et,"viteEntryCodemod");function Ne({read:e,epxFrameSpec:t,basePkgRaw:n}){let s=[],r=[],o=n||e("package.json");if(!o)return{changes:s,manual:["\u65E0 package.json\uFF0C\u65E0\u6CD5\u505A vite \u5316"],info:{}};let i;try{i=JSON.parse(o)}catch(y){return{changes:s,manual:["package.json \u89E3\u6790\u5931\u8D25\uFF1A"+y.message],info:{}}}let a=String(i.name||"").toLowerCase(),c=["src/index.js","index.js"].find(y=>e(y)!=null),p=c?e(c):"",m=/import\.meta\.glob/.test(p),x=null,v=p.match(/require\.context\(\s*['"]@\/([^'"]+)['"]/);if(v)x=v[1];else if(m){let y=p.match(/import\.meta\.glob\(\s*['"]\.\/([^/'"]+)\//);y&&(x=y[1])}x||(x=a,r.push("\u5165\u53E3\u672A\u7528 require.context(@/X)\uFF0C\u65E0\u6CD5\u81EA\u52A8\u786E\u5B9A\u7EC4\u4EF6\u76EE\u5F55\u540D\uFF1B\u5DF2\u6309\u5305\u540D\u515C\u5E95\u586B vite.config \u7684 glob\uFF0C\u8BF7\u6838\u5BF9 lazyLib \u7684 glob \u4E0E\u5165\u53E3 import.meta.glob \u9010\u5B57\u4E00\u81F4\u3002"));let $=`./${x}/**/*.vue`;if(e("vite.config.mjs")!=null||e("vite.config.js")!=null||e("vite.config.ts")!=null)r.push("\u5DF2\u5B58\u5728 vite.config.*\uFF0C\u672A\u8986\u76D6\u3002\u82E5\u8981\u6309\u6A21\u677F\u91CD\u5EFA\uFF0C\u5148\u5220\u9664\u73B0\u6709 vite.config.* \u518D\u91CD\u8DD1 --to-vite\u3002");else{let y=Oe["vite.config.mjs"].replaceAll("__NAME__",a).replaceAll("__DIRNAME__",x);s.push({file:"vite.config.mjs",after:y})}let A=t||i.dependencies&&i.dependencies["epx-frame"]||"^5.3.0",b=JSON.parse(Oe["package.json"].replaceAll("__NAME__",a).replaceAll("__EPX_FRAME__",A));i.runtime=b.runtime,i.scripts={...i.scripts||{},...b.scripts},i.devDependencies=i.devDependencies||{};for(let[y,S]of Object.entries(b.devDependencies))i.devDependencies[y]=S;let k=[];for(let y of["dependencies","devDependencies"])if(i[y])for(let S of Object.keys(i[y]))kt.includes(S)&&(delete i[y][S],k.push(S));s.push({file:"package.json",after:JSON.stringify(i,null,2)+`
|
|
9
|
+
`});for(let y of["webpack.config.js","vue.config.js","babel.config.js"])e(y)!=null&&s.push({file:y,remove:!0});if(c&&/require\.context/.test(p)){let y=Et(p);y.changed?(s.push({file:c,after:y.src}),r.push(`\u5165\u53E3 ${c} \u5DF2\u81EA\u52A8\u6539\u5199\uFF08require.context\u2192import.meta.glob\u3001files(k)\u2192files[k]\u3001require(pkg)\u2192import\uFF09\uFF1B\u8BF7\u590D\u6838\u5165\u53E3\u91CC router.addRoute / store \u6CE8\u518C / install \u7B49\u9879\u76EE\u7279\u6709\u903B\u8F91\uFF0C\u5E76\u786E\u8BA4 install \u5DF2\u662F Vue3 \u7684 install(app)\uFF08\u672A\u8FC1\u9879\u76EE\u5148\u8DD1 \u2460 --apply + \u2462 --transform-vue\uFF09\u3002`)):r.push(`\u5165\u53E3 ${c} \u7528\u4E86\u975E\u6807\u51C6 require.context \u6536\u96C6\uFF0C\u672A\u80FD\u81EA\u52A8\u6539\u5199\uFF0C\u8BF7\u624B\u52A8\u6362\u6210 import.meta.glob('${$}', { eager: true }) + Object.keys(files) \u6536\u96C6\uFF0C\u5E76\u628A require('../package.json') \u6539\u6210 import\u3002`)}let f=(e("webpack.config.js")||"")+`
|
|
10
|
+
`+(e("vue.config.js")||"");if(/sass-resources-loader/.test(f)){let y=f.match(/resources:\s*path\.resolve\([^,]*,\s*['"]([^'"]+)['"]/);r.push(`scss \u5168\u5C40\u6CE8\u5165\uFF1A\u65E7\u914D\u7F6E\u7528 sass-resources-loader \u6CE8\u5165 ${y?"`"+y[1]+"`\uFF08\u9879\u76EE\u5185\uFF09":"(\u9879\u76EE\u5185 scss)"}\uFF1Bvite.config \u6A21\u677F\u9ED8\u8BA4\u6CE8\u5165\u7684\u662F epx-frame \u6846\u67B6 mixins\u3002\u9879\u76EE\u82E5\u6709\u81EA\u5DF1\u7684\u5168\u5C40 mixins\uFF0C\u628A vite.config \u7684 css.preprocessorOptions.scss.additionalData \u6307\u8FC7\u53BB\u3002`)}/DefinePlugin/.test(f)&&/process\.env/.test(f)&&r.push("\u65E7\u914D\u7F6E\u7528 DefinePlugin \u628A process.env\uFF08IP / BASE_* \u7B49\uFF09\u7F16\u8BD1\u8FDB\u4EA7\u7269\uFF1BVite \u5F62\u6001\u6539\u7531 .env* + \u5E73\u53F0\u8FD0\u884C\u65F6 window.* \u63D0\u4F9B\uFF08\u6A21\u677F dev \u58F3\u7684 inject-window-config \u5DF2\u63A5 .env\uFF09\u3002\u6838\u5BF9\u8FD9\u4E9B\u503C\u662F\u5426\u5DF2\u7531\u5E73\u53F0\u63D0\u4F9B\uFF0C\u6216\u8FC1\u5230 .env.development\u3002");let l=f.match(/url-loader[\s\S]{0,120}?limit:\s*([0-9*\s]+)/);l&&r.push(`\u65E7\u914D\u7F6E\u7528 url-loader \u5185\u8054\u5C0F\u8D44\u6E90\uFF08limit\u2248${l[1].trim()} \u5B57\u8282\uFF09\uFF1BVite \u7528 build.assetsInlineLimit\uFF08\u9ED8\u8BA4 4096\uFF09\u3002\u9608\u503C\u5DEE\u5F02\u5927\u65F6\u5728 vite.config \u7684 build \u91CC\u8865 assetsInlineLimit\u3002`);let d=f.match(/externals:\s*([^\n]+)/);if(d){let y=["recorder","echarts","xlsx","jspdf","luckysheet","pdfjs","signature"].filter(S=>new RegExp(S,"i").test(d[1]));y.length&&r.push(`\u65E7 externals \u542B\u6A21\u677F\u9ED8\u8BA4\u672A\u8986\u76D6\u7684\u5E93\uFF1A${y.join(", ")}\u3002\u6A21\u677F\u9ED8\u8BA4 external \u4E3A vue / epx-frame / element-* / bpmn\uFF1B\u5176\u4F59\u9700\u5728 vite.config \u7684 rollupOptions.external + output.globals \u91CC\u8865\uFF08\u53C2\u8003 hr \u7684 vite.config\uFF1Arecorder-core \u2192 window.Recorder \u7684 shim \u5199\u6CD5\uFF09\u3002`)}return{changes:s,manual:r,info:{pkgName:a,dirName:x,glob:$,removedDeps:k}}}u(Ne,"planToVite");var $t=/import\s+(\w+)\s*,\s*\{([^}]*)\}\s*from\s*(['"])epx-frame\3/;function _e(e){let t=String(e||""),n=$t.exec(t);if(!n)return t;let[s,r,o,i]=n,a=t.slice(0,n.index)+t.slice(n.index+s.length),c=o.split(",").map(m=>m.trim()).filter(Boolean).filter(m=>{let x=m.split(/\s+as\s+/).pop().trim();return/^[A-Za-z_$][\w$]*$/.test(x)?new RegExp(`(^|[^.\\w$])${x}\\b`).test(a):!0}),p=c.length?`import ${r}, { ${c.join(", ")} } from ${i}epx-frame${i}`:`import ${r} from ${i}epx-frame${i}`;return t.slice(0,n.index)+p+t.slice(n.index+s.length)}u(_e,"collapseFrameImport");import le from"node:path";var Ct=["gogocode-plugin-vue","gogocode-plugin-element"];function Be(e,t){for(let n of e||[]){if(!n)continue;let s=le.join(n,"node_modules"),r=le.join(s,"gogocode-cli","index.js");if(t(r)&&!Ct.some(o=>!t(le.join(s,o))))return r}return null}u(Be,"findGogocode");function Ft({projectDir:e,toolDir:t,cacheDir:n}){return[e,t,n].filter(Boolean)}u(Ft,"gogocodeRoots");function ze({projectDir:e,toolDir:t,cacheDir:n,versions:s,exists:r,install:o,log:i}){let a=i||(()=>{}),c=Ft({projectDir:e,toolDir:t,cacheDir:n}),p=Be(c,r);if(p)return{cli:p,installed:!1};let m=Object.entries(s||{}).map(([v,$])=>`${v}@${$}`);if(!m.length)return{cli:null,installed:!1,error:"\u6CA1\u6709\u53EF\u5B89\u88C5\u7684 gogocode \u7248\u672C\u6E05\u5355"};a(` \xB7 \u672A\u627E\u5230 gogocode\uFF0C\u6B63\u5728\u88C5\u8FDB\u7F13\u5B58\u76EE\u5F55\uFF08\u7EA6 149 \u4E2A\u5305\uFF0C\u9996\u6B21\u51E0\u5341\u79D2\uFF0C\u4E4B\u540E\u590D\u7528\uFF09\uFF1A
|
|
11
|
+
${n}`);try{o({cacheDir:n,specs:m})}catch(v){return{cli:null,installed:!1,error:String(v&&v.message||v).slice(0,200)}}let x=Be([n],r);return x?{cli:x,installed:!0}:{cli:null,installed:!0,error:"\u5B89\u88C5\u5B8C\u6210\u4F46\u4ECD\u89E3\u6790\u4E0D\u5230 gogocode\uFF08\u7F13\u5B58\u76EE\u5F55\u5E03\u5C40\u5F02\u5E38\uFF1F\uFF09"}}u(ze,"ensureGogocode");var wt=[".vue",".js",".jsx",".ts",".tsx"],Pt=u(e=>wt.some(t=>e.toLowerCase().endsWith(t)),"isSource");function Ue(e,t,n,s){let r=n,o=s,i=0,a=u((c,p)=>{let m;try{m=r.readdirSync(c,{withFileTypes:!0})}catch{return}for(let x of m){let v=o.join(c,x.name),$=o.join(p,x.name);x.isDirectory()?a(v,$):Pt(x.name)&&(r.mkdirSync(o.dirname($),{recursive:!0}),r.copyFileSync(v,$),i++)}},"walk");return a(e,t),i}u(Ue,"copyBackSources");var Ge=/(install\s*=\s*function\s*\()\s*Vue\s*(\s*(?:,[^)]*)?\))/,He=/(\binstall\s*\()\s*Vue\s*(\s*(?:,[^)]*)?\)\s*\{)/;function jt(e){let t=String(e||"");return Ge.test(t)?t.replace(Ge,"$1app$2"):He.test(t)?t.replace(He,"$1app$2"):t}u(jt,"renameInstallParam");var At=u(e=>/install\s*=\s*function\s*\(\s*app\b/.test(String(e||""))||/\binstall\s*\(\s*app\b/.test(String(e||"")),"hasAppParam");function It(e){return String(e||"").replace(/\bVue\.prototype\.(\$?[\w$]+)/g,"app.config.globalProperties.$1").replace(/\bVue\.(component|use|directive|mixin|provide)\b/g,"app.$1")}u(It,"rewriteVueGlobals");function Tt(e){return String(e||"").replace(/\bwindow\.\$vueApp\b/g,"app")}u(Tt,"rewriteVueAppGlobal");function We(e){let t=jt(e);return At(t)&&(t=It(t)),t=Tt(t),t}u(We,"codemodLibEntry");var Mt=/[;,{([<>=&|?:.+\-*/]$/,Rt=/^(=>|\?|:|\.|\)|\]|\}|,|&&|\|\||\+|-|\*|\/|=)/,Lt=/[)\]\w'"`]$/;function Dt(e){if(!/\n/.test(e))return{val:e,n:0};let t=e.split(`
|
|
12
|
+
`),n=0;for(let s=0;s<t.length-1;s++){let r=t[s].replace(/\s+$/,"");if(!r.trimStart())continue;let i=(t.slice(s+1).find(a=>a.trim())||"").trim();i&&(Mt.test(r)||Rt.test(i)||Lt.test(r)&&(t[s]=r+";",n++))}return{val:t.join(`
|
|
13
|
+
`),n}}u(Dt,"fixValue");function Je(e){let t=0;return{src:e.replace(/(?:v-bind)?:([\w-]+)\.sync="([^"]*)"/g,(s,r,o)=>(t++,`v-model:${r}="${o}"`)),count:t}}u(Je,"fixSyncModifier");function qe(e){let t=0;return{src:e.replace(/((?:@|v-on:)[\w.:-]+=")([^"]*)(")/g,(s,r,o,i)=>{let a=Dt(o);return t+=a.n,r+a.val+i}),count:t}}u(qe,"fixInlineHandlers");function Xe(e){return e.startsWith("el-icon-")?e:"el-icon-"+e.replace(/^ElIcon/,"").replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z])([A-Z][a-z])/g,"$1-$2").toLowerCase()}u(Xe,"toCssClass");function Ke(e){let t=0,n=e;return n=n.replace(/import\s*\{[\s\S]*?\}\s*from\s*['"]@element-plus\/icons-vue['"];?[ \t]*\r?\n?/g,()=>(t++,"")),n=n.replace(/<el-icon\b[^>]*>\s*<(el-icon-[\w-]+|ElIcon[A-Za-z0-9]+)\s*\/>\s*<\/el-icon>/g,(s,r)=>(t++,`<i class="${Xe(r)}"></i>`)),n=n.replace(/<(ElIcon[A-Za-z0-9]+)\s*\/>/g,(s,r)=>(t++,`<i class="${Xe(r)}"></i>`)),n=n.replace(/^[ \t]*ElIcon[A-Za-z0-9]+,[ \t]*\r?\n/gm,()=>(t++,"")),{src:n,count:t}}u(Ke,"fixElIcon");var Vt=new Set(["vue","vuex","vue-router"]);function Ye(e){let t=e,n=0,s=/import\s*\*\s*as\s+([A-Za-z_$][\w$]*)\s+from\s+['"]([^'"]+)['"]\s*;?[ \t]*\r?\n?/g,r=[...t.matchAll(s)].filter(o=>Vt.has(o[2]));for(let o of r){let i=o[0],a=o[1],c=o[2],p=new RegExp("\\b"+a+"\\.([A-Za-z_$][\\w$]*)","g"),m=new Set,x;for(;x=p.exec(t);)m.add(x[1]);if(m.size===0)t=t.replace(i,"");else{let v=[...m].join(", ");t=t.replace(i,`import { ${v} } from '${c}'
|
|
14
|
+
`),t=t.replace(new RegExp("\\b"+a+"\\.([A-Za-z_$][\\w$]*)","g"),"$1")}n++}return{src:t,count:n}}u(Ye,"fixNamespaceImport");function Ot(e){let t=e,n=0,s=/(\b(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*)require\.context\(\s*(['"])([^'"]+)\3\s*,\s*(true|false)\s*,\s*\/([^/]+)\/\s*\)/g,r=[...t.matchAll(s)];for(let o of r){let i=o[0],a=o[1],c=o[2],p=o[4],m=o[5],v=o[6].match(/\\?\.([a-zA-Z0-9]+)\$?$/),$=v?"."+v[1]:".*",A=p.replace(/\/+$/,"")+(m==="true"?"/**/*":"/*")+$;t=t.replace(i,`${a}import.meta.glob('${A}', { eager: true })`),t=t.replace(new RegExp("\\b"+c+"\\.keys\\(\\)","g"),`Object.keys(${c})`),t=t.replace(new RegExp("\\b"+c+"\\(\\s*([A-Za-z_$][\\w$]*)\\s*\\)","g"),`${c}[$1]`),n++}return{src:t,count:n}}u(Ot,"fixRequireContext");function Ze(e){let t=/require\(\s*(['"])((?:@\/|\.\.?\/)[^'"]+\.(?:png|jpe?g|gif|svg|webp|bmp|ico))\1\s*\)/gi,n=new Map,s=u(a=>{if(n.has(a))return n.get(a);let p="__img_"+((a.split("/").pop()||"asset").replace(/\.[^.]+$/,"").replace(/[^A-Za-z0-9]/g,"_")||"x"),m=p,x=1,v=new Set(n.values());for(;v.has(m);)m=p+"_"+x++;return n.set(a,m),m},"mkVar"),r=0,o=e.replace(t,(a,c,p)=>(r++,s(p))),i=[...n.entries()].map(([a,c])=>`import ${c} from '${a}'`).join(`
|
|
15
|
+
`);return{body:o,imports:i,count:r}}u(Ze,"collectRequireAsset");function Qe(e,t={}){let n=!!t.isVue,s=0,r=!1,o=e,i=Ot(o);if(o=i.src,s+=i.count,n){let a=o.match(/(<script(?:\s[^>]*)?>)([\s\S]*?)(<\/script>)/);if(a){let c=Ze(a[2]);if(c.count){let m=`
|
|
16
16
|
`+c.imports+`
|
|
17
|
-
`+c.body.replace(/^\n?/,"");
|
|
18
|
-
`+a.body,
|
|
19
|
-
${
|
|
20
|
-
export default ${o.id.name}`:`export default Object.assign(${a}, { runtime: 'vue3' })`;return{src:e.slice(0,n.start)+c+";"+e.slice(n.end),marked:!0}}catch(t){return{src:e,marked:!1,reason:t.message}}}u(ot,"markLibraryRuntime");var Y=Se(Ee(),1);var K={"@epxing/core":{package:"@epxing/core",exports:{publishCoreRuntime:["publishCoreRuntime"],createCore:["createCore"],installCore:["installCore"],createApp:["createApp"],ComponentMixin:["ComponentMixin"],GlobalMixin:["GlobalMixin"],mixins:["mixins"],axios:["axios"],http:["http"],util:["util"],getSystemMeta:["getSystemMeta"],getFileUrl:["getFileUrl"],getSysId:["getSysId"],toLogin:["toLogin"],usePlugin:["usePlugin"],runExpByScope:["runExpByScope"],FieldFactory:["FieldFactory"],FieldFactoryClass:["FieldFactoryClass"],createFieldFactory:["createFieldFactory"],Meta:["Meta"],PdfViewer:["PdfViewer"],createFrameStore:["createFrameStore"],createStoreModules:["createStoreModules"],storeModules:["storeModules"],createFrameRouter:["createFrameRouter"],routerConfig:["routerConfig"],createEventBus:["createEventBus"],getEventBus:["getEventBus"],getApp:["getApp"],setApp:["setApp"],registerComponent:["registerComponent"],resolveComponent:["resolveComponent"],configureRuntime:["configureRuntime"],registerRouteComponents:["registerRouteComponents"],nav:["nav"],default:["default"]}},"@epxing/utils":{package:"@epxing/utils",exports:{Config:["Config"],Page:["Page"],placeholder:["placeholder"],storage:["storage"],getXsrfToken:["getXsrfToken"],setXsrfToken:["setXsrfToken"],cookie:["cookie"],moment:["moment"],dateTime:["dateTime"],createMoment:["createMoment"],lodash:["lodash"],PLACEHOLDER_RE:["PLACEHOLDER_RE"],lookup:["lookup"],resolveKey:["resolveKey"],resolvePlaceholders:["resolvePlaceholders"],isDate:["isDate"],getDayCountOfMonth:["getDayCountOfMonth"],getDayCountOfYear:["getDayCountOfYear"],nextDate:["nextDate"],nextMonth:["nextMonth"],prevYear:["prevYear"],nextYear:["nextYear"],range:["range"],modifyDate:["modifyDate"],modifyTime:["modifyTime"],modifyWithTimeString:["modifyWithTimeString"],hasClass:["hasClass"],arrayFindIndex:["arrayFindIndex"],coerceTruthyValueToArray:["coerceTruthyValueToArray"],cloneDeep:["cloneDeep"],isNil:["isNil"],isEmpty:["isEmpty"],isObject:["isObject"],isEqual:["isEqual"],assignWith:["assignWith"],debounce:["debounce"],throttle:["throttle"],get:["get"],set:["set"]}},"@epxing/components":{package:"@epxing/components",exports:{install:["install"],AddForm:["AddForm"],AddFormItem:["AddFormItem"],AiImportPage:["AiImportPage"],AiImport:["AiImport"],AiAgentPage:["AiAgentPage"],AiCallMethod:["AiCallMethod"],AiCallMethodCreate:["AiCallMethodCreate"],DbSourceCreate:["DbSourceCreate"],DbTableBrowser:["DbTableBrowser"],MetaFromDatabase:["MetaFromDatabase"],AiChatPage:["AiChatPage"],WikiSite:["WikiSite"],AiMetadataAssistant:["AiMetadataAssistant"],Alert:["Alert"],AppIndex:["AppIndex"],AppNav:["AppNav"],AppTabs:["AppTabs"],ApplyForm:["ApplyForm"],ApprovalIndex:["ApprovalIndex"],ApprovalIndexPage:["ApprovalIndexPage"],BasePage:["BasePage"],Button:["Button"],Card:["Card"],CardFormItem:["CardFormItem"],ActProcessFormItem:["ActProcessFormItem"],Carousel:["Carousel"],CategoryList:["CategoryList"],ReportChart:["ReportChart"],Chart:["Chart"],CheckHistory:["CheckHistory"],Collapse:["Collapse"],ColorPicker:["ColorPicker"],Component:["Component"],Contacts:["Contacts"],Div:["Div"],Dropdown:["Dropdown"],EditEntityList:["EditEntityList"],Empty:["Empty"],EntityAddPage:["EntityAddPage"],EntityApplyPage:["EntityApplyPage"],EntityCardList:["EntityCardList"],EntityList:["EntityList"],EntityListFind:["EntityListFind"],EntityListFindPage:["EntityListFindPage"],EntityListPage:["EntityListPage"],EntityNoSubmitSubList:["EntityNoSubmitSubList"],EntitySubGrid:["EntitySubGrid"],EntitySubGridItem:["EntitySubGridItem"],EntitySubList:["EntitySubList"],EntityTreeFind:["EntityTreeFind"],EntityTreeFindPage:["EntityTreeFindPage"],EntityVirtualList:["EntityVirtualList"],Export:["Export"],ExportFile:["ExportFile"],FlowNumStatistic:["FlowNumStatistic"],Footer:["Footer"],Form:["Form"],FormItem:["FormItem"],CheckBox:["CheckBox"],Color:["Color"],Date:["Date"],File:["File"],Input:["Input"],Number:["Number"],FormHtml:["FormHtml"],Object:["Object"],Photo:["Photo"],Radio:["Radio"],Rule:["Rule"],Scope:["Scope"],Select:["Select"],Switch:["Switch"],FormTag:["FormTag"],Textarea:["Textarea"],FormField:["FormField"],Formula:["Formula"],FormulaEditor:["FormulaEditor"],Gauge:["Gauge"],Grid:["Grid"],GridItem:["GridItem"],Header:["Header"],HeaderBreadcrumb:["HeaderBreadcrumb"],Html:["Html"],TabTags:["TabTags"],TabsBar:["TabsBar"],AppSettings:["AppSettings"],Icon:["Icon"],Iframe:["Iframe"],Image:["Image"],Import:["Import"],ImportFile:["ImportFile"],LayoutComponent:["LayoutComponent"],Link:["Link"],List:["List"],LoadPage:["LoadPage"],Login:["Login"],MEntityAddPage:["MEntityAddPage"],MEntityDeptFind:["MEntityDeptFind"],MEntityList:["MEntityList"],MEntityListFind:["MEntityListFind"],MEntityNoSubmitSubList:["MEntityNoSubmitSubList"],MEntityTreeFind:["MEntityTreeFind"],MEntityUserFind:["MEntityUserFind"],MEntitySubList:["MEntitySubList"],Menu:["Menu"],MenuItem:["MenuItem"],MenuIndex:["MenuIndex"],Mine:["Mine"],ModuleIndexPage:["ModuleIndexPage"],ModuleList:["ModuleList"],ModuleListPage:["ModuleListPage"],ModuleTabsPage:["ModuleTabsPage"],NavAddForm:["NavAddForm"],CardNum:["CardNum"],NumStatistic:["NumStatistic"],NumItem:["NumItem"],NumSubItem:["NumSubItem"],OrgChart:["OrgChart"],Page:["Page"],PageHelp:["PageHelp"],PageTabs:["PageTabs"],Pagination:["Pagination"],Progress:["Progress"],ProcessChart:["ProcessChart"],Report:["Report"],ReportHtml:["ReportHtml"],ReportPreview:["ReportPreview"],RouterView:["RouterView"],ScopeComponent:["ScopeComponent"],Search:["Search"],SearchBar:["SearchBar"],SearchList:["SearchList"],Step:["Step"],StepItem:["StepItem"],TabBar:["TabBar"],Tabs:["Tabs"],Tag:["Tag"],TaskList:["TaskList"],TaskListPage:["TaskListPage"],Template:["Template"],Text:["Text"],TextEditor:["TextEditor"],Title:["Title"],UpdateForm:["UpdateForm"],UpdateFormItem:["UpdateFormItem"],UpdateSubList:["UpdateSubList"],Video:["Video"],ConfigPage:["ConfigPage"],default:["default"]}},"@epxing/business":{package:"@epxing/business",exports:{UserFind:["UserFind"],App:["App"],DeptFind:["DeptFind"],HeaderNav:["HeaderNav"],EntityTreeManage:["EntityTreeManage"],PageCatalog:["PageCatalog"],ReportFormList:["ReportFormList"],ReportFormListPage:["ReportFormListPage"],ExcelPreviewPage:["ExcelPreviewPage"]}},"@epxing/designer":{package:"@epxing/designer",exports:{ProcessFormItemVisual:["ProcessFormItemVisual"],VisualComponent:["VisualComponent"],VisualConfigPage:["VisualConfigPage"],VisualEntityList:["VisualEntityList"],VisualEntitySubList:["VisualEntitySubList"],VisualConfigField:["VisualConfigField"],VisualConfigListField:["VisualConfigListField"],VisualConfigOrderField:["VisualConfigOrderField"],PageDesigner:["PageDesigner"],CardFormItemVisual:["CardFormItemVisual"],CarouselVisual:["CarouselVisual"],CollapseVisual:["CollapseVisual"],DropdownVisual:["DropdownVisual"],LayoutConfig:["LayoutConfig"],ListVisual:["ListVisual"],MEntityListFindVisual:["MEntityListFindVisual"],TabsConfig:["TabsConfig"],widgetPreviews:["widgetPreviews"]}},"@epxing/business/app":{package:"@epxing/business",exports:{default:["App"]}},"@epxing/business/user-find":{package:"@epxing/business",exports:{default:["UserFind"]}},"@epxing/business/dept-find":{package:"@epxing/business",exports:{default:["DeptFind"]}},"@epxing/business/header-nav":{package:"@epxing/business",exports:{default:["HeaderNav"]}},"@epxing/business/entity-tree-manage":{package:"@epxing/business",exports:{default:["EntityTreeManage"]}},"@epxing/business/page-catalog":{package:"@epxing/business",exports:{default:["PageCatalog"]}},"@epxing/business/report-form-list":{package:"@epxing/business",exports:{default:["ReportFormList"]}},"@epxing/business/report-form-list-page":{package:"@epxing/business",exports:{default:["ReportFormListPage"]}},"@epxing/business/excel-preview-page":{package:"@epxing/business",exports:{default:["ExcelPreviewPage"]}},"@epxing/designer/visual-component":{package:"@epxing/designer",exports:{default:["VisualComponent"]}},"@epxing/designer/visual-entity-list":{package:"@epxing/designer",exports:{default:["VisualEntityList"]}},"@epxing/designer/visual-entity-sub-list":{package:"@epxing/designer",exports:{default:["VisualEntitySubList"]}},"@epxing/designer/page-designer":{package:"@epxing/designer",exports:{default:["PageDesigner"]}},vue:{package:"vue",exports:{BaseTransition:["BaseTransition"],BaseTransitionPropsValidators:["BaseTransitionPropsValidators"],Comment:["Comment"],DeprecationTypes:["DeprecationTypes"],EffectScope:["EffectScope"],ErrorCodes:["ErrorCodes"],ErrorTypeStrings:["ErrorTypeStrings"],Fragment:["Fragment"],KeepAlive:["KeepAlive"],ReactiveEffect:["ReactiveEffect"],Static:["Static"],Suspense:["Suspense"],Teleport:["Teleport"],Text:["Text"],TrackOpTypes:["TrackOpTypes"],Transition:["Transition"],TransitionGroup:["TransitionGroup"],TriggerOpTypes:["TriggerOpTypes"],VueElement:["VueElement"],__esModule:["__esModule"],assertNumber:["assertNumber"],callWithAsyncErrorHandling:["callWithAsyncErrorHandling"],callWithErrorHandling:["callWithErrorHandling"],camelize:["camelize"],capitalize:["capitalize"],cloneVNode:["cloneVNode"],compatUtils:["compatUtils"],compile:["compile"],computed:["computed"],createApp:["createApp"],createBlock:["createBlock"],createCommentVNode:["createCommentVNode"],createElementBlock:["createElementBlock"],createElementVNode:["createElementVNode"],createHydrationRenderer:["createHydrationRenderer"],createPropsRestProxy:["createPropsRestProxy"],createRenderer:["createRenderer"],createSSRApp:["createSSRApp"],createSlots:["createSlots"],createStaticVNode:["createStaticVNode"],createTextVNode:["createTextVNode"],createVNode:["createVNode"],customRef:["customRef"],defineAsyncComponent:["defineAsyncComponent"],defineComponent:["defineComponent"],defineCustomElement:["defineCustomElement"],defineEmits:["defineEmits"],defineExpose:["defineExpose"],defineModel:["defineModel"],defineOptions:["defineOptions"],defineProps:["defineProps"],defineSSRCustomElement:["defineSSRCustomElement"],defineSlots:["defineSlots"],devtools:["devtools"],effect:["effect"],effectScope:["effectScope"],getCurrentInstance:["getCurrentInstance"],getCurrentScope:["getCurrentScope"],getCurrentWatcher:["getCurrentWatcher"],getTransitionRawChildren:["getTransitionRawChildren"],guardReactiveProps:["guardReactiveProps"],h:["h"],handleError:["handleError"],hasInjectionContext:["hasInjectionContext"],hydrate:["hydrate"],hydrateOnIdle:["hydrateOnIdle"],hydrateOnInteraction:["hydrateOnInteraction"],hydrateOnMediaQuery:["hydrateOnMediaQuery"],hydrateOnVisible:["hydrateOnVisible"],initCustomFormatter:["initCustomFormatter"],initDirectivesForSSR:["initDirectivesForSSR"],inject:["inject"],isMemoSame:["isMemoSame"],isProxy:["isProxy"],isReactive:["isReactive"],isReadonly:["isReadonly"],isRef:["isRef"],isRuntimeOnly:["isRuntimeOnly"],isShallow:["isShallow"],isVNode:["isVNode"],markRaw:["markRaw"],mergeDefaults:["mergeDefaults"],mergeModels:["mergeModels"],mergeProps:["mergeProps"],nextTick:["nextTick"],nodeOps:["nodeOps"],normalizeClass:["normalizeClass"],normalizeProps:["normalizeProps"],normalizeStyle:["normalizeStyle"],onActivated:["onActivated"],onBeforeMount:["onBeforeMount"],onBeforeUnmount:["onBeforeUnmount"],onBeforeUpdate:["onBeforeUpdate"],onDeactivated:["onDeactivated"],onErrorCaptured:["onErrorCaptured"],onMounted:["onMounted"],onRenderTracked:["onRenderTracked"],onRenderTriggered:["onRenderTriggered"],onScopeDispose:["onScopeDispose"],onServerPrefetch:["onServerPrefetch"],onUnmounted:["onUnmounted"],onUpdated:["onUpdated"],onWatcherCleanup:["onWatcherCleanup"],openBlock:["openBlock"],patchProp:["patchProp"],popScopeId:["popScopeId"],provide:["provide"],proxyRefs:["proxyRefs"],pushScopeId:["pushScopeId"],queuePostFlushCb:["queuePostFlushCb"],reactive:["reactive"],readonly:["readonly"],ref:["ref"],registerRuntimeCompiler:["registerRuntimeCompiler"],render:["render"],renderList:["renderList"],renderSlot:["renderSlot"],resolveComponent:["resolveComponent"],resolveDirective:["resolveDirective"],resolveDynamicComponent:["resolveDynamicComponent"],resolveFilter:["resolveFilter"],resolveTransitionHooks:["resolveTransitionHooks"],setBlockTracking:["setBlockTracking"],setDevtoolsHook:["setDevtoolsHook"],setTransitionHooks:["setTransitionHooks"],shallowReactive:["shallowReactive"],shallowReadonly:["shallowReadonly"],shallowRef:["shallowRef"],ssrContextKey:["ssrContextKey"],ssrUtils:["ssrUtils"],stop:["stop"],toDisplayString:["toDisplayString"],toHandlerKey:["toHandlerKey"],toHandlers:["toHandlers"],toRaw:["toRaw"],toRef:["toRef"],toRefs:["toRefs"],toValue:["toValue"],transformVNodeArgs:["transformVNodeArgs"],triggerRef:["triggerRef"],unref:["unref"],useAttrs:["useAttrs"],useCssModule:["useCssModule"],useCssVars:["useCssVars"],useHost:["useHost"],useId:["useId"],useModel:["useModel"],useSSRContext:["useSSRContext"],useShadowRoot:["useShadowRoot"],useSlots:["useSlots"],useTemplateRef:["useTemplateRef"],useTransitionState:["useTransitionState"],vModelCheckbox:["vModelCheckbox"],vModelDynamic:["vModelDynamic"],vModelRadio:["vModelRadio"],vModelSelect:["vModelSelect"],vModelText:["vModelText"],vShow:["vShow"],version:["version"],warn:["warn"],watch:["watch"],watchEffect:["watchEffect"],watchPostEffect:["watchPostEffect"],watchSyncEffect:["watchSyncEffect"],withAsyncContext:["withAsyncContext"],withCtx:["withCtx"],withDefaults:["withDefaults"],withDirectives:["withDirectives"],withKeys:["withKeys"],withMemo:["withMemo"],withModifiers:["withModifiers"],withScopeId:["withScopeId"]}},vuex:{package:"vuex",exports:{Store:["Store"],createLogger:["createLogger"],createNamespacedHelpers:["createNamespacedHelpers"],createStore:["createStore"],default:["default"],install:["install"],mapActions:["mapActions"],mapGetters:["mapGetters"],mapMutations:["mapMutations"],mapState:["mapState"],storeKey:["storeKey"],useStore:["useStore"],version:["version"]}},"@epxing/components/add-form":{package:"@epxing/components",exports:{default:["AddForm"]}},"@epxing/components/add-form-item":{package:"@epxing/components",exports:{default:["AddFormItem"]}},"@epxing/components/ai-import-page":{package:"@epxing/components",exports:{default:["AiImportPage"]}},"@epxing/components/ai-import":{package:"@epxing/components",exports:{default:["AiImport"]}},"@epxing/components/ai-agent-page":{package:"@epxing/components",exports:{default:["AiAgentPage"]}},"@epxing/components/ai-call-method":{package:"@epxing/components",exports:{default:["AiCallMethod"]}},"@epxing/components/ai-call-method/AiCallMethodCreate.vue":{package:"@epxing/components",exports:{default:["AiCallMethodCreate"]}},"@epxing/components/db-source-create/DbSourceCreate.vue":{package:"@epxing/components",exports:{default:["DbSourceCreate"]}},"@epxing/components/db-table-browser/DbTableBrowser.vue":{package:"@epxing/components",exports:{default:["DbTableBrowser"]}},"@epxing/components/meta-from-database/MetaFromDatabase.vue":{package:"@epxing/components",exports:{default:["MetaFromDatabase"]}},"@epxing/components/ai-chat-page":{package:"@epxing/components",exports:{default:["AiChatPage"]}},"@epxing/components/wiki-site":{package:"@epxing/components",exports:{default:["WikiSite"]}},"@epxing/components/ai-metadata-assistant":{package:"@epxing/components",exports:{default:["AiMetadataAssistant"]}},"@epxing/components/alert":{package:"@epxing/components",exports:{default:["Alert"]}},"@epxing/components/app-index":{package:"@epxing/components",exports:{default:["AppIndex"]}},"@epxing/components/app-nav":{package:"@epxing/components",exports:{default:["AppNav"]}},"@epxing/components/app-tabs":{package:"@epxing/components",exports:{default:["AppTabs"]}},"@epxing/components/apply-form":{package:"@epxing/components",exports:{default:["ApplyForm"]}},"@epxing/components/approval-index":{package:"@epxing/components",exports:{default:["ApprovalIndex"]}},"@epxing/components/approval-index-page":{package:"@epxing/components",exports:{default:["ApprovalIndexPage"]}},"@epxing/components/base-page":{package:"@epxing/components",exports:{default:["BasePage"]}},"@epxing/components/button":{package:"@epxing/components",exports:{default:["Button"]}},"@epxing/components/card":{package:"@epxing/components",exports:{default:["Card"]}},"@epxing/components/card-form-item":{package:"@epxing/components",exports:{default:["CardFormItem"]}},"@epxing/components/act-process-form-item":{package:"@epxing/components",exports:{default:["ActProcessFormItem"]}},"@epxing/components/carousel":{package:"@epxing/components",exports:{default:["Carousel"]}},"@epxing/components/category-list":{package:"@epxing/components",exports:{default:["CategoryList"]}},"@epxing/components/report-chart":{package:"@epxing/components",exports:{default:["ReportChart"]}},"@epxing/components/chart":{package:"@epxing/components",exports:{default:["Chart"]}},"@epxing/components/check-history":{package:"@epxing/components",exports:{default:["CheckHistory"]}},"@epxing/components/collapse":{package:"@epxing/components",exports:{default:["Collapse"]}},"@epxing/components/color-picker":{package:"@epxing/components",exports:{default:["ColorPicker"]}},"@epxing/components/component":{package:"@epxing/components",exports:{default:["Component"]}},"@epxing/components/contacts":{package:"@epxing/components",exports:{default:["Contacts"]}},"@epxing/components/div":{package:"@epxing/components",exports:{default:["Div"]}},"@epxing/components/dropdown":{package:"@epxing/components",exports:{default:["Dropdown"]}},"@epxing/components/edit-entity-list":{package:"@epxing/components",exports:{default:["EditEntityList"]}},"@epxing/components/empty":{package:"@epxing/components",exports:{default:["Empty"]}},"@epxing/components/entity-add-page":{package:"@epxing/components",exports:{default:["EntityAddPage"]}},"@epxing/components/entity-apply-page":{package:"@epxing/components",exports:{default:["EntityApplyPage"]}},"@epxing/components/entity-card-list":{package:"@epxing/components",exports:{default:["EntityCardList"]}},"@epxing/components/entity-list":{package:"@epxing/components",exports:{default:["EntityList"],Mobile:["EntityList","Mobile"]}},"@epxing/components/entity-list-find":{package:"@epxing/components",exports:{default:["EntityListFind"]}},"@epxing/components/entity-list-find-page":{package:"@epxing/components",exports:{default:["EntityListFindPage"]}},"@epxing/components/entity-list-page":{package:"@epxing/components",exports:{default:["EntityListPage"]}},"@epxing/components/entity-no-submit-sub-list":{package:"@epxing/components",exports:{default:["EntityNoSubmitSubList"]}},"@epxing/components/entity-sub-grid":{package:"@epxing/components",exports:{default:["EntitySubGrid"],EntitySubGridItem:["EntitySubGridItem"]}},"@epxing/components/entity-sub-list":{package:"@epxing/components",exports:{default:["EntitySubList"]}},"@epxing/components/entity-tree-find":{package:"@epxing/components",exports:{default:["EntityTreeFind"]}},"@epxing/components/entity-tree-find-page":{package:"@epxing/components",exports:{default:["EntityTreeFindPage"]}},"@epxing/components/entity-virtual-list":{package:"@epxing/components",exports:{default:["EntityVirtualList"]}},"@epxing/components/export":{package:"@epxing/components",exports:{default:["Export"]}},"@epxing/components/export-file":{package:"@epxing/components",exports:{default:["ExportFile"]}},"@epxing/components/flow-num":{package:"@epxing/components",exports:{default:["FlowNumStatistic"]}},"@epxing/components/footer":{package:"@epxing/components",exports:{default:["Footer"]}},"@epxing/components/form":{package:"@epxing/components",exports:{default:["Form"]}},"@epxing/components/form-item":{package:"@epxing/components",exports:{default:["FormItem"],CheckBox:["CheckBox"],Color:["Color"],Date:["Date"],File:["File"],Input:["Input"],Number:["Number"],Html:["FormHtml"],Object:["Object"],Photo:["Photo"],Radio:["Radio"],Rule:["Rule"],Scope:["Scope"],Select:["Select"],Switch:["Switch"],Tag:["FormTag"],Textarea:["Textarea"]}},"@epxing/components/form-field":{package:"@epxing/components",exports:{default:["FormField"]}},"@epxing/components/formula":{package:"@epxing/components",exports:{default:["Formula"]}},"@epxing/components/formula-editor":{package:"@epxing/components",exports:{default:["FormulaEditor"]}},"@epxing/components/gauge":{package:"@epxing/components",exports:{default:["Gauge"]}},"@epxing/components/grid":{package:"@epxing/components",exports:{default:["Grid"],GridItem:["GridItem"]}},"@epxing/components/header":{package:"@epxing/components",exports:{default:["Header"],Breadcrumb:["HeaderBreadcrumb"]}},"@epxing/components/html":{package:"@epxing/components",exports:{default:["Html"]}},"@epxing/components/tab-tags":{package:"@epxing/components",exports:{default:["TabTags"]}},"@epxing/components/tabs-bar":{package:"@epxing/components",exports:{default:["TabsBar"]}},"@epxing/components/app-settings":{package:"@epxing/components",exports:{default:["AppSettings"]}},"@epxing/components/icon":{package:"@epxing/components",exports:{default:["Icon"]}},"@epxing/components/iframe":{package:"@epxing/components",exports:{default:["Iframe"]}},"@epxing/components/image":{package:"@epxing/components",exports:{default:["Image"]}},"@epxing/components/import":{package:"@epxing/components",exports:{default:["Import"]}},"@epxing/components/import-file":{package:"@epxing/components",exports:{default:["ImportFile"]}},"@epxing/components/layout":{package:"@epxing/components",exports:{default:["LayoutComponent"]}},"@epxing/components/link":{package:"@epxing/components",exports:{default:["Link"]}},"@epxing/components/list":{package:"@epxing/components",exports:{default:["List"]}},"@epxing/components/load-page":{package:"@epxing/components",exports:{default:["LoadPage"]}},"@epxing/components/login":{package:"@epxing/components",exports:{default:["Login"]}},"@epxing/components/m-entity-add-page":{package:"@epxing/components",exports:{default:["MEntityAddPage"]}},"@epxing/components/m-entity-dept-find":{package:"@epxing/components",exports:{default:["MEntityDeptFind"]}},"@epxing/components/m-entity-list":{package:"@epxing/components",exports:{default:["MEntityList"]}},"@epxing/components/m-entity-list-find":{package:"@epxing/components",exports:{default:["MEntityListFind"]}},"@epxing/components/m-entity-no-submit-sub-list":{package:"@epxing/components",exports:{default:["MEntityNoSubmitSubList"]}},"@epxing/components/m-entity-tree-find":{package:"@epxing/components",exports:{default:["MEntityTreeFind"]}},"@epxing/components/m-entity-user-find":{package:"@epxing/components",exports:{default:["MEntityUserFind"]}},"@epxing/components/m-entity-sub-list":{package:"@epxing/components",exports:{default:["MEntitySubList"]}},"@epxing/components/menu":{package:"@epxing/components",exports:{default:["Menu"],MenuItem:["MenuItem"]}},"@epxing/components/menu-index":{package:"@epxing/components",exports:{default:["MenuIndex"]}},"@epxing/components/mine":{package:"@epxing/components",exports:{default:["Mine"]}},"@epxing/components/module-index-page":{package:"@epxing/components",exports:{default:["ModuleIndexPage"]}},"@epxing/components/module-list":{package:"@epxing/components",exports:{default:["ModuleList"]}},"@epxing/components/module-list-page":{package:"@epxing/components",exports:{default:["ModuleListPage"]}},"@epxing/components/module-tabs-page":{package:"@epxing/components",exports:{default:["ModuleTabsPage"]}},"@epxing/components/nav-add-form":{package:"@epxing/components",exports:{default:["NavAddForm"]}},"@epxing/components/num":{package:"@epxing/components",exports:{default:["CardNum"],Statistic:["NumStatistic"],NumItem:["NumItem"],NumSubItem:["NumSubItem"]}},"@epxing/components/org-chart":{package:"@epxing/components",exports:{default:["OrgChart"]}},"@epxing/components/page":{package:"@epxing/components",exports:{default:["Page"]}},"@epxing/components/page-help":{package:"@epxing/components",exports:{default:["PageHelp"]}},"@epxing/components/page-tabs":{package:"@epxing/components",exports:{default:["PageTabs"]}},"@epxing/components/pagination":{package:"@epxing/components",exports:{default:["Pagination"]}},"@epxing/components/progress":{package:"@epxing/components",exports:{default:["Progress"]}},"@epxing/components/progress-chart":{package:"@epxing/components",exports:{default:["ProcessChart"]}},"@epxing/components/report":{package:"@epxing/components",exports:{default:["Report"]}},"@epxing/components/report-html":{package:"@epxing/components",exports:{default:["ReportHtml"]}},"@epxing/components/report-preview":{package:"@epxing/components",exports:{default:["ReportPreview"]}},"@epxing/components/router-view":{package:"@epxing/components",exports:{default:["RouterView"]}},"@epxing/components/scope":{package:"@epxing/components",exports:{default:["ScopeComponent"]}},"@epxing/components/search":{package:"@epxing/components",exports:{default:["Search"]}},"@epxing/components/search-bar":{package:"@epxing/components",exports:{default:["SearchBar"]}},"@epxing/components/search-list":{package:"@epxing/components",exports:{default:["SearchList"]}},"@epxing/components/step":{package:"@epxing/components",exports:{default:["Step"]}},"@epxing/components/step-item":{package:"@epxing/components",exports:{default:["StepItem"]}},"@epxing/components/tab-bar":{package:"@epxing/components",exports:{default:["TabBar"]}},"@epxing/components/tabs":{package:"@epxing/components",exports:{default:["Tabs"]}},"@epxing/components/tag":{package:"@epxing/components",exports:{default:["Tag"]}},"@epxing/components/task-list":{package:"@epxing/components",exports:{default:["TaskList"]}},"@epxing/components/task-list-page":{package:"@epxing/components",exports:{default:["TaskListPage"]}},"@epxing/components/template":{package:"@epxing/components",exports:{default:["Template"]}},"@epxing/components/text":{package:"@epxing/components",exports:{default:["Text"]}},"@epxing/components/text-editor":{package:"@epxing/components",exports:{default:["TextEditor"]}},"@epxing/components/title":{package:"@epxing/components",exports:{default:["Title"]}},"@epxing/components/update-form":{package:"@epxing/components",exports:{default:["UpdateForm"]}},"@epxing/components/update-form-item":{package:"@epxing/components",exports:{default:["UpdateFormItem"]}},"@epxing/components/update-sub-list":{package:"@epxing/components",exports:{default:["UpdateSubList"]}},"@epxing/components/video":{package:"@epxing/components",exports:{default:["Video"]}},"@epxing/components/config-page":{package:"@epxing/components",exports:{default:["ConfigPage"]}},"@epxing/core/app":{package:"@epxing/core",exports:{setApp:["setApp"],getApp:["getApp"],resolveComponent:["resolveComponent"],registerComponent:["registerComponent"]}},"@epxing/core/http":{package:"@epxing/core",exports:{default:["http"]}},"@epxing/core/axios":{package:"@epxing/core",exports:{default:["axios"]}},"@epxing/core/navigation":{package:"@epxing/core",exports:{nav:["nav"],default:["nav"]}},"@epxing/core/component-mixin":{package:"@epxing/core",exports:{default:["ComponentMixin"]}},"@epxing/core/global-mixin":{package:"@epxing/core",exports:{default:["GlobalMixin"]}},"@epxing/core/field-factory":{package:"@epxing/core",exports:{FieldFactory:["FieldFactoryClass"],createFieldFactory:["createFieldFactory"],default:["FieldFactory"]}},"@epxing/core/meta":{package:"@epxing/core",exports:{default:["Meta"]}},"@epxing/core/pdf-viewer":{package:"@epxing/core",exports:{default:["PdfViewer"]}},"@epxing/core/util":{package:"@epxing/core",exports:{getSystemMeta:["getSystemMeta"],getFileUrl:["getFileUrl"],getSysId:["getSysId"],toLogin:["toLogin"],usePlugin:["usePlugin"],runExpByScope:["runExpByScope"],default:["util"]}},"@epxing/core/store":{package:"@epxing/core",exports:{createStoreModules:["createStoreModules"],storeModules:["storeModules"],createFrameStore:["createFrameStore"]}},"@epxing/core/runtime":{package:"@epxing/core",exports:{configureRuntime:["configureRuntime"],registerRouteComponents:["registerRouteComponents"]}},"@epxing/core/mixins":{package:"@epxing/core",exports:{default:["mixins"],component:["ComponentMixin"],global:["GlobalMixin"]}},"@epxing/core/router":{package:"@epxing/core",exports:{routerConfig:["routerConfig"],createFrameRouter:["createFrameRouter"],default:["routerConfig"]}},"@epxing/core/event-bus":{package:"@epxing/core",exports:{createEventBus:["createEventBus"],getEventBus:["getEventBus"]}},"@epxing/utils/config":{package:"@epxing/utils",exports:{default:["Config"]}},"@epxing/utils/page":{package:"@epxing/utils",exports:{default:["Page"]}},"@epxing/utils/placeholder":{package:"@epxing/utils",exports:{PLACEHOLDER_RE:["PLACEHOLDER_RE"],lookup:["lookup"],resolveKey:["resolveKey"],resolvePlaceholders:["resolvePlaceholders"],default:["placeholder"]}},"@epxing/utils/storage":{package:"@epxing/utils",exports:{getXsrfToken:["getXsrfToken"],setXsrfToken:["setXsrfToken"],default:["storage"]}},"@epxing/utils/date":{package:"@epxing/utils",exports:{isDate:["isDate"],getDayCountOfMonth:["getDayCountOfMonth"],getDayCountOfYear:["getDayCountOfYear"],nextDate:["nextDate"],nextMonth:["nextMonth"],prevYear:["prevYear"],nextYear:["nextYear"],range:["range"],modifyDate:["modifyDate"],modifyTime:["modifyTime"],modifyWithTimeString:["modifyWithTimeString"]}},"@epxing/utils/dom":{package:"@epxing/utils",exports:{hasClass:["hasClass"],arrayFindIndex:["arrayFindIndex"],coerceTruthyValueToArray:["coerceTruthyValueToArray"]}},"@epxing/utils/date-time":{package:"@epxing/utils",exports:{createMoment:["createMoment"],default:["moment"]}},"@epxing/utils/collection":{package:"@epxing/utils",exports:{cloneDeep:["cloneDeep"],isNil:["isNil"],isEmpty:["isEmpty"],isObject:["isObject"],isEqual:["isEqual"],assignWith:["assignWith"],debounce:["debounce"],throttle:["throttle"],get:["get"],set:["set"],default:["lodash"]}}};var st={utils:{config:"Config",page:"page",placeholder:"placeholder",storage:"storage",date:"date-helper",dom:"dom-helper","date-time":"moment-compat",collection:"collection"},core:{app:"app",http:"api/index",axios:"axios",navigation:"navigation","component-mixin":"mixins/component","global-mixin":"mixins/global","field-factory":"runtime-utils/fieldFactory",meta:"runtime-utils/meta","pdf-viewer":"runtime-utils/pdf.viewer",util:"runtime-utils/util",store:"store/create-store",runtime:"runtime-services",mixins:"mixins/index",router:"router/public","event-bus":"vue.bus"},business:{app:"views/App","user-find":"components/UserFind","dept-find":"components/DeptFind",popup:"popup","route-components":"route-components","entity-tree-manage":"components/EntityTreeManage","header-nav":"components/HeaderNav","page-catalog":"components/PageCatalog","report-form-list":"components/ReportFormList","report-form-list-page":"views/ReportFormListPage","excel-preview-page":"views/ExcelPreviewPage"},designer:{"page-designer":"page-designer/index","visual-component":"visual/Component","visual-entity-list":"visual/EntityList","visual-entity-sub-list":"visual/EntitySubList"},dashboard:{tabs:"Tabs",title:"Title",div:"Div",widget:"Widget"}};var _t=["core","components","utils","business","designer"],q=new Map;for(let e of _t)for(let t of Object.keys(K["@epxing/"+e].exports))["default","install"].includes(t)||(q.has(t)||q.set(t,[]),q.get(t).push({source:"@epxing/"+e,name:t}));for(let e of["Dashboard","DashboardTabs","DashboardTitle","DashboardDiv","DashboardWidget"])q.set(e,[{source:"@epxing/dashboard",name:e}]);var Bt={Vue:{source:"vue",name:"*"},vuex:{source:"vuex",name:"*"},Vuex:{source:"vuex",name:"*"},store:{source:"@epxing/core/runtime",name:"runtimeStore"},router:{source:"@epxing/core/runtime",name:"runtimeRouter"},componentMixin:{source:"@epxing/core",name:"ComponentMixin"},globalMixin:{source:"@epxing/core",name:"GlobalMixin"}},ue=u(e=>Bt[e]||(q.get(e)?.length===1?q.get(e)[0]:null),"fromRoot"),N=u((e,t,n)=>{if(!(!e||typeof e!="object")){e.type&&t(e,n);for(let[o,r]of Object.entries(e))["loc","leadingComments","trailingComments","innerComments","extra"].includes(o)||(Array.isArray(r)?r.forEach(s=>N(s,t,e)):r&&typeof r=="object"&&N(r,t,e))}},"walk"),zt=u(e=>e?.key?.name??e?.key?.value,"keyOf"),it=u(e=>/^(?:epx-frame(?:\/|$)|@epx\/)/.test(e),"oldRoot"),U=u(e=>e.replace(/^@epx\//,"@epxing/").replace(/^@epxing\/component(?=\/|$)/,"@epxing/components"),"canonical"),X=new Map;for(let[e,t]of Object.entries(st))for(let[n,o]of Object.entries(t))X.set(`@epxing/${e}/src/${o}`,`@epxing/${e}/${n}`);for(let[e,t]of Object.entries(K)){if(!e.startsWith("@epxing/components/"))continue;let n=e.slice(19);X.set("@epxing/components/src/"+n,e);let o=t.exports.default?.[0];o&&X.set(`@epxing/components/src/${n}/${o}`,e)}for(let[e,t]of Object.entries({util:"util",meta:"meta",fieldFactory:"field-factory","pdf.viewer":"pdf-viewer"}))X.set("@epxing/utils/src/"+e,"@epxing/core/"+t);function Ut(e){if(/^@epxing\/component(?:\/|$)/.test(e)&&!e.includes("/src/"))return U(e);if(/^epx-frame\/(core|components|business|designer|dashboard|utils)$/.test(e))return U(e.replace("epx-frame/","@epxing/"));let t={"epx-frame/build/vite-plugin-frame-deps.mjs":"frameDeps","epx-frame/build/vite-plugin-lazy-lib.mjs":"lazyLib","epx-frame/build/vite-plugin-epx-shared.mjs":"epxShared"};if(t[e])return{source:"@epxing/cli/vite",defaultName:t[e]};if(e==="epx-frame/build/vite-plugin-icons.mjs")return"@epxing/icons";if(e.startsWith("epx-frame/packages/theme/src/"))return e.replace("epx-frame/packages/theme/","@epxing/theme/");let n=U(e).replace(/\.(?:vue|js|jsx|mjs)$/,"").replace(/\/index$/,"");return X.has(n)?X.get(n):/^@epxing\/theme\/src\//.test(e)||e.startsWith("@epx/")&&!n.includes("/src/")?U(e):null}u(Ut,"moduleTarget");function rt(e,{filename:t,bootstrap:n,packagesVersion:o}){let r=[],s=[],i=new Set,a=new Set,c=new Set,p;try{p=(0,Y.parse)(e,{sourceType:"unambiguous",plugins:["jsx","typescript","decorators-legacy","importAttributes"]})}catch(b){return{source:e,manual:[`${t} \u65E0\u6CD5\u9759\u6001\u89E3\u6790\uFF1A${b.message}`],blocked:!0}}let d=new Set;N(p,b=>{b.type==="Identifier"&&d.add(b.name)});let x=u(b=>{let S="__epx"+b;for(;d.has(S);)S+="_";return d.add(S),S},"unique");function k(b,S,f=!1){b.source==="@epxing/core/runtime"&&["runtimeStore","runtimeRouter"].includes(b.name)&&c.add(S);let l=b.name==="*"?`* as ${S}`:`{ ${f?"type ":""}${b.name}${b.name===S?"":" as "+S} }`;i.add(`import ${l} from '${b.source}'`)}u(k,"addImport");function w(b,S,f){let l=[],m=[];if(N(p,(h,E)=>{if(!(!["Identifier","JSXIdentifier"].includes(h.type)||h.name!==b||h.start>=f.start&&h.end<=f.end))if((E?.type==="MemberExpression"||E?.type==="OptionalMemberExpression")&&E.object===h){let $=E.computed?E.property.type==="StringLiteral"?E.property.value:null:E.property.name,M=$&&S($);M?l.push({node:E,target:M,property:$}):m.push($||"\u52A8\u6001\u5C5E\u6027")}else m.push("\u76F4\u63A5\u5F15\u7528\u6216\u540C\u540D\u5C40\u90E8\u7ED1\u5B9A")}),m.length){r.push(`${t}\uFF1A${b} \u542B\u65E0\u6CD5\u786E\u5B9A\u7684\u8BBF\u95EE\uFF08${[...new Set(m)].join("\u3001")}\uFF09\uFF0C\u4FDD\u7559\u65E7\u5165\u53E3\uFF0C\u9700\u4EBA\u5DE5\u62C6\u5206\u3002`);return}let y=new Map;for(let h of l){let E=h.target.source+":"+h.target.name;if(!y.has(E)){let $=x(h.property);k(h.target,$),y.set(E,$)}s.push({start:h.node.start,end:h.node.end,text:y.get(E)}),h.target.name==="createApp"&&a.add(h.node)}}u(w,"namespace");for(let b of p.program.body){if(!["ImportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"].includes(b.type)||!b.source)continue;let S=b.source.value,f=S==="epx-frame",l=Ut(S);if(f||it(S)||/^@epxing\/component(?:\/|$)/.test(S)||S.startsWith("@epxing/")&&S.includes("/src/")){if(!f&&!l){r.push(`${t}\uFF1A\u5C1A\u65E0\u516C\u5F00\u6620\u5C04 ${S}\uFF0C\u9700\u6539\u7528\u5BF9\u5E94\u5305\u516C\u5F00 API\u3002`);continue}if(b.type!=="ImportDeclaration"){if(f||typeof l=="object"){r.push(`${t}\uFF1A${S} \u7684\u91CD\u5BFC\u51FA\u9700\u4EBA\u5DE5\u62C6\u5206\u3002`);continue}s.push({start:b.source.start,end:b.source.end,text:JSON.stringify(l)});continue}if(!b.specifiers.length){f||typeof l=="object"?r.push(`${t}\uFF1A\u526F\u4F5C\u7528\u5BFC\u5165 ${S} \u65E0\u6CD5\u6620\u5C04\u3002`):s.push({start:b.source.start,end:b.source.end,text:JSON.stringify(l)});continue}for(let y of b.specifiers){let h=y.local.name;if(f||l==="@epxing/utils"&&y.type!=="ImportSpecifier")if(y.type!=="ImportSpecifier")w(h,E=>l==="@epxing/utils"&&K["@epxing/utils"].exports[E]?{source:"@epxing/utils",name:E}:ue(E),b);else{let E=y.imported.name||y.imported.value,$=ue(E);if(!$){r.push(`${t}\uFF1A\u65E7\u6839\u5BFC\u51FA ${E} \u4E0D\u552F\u4E00\u6216\u5C1A\u672A\u516C\u5F00\uFF0C\u9700\u4EBA\u5DE5\u9009\u62E9\u3002`);continue}k($,h,b.importKind==="type"||y.importKind==="type"),$.name==="createApp"&&a.add(h)}else{let E=typeof l=="string"?{source:l}:l,$=y.type==="ImportDefaultSpecifier"?E.defaultName||"default":y.type==="ImportNamespaceSpecifier"?"*":y.imported.name||y.imported.value;if(E.source==="@epxing/utils"&&y.type==="ImportSpecifier"&&!K["@epxing/utils"].exports[$]){let M=ue($);M?k(M,h):r.push(`${t}\uFF1Autils \u7684\u65E7\u5BFC\u51FA ${$} \u5C1A\u65E0\u786E\u5B9A\u6620\u5C04\u3002`);continue}$==="default"?i.add(`import ${h} from '${E.source}'`):k({source:E.source,name:$},h,b.importKind==="type"||y.importKind==="type"),$==="createApp"&&E.source==="@epxing/core"&&a.add(h)}}s.push({start:b.start,end:b.end,text:""})}}if(N(p,(b,S)=>{b.type!=="StringLiteral"||!it(b.value)||S?.type==="ImportDeclaration"||/Export/.test(S?.type||"")||S?.type==="CallExpression"&&(S.callee.type==="Import"||S.callee.name==="require")&&r.push(`${t}\uFF1A\u52A8\u6001\u5BFC\u5165/require ${b.value} \u9700\u8981\u4EBA\u5DE5\u6539\u5199\u3002`)}),n&&a.size){let b=!1,S=1/0;N(p,f=>{if(f.type==="VariableDeclaration")for(let l of f.declarations){let m=l.init;if(m?.type!=="CallExpression"||l.id.type!=="Identifier"||!a.has(m.callee)&&!a.has(m.callee?.name))continue;let y=l.id.name;if(S=Math.min(S,m.start),!m.arguments.length){let $=x("CreateFrameRouter");k({source:"@epxing/core",name:"createFrameRouter"},$),s.push({start:m.end-1,end:m.end-1,text:`{ router: ${$}() }`})}let h=x("Components"),E=x("Business");i.add(`import ${h} from '@epxing/components'`),i.add(`import ${E} from '@epxing/business'`);for(let $ of["@epxing/theme",...Fe(o)?[]:we])!e.includes(`'${$}'`)&&!e.includes(`"${$}"`)&&i.add(`import '${$}'`);s.push({start:f.end,end:f.end,text:`
|
|
21
|
-
${y}.use(${
|
|
17
|
+
`+c.body.replace(/^\n?/,"");o=o.slice(0,a.index)+a[1]+m+a[3]+o.slice(a.index+a[0].length),s+=c.count}let p=o.replace(/<script(?:\s[^>]*)?>[\s\S]*?<\/script>/,"");/require\(\s*['"](?:@\/|\.\.?\/)[^'"]+\.(?:png|jpe?g|gif|svg|webp|bmp|ico)['"]\s*\)/i.test(p)&&(r=!0)}}else{let a=Ze(o);a.count&&(o=a.imports+`
|
|
18
|
+
`+a.body,s+=a.count)}return{src:o,count:s,templateAsset:r}}u(Qe,"viteSourceCodemod");function et(e){let t=e,n=0;t=t.replace(/\bdomPropsInnerHTML=/g,()=>(n++,"innerHTML=")),t=t.replace(/\bdomPropsValue=/g,()=>(n++,"value=")),t=t.replace(/\bnativeOn([A-Z]\w*)=/g,(o,i)=>(n++,"on"+i+"=")),t=t.replace(/\bscopedSlots=\{\{/g,()=>(n++,"v-slots={{"));let s=[],r=t.search(/<script\b/);if(r>=0){let o={};for(let i of t.slice(r).matchAll(/\bslot=["']([^"']+)["']/g))o[i[1]]=(o[i[1]]||0)+1;for(let i of Object.keys(o))s.push(`JSX \u5177\u540D\u63D2\u69FD slot="${i}" \xD7${o[i]} \u2192 \u9700\u4EBA\u5DE5\u6539 v-slots\uFF08el-popover reference / el-dialog footer\xB7title \u4F1A\u5931\u6548\uFF1Bel-dropdown dropdown \u901A\u5E38\u4ECD\u6B63\u5E38\uFF0C\u9010\u4E2A\u4E0A\u771F\u73AF\u5883\u70B9\u5F00\u786E\u8BA4\uFF09`)}return{src:t,count:n,warnings:s}}u(et,"fixJsxVue2");var nt=ke(Ee(),1);var Nt=u(e=>e&&!e.computed&&(e.key?.name==="runtime"||e.key?.value==="runtime"),"isRuntime"),tt=u(e=>e?.type==="ObjectExpression"&&Nt(e.properties.at(-1))&&e.properties.at(-1).value?.value==="vue3","hasVue3");function ot(e){try{let t=(0,nt.parse)(e,{sourceType:"module",plugins:["jsx"]}),n=t.program.body.find(m=>m.type==="ExportDefaultDeclaration");if(!n)return{src:e,marked:!1,reason:"\u672A\u627E\u5230\u9ED8\u8BA4\u5BFC\u51FA\u7684\u5E93\u5BF9\u8C61"};let s=n.declaration,r=t.program.body[t.program.body.indexOf(n)-1]?.expression;if(s.type==="Identifier"&&r?.type==="AssignmentExpression"&&r.left.type==="MemberExpression"&&!r.left.computed&&r.left.object.name===s.name&&r.left.property.name==="runtime"&&r.right.value==="vue3")return{src:e,marked:!0};let o=s.type==="CallExpression"&&s.callee.type==="MemberExpression"&&!s.callee.computed&&s.callee.object.name==="Object"&&s.callee.property.name==="assign";if(tt(s)||o&&tt(s.arguments.at(-1)))return{src:e,marked:!0};let i=e.slice(n.start,n.end),a=i.replace(/^export\s+default\b/,"").trim().replace(/;$/,"");if(a===i)return{src:e,marked:!1,reason:"\u9ED8\u8BA4\u5BFC\u51FA\u8BED\u6CD5\u4E0D\u652F\u6301\u81EA\u52A8\u6539\u5199"};let c=/^(Function|Class)Declaration$/.test(s.type)&&s.id?`${a}
|
|
19
|
+
${s.id.name}.runtime = 'vue3'
|
|
20
|
+
export default ${s.id.name}`:`export default Object.assign(${a}, { runtime: 'vue3' })`;return{src:e.slice(0,n.start)+c+";"+e.slice(n.end),marked:!0}}catch(t){return{src:e,marked:!1,reason:t.message}}}u(ot,"markLibraryRuntime");var X=ke(Ee(),1);var Y={"@epxing/core":{package:"@epxing/core",exports:{publishCoreRuntime:["publishCoreRuntime"],createCore:["createCore"],installCore:["installCore"],createApp:["createApp"],ComponentMixin:["ComponentMixin"],GlobalMixin:["GlobalMixin"],mixins:["mixins"],axios:["axios"],http:["http"],util:["util"],getSystemMeta:["getSystemMeta"],getFileUrl:["getFileUrl"],getSysId:["getSysId"],toLogin:["toLogin"],usePlugin:["usePlugin"],runExpByScope:["runExpByScope"],FieldFactory:["FieldFactory"],FieldFactoryClass:["FieldFactoryClass"],createFieldFactory:["createFieldFactory"],Meta:["Meta"],PdfViewer:["PdfViewer"],createFrameStore:["createFrameStore"],createStoreModules:["createStoreModules"],storeModules:["storeModules"],createFrameRouter:["createFrameRouter"],routerConfig:["routerConfig"],createEventBus:["createEventBus"],getEventBus:["getEventBus"],getApp:["getApp"],setApp:["setApp"],registerComponent:["registerComponent"],resolveComponent:["resolveComponent"],configureRuntime:["configureRuntime"],registerRouteComponents:["registerRouteComponents"],nav:["nav"],default:["default"]}},"@epxing/utils":{package:"@epxing/utils",exports:{Config:["Config"],Page:["Page"],placeholder:["placeholder"],storage:["storage"],getXsrfToken:["getXsrfToken"],setXsrfToken:["setXsrfToken"],cookie:["cookie"],moment:["moment"],dateTime:["dateTime"],createMoment:["createMoment"],lodash:["lodash"],PLACEHOLDER_RE:["PLACEHOLDER_RE"],lookup:["lookup"],resolveKey:["resolveKey"],resolvePlaceholders:["resolvePlaceholders"],isDate:["isDate"],getDayCountOfMonth:["getDayCountOfMonth"],getDayCountOfYear:["getDayCountOfYear"],nextDate:["nextDate"],nextMonth:["nextMonth"],prevYear:["prevYear"],nextYear:["nextYear"],range:["range"],modifyDate:["modifyDate"],modifyTime:["modifyTime"],modifyWithTimeString:["modifyWithTimeString"],hasClass:["hasClass"],arrayFindIndex:["arrayFindIndex"],coerceTruthyValueToArray:["coerceTruthyValueToArray"],cloneDeep:["cloneDeep"],isNil:["isNil"],isEmpty:["isEmpty"],isObject:["isObject"],isEqual:["isEqual"],assignWith:["assignWith"],debounce:["debounce"],throttle:["throttle"],get:["get"],set:["set"]}},"@epxing/components":{package:"@epxing/components",exports:{install:["install"],AddForm:["AddForm"],AddFormItem:["AddFormItem"],AiImportPage:["AiImportPage"],AiImport:["AiImport"],AiAgentPage:["AiAgentPage"],AiCallMethod:["AiCallMethod"],AiCallMethodCreate:["AiCallMethodCreate"],DbSourceCreate:["DbSourceCreate"],DbTableBrowser:["DbTableBrowser"],MetaFromDatabase:["MetaFromDatabase"],AiChatPage:["AiChatPage"],WikiSite:["WikiSite"],AiMetadataAssistant:["AiMetadataAssistant"],Alert:["Alert"],AppIndex:["AppIndex"],AppNav:["AppNav"],AppTabs:["AppTabs"],ApplyForm:["ApplyForm"],ApprovalIndex:["ApprovalIndex"],ApprovalIndexPage:["ApprovalIndexPage"],BasePage:["BasePage"],Button:["Button"],Card:["Card"],CardFormItem:["CardFormItem"],ActProcessFormItem:["ActProcessFormItem"],Carousel:["Carousel"],CategoryList:["CategoryList"],ReportChart:["ReportChart"],Chart:["Chart"],CheckHistory:["CheckHistory"],Collapse:["Collapse"],ColorPicker:["ColorPicker"],Component:["Component"],Contacts:["Contacts"],Div:["Div"],Dropdown:["Dropdown"],EditEntityList:["EditEntityList"],Empty:["Empty"],EntityAddPage:["EntityAddPage"],EntityApplyPage:["EntityApplyPage"],EntityCardList:["EntityCardList"],EntityList:["EntityList"],EntityListFind:["EntityListFind"],EntityListFindPage:["EntityListFindPage"],EntityListPage:["EntityListPage"],EntityNoSubmitSubList:["EntityNoSubmitSubList"],EntitySubGrid:["EntitySubGrid"],EntitySubGridItem:["EntitySubGridItem"],EntitySubList:["EntitySubList"],EntityTreeFind:["EntityTreeFind"],EntityTreeFindPage:["EntityTreeFindPage"],EntityVirtualList:["EntityVirtualList"],Export:["Export"],ExportFile:["ExportFile"],FlowNumStatistic:["FlowNumStatistic"],Footer:["Footer"],Form:["Form"],FormItem:["FormItem"],CheckBox:["CheckBox"],Color:["Color"],Date:["Date"],File:["File"],Input:["Input"],Number:["Number"],FormHtml:["FormHtml"],Object:["Object"],Photo:["Photo"],Radio:["Radio"],Rule:["Rule"],Scope:["Scope"],Select:["Select"],Switch:["Switch"],FormTag:["FormTag"],Textarea:["Textarea"],FormField:["FormField"],Formula:["Formula"],FormulaEditor:["FormulaEditor"],Gauge:["Gauge"],Grid:["Grid"],GridItem:["GridItem"],Header:["Header"],HeaderBreadcrumb:["HeaderBreadcrumb"],Html:["Html"],TabTags:["TabTags"],TabsBar:["TabsBar"],AppSettings:["AppSettings"],Icon:["Icon"],Iframe:["Iframe"],Image:["Image"],Import:["Import"],ImportFile:["ImportFile"],LayoutComponent:["LayoutComponent"],Link:["Link"],List:["List"],LoadPage:["LoadPage"],Login:["Login"],MEntityAddPage:["MEntityAddPage"],MEntityDeptFind:["MEntityDeptFind"],MEntityList:["MEntityList"],MEntityListFind:["MEntityListFind"],MEntityNoSubmitSubList:["MEntityNoSubmitSubList"],MEntityTreeFind:["MEntityTreeFind"],MEntityUserFind:["MEntityUserFind"],MEntitySubList:["MEntitySubList"],Menu:["Menu"],MenuItem:["MenuItem"],MenuIndex:["MenuIndex"],Mine:["Mine"],ModuleIndexPage:["ModuleIndexPage"],ModuleList:["ModuleList"],ModuleListPage:["ModuleListPage"],ModuleTabsPage:["ModuleTabsPage"],NavAddForm:["NavAddForm"],CardNum:["CardNum"],NumStatistic:["NumStatistic"],NumItem:["NumItem"],NumSubItem:["NumSubItem"],OrgChart:["OrgChart"],Page:["Page"],PageHelp:["PageHelp"],PageTabs:["PageTabs"],Pagination:["Pagination"],Progress:["Progress"],ProcessChart:["ProcessChart"],Report:["Report"],ReportHtml:["ReportHtml"],ReportPreview:["ReportPreview"],RouterView:["RouterView"],ScopeComponent:["ScopeComponent"],Search:["Search"],SearchBar:["SearchBar"],SearchList:["SearchList"],Step:["Step"],StepItem:["StepItem"],TabBar:["TabBar"],Tabs:["Tabs"],Tag:["Tag"],TaskList:["TaskList"],TaskListPage:["TaskListPage"],Template:["Template"],Text:["Text"],TextEditor:["TextEditor"],Title:["Title"],UpdateForm:["UpdateForm"],UpdateFormItem:["UpdateFormItem"],UpdateSubList:["UpdateSubList"],Video:["Video"],ConfigPage:["ConfigPage"],default:["default"]}},"@epxing/business":{package:"@epxing/business",exports:{UserFind:["UserFind"],App:["App"],DeptFind:["DeptFind"],HeaderNav:["HeaderNav"],EntityTreeManage:["EntityTreeManage"],PageCatalog:["PageCatalog"],ReportFormList:["ReportFormList"],ReportFormListPage:["ReportFormListPage"],ExcelPreviewPage:["ExcelPreviewPage"]}},"@epxing/designer":{package:"@epxing/designer",exports:{ProcessFormItemVisual:["ProcessFormItemVisual"],VisualComponent:["VisualComponent"],VisualConfigPage:["VisualConfigPage"],VisualEntityList:["VisualEntityList"],VisualEntitySubList:["VisualEntitySubList"],VisualConfigField:["VisualConfigField"],VisualConfigListField:["VisualConfigListField"],VisualConfigOrderField:["VisualConfigOrderField"],PageDesigner:["PageDesigner"],CardFormItemVisual:["CardFormItemVisual"],CarouselVisual:["CarouselVisual"],CollapseVisual:["CollapseVisual"],DropdownVisual:["DropdownVisual"],LayoutConfig:["LayoutConfig"],ListVisual:["ListVisual"],MEntityListFindVisual:["MEntityListFindVisual"],TabsConfig:["TabsConfig"],widgetPreviews:["widgetPreviews"]}},"@epxing/business/app":{package:"@epxing/business",exports:{default:["App"]}},"@epxing/business/user-find":{package:"@epxing/business",exports:{default:["UserFind"]}},"@epxing/business/dept-find":{package:"@epxing/business",exports:{default:["DeptFind"]}},"@epxing/business/header-nav":{package:"@epxing/business",exports:{default:["HeaderNav"]}},"@epxing/business/entity-tree-manage":{package:"@epxing/business",exports:{default:["EntityTreeManage"]}},"@epxing/business/page-catalog":{package:"@epxing/business",exports:{default:["PageCatalog"]}},"@epxing/business/report-form-list":{package:"@epxing/business",exports:{default:["ReportFormList"]}},"@epxing/business/report-form-list-page":{package:"@epxing/business",exports:{default:["ReportFormListPage"]}},"@epxing/business/excel-preview-page":{package:"@epxing/business",exports:{default:["ExcelPreviewPage"]}},"@epxing/designer/visual-component":{package:"@epxing/designer",exports:{default:["VisualComponent"]}},"@epxing/designer/visual-entity-list":{package:"@epxing/designer",exports:{default:["VisualEntityList"]}},"@epxing/designer/visual-entity-sub-list":{package:"@epxing/designer",exports:{default:["VisualEntitySubList"]}},"@epxing/designer/page-designer":{package:"@epxing/designer",exports:{default:["PageDesigner"]}},vue:{package:"vue",exports:{BaseTransition:["BaseTransition"],BaseTransitionPropsValidators:["BaseTransitionPropsValidators"],Comment:["Comment"],DeprecationTypes:["DeprecationTypes"],EffectScope:["EffectScope"],ErrorCodes:["ErrorCodes"],ErrorTypeStrings:["ErrorTypeStrings"],Fragment:["Fragment"],KeepAlive:["KeepAlive"],ReactiveEffect:["ReactiveEffect"],Static:["Static"],Suspense:["Suspense"],Teleport:["Teleport"],Text:["Text"],TrackOpTypes:["TrackOpTypes"],Transition:["Transition"],TransitionGroup:["TransitionGroup"],TriggerOpTypes:["TriggerOpTypes"],VueElement:["VueElement"],__esModule:["__esModule"],assertNumber:["assertNumber"],callWithAsyncErrorHandling:["callWithAsyncErrorHandling"],callWithErrorHandling:["callWithErrorHandling"],camelize:["camelize"],capitalize:["capitalize"],cloneVNode:["cloneVNode"],compatUtils:["compatUtils"],compile:["compile"],computed:["computed"],createApp:["createApp"],createBlock:["createBlock"],createCommentVNode:["createCommentVNode"],createElementBlock:["createElementBlock"],createElementVNode:["createElementVNode"],createHydrationRenderer:["createHydrationRenderer"],createPropsRestProxy:["createPropsRestProxy"],createRenderer:["createRenderer"],createSSRApp:["createSSRApp"],createSlots:["createSlots"],createStaticVNode:["createStaticVNode"],createTextVNode:["createTextVNode"],createVNode:["createVNode"],customRef:["customRef"],defineAsyncComponent:["defineAsyncComponent"],defineComponent:["defineComponent"],defineCustomElement:["defineCustomElement"],defineEmits:["defineEmits"],defineExpose:["defineExpose"],defineModel:["defineModel"],defineOptions:["defineOptions"],defineProps:["defineProps"],defineSSRCustomElement:["defineSSRCustomElement"],defineSlots:["defineSlots"],devtools:["devtools"],effect:["effect"],effectScope:["effectScope"],getCurrentInstance:["getCurrentInstance"],getCurrentScope:["getCurrentScope"],getCurrentWatcher:["getCurrentWatcher"],getTransitionRawChildren:["getTransitionRawChildren"],guardReactiveProps:["guardReactiveProps"],h:["h"],handleError:["handleError"],hasInjectionContext:["hasInjectionContext"],hydrate:["hydrate"],hydrateOnIdle:["hydrateOnIdle"],hydrateOnInteraction:["hydrateOnInteraction"],hydrateOnMediaQuery:["hydrateOnMediaQuery"],hydrateOnVisible:["hydrateOnVisible"],initCustomFormatter:["initCustomFormatter"],initDirectivesForSSR:["initDirectivesForSSR"],inject:["inject"],isMemoSame:["isMemoSame"],isProxy:["isProxy"],isReactive:["isReactive"],isReadonly:["isReadonly"],isRef:["isRef"],isRuntimeOnly:["isRuntimeOnly"],isShallow:["isShallow"],isVNode:["isVNode"],markRaw:["markRaw"],mergeDefaults:["mergeDefaults"],mergeModels:["mergeModels"],mergeProps:["mergeProps"],nextTick:["nextTick"],nodeOps:["nodeOps"],normalizeClass:["normalizeClass"],normalizeProps:["normalizeProps"],normalizeStyle:["normalizeStyle"],onActivated:["onActivated"],onBeforeMount:["onBeforeMount"],onBeforeUnmount:["onBeforeUnmount"],onBeforeUpdate:["onBeforeUpdate"],onDeactivated:["onDeactivated"],onErrorCaptured:["onErrorCaptured"],onMounted:["onMounted"],onRenderTracked:["onRenderTracked"],onRenderTriggered:["onRenderTriggered"],onScopeDispose:["onScopeDispose"],onServerPrefetch:["onServerPrefetch"],onUnmounted:["onUnmounted"],onUpdated:["onUpdated"],onWatcherCleanup:["onWatcherCleanup"],openBlock:["openBlock"],patchProp:["patchProp"],popScopeId:["popScopeId"],provide:["provide"],proxyRefs:["proxyRefs"],pushScopeId:["pushScopeId"],queuePostFlushCb:["queuePostFlushCb"],reactive:["reactive"],readonly:["readonly"],ref:["ref"],registerRuntimeCompiler:["registerRuntimeCompiler"],render:["render"],renderList:["renderList"],renderSlot:["renderSlot"],resolveComponent:["resolveComponent"],resolveDirective:["resolveDirective"],resolveDynamicComponent:["resolveDynamicComponent"],resolveFilter:["resolveFilter"],resolveTransitionHooks:["resolveTransitionHooks"],setBlockTracking:["setBlockTracking"],setDevtoolsHook:["setDevtoolsHook"],setTransitionHooks:["setTransitionHooks"],shallowReactive:["shallowReactive"],shallowReadonly:["shallowReadonly"],shallowRef:["shallowRef"],ssrContextKey:["ssrContextKey"],ssrUtils:["ssrUtils"],stop:["stop"],toDisplayString:["toDisplayString"],toHandlerKey:["toHandlerKey"],toHandlers:["toHandlers"],toRaw:["toRaw"],toRef:["toRef"],toRefs:["toRefs"],toValue:["toValue"],transformVNodeArgs:["transformVNodeArgs"],triggerRef:["triggerRef"],unref:["unref"],useAttrs:["useAttrs"],useCssModule:["useCssModule"],useCssVars:["useCssVars"],useHost:["useHost"],useId:["useId"],useModel:["useModel"],useSSRContext:["useSSRContext"],useShadowRoot:["useShadowRoot"],useSlots:["useSlots"],useTemplateRef:["useTemplateRef"],useTransitionState:["useTransitionState"],vModelCheckbox:["vModelCheckbox"],vModelDynamic:["vModelDynamic"],vModelRadio:["vModelRadio"],vModelSelect:["vModelSelect"],vModelText:["vModelText"],vShow:["vShow"],version:["version"],warn:["warn"],watch:["watch"],watchEffect:["watchEffect"],watchPostEffect:["watchPostEffect"],watchSyncEffect:["watchSyncEffect"],withAsyncContext:["withAsyncContext"],withCtx:["withCtx"],withDefaults:["withDefaults"],withDirectives:["withDirectives"],withKeys:["withKeys"],withMemo:["withMemo"],withModifiers:["withModifiers"],withScopeId:["withScopeId"]}},vuex:{package:"vuex",exports:{Store:["Store"],createLogger:["createLogger"],createNamespacedHelpers:["createNamespacedHelpers"],createStore:["createStore"],default:["default"],install:["install"],mapActions:["mapActions"],mapGetters:["mapGetters"],mapMutations:["mapMutations"],mapState:["mapState"],storeKey:["storeKey"],useStore:["useStore"],version:["version"]}},"@epxing/components/add-form":{package:"@epxing/components",exports:{default:["AddForm"]}},"@epxing/components/add-form-item":{package:"@epxing/components",exports:{default:["AddFormItem"]}},"@epxing/components/ai-import-page":{package:"@epxing/components",exports:{default:["AiImportPage"]}},"@epxing/components/ai-import":{package:"@epxing/components",exports:{default:["AiImport"]}},"@epxing/components/ai-agent-page":{package:"@epxing/components",exports:{default:["AiAgentPage"]}},"@epxing/components/ai-call-method":{package:"@epxing/components",exports:{default:["AiCallMethod"]}},"@epxing/components/ai-call-method/AiCallMethodCreate.vue":{package:"@epxing/components",exports:{default:["AiCallMethodCreate"]}},"@epxing/components/db-source-create/DbSourceCreate.vue":{package:"@epxing/components",exports:{default:["DbSourceCreate"]}},"@epxing/components/db-table-browser/DbTableBrowser.vue":{package:"@epxing/components",exports:{default:["DbTableBrowser"]}},"@epxing/components/meta-from-database/MetaFromDatabase.vue":{package:"@epxing/components",exports:{default:["MetaFromDatabase"]}},"@epxing/components/ai-chat-page":{package:"@epxing/components",exports:{default:["AiChatPage"]}},"@epxing/components/wiki-site":{package:"@epxing/components",exports:{default:["WikiSite"]}},"@epxing/components/ai-metadata-assistant":{package:"@epxing/components",exports:{default:["AiMetadataAssistant"]}},"@epxing/components/alert":{package:"@epxing/components",exports:{default:["Alert"]}},"@epxing/components/app-index":{package:"@epxing/components",exports:{default:["AppIndex"]}},"@epxing/components/app-nav":{package:"@epxing/components",exports:{default:["AppNav"]}},"@epxing/components/app-tabs":{package:"@epxing/components",exports:{default:["AppTabs"]}},"@epxing/components/apply-form":{package:"@epxing/components",exports:{default:["ApplyForm"]}},"@epxing/components/approval-index":{package:"@epxing/components",exports:{default:["ApprovalIndex"]}},"@epxing/components/approval-index-page":{package:"@epxing/components",exports:{default:["ApprovalIndexPage"]}},"@epxing/components/base-page":{package:"@epxing/components",exports:{default:["BasePage"]}},"@epxing/components/button":{package:"@epxing/components",exports:{default:["Button"]}},"@epxing/components/card":{package:"@epxing/components",exports:{default:["Card"]}},"@epxing/components/card-form-item":{package:"@epxing/components",exports:{default:["CardFormItem"]}},"@epxing/components/act-process-form-item":{package:"@epxing/components",exports:{default:["ActProcessFormItem"]}},"@epxing/components/carousel":{package:"@epxing/components",exports:{default:["Carousel"]}},"@epxing/components/category-list":{package:"@epxing/components",exports:{default:["CategoryList"]}},"@epxing/components/report-chart":{package:"@epxing/components",exports:{default:["ReportChart"]}},"@epxing/components/chart":{package:"@epxing/components",exports:{default:["Chart"]}},"@epxing/components/check-history":{package:"@epxing/components",exports:{default:["CheckHistory"]}},"@epxing/components/collapse":{package:"@epxing/components",exports:{default:["Collapse"]}},"@epxing/components/color-picker":{package:"@epxing/components",exports:{default:["ColorPicker"]}},"@epxing/components/component":{package:"@epxing/components",exports:{default:["Component"]}},"@epxing/components/contacts":{package:"@epxing/components",exports:{default:["Contacts"]}},"@epxing/components/div":{package:"@epxing/components",exports:{default:["Div"]}},"@epxing/components/dropdown":{package:"@epxing/components",exports:{default:["Dropdown"]}},"@epxing/components/edit-entity-list":{package:"@epxing/components",exports:{default:["EditEntityList"]}},"@epxing/components/empty":{package:"@epxing/components",exports:{default:["Empty"]}},"@epxing/components/entity-add-page":{package:"@epxing/components",exports:{default:["EntityAddPage"]}},"@epxing/components/entity-apply-page":{package:"@epxing/components",exports:{default:["EntityApplyPage"]}},"@epxing/components/entity-card-list":{package:"@epxing/components",exports:{default:["EntityCardList"]}},"@epxing/components/entity-list":{package:"@epxing/components",exports:{default:["EntityList"],Mobile:["EntityList","Mobile"]}},"@epxing/components/entity-list-find":{package:"@epxing/components",exports:{default:["EntityListFind"]}},"@epxing/components/entity-list-find-page":{package:"@epxing/components",exports:{default:["EntityListFindPage"]}},"@epxing/components/entity-list-page":{package:"@epxing/components",exports:{default:["EntityListPage"]}},"@epxing/components/entity-no-submit-sub-list":{package:"@epxing/components",exports:{default:["EntityNoSubmitSubList"]}},"@epxing/components/entity-sub-grid":{package:"@epxing/components",exports:{default:["EntitySubGrid"],EntitySubGridItem:["EntitySubGridItem"]}},"@epxing/components/entity-sub-list":{package:"@epxing/components",exports:{default:["EntitySubList"]}},"@epxing/components/entity-tree-find":{package:"@epxing/components",exports:{default:["EntityTreeFind"]}},"@epxing/components/entity-tree-find-page":{package:"@epxing/components",exports:{default:["EntityTreeFindPage"]}},"@epxing/components/entity-virtual-list":{package:"@epxing/components",exports:{default:["EntityVirtualList"]}},"@epxing/components/export":{package:"@epxing/components",exports:{default:["Export"]}},"@epxing/components/export-file":{package:"@epxing/components",exports:{default:["ExportFile"]}},"@epxing/components/flow-num":{package:"@epxing/components",exports:{default:["FlowNumStatistic"]}},"@epxing/components/footer":{package:"@epxing/components",exports:{default:["Footer"]}},"@epxing/components/form":{package:"@epxing/components",exports:{default:["Form"]}},"@epxing/components/form-item":{package:"@epxing/components",exports:{default:["FormItem"],CheckBox:["CheckBox"],Color:["Color"],Date:["Date"],File:["File"],Input:["Input"],Number:["Number"],Html:["FormHtml"],Object:["Object"],Photo:["Photo"],Radio:["Radio"],Rule:["Rule"],Scope:["Scope"],Select:["Select"],Switch:["Switch"],Tag:["FormTag"],Textarea:["Textarea"]}},"@epxing/components/form-field":{package:"@epxing/components",exports:{default:["FormField"]}},"@epxing/components/formula":{package:"@epxing/components",exports:{default:["Formula"]}},"@epxing/components/formula-editor":{package:"@epxing/components",exports:{default:["FormulaEditor"]}},"@epxing/components/gauge":{package:"@epxing/components",exports:{default:["Gauge"]}},"@epxing/components/grid":{package:"@epxing/components",exports:{default:["Grid"],GridItem:["GridItem"]}},"@epxing/components/header":{package:"@epxing/components",exports:{default:["Header"],Breadcrumb:["HeaderBreadcrumb"]}},"@epxing/components/html":{package:"@epxing/components",exports:{default:["Html"]}},"@epxing/components/tab-tags":{package:"@epxing/components",exports:{default:["TabTags"]}},"@epxing/components/tabs-bar":{package:"@epxing/components",exports:{default:["TabsBar"]}},"@epxing/components/app-settings":{package:"@epxing/components",exports:{default:["AppSettings"]}},"@epxing/components/icon":{package:"@epxing/components",exports:{default:["Icon"]}},"@epxing/components/iframe":{package:"@epxing/components",exports:{default:["Iframe"]}},"@epxing/components/image":{package:"@epxing/components",exports:{default:["Image"]}},"@epxing/components/import":{package:"@epxing/components",exports:{default:["Import"]}},"@epxing/components/import-file":{package:"@epxing/components",exports:{default:["ImportFile"]}},"@epxing/components/layout":{package:"@epxing/components",exports:{default:["LayoutComponent"]}},"@epxing/components/link":{package:"@epxing/components",exports:{default:["Link"]}},"@epxing/components/list":{package:"@epxing/components",exports:{default:["List"]}},"@epxing/components/load-page":{package:"@epxing/components",exports:{default:["LoadPage"]}},"@epxing/components/login":{package:"@epxing/components",exports:{default:["Login"]}},"@epxing/components/m-entity-add-page":{package:"@epxing/components",exports:{default:["MEntityAddPage"]}},"@epxing/components/m-entity-dept-find":{package:"@epxing/components",exports:{default:["MEntityDeptFind"]}},"@epxing/components/m-entity-list":{package:"@epxing/components",exports:{default:["MEntityList"]}},"@epxing/components/m-entity-list-find":{package:"@epxing/components",exports:{default:["MEntityListFind"]}},"@epxing/components/m-entity-no-submit-sub-list":{package:"@epxing/components",exports:{default:["MEntityNoSubmitSubList"]}},"@epxing/components/m-entity-tree-find":{package:"@epxing/components",exports:{default:["MEntityTreeFind"]}},"@epxing/components/m-entity-user-find":{package:"@epxing/components",exports:{default:["MEntityUserFind"]}},"@epxing/components/m-entity-sub-list":{package:"@epxing/components",exports:{default:["MEntitySubList"]}},"@epxing/components/menu":{package:"@epxing/components",exports:{default:["Menu"],MenuItem:["MenuItem"]}},"@epxing/components/menu-index":{package:"@epxing/components",exports:{default:["MenuIndex"]}},"@epxing/components/mine":{package:"@epxing/components",exports:{default:["Mine"]}},"@epxing/components/module-index-page":{package:"@epxing/components",exports:{default:["ModuleIndexPage"]}},"@epxing/components/module-list":{package:"@epxing/components",exports:{default:["ModuleList"]}},"@epxing/components/module-list-page":{package:"@epxing/components",exports:{default:["ModuleListPage"]}},"@epxing/components/module-tabs-page":{package:"@epxing/components",exports:{default:["ModuleTabsPage"]}},"@epxing/components/nav-add-form":{package:"@epxing/components",exports:{default:["NavAddForm"]}},"@epxing/components/num":{package:"@epxing/components",exports:{default:["CardNum"],Statistic:["NumStatistic"],NumItem:["NumItem"],NumSubItem:["NumSubItem"]}},"@epxing/components/org-chart":{package:"@epxing/components",exports:{default:["OrgChart"]}},"@epxing/components/page":{package:"@epxing/components",exports:{default:["Page"]}},"@epxing/components/page-help":{package:"@epxing/components",exports:{default:["PageHelp"]}},"@epxing/components/page-tabs":{package:"@epxing/components",exports:{default:["PageTabs"]}},"@epxing/components/pagination":{package:"@epxing/components",exports:{default:["Pagination"]}},"@epxing/components/progress":{package:"@epxing/components",exports:{default:["Progress"]}},"@epxing/components/progress-chart":{package:"@epxing/components",exports:{default:["ProcessChart"]}},"@epxing/components/report":{package:"@epxing/components",exports:{default:["Report"]}},"@epxing/components/report-html":{package:"@epxing/components",exports:{default:["ReportHtml"]}},"@epxing/components/report-preview":{package:"@epxing/components",exports:{default:["ReportPreview"]}},"@epxing/components/router-view":{package:"@epxing/components",exports:{default:["RouterView"]}},"@epxing/components/scope":{package:"@epxing/components",exports:{default:["ScopeComponent"]}},"@epxing/components/search":{package:"@epxing/components",exports:{default:["Search"]}},"@epxing/components/search-bar":{package:"@epxing/components",exports:{default:["SearchBar"]}},"@epxing/components/search-list":{package:"@epxing/components",exports:{default:["SearchList"]}},"@epxing/components/step":{package:"@epxing/components",exports:{default:["Step"]}},"@epxing/components/step-item":{package:"@epxing/components",exports:{default:["StepItem"]}},"@epxing/components/tab-bar":{package:"@epxing/components",exports:{default:["TabBar"]}},"@epxing/components/tabs":{package:"@epxing/components",exports:{default:["Tabs"]}},"@epxing/components/tag":{package:"@epxing/components",exports:{default:["Tag"]}},"@epxing/components/task-list":{package:"@epxing/components",exports:{default:["TaskList"]}},"@epxing/components/task-list-page":{package:"@epxing/components",exports:{default:["TaskListPage"]}},"@epxing/components/template":{package:"@epxing/components",exports:{default:["Template"]}},"@epxing/components/text":{package:"@epxing/components",exports:{default:["Text"]}},"@epxing/components/text-editor":{package:"@epxing/components",exports:{default:["TextEditor"]}},"@epxing/components/title":{package:"@epxing/components",exports:{default:["Title"]}},"@epxing/components/update-form":{package:"@epxing/components",exports:{default:["UpdateForm"]}},"@epxing/components/update-form-item":{package:"@epxing/components",exports:{default:["UpdateFormItem"]}},"@epxing/components/update-sub-list":{package:"@epxing/components",exports:{default:["UpdateSubList"]}},"@epxing/components/video":{package:"@epxing/components",exports:{default:["Video"]}},"@epxing/components/config-page":{package:"@epxing/components",exports:{default:["ConfigPage"]}},"@epxing/core/app":{package:"@epxing/core",exports:{setApp:["setApp"],getApp:["getApp"],resolveComponent:["resolveComponent"],registerComponent:["registerComponent"]}},"@epxing/core/http":{package:"@epxing/core",exports:{default:["http"]}},"@epxing/core/axios":{package:"@epxing/core",exports:{default:["axios"]}},"@epxing/core/navigation":{package:"@epxing/core",exports:{nav:["nav"],default:["nav"]}},"@epxing/core/component-mixin":{package:"@epxing/core",exports:{default:["ComponentMixin"]}},"@epxing/core/global-mixin":{package:"@epxing/core",exports:{default:["GlobalMixin"]}},"@epxing/core/field-factory":{package:"@epxing/core",exports:{FieldFactory:["FieldFactoryClass"],createFieldFactory:["createFieldFactory"],default:["FieldFactory"]}},"@epxing/core/meta":{package:"@epxing/core",exports:{default:["Meta"]}},"@epxing/core/pdf-viewer":{package:"@epxing/core",exports:{default:["PdfViewer"]}},"@epxing/core/util":{package:"@epxing/core",exports:{getSystemMeta:["getSystemMeta"],getFileUrl:["getFileUrl"],getSysId:["getSysId"],toLogin:["toLogin"],usePlugin:["usePlugin"],runExpByScope:["runExpByScope"],default:["util"]}},"@epxing/core/store":{package:"@epxing/core",exports:{createStoreModules:["createStoreModules"],storeModules:["storeModules"],createFrameStore:["createFrameStore"]}},"@epxing/core/runtime":{package:"@epxing/core",exports:{configureRuntime:["configureRuntime"],registerRouteComponents:["registerRouteComponents"]}},"@epxing/core/mixins":{package:"@epxing/core",exports:{default:["mixins"],component:["ComponentMixin"],global:["GlobalMixin"]}},"@epxing/core/router":{package:"@epxing/core",exports:{routerConfig:["routerConfig"],createFrameRouter:["createFrameRouter"],default:["routerConfig"]}},"@epxing/core/event-bus":{package:"@epxing/core",exports:{createEventBus:["createEventBus"],getEventBus:["getEventBus"]}},"@epxing/utils/config":{package:"@epxing/utils",exports:{default:["Config"]}},"@epxing/utils/page":{package:"@epxing/utils",exports:{default:["Page"]}},"@epxing/utils/placeholder":{package:"@epxing/utils",exports:{PLACEHOLDER_RE:["PLACEHOLDER_RE"],lookup:["lookup"],resolveKey:["resolveKey"],resolvePlaceholders:["resolvePlaceholders"],default:["placeholder"]}},"@epxing/utils/storage":{package:"@epxing/utils",exports:{getXsrfToken:["getXsrfToken"],setXsrfToken:["setXsrfToken"],default:["storage"]}},"@epxing/utils/date":{package:"@epxing/utils",exports:{isDate:["isDate"],getDayCountOfMonth:["getDayCountOfMonth"],getDayCountOfYear:["getDayCountOfYear"],nextDate:["nextDate"],nextMonth:["nextMonth"],prevYear:["prevYear"],nextYear:["nextYear"],range:["range"],modifyDate:["modifyDate"],modifyTime:["modifyTime"],modifyWithTimeString:["modifyWithTimeString"]}},"@epxing/utils/dom":{package:"@epxing/utils",exports:{hasClass:["hasClass"],arrayFindIndex:["arrayFindIndex"],coerceTruthyValueToArray:["coerceTruthyValueToArray"]}},"@epxing/utils/date-time":{package:"@epxing/utils",exports:{createMoment:["createMoment"],default:["moment"]}},"@epxing/utils/collection":{package:"@epxing/utils",exports:{cloneDeep:["cloneDeep"],isNil:["isNil"],isEmpty:["isEmpty"],isObject:["isObject"],isEqual:["isEqual"],assignWith:["assignWith"],debounce:["debounce"],throttle:["throttle"],get:["get"],set:["set"],default:["lodash"]}}};var st={utils:{config:"Config",page:"page",placeholder:"placeholder",storage:"storage",date:"date-helper",dom:"dom-helper","date-time":"moment-compat",collection:"collection"},core:{app:"app",http:"api/index",axios:"axios",navigation:"navigation","component-mixin":"mixins/component","global-mixin":"mixins/global","field-factory":"runtime-utils/fieldFactory",meta:"runtime-utils/meta","pdf-viewer":"runtime-utils/pdf.viewer",util:"runtime-utils/util",store:"store/create-store",runtime:"runtime-services",mixins:"mixins/index",router:"router/public","event-bus":"vue.bus"},business:{app:"views/App","user-find":"components/UserFind","dept-find":"components/DeptFind",popup:"popup","route-components":"route-components","entity-tree-manage":"components/EntityTreeManage","header-nav":"components/HeaderNav","page-catalog":"components/PageCatalog","report-form-list":"components/ReportFormList","report-form-list-page":"views/ReportFormListPage","excel-preview-page":"views/ExcelPreviewPage"},designer:{"page-designer":"page-designer/index","visual-component":"visual/Component","visual-entity-list":"visual/EntityList","visual-entity-sub-list":"visual/EntitySubList"},dashboard:{tabs:"Tabs",title:"Title",div:"Div",widget:"Widget"}};var _t=["core","components","utils","business","designer"],q=new Map;for(let e of _t)for(let t of Object.keys(Y["@epxing/"+e].exports))["default","install"].includes(t)||(q.has(t)||q.set(t,[]),q.get(t).push({source:"@epxing/"+e,name:t}));for(let e of["Dashboard","DashboardTabs","DashboardTitle","DashboardDiv","DashboardWidget"])q.set(e,[{source:"@epxing/dashboard",name:e}]);var Bt={Vue:{source:"vue",name:"*"},vuex:{source:"vuex",name:"*"},Vuex:{source:"vuex",name:"*"},store:{source:"@epxing/core/runtime",name:"runtimeStore"},router:{source:"@epxing/core/runtime",name:"runtimeRouter"},componentMixin:{source:"@epxing/core",name:"ComponentMixin"},globalMixin:{source:"@epxing/core",name:"GlobalMixin"}},ue=u(e=>Bt[e]||(q.get(e)?.length===1?q.get(e)[0]:null),"fromRoot"),N=u((e,t,n)=>{if(!(!e||typeof e!="object")){e.type&&t(e,n);for(let[s,r]of Object.entries(e))["loc","leadingComments","trailingComments","innerComments","extra"].includes(s)||(Array.isArray(r)?r.forEach(o=>N(o,t,e)):r&&typeof r=="object"&&N(r,t,e))}},"walk"),zt=u(e=>e?.key?.name??e?.key?.value,"keyOf"),it=u(e=>/^(?:epx-frame(?:\/|$)|@epx\/)/.test(e),"oldRoot"),U=u(e=>e.replace(/^@epx\//,"@epxing/").replace(/^@epxing\/component(?=\/|$)/,"@epxing/components"),"canonical"),K=new Map;for(let[e,t]of Object.entries(st))for(let[n,s]of Object.entries(t))K.set(`@epxing/${e}/src/${s}`,`@epxing/${e}/${n}`);for(let[e,t]of Object.entries(Y)){if(!e.startsWith("@epxing/components/"))continue;let n=e.slice(19);K.set("@epxing/components/src/"+n,e);let s=t.exports.default?.[0];s&&K.set(`@epxing/components/src/${n}/${s}`,e)}for(let[e,t]of Object.entries({util:"util",meta:"meta",fieldFactory:"field-factory","pdf.viewer":"pdf-viewer"}))K.set("@epxing/utils/src/"+e,"@epxing/core/"+t);function Ut(e){if(/^@epxing\/component(?:\/|$)/.test(e)&&!e.includes("/src/"))return U(e);if(/^epx-frame\/(core|components|business|designer|dashboard|utils)$/.test(e))return U(e.replace("epx-frame/","@epxing/"));let t={"epx-frame/build/vite-plugin-frame-deps.mjs":"frameDeps","epx-frame/build/vite-plugin-lazy-lib.mjs":"lazyLib","epx-frame/build/vite-plugin-epx-shared.mjs":"epxShared"};if(t[e])return{source:"@epxing/cli/vite",defaultName:t[e]};if(e==="epx-frame/build/vite-plugin-icons.mjs")return"@epxing/icons";if(e.startsWith("epx-frame/packages/theme/src/"))return e.replace("epx-frame/packages/theme/","@epxing/theme/");let n=U(e).replace(/\.(?:vue|js|jsx|mjs)$/,"").replace(/\/index$/,"");return K.has(n)?K.get(n):/^@epxing\/theme\/src\//.test(e)||e.startsWith("@epx/")&&!n.includes("/src/")?U(e):null}u(Ut,"moduleTarget");function rt(e,{filename:t,bootstrap:n,packagesVersion:s}){let r=[],o=[],i=new Set,a=new Set,c=new Set,p;try{p=(0,X.parse)(e,{sourceType:"unambiguous",plugins:["jsx","typescript","decorators-legacy","importAttributes"]})}catch(b){return{source:e,manual:[`${t} \u65E0\u6CD5\u9759\u6001\u89E3\u6790\uFF1A${b.message}`],blocked:!0}}let m=new Set;N(p,b=>{b.type==="Identifier"&&m.add(b.name)});let x=u(b=>{let k="__epx"+b;for(;m.has(k);)k+="_";return m.add(k),k},"unique");function v(b,k,f=!1){b.source==="@epxing/core/runtime"&&["runtimeStore","runtimeRouter"].includes(b.name)&&c.add(k);let l=b.name==="*"?`* as ${k}`:`{ ${f?"type ":""}${b.name}${b.name===k?"":" as "+k} }`;i.add(`import ${l} from '${b.source}'`)}u(v,"addImport");function $(b,k,f){let l=[],d=[];if(N(p,(S,E)=>{if(!(!["Identifier","JSXIdentifier"].includes(S.type)||S.name!==b||S.start>=f.start&&S.end<=f.end))if((E?.type==="MemberExpression"||E?.type==="OptionalMemberExpression")&&E.object===S){let C=E.computed?E.property.type==="StringLiteral"?E.property.value:null:E.property.name,M=C&&k(C);M?l.push({node:E,target:M,property:C}):d.push(C||"\u52A8\u6001\u5C5E\u6027")}else d.push("\u76F4\u63A5\u5F15\u7528\u6216\u540C\u540D\u5C40\u90E8\u7ED1\u5B9A")}),d.length){r.push(`${t}\uFF1A${b} \u542B\u65E0\u6CD5\u786E\u5B9A\u7684\u8BBF\u95EE\uFF08${[...new Set(d)].join("\u3001")}\uFF09\uFF0C\u4FDD\u7559\u65E7\u5165\u53E3\uFF0C\u9700\u4EBA\u5DE5\u62C6\u5206\u3002`);return}let y=new Map;for(let S of l){let E=S.target.source+":"+S.target.name;if(!y.has(E)){let C=x(S.property);v(S.target,C),y.set(E,C)}o.push({start:S.node.start,end:S.node.end,text:y.get(E)}),S.target.name==="createApp"&&a.add(S.node)}}u($,"namespace");for(let b of p.program.body){if(!["ImportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"].includes(b.type)||!b.source)continue;let k=b.source.value,f=k==="epx-frame",l=Ut(k);if(f||it(k)||/^@epxing\/component(?:\/|$)/.test(k)||k.startsWith("@epxing/")&&k.includes("/src/")){if(!f&&!l){r.push(`${t}\uFF1A\u5C1A\u65E0\u516C\u5F00\u6620\u5C04 ${k}\uFF0C\u9700\u6539\u7528\u5BF9\u5E94\u5305\u516C\u5F00 API\u3002`);continue}if(b.type!=="ImportDeclaration"){if(f||typeof l=="object"){r.push(`${t}\uFF1A${k} \u7684\u91CD\u5BFC\u51FA\u9700\u4EBA\u5DE5\u62C6\u5206\u3002`);continue}o.push({start:b.source.start,end:b.source.end,text:JSON.stringify(l)});continue}if(!b.specifiers.length){f||typeof l=="object"?r.push(`${t}\uFF1A\u526F\u4F5C\u7528\u5BFC\u5165 ${k} \u65E0\u6CD5\u6620\u5C04\u3002`):o.push({start:b.source.start,end:b.source.end,text:JSON.stringify(l)});continue}for(let y of b.specifiers){let S=y.local.name;if(f||l==="@epxing/utils"&&y.type!=="ImportSpecifier")if(y.type!=="ImportSpecifier")$(S,E=>l==="@epxing/utils"&&Y["@epxing/utils"].exports[E]?{source:"@epxing/utils",name:E}:ue(E),b);else{let E=y.imported.name||y.imported.value,C=ue(E);if(!C){r.push(`${t}\uFF1A\u65E7\u6839\u5BFC\u51FA ${E} \u4E0D\u552F\u4E00\u6216\u5C1A\u672A\u516C\u5F00\uFF0C\u9700\u4EBA\u5DE5\u9009\u62E9\u3002`);continue}v(C,S,b.importKind==="type"||y.importKind==="type"),C.name==="createApp"&&a.add(S)}else{let E=typeof l=="string"?{source:l}:l,C=y.type==="ImportDefaultSpecifier"?E.defaultName||"default":y.type==="ImportNamespaceSpecifier"?"*":y.imported.name||y.imported.value;if(E.source==="@epxing/utils"&&y.type==="ImportSpecifier"&&!Y["@epxing/utils"].exports[C]){let M=ue(C);M?v(M,S):r.push(`${t}\uFF1Autils \u7684\u65E7\u5BFC\u51FA ${C} \u5C1A\u65E0\u786E\u5B9A\u6620\u5C04\u3002`);continue}C==="default"?i.add(`import ${S} from '${E.source}'`):v({source:E.source,name:C},S,b.importKind==="type"||y.importKind==="type"),C==="createApp"&&E.source==="@epxing/core"&&a.add(S)}}o.push({start:b.start,end:b.end,text:""})}}if(N(p,(b,k)=>{b.type!=="StringLiteral"||!it(b.value)||k?.type==="ImportDeclaration"||/Export/.test(k?.type||"")||k?.type==="CallExpression"&&(k.callee.type==="Import"||k.callee.name==="require")&&r.push(`${t}\uFF1A\u52A8\u6001\u5BFC\u5165/require ${b.value} \u9700\u8981\u4EBA\u5DE5\u6539\u5199\u3002`)}),n&&a.size){let b=!1,k=1/0;N(p,f=>{if(f.type==="VariableDeclaration")for(let l of f.declarations){let d=l.init;if(d?.type!=="CallExpression"||l.id.type!=="Identifier"||!a.has(d.callee)&&!a.has(d.callee?.name))continue;let y=l.id.name;if(k=Math.min(k,d.start),!d.arguments.length){let C=x("CreateFrameRouter");v({source:"@epxing/core",name:"createFrameRouter"},C),o.push({start:d.end-1,end:d.end-1,text:`{ router: ${C}() }`})}let S=x("Components"),E=x("Business");i.add(`import ${S} from '@epxing/components'`),i.add(`import ${E} from '@epxing/business'`);for(let C of["@epxing/theme",...Fe(s)?[]:we])!e.includes(`'${C}'`)&&!e.includes(`"${C}"`)&&i.add(`import '${C}'`);o.push({start:f.end,end:f.end,text:`
|
|
21
|
+
${y}.use(${S})
|
|
22
22
|
${y}.use(${E})
|
|
23
|
-
`}),b=!0}}),b||r.push(`${t}\uFF1A\u672A\u8BC6\u522B const app = createApp(...) \u542F\u52A8\u8BED\u53E5\uFF0C\u9700\u4EBA\u5DE5\u5B89\u88C5\u7EC4\u4EF6\u548C\u4E1A\u52A1\u63D2\u4EF6\u3002`),N(p,(f,l)=>{f.type==="Identifier"&&c.has(f.name)&&f.start<
|
|
23
|
+
`}),b=!0}}),b||r.push(`${t}\uFF1A\u672A\u8BC6\u522B const app = createApp(...) \u542F\u52A8\u8BED\u53E5\uFF0C\u9700\u4EBA\u5DE5\u5B89\u88C5\u7EC4\u4EF6\u548C\u4E1A\u52A1\u63D2\u4EF6\u3002`),N(p,(f,l)=>{f.type==="Identifier"&&c.has(f.name)&&f.start<k&&l?.type==="MemberExpression"&&l.object===f&&r.push(`${t}\uFF1A${f.name} \u5728 createApp \u524D\u4F7F\u7528\uFF1B\u5148\u521B\u5EFA\u4EA7\u54C1 store/router \u5E76\u663E\u5F0F\u4F20\u5165 core\uFF0C\u518D\u5207\u6362\u72EC\u7ACB\u5305\u3002`)})}if(r.length)return{source:e,manual:r,blocked:!0};o.sort((b,k)=>k.start-b.start||k.end-b.end);let A=e;for(let b of o)A=A.slice(0,b.start)+b.text+A.slice(b.end);i.size&&(A=[...i].join(`
|
|
24
24
|
`)+`
|
|
25
|
-
`+A);try{(0,
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
`+A);try{(0,X.parse)(A,{sourceType:"unambiguous",plugins:["jsx","typescript","decorators-legacy","importAttributes"]})}catch(b){return{source:e,manual:[`${t}\uFF1A\u8F6C\u6362\u540E\u8BED\u6CD5\u9A8C\u8BC1\u5931\u8D25\uFF0C\u4FDD\u7559\u539F\u6587\uFF1A${b.message}`],blocked:!0}}return{source:A,manual:r,blocked:!1}}u(rt,"transformScript");function Gt(e,t={}){if(t.filename?.endsWith(".vue")){let n=[],s=!1,r=e.replace(/(<script\b[^>]*>)([\s\S]*?)(<\/script>)/g,(o,i,a,c)=>{let p=rt(a,t);return n.push(...p.manual),s||=p.blocked,i+p.source+c});return{source:s?e:r,manual:n,blocked:s}}return rt(e,t)}u(Gt,"rewritePackageImports");function Ht(e){if(/\binstallLegacyFrame\b/.test(e))return e;let t=(0,X.parse)(e,{sourceType:"module",plugins:["typescript","jsx","importAttributes"]}),n=new Set,s=new Set,r=new Set;for(let o of t.program.body)if(o.type==="ImportDeclaration")for(let i of o.specifiers)o.source.value==="@epxing/core"&&(i.type==="ImportSpecifier"&&i.imported.name==="createApp"?n.add(i.local.name):i.type!=="ImportSpecifier"&&s.add(i.local.name)),/^@epxing\/(?:components|business|dashboard|designer)$/.test(o.source.value)&&i.type==="ImportDefaultSpecifier"&&r.add(i.local.name);for(let o of t.program.body)if(o.type==="VariableDeclaration")for(let i of o.declarations){let a=i.init,c=a?.callee;if(i.id.type!=="Identifier"||a?.type!=="CallExpression"||!n.has(c.name)&&!(c.type==="MemberExpression"&&!c.computed&&s.has(c.object.name)&&c.property.name==="createApp"))continue;let p=i.id.name,m=o.end;for(let v of t.program.body){let $=v.type==="ExpressionStatement"&&v.expression;$?.type==="CallExpression"&&$.callee.type==="MemberExpression"&&!$.callee.computed&&$.callee.object.name===p&&$.callee.property.name==="use"&&r.has($.arguments[0]?.name)&&(m=Math.max(m,v.end))}let x=`
|
|
26
|
+
// \u9700\u8981\u52A0\u8F7D\u4F9D\u8D56 window.frame \u7684\u65E7\u8FDC\u7A0B\u5E93\u65F6\uFF0C\u53D6\u6D88\u5BFC\u5165\u4E0E\u8C03\u7528\u7684\u6CE8\u91CA\uFF08core >= 5.3.0-beta.5\uFF09\u3002
|
|
27
|
+
// installLegacyFrame(${p})
|
|
28
|
+
`;return`// import { installLegacyFrame } from '@epxing/core'
|
|
29
|
+
`+e.slice(0,m)+x+e.slice(m)}return e}u(Ht,"withLegacyFrameHint");function at({read:e,files:t,packagesVersion:n,cliVersion:s="0.5.0-beta.5",templates:r,newVite:o=!1}){let i=[],a=[];if(!/^(?:[~^]?\d+\.\d+\.\d+(?:-[\w.-]+)?|[a-z][\w.-]*)$/.test(n))throw new Error("--packages-version \u9700\u8981 npm \u7248\u672C\u3001\u7248\u672C\u8303\u56F4\u6216\u6807\u7B7E");let c=je(r,n),p=JSON.parse(e("package.json")),m=(e("src/index.js")||"").match(/import\.meta\.glob\(\s*['"]\.\/([^/'"]+)\//)?.[1]||p.name||"product",x=u(l=>l.replaceAll("__NAME__",p.name||"product").replaceAll("__DIRNAME__",m).replaceAll("__PACKAGES_VERSION__",n).replaceAll("__CLI_VERSION__",s),"render"),v=["vite.config.mjs","vite.config.js","vite.config.ts"].find(l=>e(l)!=null);if(!v&&e("webpack.config.js")!=null)return{changes:[],manual:["\u72EC\u7ACB\u5305\u8FDC\u7A0B\u5171\u4EAB\u9700\u8981 Vite\uFF1B\u8BF7\u52A0 --to-vite \u6216\u5148\u624B\u5DE5\u8FC1\u79FB\u6784\u5EFA\u914D\u7F6E\u3002"],blocked:!0};let $=v&&!o?[v]:[],A=new Set,b=Pe(e("src/main.js"),e("src/App.vue"),p.name);for(let l of[...t,...$]){let d=e(l);if(!d||!/epx-frame|@epx(?:ing)?\//.test(d))continue;let y=l==="src/main.js"&&b?{source:x(c["src/main.js"]),manual:[],blocked:!1}:Gt(d,{filename:l,packagesVersion:n,bootstrap:/(?:^|\/)main\.[jt]s$/.test(l)});a.push(...y.manual);let S=y.source;if(!y.blocked&&/(?:^|\/)main\.[jt]s$/.test(l)&&(S=Ht(S)),l===v&&!y.blocked&&!S.includes("epxShared(")){let C=(0,X.parse)(S,{sourceType:"module",plugins:["typescript","jsx","importAttributes"]}),M;N(C,z=>{!M&&z.type==="ObjectProperty"&&zt(z)==="plugins"&&z.value.type==="ArrayExpression"&&(M=z.value)}),M?S=`import { epxShared as __epxShared } from '@epxing/cli/vite'
|
|
30
|
+
`+S.slice(0,M.start+1)+"__epxShared(), "+S.slice(M.start+1):a.push(`${l}\uFF1Aplugins \u6570\u7EC4\u65E0\u6CD5\u786E\u5B9A\uFF0C\u9700\u4EBA\u5DE5\u63A5\u5165 @epxing/cli/vite \u7684 epxShared\u3002`)}let E=l.endsWith(".vue")?[...S.matchAll(/<script\b[^>]*>([\s\S]*?)<\/script>/g)].map(C=>C[1]):[S];for(let C of E){let M=(0,X.parse)(C,{sourceType:"unambiguous",plugins:["typescript","jsx","decorators-legacy","importAttributes"]});N(M,(z,ee)=>{if(z.type!=="StringLiteral"||!/^(?:ImportDeclaration|ExportNamedDeclaration|ExportAllDeclaration)$/.test(ee?.type||"")&&!(ee?.type==="CallExpression"&&(ee.callee.type==="Import"||ee.callee.name==="require")))return;let Se=z.value.match(/^(@epxing\/[\w-]+)/)?.[1];Se&&A.add(Se)})}S!==d&&i.push({file:l,after:S})}if(a.length)return{changes:[],manual:a,blocked:!0};if(o){i.push({file:v||"vite.config.mjs",after:x(c["vite.config.mjs"])});for(let l of["@epxing/cli","@epxing/icons","@epxing/theme"])A.add(l)}p.dependencies||={},p.devDependencies||={};for(let[l,d]of Object.entries(JSON.parse(x(c["package.json"])).dependencies))l.startsWith("@epxing/")&&!A.has(l)&&!["@epxing/core","@epxing/components","@epxing/utils"].includes(l)||(p.dependencies[l]=d);for(let l of["dependencies","devDependencies","peerDependencies"])for(let d of Object.keys(p[l]||{}))if(d.startsWith("@epx/")||U(d)!==d){let y=U(d);p[l][y]=n,delete p[l][d]}else d.startsWith("@epxing/")&&d!=="@epxing/cli"&&(p[l][d]=n);for(let l of A){let d=["@epxing/cli","@epxing/icons"].includes(l),y=d?"devDependencies":"dependencies";p[y][l]=l==="@epxing/cli"?s:n,delete p[d?"dependencies":"devDependencies"][l]}let k=v&&/node_modules\/epx-frame\/lib/.test(e(v)||"")&&!o;k?(p.devDependencies["epx-frame"]=p.dependencies["epx-frame"]||p.devDependencies["epx-frame"],delete p.dependencies["epx-frame"]):(delete p.dependencies["epx-frame"],delete p.devDependencies["epx-frame"]),p.runtime="vue3",i.push({file:"package.json",after:JSON.stringify(p,null,2)+`
|
|
31
|
+
`});let f=e("PRODUCT-GUIDE.md")==null||e("PRODUCT-GUIDE.md").includes("<!-- epxing-generated-product-guide -->")?"PRODUCT-GUIDE.md":"EPXING-PACKAGES-GUIDE.md";return e(f)!=null&&!e(f).includes("<!-- epxing-generated-product-guide -->")?{changes:[],manual:[`${f} \u5DF2\u6709\u81EA\u5B9A\u4E49\u5185\u5BB9\uFF0C\u5148\u6307\u5B9A\u6216\u817E\u51FA\u72EC\u7ACB\u5305\u4F7F\u7528\u8BF4\u660E\u8DEF\u5F84\u540E\u91CD\u8BD5\u3002`],blocked:!0}:(i.push({file:f,after:x(c["PRODUCT-GUIDE.md"])}),{changes:i,manual:k?["\u73B0\u6709 Vite \u9759\u6001\u8D44\u6E90\u4EE3\u7406\u4ECD\u8BFB\u53D6 epx-frame/lib\uFF0C\u6682\u4FDD\u7559\u4E3A\u5F00\u53D1\u4F9D\u8D56\uFF1B\u8FD0\u884C\u65F6\u6E90\u7801\u5DF2\u6539\u4E3A\u72EC\u7ACB\u5305\u3002"]:[],blocked:!1})}u(at,"planIndependentPackages");import{TEMPLATES as Jt}from"../epx-create/scaffold.mjs";var D=process.argv.slice(2),re=D.indexOf("--epx-frame"),ae=re!==-1?D[re+1]:null;re!==-1&&D.splice(re,2);var de=D.indexOf("--packages-version"),_=de===-1?null:D.splice(de,2)[1],pt=D.indexOf("--cli-version"),lt=pt===-1?"0.5.0-beta.5":D.splice(pt,2)[1];if(ae&&_)throw new Error("--packages-version \u4E0E --epx-frame \u4E0D\u80FD\u540C\u65F6\u6307\u5B9A");if(de!==-1&&(!_||_.startsWith("--")))throw new Error("--packages-version \u7F3A\u5C11\u503C");var T=D.find(e=>!e.startsWith("--")),J=D.includes("--apply"),fe=D.includes("--transform-vue"),ge=D.includes("--report-only"),ut=D.includes("--to-vite"),g=u((...e)=>console.log(...e),"log");ae&&(te["epx-frame"].target=ae);(!T||!h.existsSync(T))&&(console.error("\u7528\u6CD5\uFF1Anode tools/epx-migrate/migrate.mjs <\u8001\u9879\u76EE\u76EE\u5F55> [--apply] [--transform-vue] [--to-vite] [--report-only] [--epx-frame <spec>]"),process.exit(1));var O=u(e=>P.join(T,e),"rel"),j=u(e=>h.existsSync(O(e))?h.readFileSync(O(e),"utf8"):null,"read"),w=[],F=[],he=!1,L=u(e=>g(`
|
|
28
32
|
${"\u2501".repeat(60)}
|
|
29
33
|
\u258D ${e}
|
|
30
|
-
${"\u2501".repeat(60)}`),"stage"),
|
|
31
|
-
`})):g(" \uFF08\u65E0\u5339\u914D\u4F9D\u8D56\u9700\u8FC1\u79FB\uFF09")}else g(" \u2717 \u672A\u627E\u5230 package.json");L("\u2461 codemod\uFF08main.js / index.js / babel.config.js / webpack.config.js / \u7A7A SFC\uFF09");var Z=["src/main.js","src/main.ts","main.js"].find(e=>j(e)!=null);if(Z){let e=j(Z),t=e,n=[...e.matchAll(/\bVue\.use\(([^)]+)\)\s*;?/g)].map(
|
|
34
|
+
${"\u2501".repeat(60)}`),"stage"),qt=u(e=>{let t=String(e),n=/(^|[^\d.])3(\.|x|\b)/.test(t);return/(^|[^\d.])2(\.|x|\b)/.test(t)&&!n},"wantsVue2Only");if(J)try{me("git status --porcelain",{cwd:T,encoding:"utf8"}).trim()&&(console.error("\u2717 \u9879\u76EE\u5DE5\u4F5C\u6811\u4E0D\u5E72\u51C0\uFF0C--apply \u524D\u8BF7\u5148 commit/stash\uFF08\u4FBF\u4E8E git diff \u5BA1\u67E5\u4E0E\u56DE\u6EDA\uFF09\u3002"),process.exit(1))}catch{console.error("\u2717 \u76EE\u6807\u4E0D\u662F git \u4ED3\u5E93\uFF1B--apply \u9700\u8981 git \u4EE5\u4FBF\u5BA1\u67E5\u56DE\u6EDA\u3002\u5148 git init \u6216\u53BB\u6389 --apply \u8D70 dry-run\u3002"),process.exit(1)}var R=[],V=[],gt=[],mt=u(e=>{for(let t of h.readdirSync(e,{withFileTypes:!0})){let n=P.join(e,t.name);t.isDirectory()&&!/node_modules|\.git|^lib$|^dist$/.test(t.name)?mt(n):t.name.endsWith(".vue")?(R.push(n),V.push(n)):/\.(?:[cm]?js|jsx|ts|tsx)$/.test(t.name)?V.push(n):/\.(?:css|scss|less|sass|styl|stylus)$/.test(t.name)&>.push(n)}},"walk");h.existsSync(O("src"))&&mt(O("src"));var ve=new Set;for(let e of V){let t=h.readFileSync(e,"utf8");for(let n of t.matchAll(/(?:from\s+|require\()\s*['"]([^'"./][^'"]*)['"]/g)){let s=n[1];s.startsWith("@/")||ve.add(s.startsWith("@")?s.split("/").slice(0,2).join("/"):s.split("/")[0])}}var dt=u(e=>{let t=e.match(/<script(\s[^>]*)?>([\s\S]*?)<\/script>/);return t?{attrs:t[1]||"",body:t[2]}:null},"scriptOf"),ft=u(e=>/[(=,]\s*\n?\s*<[A-Za-z][\w-]*[\s>/]/.test(e),"hasJsx"),B=R.filter(e=>{let t=dt(h.readFileSync(e,"utf8"));return t&&ft(t.body)});L("\u2460 \u4F9D\u8D56\u8FC1\u79FB\uFF08package.json\uFF09");var oe=j("package.json"),xt=j("webpack.config.js")!=null;if(oe){let e=JSON.parse(oe),t=e.runtime!=="vue3";e.runtime="vue3",t&&g(" [\u6539] runtime \u2192 vue3\uFF08\u521B\u5EFA/\u8FC1\u79FB\u540E\u7684\u8FD0\u884C\u65F6\u6807\u8BC6\uFF09");let n=[],s=u((o,i,a,c)=>{let p=a?"devDependencies":"dependencies";e[p]=e[p]||{},e[p][o]!==i&&(n.push([e[p][o]!=null?"\u6539":"\u52A0",o,e[p][o]||"\u2014",i,c||""]),e[p][o]=i)},"setDep");for(let[o,i]of Object.entries(te))for(let a of["dependencies","devDependencies"]){let c=e[a];c&&c[o]!=null&&(i.target===null?(n.push(["\u5220",o,c[o],"\u2014",i.note||""]),delete c[o]):c[o]!==i.target&&(n.push(["\u6539",o,c[o],i.target,i.note||""]),c[o]=i.target))}if(xt)for(let[o,i]of Object.entries(Ae))s(o,i,!0,"lib \u6784\u5EFA\u95ED\u5305");if(B.length)for(let[o,i]of Object.entries(Ie))s(o,i,!0,`.vue \u5185 JSX\uFF08${B.length} \u6587\u4EF6\uFF09`);if(R.length)for(let[o,i]of Object.entries(Te))s(o,i,!1,"element-plus \u56FE\u6807\uFF08gogocode \u8F6C\u6362\u4EA7\u7269\u9700\u8981\uFF09");(oe.includes("@vue/eslint-config-standard")||oe.includes("babel-eslint"))&&F.push("lint \u914D\u7F6E\uFF1A\u8001 eslint6+standard5 \u6808\u5DF2\u9000\u5F79\uFF08ERESOLVE \u51B2\u7A81\uFF09\u2014\u2014\u6309\u5E73\u53F0 .eslintrc \u91CD\u5EFA\u89C4\u5219\uFF08eslint8 + plugin-vue9\uFF09");let r={...e.dependencies||{},...e.devDependencies||{}};for(let o of[...ve].sort())r[o]||o==="epx-frame"||o==="vue"||(ce[o]?s(o,ce[o],!1,"\u9690\u5F0F\u4F9D\u8D56\u8865\u58F0\u660E\uFF08\u539F\u9760 hoist\uFF09"):F.push(`src \u91CC import \u4E86 \`${o}\` \u4F46 package.json \u672A\u58F0\u660E\u4E14\u4E0D\u5728\u5DF2\u77E5\u7248\u672C\u8868\u2014\u2014\u4EBA\u5DE5\u8865\u7248\u672C`));n.length||t?(n.forEach(([o,i,a,c,p])=>g(` [${o}] ${i.padEnd(26)} ${String(a).padEnd(12)} \u2192 ${String(c).padEnd(12)} ${p}`)),w.push({file:"package.json",after:JSON.stringify(e,null,2)+`
|
|
35
|
+
`})):g(" \uFF08\u65E0\u5339\u914D\u4F9D\u8D56\u9700\u8FC1\u79FB\uFF09")}else g(" \u2717 \u672A\u627E\u5230 package.json");L("\u2461 codemod\uFF08main.js / index.js / babel.config.js / webpack.config.js / \u7A7A SFC\uFF09");var Z=["src/main.js","src/main.ts","main.js"].find(e=>j(e)!=null);if(Z){let e=j(Z),t=e,n=[...e.matchAll(/\bVue\.use\(([^)]+)\)\s*;?/g)].map(s=>s[1].trim());if(e=e.replace(/\bVue\.use\([^)]+\)\s*;?\n?/g,""),e=e.replace(/(?:const\s+\w+\s*=\s*)?(\w+\.)?createApp\(\)\.\$mount\((['"][^'"]+['"])\)\s*;?/,(s,r,o)=>{let i=n.map(a=>`app.use(${a})`).join(`
|
|
32
36
|
`);return`const app = ${r||""}createApp()
|
|
33
37
|
${i}${i?`
|
|
34
|
-
`:""}app.mount(${
|
|
38
|
+
`:""}app.mount(${o})`}),/const app = createApp\(\)/.test(e)){let s=(t.match(/import\s+(\w+)\s*(,|from)/)||[])[1];s&&(e=e.replace("const app = createApp()",`const app = ${s}.createApp()`))}e=_e(e),e!==t?(g(` \u2713 ${Z}\uFF1AVue.use(${n.join(",")})\u2192app.use\u3001$mount\u2192mount\u3001import \u6536\u655B`),w.push({file:Z,after:e})):g(` \xB7 ${Z}\uFF1A\u65E0\u9700\u6539\uFF08\u6216\u5199\u6CD5\u4E0D\u8BC6\u522B\uFF0C\u4EBA\u5DE5\u6838\u5BF9\uFF09`)}else F.push("\u5165\u53E3 main.js \u672A\u627E\u5230\uFF0C\u624B\u52A8\u786E\u8BA4 createApp/mount \u5DF2 Vue3 \u5316");var I=["src/index.js","index.js"].find(e=>j(e)!=null);if(I){let e=j(I),t=e;e=We(e),/require\.context/.test(e)&&F.push(`${I}\uFF1Arequire.context\uFF08webpack \u7279\u6027\uFF09\u3002\u4FDD\u7559 webpack \u6784\u5EFA\u5219\u4E0D\u7528\u6539\uFF1B\u8F6C Vite \u624D\u6362 import.meta.glob`),e!==t?(g(` \u2713 ${I}\uFF1Ainstall \u7B7E\u540D \u2192 (app, ...)\u3001Vue2 \u5168\u5C40 API \u2192 app \u5B9E\u4F8B`),w.push({file:I,after:e})):g(` \xB7 ${I}\uFF1A\u5DF2\u517C\u5BB9\u6216\u5199\u6CD5\u4E0D\u8BC6\u522B`)}var G=["babel.config.js",".babelrc.js"].find(e=>j(e)!=null);if(G){let e=j(G),t=e;e=e.replace(/\[\s*'component'[\s\S]*?\]\s*,?\n?/,""),e=e.replace(/\[\s*'import'[\s\S]*?\]\s*,?\n?/,""),e=e.replace(/,?\s*'@vue\/cli-plugin-babel\/preset'/,""),B.length&&!e.includes("@vue/babel-plugin-jsx")&&(/plugins:\s*\[/.test(e)?e=e.replace(/plugins:\s*\[/,`plugins: [
|
|
35
39
|
'@vue/babel-plugin-jsx', // .vue \u5185 JSX\uFF08renderColumn \u7B49\uFF09`):e=e.replace(/module\.exports\s*=\s*\{/,`module.exports = {
|
|
36
|
-
plugins: ['@vue/babel-plugin-jsx'],`)),e!==t?(g(` \u2713 ${G}\uFF1A\u5220\u6309\u9700\u63D2\u4EF6/cli preset${B.length?" + \u52A0 @vue/babel-plugin-jsx":""}`),
|
|
37
|
-
${
|
|
40
|
+
plugins: ['@vue/babel-plugin-jsx'],`)),e!==t?(g(` \u2713 ${G}\uFF1A\u5220\u6309\u9700\u63D2\u4EF6/cli preset${B.length?" + \u52A0 @vue/babel-plugin-jsx":""}`),w.push({file:G,after:e})):g(` \xB7 ${G}\uFF1A\u65E0\u9700\u6539`),/@babel\/preset-env/.test(e)||F.push(`${G}\uFF1A\u6CA1\u6709 @babel/preset-env\u2014\u2014\u8865 presets: [['@babel/preset-env']]`),/ie\s*>=?\s*\d/.test(e)&&F.push(`${G}\uFF1Atargets \u542B IE\uFF08Vue3 \u4E0D\u652F\u6301 IE\uFF09\uFF0C\u5EFA\u8BAE\u6539\u73B0\u4EE3\u6D4F\u89C8\u5668`)}if(xt){let e=j("webpack.config.js"),t=e;/frame'\s*,\s*'Vue'/.test(e)||(e=e.replace(/externals:\s*(\/[^\n/]*(?:\\\/[^\n/]*)*\/i?)\s*,/,(n,s)=>`externals: [
|
|
41
|
+
${s},
|
|
38
42
|
// Vue3 \u7F16\u8BD1\u4EA7\u7269 import 'vue' \u2192 \u8FD0\u884C\u65F6\u7528\u5E73\u53F0\u5171\u4EAB Vue\uFF08window.frame.Vue\uFF09\uFF0C\u4E0D\u6253\u8FDB bundle
|
|
39
43
|
{ vue: { root: ['frame', 'Vue'], commonjs: 'vue', commonjs2: 'vue', amd: 'vue' } }
|
|
40
44
|
],`)),B.length&&(e=e.split(`
|
|
41
45
|
`).map(n=>n.includes("test:")&&n.includes(".js")&&!n.includes(".jsx")&&!n.includes("json")&&!n.includes(".vue")?n.replace(".js",".jsx?"):n).join(`
|
|
42
|
-
`)),e!==t?(g(` \u2713 webpack.config.js\uFF1Aexternals \u52A0 vue \u5916\u7F6E${B.length?" + babel \u89C4\u5219\u6536 .jsx":""}`),
|
|
46
|
+
`)),e!==t?(g(` \u2713 webpack.config.js\uFF1Aexternals \u52A0 vue \u5916\u7F6E${B.length?" + babel \u89C4\u5219\u6536 .jsx":""}`),w.push({file:"webpack.config.js",after:e})):g(" \xB7 webpack.config.js\uFF1A\u65E0\u9700\u6539\u6216\u5199\u6CD5\u4E0D\u8BC6\u522B\uFF08\u4EBA\u5DE5\u6838\u5BF9\uFF09")}for(let e of R)h.readFileSync(e,"utf8").trim()===""&&(w.push({file:P.relative(T,e),after:`<script>
|
|
43
47
|
// \u539F\u9879\u76EE\u9057\u7559\u7A7A\u6587\u4EF6\uFF08Vue2 loader \u5BB9\u5FCD\u7A7A SFC\uFF0CVue3 \u9700\u81F3\u5C11\u4E00\u4E2A\u5757\uFF09\u2014\u2014\u8865\u6700\u5C0F\u5408\u6CD5\u5185\u5BB9\uFF0C\u884C\u4E3A\u540C\u524D
|
|
44
48
|
export default {}
|
|
45
49
|
</script>
|
|
46
|
-
`}),g(` \u2713 \u7A7A SFC \u8865\u9F50\uFF1A${P.relative(T,e)}`));L("\u2462 .vue \u6279\u91CF\u8F6C\u6362\uFF08gogocode plugin-vue + plugin-element\uFF0Cstyle \u5757\u5FEB\u7167\u4FDD\u62A4\uFF09");var H=u(e=>R.filter(t=>e.test(
|
|
47
|
-
\u8DD1 gogocode\uFF08style \u5757\u5148\u5FEB\u7167\u2014\u2014gogocode \u4F1A\u628A\u6CE8\u91CA\u6389\u7684 scss \u5757\u6539\u6210\u5B64\u513F { \u6216\u6574\u5757\u5220\u6389\uFF09\u2026`);let n=new Map;for(let
|
|
48
|
-
`),me(`npm i --no-audit --no-fund ${i.join(" ")}`,{cwd:
|
|
49
|
-
cd ${
|
|
50
|
-
`,stdio:["pipe","inherit","inherit"]}),Ue(O(ie),O("src"),
|
|
50
|
+
`}),g(` \u2713 \u7A7A SFC \u8865\u9F50\uFF1A${P.relative(T,e)}`));L("\u2462 .vue \u6279\u91CF\u8F6C\u6362\uFF08gogocode plugin-vue + plugin-element\uFF0Cstyle \u5757\u5FEB\u7167\u4FDD\u62A4\uFF09");var H=u(e=>R.filter(t=>e.test(h.readFileSync(t,"utf8"))).length,"scan"),se=/<style[^>]*>[\s\S]*?<\/style>/g,yt={"element-ui\uFF08el-*\uFF09\u7528\u6CD5 \u2192 element-plus API \u5DEE\u5F02\uFF08el-dialog visible.sync\u2192v-model\u3001date value-format \u7B49\uFF09":H(/<el-/),'slot="x" / slot-scope\uFF08\u65E7\u63D2\u69FD\uFF09\u2192 v-slot\uFF08gogocode \u81EA\u52A8\uFF09':H(/slot="|slot-scope/),"\u81EA\u5B9A\u4E49\u7EC4\u4EF6 v-model\uFF08value/input \u2192 modelValue\uFF0Cgogocode \u81EA\u52A8\uFF0C\u8FD0\u884C\u65F6\u590D\u6838\uFF09":H(/v-model/),"$on/$off \u4E8B\u4EF6\u603B\u7EBF\uFF08Vue3 \u5B9E\u4F8B\u65E0 $on/$off\uFF1Bepx-frame \u5E73\u53F0 bus \u4ECD\u53EF\u7528\uFF0C\u8DD1\u901A\u540E\u590D\u6838\uFF09":H(/\$on\(|\$off\(/),'JSX in script\uFF08\u5DF2\u81EA\u52A8 lang="jsx"+babel \u63D2\u4EF6\uFF1BscopedSlots \u7B49 Vue2 JSX \u8BED\u4E49\u4EBA\u5DE5\u590D\u6838\uFF09':B.length,"\u8FC7\u6EE4\u5668 {{ x | f }}\uFF08Vue3 \u79FB\u9664\uFF1Bgogocode \u8F6C\u6362\u540E\u590D\u6838\uFF09":H(/\{\{[^}]*\|[^}|]+\}\}/),"$children\uFF08Vue3 \u79FB\u9664\uFF09\u2192 ref/provide-inject\uFF08\u4EBA\u5DE5\uFF09":H(/\$children/),".native \u4FEE\u9970\u7B26\uFF08Vue3 \u79FB\u9664\uFF0C\u4EBA\u5DE5\u590D\u6838\uFF09":H(/\.native/),"\u5185\u8054\u4E8B\u4EF6\u591A\u8BED\u53E5\u7F3A\u5206\u53F7\uFF08Vue2 \u5BB9\u5FCD\u6362\u884C\u5206\u9694\uFF0CVue3 \u7F16\u8BD1\u62A5 Unexpected token\u2014\u2014\u6309\u62A5\u9519\u9010\u4E2A\u8865\u5206\u53F7\uFF09":R.filter(e=>/@[\w.]+="[^"]*\n[^";]*\n/.test(h.readFileSync(e,"utf8"))).length};g(` .vue \u6587\u4EF6\uFF1A${R.length} \u4E2A\uFF08JSX\uFF1A${B.length}\uFF09`);Object.entries(yt).filter(([,e])=>e>0).forEach(([e,t])=>g(` \xB7 ${String(t).padStart(3)} \u6587\u4EF6 ${e}`));var ie=".epx-migrate-vue3-out";if(fe&&J){let t=V.filter(o=>{try{return h.statSync(o).size>204800}catch{return!1}});if(t.length){let o=t.map(i=>`${P.relative(T,i)}\uFF08${Math.round(h.statSync(i).size/1024)}KB\uFF09`).join("\u3001");g(` \u26A0 ${t.length} \u4E2A\u6E90\u7801\u6587\u4EF6\u8D85\u8FC7 200KB\uFF0Cgogocode \u4F1A\u8DF3\u8FC7\uFF1A${o}`),F.push(`\u4EE5\u4E0B\u6E90\u7801\u6587\u4EF6\u8D85\u8FC7 200KB\uFF0Cgogocode \u7684\u5927\u6587\u4EF6\u4FDD\u62A4\u4F1A\u8DF3\u8FC7\uFF08\u5176\u4F59\u6587\u4EF6\u6B63\u5E38\u8F6C\u6362\uFF09\uFF0C\u9700\u4EBA\u5DE5 Vue3 \u5316\uFF1A${o}`)}g(`
|
|
51
|
+
\u8DD1 gogocode\uFF08style \u5757\u5148\u5FEB\u7167\u2014\u2014gogocode \u4F1A\u628A\u6CE8\u91CA\u6389\u7684 scss \u5757\u6539\u6210\u5B64\u513F { \u6216\u6574\u5757\u5220\u6389\uFF09\u2026`);let n=new Map;for(let o of R)n.set(o,h.readFileSync(o,"utf8").match(se)||[]);let s=P.join(be.homedir(),".epx-migrate","gogocode"),r=ze({projectDir:P.resolve(T),toolDir:P.resolve(P.dirname(Wt(import.meta.url)),"../.."),cacheDir:s,versions:pe,exists:u(o=>h.existsSync(o),"exists"),log:g,install:u(({cacheDir:o,specs:i})=>{h.mkdirSync(o,{recursive:!0});let a=P.join(o,"package.json");h.existsSync(a)||h.writeFileSync(a,JSON.stringify({name:"epx-migrate-gogocode",private:!0,version:"1.0.0"},null,2)+`
|
|
52
|
+
`),me(`npm i --no-audit --no-fund ${i.join(" ")}`,{cwd:o,stdio:"inherit"})},"install")});r.cli||(F.push(`gogocode \u672A\u80FD\u5C31\u7EEA\uFF08.vue \u672A\u8F6C\u6362\uFF09\uFF1A${r.error||"\u672A\u77E5\u539F\u56E0"}\u3002\u53EF\u624B\u52A8\u88C5\u540E\u91CD\u8DD1\uFF1A
|
|
53
|
+
cd ${s} && npm i ${Object.entries(pe).map(([o,i])=>`${o}@${i}`).join(" ")}`),g(` \u2717 gogocode \u672A\u5C31\u7EEA\uFF1A${r.error||"\u672A\u77E5\u539F\u56E0"}\uFF08\u5217\u5165\u4EBA\u5DE5\u6E05\u5355\uFF09`));try{if(!r.cli)throw new Error(r.error||"gogocode \u672A\u5C31\u7EEA");for(let f of["gogocode-plugin-vue","gogocode-plugin-element"])me(`node "${r.cli}" -s ./src -t ${f} -o ./${ie}`,{cwd:T,input:`N
|
|
54
|
+
`,stdio:["pipe","inherit","inherit"]}),Ue(O(ie),O("src"),h,P),h.rmSync(O(ie),{recursive:!0,force:!0}),g(` \u2713 ${f} \u5B8C\u6210`);let o=0;for(let[f,l]of n){if(!l.length)continue;let d=h.readFileSync(f,"utf8");if((d.match(se)||[]).length===l.length){let S=0,E=d.replace(se,()=>l[S++]);E!==d&&(h.writeFileSync(f,E),o++)}else h.writeFileSync(f,d.replace(se,"").replace(/\s*$/,`
|
|
51
55
|
|
|
52
56
|
`+l.join(`
|
|
53
57
|
|
|
54
58
|
`)+`
|
|
55
|
-
`)),
|
|
59
|
+
`)),o++}g(` \u2713 style \u5757\u6309\u5FEB\u7167\u8FD8\u539F\uFF1A${o} \u6587\u4EF6`);let i=0;for(let f of V){let l=h.readFileSync(f,"utf8");l.includes("@element-plus/icons'")&&(h.writeFileSync(f,l.split("@element-plus/icons'").join("@element-plus/icons-vue'")),i++)}i&&g(` \u2713 icons \u5305\u540D\u6539\u5199\uFF08@element-plus/icons \u2192 icons-vue\uFF09\uFF1A${i} \u6587\u4EF6`);let a=0;for(let f of R){let l=h.readFileSync(f,"utf8"),d=dt(l);d&&!/lang=/.test(d.attrs)&&ft(d.body)&&(h.writeFileSync(f,l.replace(/<script(\s[^>]*)?>/,'<script lang="jsx"$1>')),a++)}a&&g(` \u2713 JSX script \u6807 lang="jsx"\uFF1A${a} \u6587\u4EF6`);let c=0,p=0;for(let f of R){let l=h.readFileSync(f,"utf8"),d=qe(l);d.count&&(h.writeFileSync(f,d.src),c++,p+=d.count)}c&&g(` \u2713 \u5185\u8054\u4E8B\u4EF6\u591A\u8BED\u53E5\u8865\u5206\u53F7\uFF1A${p} \u5904 / ${c} \u6587\u4EF6`);let m=0,x=0;for(let f of R){let l=h.readFileSync(f,"utf8"),d=Je(l);d.count&&(h.writeFileSync(f,d.src),m++,x+=d.count)}m&&g(` \u2713 .sync \u2192 v-model\uFF1A${x} \u5904 / ${m} \u6587\u4EF6`);let v=0;for(let f of R){let l=h.readFileSync(f,"utf8"),d=Ke(l);d.count&&(h.writeFileSync(f,d.src),v++)}v&&g(` \u2713 element-plus \u56FE\u6807\u7EC4\u4EF6\u56DE\u9000\u4E3A epx CSS \u56FE\u6807\uFF1A${v} \u6587\u4EF6`);let $=0;for(let f of V){let l=h.readFileSync(f,"utf8"),d=Ye(l);d.count&&(h.writeFileSync(f,d.src),$++)}$&&g(` \u2713 \u547D\u540D\u7A7A\u95F4\u5BFC\u5165\u6536\u655B\u4E3A\u5177\u540D\uFF08vue/vuex/vue-router\uFF09\uFF1A${$} \u6587\u4EF6`);let A=0,b=0,k=0;for(let f of V){let l=h.readFileSync(f,"utf8"),d=et(l);if(d.count&&(h.writeFileSync(f,d.src),A++,b+=d.count),d.warnings&&d.warnings.length){k++;let y=P.relative(T,f);for(let S of d.warnings)F.push(`${y}\uFF1A${S}`)}}A&&g(` \u2713 Vue2 JSX \u5C5E\u6027 \u2192 Vue3\uFF08domProps*/nativeOn*/scopedSlots=\uFF09\uFF1A${b} \u5904 / ${A} \u6587\u4EF6`),k&&g(` \u26A0 JSX \u533A slot="xxx" \u9700\u4EBA\u5DE5\u6539 v-slots\uFF1A${k} \u6587\u4EF6\uFF08\u5DF2\u5217\u5165\u4EBA\u5DE5\u6E05\u5355\uFF09`)}catch(o){h.rmSync(O(ie),{recursive:!0,force:!0}),r.cli&&F.push("gogocode \u8F6C\u6362\u5931\u8D25\uFF1A"+String(o.message).slice(0,160)),g(" \u2717 gogocode \u8F6C\u6362\u5931\u8D25\uFF08\u5217\u5165\u4EBA\u5DE5\u6E05\u5355\uFF09")}}else g(`
|
|
56
60
|
.vue \u8F6C\u6362\u672A\u6267\u884C\uFF08\u52A0 --apply --transform-vue\uFF1Bgogocode \u4F1A\u7531\u5DE5\u5177\u81EA\u52A8\u5907\u597D\uFF0C\u4E0D\u9700\u8981\u4F60\u5148\u88C5\uFF09`);L("\u2463 \u4F9D\u8D56\u6E05\u5355\u63D2\u4EF6\u6CE8\u5165\uFF08vite.config\uFF09");{let e=["vite.config.mjs","vite.config.js","vite.config.ts"].find(n=>j(n)!==null),t=` import frameDeps from 'epx-frame/build/vite-plugin-frame-deps.mjs'
|
|
57
|
-
\u7136\u540E\u5728\u9876\u5C42 plugins \u6570\u7EC4\u91CC\u52A0\u4E00\u9879 frameDeps()`;if(!e)g(" \xB7 \u672A\u627E\u5230 vite.config.*\uFF08webpack \u5F62\u6001\u9879\u76EE\uFF09\u2014\u2014\u8DF3\u8FC7\uFF1B\u5DF2\u5217\u5165\u4EBA\u5DE5\u6E05\u5355\u8BF4\u660E\u5F71\u54CD"),
|
|
58
|
-
${t}`);else{let
|
|
59
|
-
`);i=
|
|
60
|
-
`+
|
|
61
|
+
\u7136\u540E\u5728\u9876\u5C42 plugins \u6570\u7EC4\u91CC\u52A0\u4E00\u9879 frameDeps()`;if(!e)g(" \xB7 \u672A\u627E\u5230 vite.config.*\uFF08webpack \u5F62\u6001\u9879\u76EE\uFF09\u2014\u2014\u8DF3\u8FC7\uFF1B\u5DF2\u5217\u5165\u4EBA\u5DE5\u6E05\u5355\u8BF4\u660E\u5F71\u54CD"),F.push("\u672A\u627E\u5230 vite.config.*\uFF08webpack \u5F62\u6001\u9879\u76EE\uFF09\uFF1A\u4F9D\u8D56\u6E05\u5355\u63D2\u4EF6\u53EA\u6709 Vite \u5F62\u6001\u80FD\u6CE8\u5165\uFF0C\u672C\u9879\u76EE\u6682\u4E0D\u4EA7\u51FA `<bundle>.deps.json`\u3002\u5F71\u54CD\uFF1A\u5E73\u53F0\u52A0\u8F7D\u672C\u8FDC\u7A0B\u5E93\u524D\u4F1A\u9000\u5316\u4E3A\u300Censure \u5168\u90E8\u61D2\u52A0\u8F7D\u7EC4\u4EF6\u300D\u2014\u2014\u529F\u80FD\u6B63\u5E38\uFF0C\u53EA\u662F\u591A\u4E0B\u8F7D\u82E5\u5E72 chunk\u3002\u8981\u62FF\u5230\u7CBE\u786E\u52A0\u8F7D\uFF0C\u9700\u5148\u628A lib \u6784\u5EFA\u5207\u5230 Vite\uFF08\u53C2\u8003 epx create \u751F\u6210\u7684 vite.config.mjs\uFF09\u3002");else{let n=j(e),s=n.includes("vite-plugin-frame-deps"),r=/frameDeps\(\)/.test(n);if(s&&r)g(` \xB7 ${e}\uFF1A\u5DF2\u6CE8\u5165\u8FC7\uFF0C\u8DF3\u8FC7\uFF08\u5E42\u7B49\uFF09`);else if(s||r)g(` \xB7 ${e}\uFF1A\u68C0\u6D4B\u5230\u534A\u6CE8\u5165\u72B6\u6001\uFF08import / frameDeps() \u8C03\u7528\u53EA\u6709\u4E00\u5904\u5B58\u5728\uFF09\uFF0C\u672A\u81EA\u52A8\u5904\u7406`),F.push(`${e} \u68C0\u6D4B\u5230\u4F9D\u8D56\u6E05\u5355\u63D2\u4EF6\u534A\u6CE8\u5165\u72B6\u6001\uFF08import \u4E0E frameDeps() \u8C03\u7528\u53EA\u5B58\u5728\u4E00\u5904\uFF09\uFF0C\u8BF7\u4EBA\u5DE5\u786E\u8BA4\u540E\u8865\u9F50\uFF1A
|
|
62
|
+
${t}`);else{let o=n,i=0;if(o.startsWith("#!")){let m=o.indexOf(`
|
|
63
|
+
`);i=m===-1?o.length:m+1}{let m=/^([ \t]*\/\/[^\n]*\r?\n|[ \t]*\r?\n)/,x;for(;x=o.slice(i).match(m);)i+=x[0].length}o=o.slice(0,i)+`import frameDeps from 'epx-frame/build/vite-plugin-frame-deps.mjs'
|
|
64
|
+
`+o.slice(i);let c=o;if(o=o.replace(/^([ \t]{0,4})plugins\s*:\s*\[/m,(m,x)=>m+`
|
|
61
65
|
${x} // \u4EA7\u51FA <bundle>.deps.json\uFF1A\u5E73\u53F0\u52A0\u8F7D\u672C\u8FDC\u7A0B\u5E93\u524D\u636E\u6B64\u81EA\u52A8 ensure \u61D2\u52A0\u8F7D\u7EC4\u4EF6
|
|
62
|
-
${x} frameDeps(),`),!(
|
|
63
|
-
${t}`);else{let
|
|
64
|
-
`).slice(0,3).join(" "))}
|
|
66
|
+
${x} frameDeps(),`),!(o!==c))g(` \xB7 ${e}\uFF1A\u7ED3\u6784\u4E0D\u8BC6\u522B\uFF0C\u672A\u81EA\u52A8\u6CE8\u5165`),F.push(`${e} \u672A\u80FD\u81EA\u52A8\u6CE8\u5165\u4F9D\u8D56\u6E05\u5355\u63D2\u4EF6\uFF0C\u8BF7\u624B\u52A8\u52A0\uFF1A
|
|
67
|
+
${t}`);else{let m=!0,x="";if(/\.m?js$/.test(e)){let v=P.join(be.tmpdir(),`epx-migrate-check-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`);h.writeFileSync(v,o);let $=ct(process.execPath,["--check",v],{encoding:"utf8"});h.rmSync(v,{force:!0}),m=$.status===0,m||(x=String($.stderr||"").split(`
|
|
68
|
+
`).slice(0,3).join(" "))}m?(g(` \u2713 ${e}\uFF1A\u6CE8\u5165\u4F9D\u8D56\u6E05\u5355\u63D2\u4EF6`),w.push({file:e,after:o})):(g(` \xB7 ${e}\uFF1A\u81EA\u52A8\u6CE8\u5165\u540E\u8BED\u6CD5\u6821\u9A8C\u672A\u901A\u8FC7\uFF0C\u5DF2\u653E\u5F03\u6539\u52A8`),F.push(`${e} \u81EA\u52A8\u6CE8\u5165\u4F9D\u8D56\u6E05\u5355\u63D2\u4EF6\u540E node --check \u672A\u901A\u8FC7\uFF08\u5DF2\u653E\u5F03\u8BE5\u81EA\u52A8\u6539\u52A8\uFF0C\u6587\u4EF6\u4FDD\u6301\u539F\u6837\uFF09\uFF0C\u8BF7\u624B\u52A8\u52A0\uFF1A
|
|
65
69
|
${t}
|
|
66
70
|
\uFF08\u6821\u9A8C\u62A5\u9519\uFF1A${x}\uFF09`))}}}}L("\u2464 \u6309\u9700\u6253\u5305\u5F62\u6001\u6CE8\u5165\uFF08lazyLib\uFF09");{let e=["vite.config.mjs","vite.config.js","vite.config.ts"].find(n=>j(n)!==null),t=` import lazyLib from 'epx-frame/build/vite-plugin-lazy-lib.mjs'
|
|
67
71
|
\u7136\u540E\u5728 plugins \u6570\u7EC4\u91CC frameDeps() \u4E4B\u540E\u52A0\uFF1A
|
|
68
72
|
lazyLib({ enabled: process.env.LAZY_LIB === 'true', glob: '<\u4E0E\u5165\u53E3 import.meta.glob \u9010\u5B57\u76F8\u540C\u7684\u6A21\u5F0F>', pkgName: '<\u5305\u540D>' })
|
|
69
|
-
\u5E76\u5728 package.json \u52A0 "build:lib:lazy": "cross-env LAZY_LIB=true vite build" \u4E0E cross-env devDep`;if(!e)g(" \xB7 \u672A\u627E\u5230 vite.config.*\uFF08webpack \u5F62\u6001\u9879\u76EE\uFF09\u2014\u2014\u8DF3\u8FC7\uFF08\u5F71\u54CD\u89C1 \u2463 \u7684\u4EBA\u5DE5\u6E05\u5355\u6761\u76EE\uFF09");else if(!I)g(" \xB7 \u672A\u627E\u5230\u8FDC\u7A0B\u5E93\u5165\u53E3\uFF08src/index.js / index.js\uFF09\u2014\u2014\u8DF3\u8FC7"),
|
|
70
|
-
${t}`);else{let n=Le(j(I)),
|
|
71
|
-
`+t);else if(!
|
|
72
|
-
`+t);else{let r=[...
|
|
73
|
-
${t}`);else if(i.status==="no-anchor")g(` \xB7 ${e}\uFF1A\u627E\u4E0D\u5230 frameDeps() \u951A\u70B9\uFF0C\u672A\u81EA\u52A8\u6CE8\u5165\uFF08\u4F4D\u7F6E\u53EA\u80FD\u731C\uFF0C\u8F6C\u4EBA\u5DE5\uFF09`),
|
|
74
|
-
${t}`);else{let a=!0,c="";if(/\.m?js$/.test(e)){let p=P.join(
|
|
75
|
-
`).slice(0,3).join(" "))}if(!a)g(` \xB7 ${e}\uFF1A\u6CE8\u5165\u540E\u8BED\u6CD5\u6821\u9A8C\u672A\u901A\u8FC7\uFF0C\u5DF2\u653E\u5F03\u6539\u52A8`),
|
|
73
|
+
\u5E76\u5728 package.json \u52A0 "build:lib:lazy": "cross-env LAZY_LIB=true vite build" \u4E0E cross-env devDep`;if(!e)g(" \xB7 \u672A\u627E\u5230 vite.config.*\uFF08webpack \u5F62\u6001\u9879\u76EE\uFF09\u2014\u2014\u8DF3\u8FC7\uFF08\u5F71\u54CD\u89C1 \u2463 \u7684\u4EBA\u5DE5\u6E05\u5355\u6761\u76EE\uFF09");else if(!I)g(" \xB7 \u672A\u627E\u5230\u8FDC\u7A0B\u5E93\u5165\u53E3\uFF08src/index.js / index.js\uFF09\u2014\u2014\u8DF3\u8FC7"),F.push(`\u672A\u627E\u5230\u8FDC\u7A0B\u5E93\u5165\u53E3\uFF0C\u65E0\u6CD5\u786E\u5B9A lazyLib \u7684 glob \u6A21\u5F0F\uFF0C\u6309\u9700\u6253\u5305\u5F62\u6001\u672A\u6CE8\u5165\u3002\u8981\u7528\u8BF7\u624B\u52A8\u52A0\uFF1A
|
|
74
|
+
${t}`);else{let n=Le(j(I)),s=(()=>{try{return JSON.parse(j("package.json")||"{}").name||""}catch{return""}})();if(!n)g(` \xB7 ${I}\uFF1A\u6CA1\u6709 import.meta.glob(..., { eager: true }) \u2014\u2014 \u8DF3\u8FC7\uFF08webpack \u5F62\u6001\u5165\u53E3\u7528\u7684\u662F require.context\uFF09`),F.push(`${I} \u91CC\u6CA1\u6709 \`import.meta.glob(..., { eager: true })\`\uFF08webpack \u5F62\u6001\u7528\u7684\u662F require.context\uFF09\uFF0C\u65E0\u6CD5\u786E\u5B9A lazyLib \u7684 glob \u6A21\u5F0F\uFF0C\u6309\u9700\u6253\u5305\u5F62\u6001\u672A\u6CE8\u5165\u3002\u628A\u5165\u53E3\u6362\u6210 import.meta.glob \u540E\u53EF\u624B\u52A8\u52A0\uFF1A
|
|
75
|
+
`+t);else if(!s)g(" \xB7 package.json \u6CA1\u6709 name \u2014\u2014 \u8DF3\u8FC7\uFF08lazyLib \u7684 pkgName \u51B3\u5B9A\u5E73\u53F0\u6309\u4EC0\u4E48\u540D\u5B57\u627E\u515C\u5E95\u4EA7\u7269\uFF09"),F.push(`package.json \u7F3A\u5C11 name\uFF0C\u65E0\u6CD5\u786E\u5B9A lazyLib \u7684 pkgName\uFF0C\u6309\u9700\u6253\u5305\u5F62\u6001\u672A\u6CE8\u5165\u3002
|
|
76
|
+
`+t);else{let r=[...w].reverse().find(a=>a.file===e),o=r?r.after:j(e),i=De(o,{glob:n,pkgName:s});if(i.status==="present")g(` \xB7 ${e}\uFF1A\u5DF2\u6CE8\u5165\u8FC7\uFF0C\u8DF3\u8FC7\uFF08\u5E42\u7B49\uFF09`);else if(i.status==="half")g(` \xB7 ${e}\uFF1A\u68C0\u6D4B\u5230\u534A\u6CE8\u5165\u72B6\u6001\uFF08import \u4E0E lazyLib() \u8C03\u7528\u53EA\u6709\u4E00\u5904\u5B58\u5728\uFF09\uFF0C\u672A\u81EA\u52A8\u5904\u7406`),F.push(`${e} \u68C0\u6D4B\u5230\u6309\u9700\u6253\u5305\u63D2\u4EF6\u534A\u6CE8\u5165\u72B6\u6001\uFF08import \u4E0E lazyLib() \u8C03\u7528\u53EA\u5B58\u5728\u4E00\u5904\uFF09\uFF0C\u8BF7\u4EBA\u5DE5\u786E\u8BA4\u540E\u8865\u9F50\uFF1A
|
|
77
|
+
${t}`);else if(i.status==="no-anchor")g(` \xB7 ${e}\uFF1A\u627E\u4E0D\u5230 frameDeps() \u951A\u70B9\uFF0C\u672A\u81EA\u52A8\u6CE8\u5165\uFF08\u4F4D\u7F6E\u53EA\u80FD\u731C\uFF0C\u8F6C\u4EBA\u5DE5\uFF09`),F.push(`${e} \u91CC\u6CA1\u6709 frameDeps() \u8C03\u7528\uFF0C\u6309\u9700\u6253\u5305\u63D2\u4EF6\u7684\u6CE8\u5165\u4F4D\u7F6E\u65E0\u6CD5\u786E\u5B9A\uFF08\u4E0D\u731C\u4F4D\u7F6E\uFF09\uFF0C\u8BF7\u624B\u52A8\u52A0\uFF1A
|
|
78
|
+
${t}`);else{let a=!0,c="";if(/\.m?js$/.test(e)){let p=P.join(be.tmpdir(),`epx-migrate-lazy-check-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`);h.writeFileSync(p,i.src);let m=ct(process.execPath,["--check",p],{encoding:"utf8"});h.rmSync(p,{force:!0}),a=m.status===0,a||(c=String(m.stderr||"").split(`
|
|
79
|
+
`).slice(0,3).join(" "))}if(!a)g(` \xB7 ${e}\uFF1A\u6CE8\u5165\u540E\u8BED\u6CD5\u6821\u9A8C\u672A\u901A\u8FC7\uFF0C\u5DF2\u653E\u5F03\u6539\u52A8`),F.push(`${e} \u6CE8\u5165\u6309\u9700\u6253\u5305\u63D2\u4EF6\u540E node --check \u672A\u901A\u8FC7\uFF08\u5DF2\u653E\u5F03\u8BE5\u81EA\u52A8\u6539\u52A8\uFF0C\u6587\u4EF6\u4FDD\u6301\u539F\u6837\uFF09\uFF0C\u8BF7\u624B\u52A8\u52A0\uFF1A
|
|
76
80
|
${t}
|
|
77
|
-
\uFF08\u6821\u9A8C\u62A5\u9519\uFF1A${c}\uFF09`);else{g(` \u2713 ${e}\uFF1A\u6CE8\u5165\u6309\u9700\u6253\u5305\u63D2\u4EF6\uFF08\u9ED8\u8BA4\u5173\uFF0Cglob='${n}'\uFF09`),r?r.after=i.src:
|
|
78
|
-
`;p?p.after=w:F.push({file:"package.json",after:w}),g(" \u2713 package.json\uFF1A\u52A0 build:lib:lazy \u811A\u672C\u4E0E cross-env")}else g(" \xB7 package.json\uFF1Abuild:lib:lazy \u4E0E cross-env \u5DF2\u5728\uFF0C\u8DF3\u8FC7")}}}}}}L("\u2465 \u7B2C\u4E09\u65B9\u8FD0\u884C\u65F6\u4F9D\u8D56 Vue3 \u517C\u5BB9\u6027\u626B\u63CF");var Q=[];{let e={};try{e=JSON.parse(j("package.json")||"{}").dependencies||{}}catch{e={}}let t=Object.keys(e).filter(n=>he.has(n));for(let n of t){if(te[n])continue;if(ne[n]){Q.push({name:n,kind:"known",detail:ne[n].note}),g(` \u2717 ${n}\uFF1A\u5DF2\u77E5 Vue2-only \u2014\u2014 ${ne[n].note}`);continue}let o=null;try{o=JSON.parse(v.readFileSync(O(`node_modules/${n}/package.json`),"utf8"))}catch{o=null}if(!o)continue;let r=o.peerDependencies&&o.peerDependencies.vue||o.dependencies&&o.dependencies.vue||"";r&&Jt(r)&&(Q.push({name:n,kind:"suspect",detail:`\u5176 package.json \u58F0\u660E vue \u652F\u6301 "${r}"\uFF08\u53EA\u5339\u914D Vue2\uFF09`}),g(` \xB7 ${n}\uFF1A\u7591\u4F3C Vue2-only\uFF08vue="${r}"\uFF09`))}Q.length||g(" \xB7 \u672A\u53D1\u73B0\u9762\u5411 Vue2 \u7684\u7B2C\u4E09\u65B9\u8FD0\u884C\u65F6\u5E93\uFF08\u4F9D\u8D56\u672A\u5B89\u88C5\u65F6\u7ED3\u679C\u4E0D\u5B8C\u6574\uFF0Cnpm i \u540E\u91CD\u8DD1\u66F4\u51C6\uFF09")}{let e=u(n=>/<template[\s>]/.test(n.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"")),"hasSfcTemplate"),t=R.filter(n=>{let o=v.readFileSync(n,"utf8");return!e(o)&&/<style[^>]*\bscoped/.test(o)});if(t.length){L("\u2466 JSX \u7EC4\u4EF6 scoped \u6837\u5F0F\u5339\u914D\u590D\u6838"),g(` \u26A0 ${t.length} \u4E2A\u300C\u65E0 <template> + <style scoped>\u300D\u7EC4\u4EF6\u5F85\u590D\u6838\uFF1B\u7ED3\u6784\u547D\u4E2D\u4E0D\u8BC1\u660E\u6837\u5F0F\u5931\u6548\uFF0C\u5148\u4FDD\u7559 scoped \u5E76\u9A8C\u8BC1\u6700\u7EC8\u4EA7\u7269\uFF08\u89C1 pitfalls F15\uFF09`);for(let n of t){let r=(v.readFileSync(n,"utf8").match(/::v-deep|:deep\(|\/deep\/|>>>/g)||[]).length;g(` \xB7 ${P.relative(T,n).replace(/\\/g,"/")}${r?`\uFF08\u542B ${r} \u5904\u6DF1\u5C42\u9009\u62E9\u5668\uFF0C\u6838\u5BF9\u5176\u4F5C\u7528\u8303\u56F4\u4E0E\u6700\u7EC8 CSS\uFF09`:""}`)}C.push(`\u3010\u6837\u5F0F\xB7\u5F85\u8FD0\u884C\u65F6\u590D\u6838\u3011${t.length} \u4E2A JSX/render \u7EC4\u4EF6\uFF08\u65E0 <template>\uFF09\u4F7F\u7528\u4E86 <style scoped>\uFF1B\u8FD9\u4E0D\u8BC1\u660E\u6837\u5F0F\u5931\u6548\uFF0C\u9ED8\u8BA4\u4FDD\u7559 scoped\u3002\u7528\u6700\u7EC8\u4EA7\u7269\u9010\u4E2A\u6838\u5BF9\u5F02\u5E38\u5143\u7D20\u7684 DOM\u3001CSS \u9009\u62E9\u5668\u4E0E\u8BA1\u7B97\u6837\u5F0F\uFF0C\u4EC5\u4FEE\u590D\u5DF2\u8BC1\u5B9E\u7684\u95EE\u9898\u3002\u82E5\u786E\u9700\u53BB scoped\uFF0C\u5FC5\u987B\u540C\u65F6\u5B8C\u6210\u5168\u90E8\u89C4\u5219\u7684\u552F\u4E00\u547D\u540D\u7A7A\u95F4\u9694\u79BB\uFF0C\u5E76\u9A8C\u8BC1\u7EC4\u4EF6\u5916\u540C\u540D\u5143\u7D20\u53CA\u8DE8\u9875\u9762\u6837\u5F0F\u4E0D\u53D7\u5F71\u54CD\uFF1B\u672A\u9A8C\u8BC1\u9879\u4E0D\u5F97\u8BA1\u4E3A\u901A\u8FC7\uFF08\u89C1 pitfalls F15\uFF09\uFF1A${t.map(n=>P.relative(T,n).replace(/\\/g,"/")).join("\u3001")}`)}}var W=null;if(ut){L("V. webpack \u2192 Vite \u5F62\u6001\u8F6C\u6362");let e=[...F].reverse().find(i=>i.file==="package.json"&&!i.remove),t=[...F].reverse().find(i=>i.file===I&&!i.remove),o=Ne({projectDir:T,read:u(i=>i===I&&t?t.after:j(i),"readForVite"),epxFrameSpec:ae,basePkgRaw:e?e.after:null});W=o.info;for(let i of o.changes){if(i.file==="package.json"&&!i.remove&&e){e.after=i.after,g(" \u2713 package.json\uFF08\u5E76\u5165 \u2460 \u4F9D\u8D56\u8FC1\u79FB\u4EA7\u51FA\uFF09");continue}F.push(i),g(` ${i.remove?"\u2717 \u5220":"\u2713"} ${i.file}`)}for(let i of o.manual)C.push(i);W.removedDeps&&W.removedDeps.length&&g(` \xB7 \u6458\u9664 webpack \u6784\u5EFA\u4F9D\u8D56 ${W.removedDeps.length} \u4E2A\uFF1A${W.removedDeps.join(", ")}`),g(` \xB7 \u7EC4\u4EF6\u76EE\u5F55 dirName='${W.dirName}'\uFF0ClazyLib glob='${W.glob}'`);let r=0,s=0;for(let i of V){let a=P.relative(T,i).replace(/\\/g,"/"),c=[...F].reverse().find(x=>x.file===a&&!x.remove),p=c?c.after:v.readFileSync(i,"utf8"),d=Qe(p,{isVue:i.endsWith(".vue")});d.src!==p&&(c?c.after=d.src:F.push({file:a,after:d.src}),r+=d.count,s++),d.templateAsset&&C.push(`${a}\uFF1A\u6A21\u677F\u91CC\u6709 require('\u56FE\u7247')\uFF0C\u6539\u6210\u6A21\u5757\u9876\u5C42 import \u53D8\u91CF\u540E Options API \u7684 this \u53D6\u4E0D\u5230\uFF0C\u9700\u624B\u5DE5\u6362 :src \u7ED1\u5B9A data/computed \u6216 new URL(..., import.meta.url)\u3002`)}r&&g(` \u2713 \u6E90\u7801 require.context\u2192import.meta.glob / require(\u56FE\u7247)\u2192\u9759\u6001 import\uFF1A${r} \u5904 / ${s} \u6587\u4EF6`)}L("\u8FD0\u884C\u65F6\u6807\u8BC6\uFF08runtime: vue3\uFF09");if(I){let e=[...F].reverse().find(o=>o.file===I&&!o.remove),t=e?e.after:j(I),n=ot(t);n.marked?(n.src!==t&&(e?e.after=n.src:F.push({file:I,after:n.src})),g(` \u2713 ${I}\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u5305\u542B runtime: 'vue3'`)):(C.push(`${I} \u672A\u80FD\u81EA\u52A8\u6DFB\u52A0 runtime \u6807\u8BC6\uFF1A${n.reason}\u3002\u8BF7\u8BA9\u9ED8\u8BA4\u5BFC\u51FA\u7684\u5E93\u5BF9\u8C61\u5305\u542B runtime: 'vue3'\uFF1B\u672A\u6807\u8BC6\u65F6\u5E73\u53F0\u4FDD\u7559\u65E7\u7248\u517C\u5BB9\u3002`),g(` \xB7 ${I}\uFF1A\u6807\u8BC6\u672A\u6CE8\u5165\uFF0C\u5DF2\u8BB0\u5F55\u4EBA\u5DE5\u6E05\u5355`))}else C.push("\u672A\u627E\u5230\u8FDC\u7A0B\u5E93\u5165\u53E3\uFF1B\u8BF7\u8BA9\u5E93\u9ED8\u8BA4\u5BFC\u51FA\u5305\u542B runtime: 'vue3'\u3002package.json \u6807\u8BC6\u4E0D\u4F1A\u5355\u72EC\u4F20\u5230\u6D4F\u89C8\u5668\u3002");L("\u65E5\u671F\u63A7\u4EF6\u683C\u5F0F\uFF08Element UI \u2192 Element Plus\uFF09");var xe=[];for(let e of V){let t=P.relative(T,e),n=F.find(r=>r.file===t&&!r.remove),o=$e(n?n.after:v.readFileSync(e,"utf8"),{filename:e});if(o.count){n?n.after=o.src:F.push({file:t,after:o.src});for(let r of o.fixes)xe.push(`${t}:${r.line}\uFF1A${r.before} \u2192 ${r.after}`);g(` \u2713 ${t}\uFF1A${o.count} \u5904\u65E5\u671F\u683C\u5F0F\u4FEE\u590D`)}for(let r of o.warnings)C.push(`${t}\uFF1A${r}\uFF08F21\uFF1B\u5B8C\u6210\u683C\u5F0F\u6765\u6E90\u4FEE\u590D\u540E\u518D\u9A8C\u6536\uFF09`)}L("\u4EA7\u54C1\u4E3B\u9898\u9002\u914D\uFF08\u6D88\u8D39\u5E73\u53F0\u53D8\u91CF\uFF0C\u4FDD\u7559 scoped\uFF09");var be=[];for(let e of[...V,...gt]){let t=P.relative(T,e),n=[...F].reverse().find(r=>r.file===t&&!r.remove),o=Ce(n?n.after:v.readFileSync(e,"utf8"),{filename:e});if(o.count){n?n.after=o.src:F.push({file:t,after:o.src});for(let r of o.fixes)be.push(`${t}:${r.line}\uFF1A${r.before} \u2192 ${r.after}`);g(` \u2713 ${t}\uFF1A${o.count} \u5904\u4E3B\u9898\u53D8\u91CF\u9002\u914D`)}for(let r of o.warnings)C.push(`${t}\uFF1A${r}\uFF08E2\uFF1B\u8FFD\u8E2A\u5B9E\u9645\u6D88\u8D39\u573A\u666F\u540E\u5B8C\u6210\u4E3B\u9898\u9002\u914D\uFF09`)}if(_){L("@epxing \u72EC\u7ACB\u5305\u5165\u53E3\u4E0E\u4F9D\u8D56\u8FC1\u79FB");let t=at({read:u(n=>[...F].reverse().find(o=>o.file.replaceAll("\\","/")===n&&!o.remove)?.after??j(n),"latest"),files:V.map(n=>P.relative(T,n).replaceAll("\\","/")),packagesVersion:_,cliVersion:lt,templates:Wt,newVite:ut&&!["vite.config.mjs","vite.config.js","vite.config.ts"].some(n=>j(n)!=null)});ve=t.blocked;for(let n of t.changes)F.push(n);C.push(...t.manual),g(t.blocked?" \u72EC\u7ACB\u5305\u5207\u6362\u9700\u8981\u4EBA\u5DE5\u5904\u7406\uFF1B\u4FDD\u7559\u539F\u5305\u5165\u53E3\uFF0C\u672A\u6DF7\u5165\u90E8\u5206\u72EC\u7ACB\u5305\u3002":` \u2713 \u72EC\u7ACB\u5305\u7248\u672C ${_}\uFF1B\u751F\u6210\u4EA7\u54C1\u4F7F\u7528\u8BF4\u660E`)}var qt=["# epx-migrate \u8FC1\u79FB\u62A5\u544A","",`\u9879\u76EE\uFF1A\`${P.resolve(T)}\``,`\u6A21\u5F0F\uFF1A${J?"--apply \u5DF2\u843D\u76D8":"dry-run \u672A\u843D\u76D8"}${fe?" + gogocode \u8F6C\u6362":""}`,"",..._?["## \u72EC\u7ACB\u5305\u5207\u6362","",`\u76EE\u6807\uFF1A@epxing/* ${_}\uFF0CCLI ${lt}\u3002`,ve?"\u5B58\u5728\u672A\u786E\u5B9A\u7684\u65E7\u63A5\u53E3\uFF0C\u672C\u6B21\u4FDD\u7559\u65E7\u5305\u6A21\u5F0F\uFF1B\u6309\u4EBA\u5DE5\u6E05\u5355\u5904\u7406\u540E\u91CD\u65B0\u8FD0\u884C\u3002":"\u516C\u5F00\u5165\u53E3\u4E0E\u4F9D\u8D56\u5DF2\u5217\u5165\u8FC1\u79FB\u8BA1\u5212\uFF0C\u4EA7\u54C1\u4F7F\u7528\u8BF4\u660E\u89C1 PRODUCT-GUIDE.md \u6216 EPXING-PACKAGES-GUIDE.md\u3002","\u9884\u89C8\u4E0D\u4F1A\u5199\u5165\u6587\u4EF6\uFF1B\u5E94\u7528\u540E\u5B89\u88C5\u4F9D\u8D56\u5E76\u9A8C\u8BC1\u8FDC\u7A0B\u5E93\u3001\u72EC\u7ACB\u5E94\u7528\u53CA\u4E1A\u52A1\u6D41\u7A0B\u3002",""]:[],"## \u540E\u7EED\u64CD\u4F5C\u987A\u5E8F","","```bash",'git add -A && git commit -m "epx-migrate: \u4F9D\u8D56+codemod" # \u5B58\u6863\u5DE5\u5177\u6539\u52A8','npm i && git add -A && git commit -m "lockfile" # \u88C5\u65B0\u4F9D\u8D56\u5E76\u63D0\u4EA4\uFF08lock \u88AB\u8DDF\u8E2A\u65F6 --transform-vue \u7684\u5E72\u51C0\u68C0\u67E5\u9700\u8981\uFF09',...fe?[]:["# \u4EC5\u4ECD\u542B Vue2 \u7EC4\u4EF6\u7684\u4EA7\u54C1\u624D\u9700\u8981\u8FFD\u52A0 --transform-vue\uFF1B\u5DF2\u662F Vue3 \u7684\u5DE5\u7A0B\u4E0D\u91CD\u590D\u8F6C\u6362\u3002"],"npm run build:lib # \u6784\u5EFA Vue3 \u7248\u8FDC\u7A0B lib/index.js","```","","\u6784\u5EFA\u62A5\u9519\u65F6\u6309\u6587\u4EF6\u9010\u4E2A\u5904\u7406\uFF08\u6700\u5E38\u89C1\uFF1A\u5185\u8054\u4E8B\u4EF6\u591A\u8BED\u53E5\u7F3A\u5206\u53F7\u2014\u2014\u6309\u62A5\u9519\u884C\u8865 `;`\uFF09\u3002","",'\u8FD0\u884C\u65F6\u6807\u8BC6\uFF1A\u672C\u547D\u4EE4\u81EA\u52A8\u5199\u5165 package.json \u7684 `runtime: "vue3"`\uFF0C\u5E76\u7ED9\u5E93\u9ED8\u8BA4\u5BFC\u51FA\u8865\u540C\u540D\u6807\u8BC6\u3002\u6784\u5EFA\u90E8\u7F72\u540E\u8BE5\u5305\u8D70 Vue3 \u539F\u751F\u5B89\u88C5\uFF1B`vue2` \u6216\u6CA1\u6709\u6807\u8BC6\u7684\u5176\u5B83\u4EA7\u54C1/\u9879\u76EE\u5305\u7EE7\u7EED\u4F7F\u7528\u57AB\u7247\u3002\u6807\u8BC6\u8868\u793A\u8FC1\u79FB\u76EE\u6807\uFF0C\u4E0D\u4EE3\u8868\u6784\u5EFA\u6216\u4E1A\u52A1\u9A8C\u6536\u5DF2\u901A\u8FC7\uFF1B\u5B8C\u6210\u4E0B\u9762\u7684\u8F6C\u6362\u3001\u6784\u5EFA\u548C\u590D\u6D4B\u540E\u518D\u53D1\u5E03\u3002',"","epxing lib \u9ED8\u8BA4\u6784\u5EFA\u6309\u9700\u4EA7\u54C1\u5E93\uFF1Bepxing lib --full \u6784\u5EFA\u5B8C\u6574\u5E93\u3002\u76F4\u63A5 npm run build:lib \u4ECD\u6309\u9879\u76EE\u811A\u672C\u6267\u884C\u3002","","```bash","npm run build:lib:lazy # \u51FA index.js(\u5165\u53E3\u58F3) + chunks/ + index.full.js(\u515C\u5E95)","```","","\u26A0\uFE0F \u6309\u9700\u5F62\u6001**\u5FC5\u987B\u4E0A\u4F20\u6574\u4E2A `lib/` \u76EE\u5F55**\uFF08\u4E0D\u518D\u662F index.js + index.css \u4E24\u4E2A\u6587\u4EF6\uFF09\uFF1BFM_SYSTEM_WEBPACK \u91CC\u4ECD\u53EA\u914D index.js \u4E0E index.css \u4E24\u6761 url\u3002\u5207\u6362\u524D\u7684\u7EA6\u675F\u4E0E\u7EBF\u4E0A\u6392\u67E5\u624B\u6BB5\u89C1 epx-frame \u7684 `docs/PROJECT-GUIDE.md` \xA7\u4E09\u300C\u4E24\u79CD\u6253\u5305\u65B9\u5F0F\u300D\u3002","",..._?["## \u5E73\u53F0\u542F\u52A8\u5165\u53E3\u4E0E\u9A8C\u6536","","- \u5E73\u53F0\u4EA7\u54C1\u4F7F\u7528 createApp({ router: createFrameRouter() })\uFF0C\u4F9D\u6B21\u5B89\u88C5 Components\u3001Business \u548C\u4EA7\u54C1\u63D2\u4EF6\uFF0C\u518D mount\u3002core \u63D0\u4F9B\u8DEF\u7531\u6839\u7EC4\u4EF6\uFF1Bbusiness \u7684\u7CFB\u7EDF App \u5728\u5E94\u7528\u914D\u7F6E\u52A0\u8F7D\u540E\u8BFB\u53D6 FIRST_PAGE / MOBILE_FIRST_PAGE\u3002","- \u4EC5\u539F\u6837\u7684\u65E7\u8BA1\u6570\u6B22\u8FCE\u9875 main.js \u548C App.vue \u4F1A\u81EA\u52A8\u4FEE\u590D\uFF1B\u81EA\u5B9A\u4E49\u6839\u7EC4\u4EF6\u3001\u8DEF\u7531\u3001store \u548C HTTP \u5BA2\u6237\u7AEF\u4FDD\u7559\uFF0C\u6309\u4EA7\u54C1\u7528\u9014\u4EBA\u5DE5\u6838\u5BF9\u3002","- \u786E\u8BA4 .env.development.local \u6307\u5411\u5B9E\u9645\u540E\u7AEF\u3001\u5BA2\u6237\u7AEF\u3001\u7CFB\u7EDF\u548C\u5E94\u7528\uFF1B\u9A8C\u8BC1\u767B\u5F55\u3001\u89D2\u8272\u3001\u83DC\u5355\u3001PC/\u79FB\u52A8\u7AEF\u9996\u9875\u53CA\u4EA7\u54C1\u4E1A\u52A1\u7EC4\u4EF6\u3002","- src/main.js \u662F\u5F00\u53D1\u542F\u52A8\u5165\u53E3\uFF1Bsrc/index.js \u662F\u4EA7\u54C1\u5E93\u5165\u53E3\uFF0C\u4E0D\u80FD\u5728\u4EA7\u54C1\u5E93\u4E2D\u518D\u6B21 createApp \u6216 mount\u3002","- \u6267\u884C epxing scan . \u548C epxing verify .\uFF1B\u540E\u8005\u4F18\u5148\u8BFB\u53D6 lib \u6E05\u5355\u6216\u4EA7\u7269\uFF0C\u65E0\u4EA7\u7269\u65F6\u6839\u636E\u7EC4\u4EF6\u6536\u96C6\u5165\u53E3\u5217\u6E90\u7801\u5019\u9009\uFF0C\u4E0D\u80FD\u4EE3\u66FF\u6784\u5EFA\u540E\u53CA\u771F\u5B9E\u5E73\u53F0\u9A8C\u6536\u3002","- \u6784\u5EFA\u901A\u8FC7\u548C\u9759\u6001\u6821\u9A8C\u901A\u8FC7\u4E0D\u8868\u793A\u76EE\u6807\u73AF\u5883\u5DF2\u53D1\u5E03\u6216\u4E1A\u52A1\u5DF2\u901A\u8FC7\uFF1B\u7528\u6700\u7EC8\u4EA7\u54C1\u5E93\u5728\u771F\u5B9E\u5BBF\u4E3B\u9A8C\u6536\u3002",""]:[],"## \u2460 \u4F9D\u8D56\u8FC1\u79FB\uFF08\u5DF2\u81EA\u52A8\uFF09","- \u8FC1\u79FB\u8868\u52A0/\u5220/\u6539 + lib \u6784\u5EFA\u95ED\u5305\uFF08webpack5/vue-loader17\uFF09+ gogocode \u5DE5\u5177 + JSX/icons \u4F9D\u8D56 + \u9690\u5F0F\u4F9D\u8D56\u8865\u58F0\u660E","","### webpack.config.js \u4EBA\u5DE5\u6838\u5BF9",...Me.map(e=>`- ${e}`),"","## \u2461 codemod\uFF08\u5DF2\u81EA\u52A8\uFF09","- main.js\uFF1A`Vue.use`\u2192`app.use`\u3001`$mount`\u2192`mount`\u3001`frame.createApp()`","- index.js\uFF1A`install(Vue)`\u2192`install(app)`\u3001`Vue.component`\u2192`app.component`","- babel.config.js\uFF1A\u5220 element-ui/vant \u6309\u9700\u63D2\u4EF6 + cli preset\uFF1BJSX \u9879\u76EE\u52A0 @vue/babel-plugin-jsx","- webpack.config.js\uFF1Aexternals \u52A0 `{ vue: window.frame.Vue }`\uFF1BJSX \u9879\u76EE babel \u89C4\u5219\u6536 .jsx","- \u7A7A .vue \u8865\u6700\u5C0F\u5408\u6CD5\u5185\u5BB9","","### \u65E5\u671F\u63A7\u4EF6\u683C\u5F0F\u81EA\u52A8\u4FEE\u590D\uFF08F21\uFF1B\u4E0D\u4F9D\u8D56 gogocode\uFF09",...xe.length?xe.map(e=>`- ${e}`):["- \u672A\u53D1\u73B0\u53EF\u9759\u6001\u4FEE\u590D\u7684\u65E7\u683C\u5F0F\uFF1B\u52A8\u6001\u6765\u6E90\u89C1\u4EBA\u5DE5\u6E05\u5355\uFF0C\u4E0D\u4EE3\u8868\u6240\u6709\u65E5\u671F\u903B\u8F91\u5DF2\u901A\u8FC7\u3002"],"- \u53EA\u4FEE\u6539\u65E5\u671F/\u65F6\u95F4\u63A7\u4EF6 format \u4E0E value-format/valueFormat\uFF1B\u4FDD\u7559\u5206\u949F mm\u3001\u79D2 ss\u3001\u661F\u671F ddd/dddd \u548C\u65B9\u62EC\u53F7\u6587\u5B57\u3002\u4E0D\u5168\u5C40\u66FF\u6362\u540E\u7AEF/\u5176\u5B83\u65E5\u671F\u5E93\u5B57\u7B26\u4E32\u3002","- \u7528\u6700\u7EC8Vue3\u4EA7\u7269\u6838\u5BF9\u521D\u59CB\u56DE\u663E\u3001\u9009\u62E9\u65E5\u671F\u3001\u7ED1\u5B9A\u503C\u53CA\u63A5\u53E3\u65E5\u671F\u53C2\u6570\uFF1Blint/build\u901A\u8FC7\u4E0D\u80FD\u66FF\u4EE3\u65E5\u671F\u9A8C\u6536\u3002","","### \u4E3B\u9898\u9002\u914D\uFF08E2\uFF1B\u4E0D\u4F9D\u8D56 gogocode\uFF09",...be.length?be.map(e=>`- ${e}`):["- \u672A\u53D1\u73B0\u53EF\u5B89\u5168\u81EA\u52A8\u66FF\u6362\u7684\u9759\u6001\u4E3B\u9898\u6837\u5F0F\uFF1B\u52A8\u6001\u503C\u4E0E\u7279\u6B8A\u5C3A\u5BF8\u89C1\u4EBA\u5DE5\u6E05\u5355\u3002"],"- \u4EA7\u54C1\u53EA\u6D88\u8D39\u5E73\u53F0 --epx-* / --color-text-* \u53D8\u91CF\u5E76\u4FDD\u7559\u65E7\u503C fallback\uFF0C\u4E0D\u5BFC\u5165\u6574\u5957\u4E3B\u9898\u6216\u5199\u5168\u5C40 :root \u9ED8\u8BA4\u503C\uFF1Bscoped\u3001\u5706\u5F62/\u80F6\u56CA\u3001\u56FE\u6807\u3001\u6253\u5370\u6837\u5F0F\u4FDD\u7559\u3002","- \u7528\u6700\u7EC8\u4EA7\u7269\u5207\u6362\u5B57\u53F7\u3001\u5706\u89D2\u3001\u660E\u6697\u53CA\u5BC6\u5EA6\uFF0C\u6838\u5BF9\u4EA7\u54C1\u4E0E\u5E73\u53F0\u540C\u6B65\u3001\u61D2\u52A0\u8F7D\u524D\u540E\u53CA\u7EC4\u4EF6\u5916\u6837\u5F0F\u3002\u4E0D\u80FD\u5B89\u5168\u81EA\u52A8\u5904\u7406\u7684\u52A8\u6001\u503C\u987B\u8FFD\u8E2A\u6765\u6E90\u5E76\u4FEE\u590D\u6216\u8BB0\u5F55\u4FDD\u7559\u7406\u7531\u3002","","## \u2462 .vue \u8F6C\u6362\uFF08gogocode + \u4FEE\u8865\uFF0C\u5DF2\u81EA\u52A8\uFF09\u4E0E\u4EBA\u5DE5\u590D\u6838\u6E05\u5355\uFF08\u6570\u5B57=\u547D\u4E2D\u6587\u4EF6\u6570\uFF09",'- style \u5757\u5168\u7A0B\u5FEB\u7167\u4FDD\u62A4\uFF08gogocode \u4F1A\u6BC1 scss \u6CE8\u91CA\u5757/\u5220 style\uFF09\uFF1Bicons \u5305\u540D\u6539\u5199\uFF1BJSX \u6807 lang="jsx"',...Object.entries(bt).filter(([,e])=>e>0).map(([e,t])=>`- [ ] **${t} \u6587\u4EF6**\uFF1A${e}`),"","### \u5176\u5B83\u4EBA\u5DE5\u9879",...C.length?C.map(e=>`- [ ] ${e}`):["- \uFF08\u65E0\uFF09"],"","## \u2465 \u7B2C\u4E09\u65B9\u8FD0\u884C\u65F6\u4F9D\u8D56\uFF08Vue3 \u517C\u5BB9\u6027\uFF09",...Q.length?["> Vue3 \u4EA7\u7269\u4E0D\u8D70\u5E73\u53F0 vue2-remote-shim \u57AB\u7247\uFF0C\u9762\u5411 Vue2 \u7684\u7B2C\u4E09\u65B9\u8FD0\u884C\u65F6\u5E93\u4F1A**\u8FD0\u884C\u65F6\u5D29**\uFF08\u5982\u7EC4\u7EC7\u67B6\u6784\u56FE `_c`\uFF09\u3002\u53EA\u80FD\u6362\u5E93/\u81EA\u5C01\u88C5\uFF0C\u5DE5\u5177\u4E0D\u81EA\u52A8\u6539\u3002","",...Q.map(e=>`- [ ] ${e.kind==="known"?"**\u786E\u5B9A\u4E0D\u517C\u5BB9**":"\u7591\u4F3C"} \`${e.name}\`\uFF1A${e.detail}`)]:["- \uFF08\u672A\u53D1\u73B0\uFF1B\u4F9D\u8D56\u672A\u5B89\u88C5\u65F6\u7ED3\u679C\u4E0D\u5B8C\u6574\uFF0C`npm i` \u540E\u91CD\u8DD1\u66F4\u51C6\uFF09"],"","## \u53C2\u7167","- \u5E73\u53F0\u8FC1\u79FB\u8BB0\u6863\uFF1A`epx-frame/docs/migration/`\uFF08\u540C\u6B3E\u5751\uFF09","- **\u6784\u5EFA\u901A\u8FC7 \u2260 \u8FD0\u884C\u7B49\u4EF7**\uFF1A\u4E0A\u5E73\u53F0\u771F\u73AF\u5883\u70B9\u5173\u952E\u9875\u9762\uFF08\u5217\u8868/\u8868\u5355/\u5F39\u7A97/\u6D41\u7A0B\uFF09\uFF1BJSX \u7684 scopedSlots \u7B49 Vue2 \u8BED\u4E49\u91CD\u70B9\u770B","- **\u6837\u5F0F\u9694\u79BB\u9A8C\u6536**\uFF1A\u9ED8\u8BA4\u4FDD\u7559 scoped\uFF1B\u8C03\u6574\u4F5C\u7528\u57DF\u65F6\uFF0C\u987B\u7528\u6700\u7EC8\u61D2\u52A0\u8F7D\u4EA7\u7269\u68C0\u67E5\u7EC4\u4EF6\u5185\u6548\u679C\u3001\u52A0\u8F7D\u524D\u540E\u7EC4\u4EF6\u5916\u540C\u540D\u5143\u7D20\u53CA\u79BB\u5F00\u9875\u9762\u540E\u7684\u5176\u4ED6\u9875\u9762\u3002\u6784\u5EFA\u6216\u9759\u6001\u626B\u63CF\u901A\u8FC7\u4E0D\u80FD\u66FF\u4EE3\u9694\u79BB\u56DE\u5F52\uFF1B\u672A\u6D4B\u9879\u8BB0\u5F55\u4E3A\u5F85\u9A8C\u8BC1\u3002","- \u6682\u4E0D\u91CD\u5EFA\u7684\u8001\u5E93\uFF1A\u5E73\u53F0\u4FA7 Vue2 \u57AB\u7247\u515C\u5E95\uFF08`INCLUDE_VUE2_COMPAT`\uFF09",""].join(`
|
|
79
|
-
`);
|
|
80
|
-
\u5B8C\u6210\u3002${J?"\u5DF2\u843D\u76D8\uFF0C\u7528 git diff \u5BA1\u67E5\u3002":"dry-run\uFF1B--apply \u843D\u76D8\u3002"}\u4EBA\u5DE5\u6E05\u5355\u89C1 MIGRATION-REPORT.md\u3002`);
|
|
81
|
+
\uFF08\u6821\u9A8C\u62A5\u9519\uFF1A${c}\uFF09`);else{g(` \u2713 ${e}\uFF1A\u6CE8\u5165\u6309\u9700\u6253\u5305\u63D2\u4EF6\uFF08\u9ED8\u8BA4\u5173\uFF0Cglob='${n}'\uFF09`),r?r.after=i.src:w.push({file:e,after:i.src});let p=[...w].reverse().find(x=>x.file==="package.json"),m=null;try{m=JSON.parse(p?p.after:j("package.json")||"{}")}catch{m=null}if(!m)F.push("package.json \u89E3\u6790\u5931\u8D25\uFF0C\u672A\u80FD\u8865 build:lib:lazy \u811A\u672C\u4E0E cross-env\uFF0C\u8BF7\u624B\u52A8\u52A0\u3002");else{let{pkg:x,changed:v}=Ve(m);if(v){let $=JSON.stringify(x,null,2)+`
|
|
82
|
+
`;p?p.after=$:w.push({file:"package.json",after:$}),g(" \u2713 package.json\uFF1A\u52A0 build:lib:lazy \u811A\u672C\u4E0E cross-env")}else g(" \xB7 package.json\uFF1Abuild:lib:lazy \u4E0E cross-env \u5DF2\u5728\uFF0C\u8DF3\u8FC7")}}}}}}L("\u2465 \u7B2C\u4E09\u65B9\u8FD0\u884C\u65F6\u4F9D\u8D56 Vue3 \u517C\u5BB9\u6027\u626B\u63CF");var Q=[];{let e={};try{e=JSON.parse(j("package.json")||"{}").dependencies||{}}catch{e={}}let t=Object.keys(e).filter(n=>ve.has(n));for(let n of t){if(te[n])continue;if(ne[n]){Q.push({name:n,kind:"known",detail:ne[n].note}),g(` \u2717 ${n}\uFF1A\u5DF2\u77E5 Vue2-only \u2014\u2014 ${ne[n].note}`);continue}let s=null;try{s=JSON.parse(h.readFileSync(O(`node_modules/${n}/package.json`),"utf8"))}catch{s=null}if(!s)continue;let r=s.peerDependencies&&s.peerDependencies.vue||s.dependencies&&s.dependencies.vue||"";r&&qt(r)&&(Q.push({name:n,kind:"suspect",detail:`\u5176 package.json \u58F0\u660E vue \u652F\u6301 "${r}"\uFF08\u53EA\u5339\u914D Vue2\uFF09`}),g(` \xB7 ${n}\uFF1A\u7591\u4F3C Vue2-only\uFF08vue="${r}"\uFF09`))}Q.length||g(" \xB7 \u672A\u53D1\u73B0\u9762\u5411 Vue2 \u7684\u7B2C\u4E09\u65B9\u8FD0\u884C\u65F6\u5E93\uFF08\u4F9D\u8D56\u672A\u5B89\u88C5\u65F6\u7ED3\u679C\u4E0D\u5B8C\u6574\uFF0Cnpm i \u540E\u91CD\u8DD1\u66F4\u51C6\uFF09")}{let e=u(n=>/<template[\s>]/.test(n.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"")),"hasSfcTemplate"),t=R.filter(n=>{let s=h.readFileSync(n,"utf8");return!e(s)&&/<style[^>]*\bscoped/.test(s)});if(t.length){L("\u2466 JSX \u7EC4\u4EF6 scoped \u6837\u5F0F\u5339\u914D\u590D\u6838"),g(` \u26A0 ${t.length} \u4E2A\u300C\u65E0 <template> + <style scoped>\u300D\u7EC4\u4EF6\u5F85\u590D\u6838\uFF1B\u7ED3\u6784\u547D\u4E2D\u4E0D\u8BC1\u660E\u6837\u5F0F\u5931\u6548\uFF0C\u5148\u4FDD\u7559 scoped \u5E76\u9A8C\u8BC1\u6700\u7EC8\u4EA7\u7269\uFF08\u89C1 pitfalls F15\uFF09`);for(let n of t){let r=(h.readFileSync(n,"utf8").match(/::v-deep|:deep\(|\/deep\/|>>>/g)||[]).length;g(` \xB7 ${P.relative(T,n).replace(/\\/g,"/")}${r?`\uFF08\u542B ${r} \u5904\u6DF1\u5C42\u9009\u62E9\u5668\uFF0C\u6838\u5BF9\u5176\u4F5C\u7528\u8303\u56F4\u4E0E\u6700\u7EC8 CSS\uFF09`:""}`)}F.push(`\u3010\u6837\u5F0F\xB7\u5F85\u8FD0\u884C\u65F6\u590D\u6838\u3011${t.length} \u4E2A JSX/render \u7EC4\u4EF6\uFF08\u65E0 <template>\uFF09\u4F7F\u7528\u4E86 <style scoped>\uFF1B\u8FD9\u4E0D\u8BC1\u660E\u6837\u5F0F\u5931\u6548\uFF0C\u9ED8\u8BA4\u4FDD\u7559 scoped\u3002\u7528\u6700\u7EC8\u4EA7\u7269\u9010\u4E2A\u6838\u5BF9\u5F02\u5E38\u5143\u7D20\u7684 DOM\u3001CSS \u9009\u62E9\u5668\u4E0E\u8BA1\u7B97\u6837\u5F0F\uFF0C\u4EC5\u4FEE\u590D\u5DF2\u8BC1\u5B9E\u7684\u95EE\u9898\u3002\u82E5\u786E\u9700\u53BB scoped\uFF0C\u5FC5\u987B\u540C\u65F6\u5B8C\u6210\u5168\u90E8\u89C4\u5219\u7684\u552F\u4E00\u547D\u540D\u7A7A\u95F4\u9694\u79BB\uFF0C\u5E76\u9A8C\u8BC1\u7EC4\u4EF6\u5916\u540C\u540D\u5143\u7D20\u53CA\u8DE8\u9875\u9762\u6837\u5F0F\u4E0D\u53D7\u5F71\u54CD\uFF1B\u672A\u9A8C\u8BC1\u9879\u4E0D\u5F97\u8BA1\u4E3A\u901A\u8FC7\uFF08\u89C1 pitfalls F15\uFF09\uFF1A${t.map(n=>P.relative(T,n).replace(/\\/g,"/")).join("\u3001")}`)}}var W=null;if(ut){L("V. webpack \u2192 Vite \u5F62\u6001\u8F6C\u6362");let e=[...w].reverse().find(i=>i.file==="package.json"&&!i.remove),t=[...w].reverse().find(i=>i.file===I&&!i.remove),s=Ne({projectDir:T,read:u(i=>i===I&&t?t.after:j(i),"readForVite"),epxFrameSpec:ae,basePkgRaw:e?e.after:null});W=s.info;for(let i of s.changes){if(i.file==="package.json"&&!i.remove&&e){e.after=i.after,g(" \u2713 package.json\uFF08\u5E76\u5165 \u2460 \u4F9D\u8D56\u8FC1\u79FB\u4EA7\u51FA\uFF09");continue}w.push(i),g(` ${i.remove?"\u2717 \u5220":"\u2713"} ${i.file}`)}for(let i of s.manual)F.push(i);W.removedDeps&&W.removedDeps.length&&g(` \xB7 \u6458\u9664 webpack \u6784\u5EFA\u4F9D\u8D56 ${W.removedDeps.length} \u4E2A\uFF1A${W.removedDeps.join(", ")}`),g(` \xB7 \u7EC4\u4EF6\u76EE\u5F55 dirName='${W.dirName}'\uFF0ClazyLib glob='${W.glob}'`);let r=0,o=0;for(let i of V){let a=P.relative(T,i).replace(/\\/g,"/"),c=[...w].reverse().find(x=>x.file===a&&!x.remove),p=c?c.after:h.readFileSync(i,"utf8"),m=Qe(p,{isVue:i.endsWith(".vue")});m.src!==p&&(c?c.after=m.src:w.push({file:a,after:m.src}),r+=m.count,o++),m.templateAsset&&F.push(`${a}\uFF1A\u6A21\u677F\u91CC\u6709 require('\u56FE\u7247')\uFF0C\u6539\u6210\u6A21\u5757\u9876\u5C42 import \u53D8\u91CF\u540E Options API \u7684 this \u53D6\u4E0D\u5230\uFF0C\u9700\u624B\u5DE5\u6362 :src \u7ED1\u5B9A data/computed \u6216 new URL(..., import.meta.url)\u3002`)}r&&g(` \u2713 \u6E90\u7801 require.context\u2192import.meta.glob / require(\u56FE\u7247)\u2192\u9759\u6001 import\uFF1A${r} \u5904 / ${o} \u6587\u4EF6`)}L("\u8FD0\u884C\u65F6\u6807\u8BC6\uFF08runtime: vue3\uFF09");if(I){let e=[...w].reverse().find(s=>s.file===I&&!s.remove),t=e?e.after:j(I),n=ot(t);n.marked?(n.src!==t&&(e?e.after=n.src:w.push({file:I,after:n.src})),g(` \u2713 ${I}\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u5305\u542B runtime: 'vue3'`)):(F.push(`${I} \u672A\u80FD\u81EA\u52A8\u6DFB\u52A0 runtime \u6807\u8BC6\uFF1A${n.reason}\u3002\u8BF7\u8BA9\u9ED8\u8BA4\u5BFC\u51FA\u7684\u5E93\u5BF9\u8C61\u5305\u542B runtime: 'vue3'\uFF1B\u672A\u6807\u8BC6\u65F6\u5E73\u53F0\u4FDD\u7559\u65E7\u7248\u517C\u5BB9\u3002`),g(` \xB7 ${I}\uFF1A\u6807\u8BC6\u672A\u6CE8\u5165\uFF0C\u5DF2\u8BB0\u5F55\u4EBA\u5DE5\u6E05\u5355`))}else F.push("\u672A\u627E\u5230\u8FDC\u7A0B\u5E93\u5165\u53E3\uFF1B\u8BF7\u8BA9\u5E93\u9ED8\u8BA4\u5BFC\u51FA\u5305\u542B runtime: 'vue3'\u3002package.json \u6807\u8BC6\u4E0D\u4F1A\u5355\u72EC\u4F20\u5230\u6D4F\u89C8\u5668\u3002");L("\u65E5\u671F\u63A7\u4EF6\u683C\u5F0F\uFF08Element UI \u2192 Element Plus\uFF09");var xe=[];for(let e of V){let t=P.relative(T,e),n=w.find(r=>r.file===t&&!r.remove),s=$e(n?n.after:h.readFileSync(e,"utf8"),{filename:e});if(s.count){n?n.after=s.src:w.push({file:t,after:s.src});for(let r of s.fixes)xe.push(`${t}:${r.line}\uFF1A${r.before} \u2192 ${r.after}`);g(` \u2713 ${t}\uFF1A${s.count} \u5904\u65E5\u671F\u683C\u5F0F\u4FEE\u590D`)}for(let r of s.warnings)F.push(`${t}\uFF1A${r}\uFF08F21\uFF1B\u5B8C\u6210\u683C\u5F0F\u6765\u6E90\u4FEE\u590D\u540E\u518D\u9A8C\u6536\uFF09`)}L("\u4EA7\u54C1\u4E3B\u9898\u9002\u914D\uFF08\u6D88\u8D39\u5E73\u53F0\u53D8\u91CF\uFF0C\u4FDD\u7559 scoped\uFF09");var ye=[];for(let e of[...V,...gt]){let t=P.relative(T,e),n=[...w].reverse().find(r=>r.file===t&&!r.remove),s=Ce(n?n.after:h.readFileSync(e,"utf8"),{filename:e});if(s.count){n?n.after=s.src:w.push({file:t,after:s.src});for(let r of s.fixes)ye.push(`${t}:${r.line}\uFF1A${r.before} \u2192 ${r.after}`);g(` \u2713 ${t}\uFF1A${s.count} \u5904\u4E3B\u9898\u53D8\u91CF\u9002\u914D`)}for(let r of s.warnings)F.push(`${t}\uFF1A${r}\uFF08E2\uFF1B\u8FFD\u8E2A\u5B9E\u9645\u6D88\u8D39\u573A\u666F\u540E\u5B8C\u6210\u4E3B\u9898\u9002\u914D\uFF09`)}if(_){L("@epxing \u72EC\u7ACB\u5305\u5165\u53E3\u4E0E\u4F9D\u8D56\u8FC1\u79FB");let t=at({read:u(n=>[...w].reverse().find(s=>s.file.replaceAll("\\","/")===n&&!s.remove)?.after??j(n),"latest"),files:V.map(n=>P.relative(T,n).replaceAll("\\","/")),packagesVersion:_,cliVersion:lt,templates:Jt,newVite:ut&&!["vite.config.mjs","vite.config.js","vite.config.ts"].some(n=>j(n)!=null)});he=t.blocked;for(let n of t.changes)w.push(n);F.push(...t.manual),g(t.blocked?" \u72EC\u7ACB\u5305\u5207\u6362\u9700\u8981\u4EBA\u5DE5\u5904\u7406\uFF1B\u4FDD\u7559\u539F\u5305\u5165\u53E3\uFF0C\u672A\u6DF7\u5165\u90E8\u5206\u72EC\u7ACB\u5305\u3002":` \u2713 \u72EC\u7ACB\u5305\u7248\u672C ${_}\uFF1B\u751F\u6210\u4EA7\u54C1\u4F7F\u7528\u8BF4\u660E`)}var Xt=["# epx-migrate \u8FC1\u79FB\u62A5\u544A","",`\u9879\u76EE\uFF1A\`${P.resolve(T)}\``,`\u6A21\u5F0F\uFF1A${J?"--apply \u5DF2\u843D\u76D8":"dry-run \u672A\u843D\u76D8"}${fe?" + gogocode \u8F6C\u6362":""}`,"",..._?["## \u72EC\u7ACB\u5305\u5207\u6362","",`\u76EE\u6807\uFF1A@epxing/* ${_}\uFF0CCLI ${lt}\u3002`,he?"\u5B58\u5728\u672A\u786E\u5B9A\u7684\u65E7\u63A5\u53E3\uFF0C\u672C\u6B21\u4FDD\u7559\u65E7\u5305\u6A21\u5F0F\uFF1B\u6309\u4EBA\u5DE5\u6E05\u5355\u5904\u7406\u540E\u91CD\u65B0\u8FD0\u884C\u3002":"\u516C\u5F00\u5165\u53E3\u4E0E\u4F9D\u8D56\u5DF2\u5217\u5165\u8FC1\u79FB\u8BA1\u5212\uFF0C\u4EA7\u54C1\u4F7F\u7528\u8BF4\u660E\u89C1 PRODUCT-GUIDE.md \u6216 EPXING-PACKAGES-GUIDE.md\u3002","\u9884\u89C8\u4E0D\u4F1A\u5199\u5165\u6587\u4EF6\uFF1B\u5E94\u7528\u540E\u5B89\u88C5\u4F9D\u8D56\u5E76\u9A8C\u8BC1\u8FDC\u7A0B\u5E93\u3001\u72EC\u7ACB\u5E94\u7528\u53CA\u4E1A\u52A1\u6D41\u7A0B\u3002",""]:[],"## \u540E\u7EED\u64CD\u4F5C\u987A\u5E8F","","```bash",'git add -A && git commit -m "epx-migrate: \u4F9D\u8D56+codemod" # \u5B58\u6863\u5DE5\u5177\u6539\u52A8','npm i && git add -A && git commit -m "lockfile" # \u88C5\u65B0\u4F9D\u8D56\u5E76\u63D0\u4EA4\uFF08lock \u88AB\u8DDF\u8E2A\u65F6 --transform-vue \u7684\u5E72\u51C0\u68C0\u67E5\u9700\u8981\uFF09',...fe?[]:["# \u4EC5\u4ECD\u542B Vue2 \u7EC4\u4EF6\u7684\u4EA7\u54C1\u624D\u9700\u8981\u8FFD\u52A0 --transform-vue\uFF1B\u5DF2\u662F Vue3 \u7684\u5DE5\u7A0B\u4E0D\u91CD\u590D\u8F6C\u6362\u3002"],"npm run build:lib # \u6784\u5EFA Vue3 \u7248\u8FDC\u7A0B lib/index.js","```","","\u6784\u5EFA\u62A5\u9519\u65F6\u6309\u6587\u4EF6\u9010\u4E2A\u5904\u7406\uFF08\u6700\u5E38\u89C1\uFF1A\u5185\u8054\u4E8B\u4EF6\u591A\u8BED\u53E5\u7F3A\u5206\u53F7\u2014\u2014\u6309\u62A5\u9519\u884C\u8865 `;`\uFF09\u3002","",'\u8FD0\u884C\u65F6\u6807\u8BC6\uFF1A\u672C\u547D\u4EE4\u81EA\u52A8\u5199\u5165 package.json \u7684 `runtime: "vue3"`\uFF0C\u5E76\u7ED9\u5E93\u9ED8\u8BA4\u5BFC\u51FA\u8865\u540C\u540D\u6807\u8BC6\u3002\u6784\u5EFA\u90E8\u7F72\u540E\u8BE5\u5305\u8D70 Vue3 \u539F\u751F\u5B89\u88C5\uFF1B`vue2` \u6216\u6CA1\u6709\u6807\u8BC6\u7684\u5176\u5B83\u4EA7\u54C1/\u9879\u76EE\u5305\u7EE7\u7EED\u4F7F\u7528\u57AB\u7247\u3002\u6807\u8BC6\u8868\u793A\u8FC1\u79FB\u76EE\u6807\uFF0C\u4E0D\u4EE3\u8868\u6784\u5EFA\u6216\u4E1A\u52A1\u9A8C\u6536\u5DF2\u901A\u8FC7\uFF1B\u5B8C\u6210\u4E0B\u9762\u7684\u8F6C\u6362\u3001\u6784\u5EFA\u548C\u590D\u6D4B\u540E\u518D\u53D1\u5E03\u3002',"","epxing lib \u9ED8\u8BA4\u6784\u5EFA\u6309\u9700\u4EA7\u54C1\u5E93\uFF1Bepxing lib --full \u6784\u5EFA\u5B8C\u6574\u5E93\u3002\u76F4\u63A5 npm run build:lib \u4ECD\u6309\u9879\u76EE\u811A\u672C\u6267\u884C\u3002","","```bash","npm run build:lib:lazy # \u51FA index.js(\u5165\u53E3\u58F3) + chunks/ + index.full.js(\u515C\u5E95)","```","","\u26A0\uFE0F \u6309\u9700\u5F62\u6001**\u5FC5\u987B\u4E0A\u4F20\u6574\u4E2A `lib/` \u76EE\u5F55**\uFF08\u4E0D\u518D\u662F index.js + index.css \u4E24\u4E2A\u6587\u4EF6\uFF09\uFF1BFM_SYSTEM_WEBPACK \u91CC\u4ECD\u53EA\u914D index.js \u4E0E index.css \u4E24\u6761 url\u3002\u5207\u6362\u524D\u7684\u7EA6\u675F\u4E0E\u7EBF\u4E0A\u6392\u67E5\u624B\u6BB5\u89C1 epx-frame \u7684 `docs/PROJECT-GUIDE.md` \xA7\u4E09\u300C\u4E24\u79CD\u6253\u5305\u65B9\u5F0F\u300D\u3002","",..._?["## \u5E73\u53F0\u542F\u52A8\u5165\u53E3\u4E0E\u9A8C\u6536","","- \u5E73\u53F0\u4EA7\u54C1\u4F7F\u7528 createApp({ router: createFrameRouter() })\uFF0C\u4F9D\u6B21\u5B89\u88C5 Components\u3001Business \u548C\u4EA7\u54C1\u63D2\u4EF6\uFF0C\u518D mount\u3002core \u63D0\u4F9B\u8DEF\u7531\u6839\u7EC4\u4EF6\uFF1Bbusiness \u7684\u7CFB\u7EDF App \u5728\u5E94\u7528\u914D\u7F6E\u52A0\u8F7D\u540E\u8BFB\u53D6 FIRST_PAGE / MOBILE_FIRST_PAGE\u3002","- \u4EC5\u539F\u6837\u7684\u65E7\u8BA1\u6570\u6B22\u8FCE\u9875 main.js \u548C App.vue \u4F1A\u81EA\u52A8\u4FEE\u590D\uFF1B\u81EA\u5B9A\u4E49\u6839\u7EC4\u4EF6\u3001\u8DEF\u7531\u3001store \u548C HTTP \u5BA2\u6237\u7AEF\u4FDD\u7559\uFF0C\u6309\u4EA7\u54C1\u7528\u9014\u4EBA\u5DE5\u6838\u5BF9\u3002","- \u786E\u8BA4 .env.development.local \u6307\u5411\u5B9E\u9645\u540E\u7AEF\u3001\u5BA2\u6237\u7AEF\u3001\u7CFB\u7EDF\u548C\u5E94\u7528\uFF1B\u9A8C\u8BC1\u767B\u5F55\u3001\u89D2\u8272\u3001\u83DC\u5355\u3001PC/\u79FB\u52A8\u7AEF\u9996\u9875\u53CA\u4EA7\u54C1\u4E1A\u52A1\u7EC4\u4EF6\u3002","- src/main.js \u662F\u5F00\u53D1\u542F\u52A8\u5165\u53E3\uFF1Bsrc/index.js \u662F\u4EA7\u54C1\u5E93\u5165\u53E3\uFF0C\u4E0D\u80FD\u5728\u4EA7\u54C1\u5E93\u4E2D\u518D\u6B21 createApp \u6216 mount\u3002","- \u6267\u884C epxing scan . \u548C epxing verify .\uFF1B\u540E\u8005\u4F18\u5148\u8BFB\u53D6 lib \u6E05\u5355\u6216\u4EA7\u7269\uFF0C\u65E0\u4EA7\u7269\u65F6\u6839\u636E\u7EC4\u4EF6\u6536\u96C6\u5165\u53E3\u5217\u6E90\u7801\u5019\u9009\uFF0C\u4E0D\u80FD\u4EE3\u66FF\u6784\u5EFA\u540E\u53CA\u771F\u5B9E\u5E73\u53F0\u9A8C\u6536\u3002","- \u6784\u5EFA\u901A\u8FC7\u548C\u9759\u6001\u6821\u9A8C\u901A\u8FC7\u4E0D\u8868\u793A\u76EE\u6807\u73AF\u5883\u5DF2\u53D1\u5E03\u6216\u4E1A\u52A1\u5DF2\u901A\u8FC7\uFF1B\u7528\u6700\u7EC8\u4EA7\u54C1\u5E93\u5728\u771F\u5B9E\u5BBF\u4E3B\u9A8C\u6536\u3002",""]:[],"## \u2460 \u4F9D\u8D56\u8FC1\u79FB\uFF08\u5DF2\u81EA\u52A8\uFF09","- \u8FC1\u79FB\u8868\u52A0/\u5220/\u6539 + lib \u6784\u5EFA\u95ED\u5305\uFF08webpack5/vue-loader17\uFF09+ gogocode \u5DE5\u5177 + JSX/icons \u4F9D\u8D56 + \u9690\u5F0F\u4F9D\u8D56\u8865\u58F0\u660E","","### webpack.config.js \u4EBA\u5DE5\u6838\u5BF9",...Me.map(e=>`- ${e}`),"","## \u2461 codemod\uFF08\u5DF2\u81EA\u52A8\uFF09","- main.js\uFF1A`Vue.use`\u2192`app.use`\u3001`$mount`\u2192`mount`\u3001`frame.createApp()`","- index.js\uFF1A`install(Vue)`\u2192`install(app)`\u3001`Vue.component`\u2192`app.component`","- babel.config.js\uFF1A\u5220 element-ui/vant \u6309\u9700\u63D2\u4EF6 + cli preset\uFF1BJSX \u9879\u76EE\u52A0 @vue/babel-plugin-jsx","- webpack.config.js\uFF1Aexternals \u52A0 `{ vue: window.frame.Vue }`\uFF1BJSX \u9879\u76EE babel \u89C4\u5219\u6536 .jsx","- \u7A7A .vue \u8865\u6700\u5C0F\u5408\u6CD5\u5185\u5BB9","","### \u65E5\u671F\u63A7\u4EF6\u683C\u5F0F\u81EA\u52A8\u4FEE\u590D\uFF08F21\uFF1B\u4E0D\u4F9D\u8D56 gogocode\uFF09",...xe.length?xe.map(e=>`- ${e}`):["- \u672A\u53D1\u73B0\u53EF\u9759\u6001\u4FEE\u590D\u7684\u65E7\u683C\u5F0F\uFF1B\u52A8\u6001\u6765\u6E90\u89C1\u4EBA\u5DE5\u6E05\u5355\uFF0C\u4E0D\u4EE3\u8868\u6240\u6709\u65E5\u671F\u903B\u8F91\u5DF2\u901A\u8FC7\u3002"],"- \u53EA\u4FEE\u6539\u65E5\u671F/\u65F6\u95F4\u63A7\u4EF6 format \u4E0E value-format/valueFormat\uFF1B\u4FDD\u7559\u5206\u949F mm\u3001\u79D2 ss\u3001\u661F\u671F ddd/dddd \u548C\u65B9\u62EC\u53F7\u6587\u5B57\u3002\u4E0D\u5168\u5C40\u66FF\u6362\u540E\u7AEF/\u5176\u5B83\u65E5\u671F\u5E93\u5B57\u7B26\u4E32\u3002","- \u7528\u6700\u7EC8Vue3\u4EA7\u7269\u6838\u5BF9\u521D\u59CB\u56DE\u663E\u3001\u9009\u62E9\u65E5\u671F\u3001\u7ED1\u5B9A\u503C\u53CA\u63A5\u53E3\u65E5\u671F\u53C2\u6570\uFF1Blint/build\u901A\u8FC7\u4E0D\u80FD\u66FF\u4EE3\u65E5\u671F\u9A8C\u6536\u3002","","### \u4E3B\u9898\u9002\u914D\uFF08E2\uFF1B\u4E0D\u4F9D\u8D56 gogocode\uFF09",...ye.length?ye.map(e=>`- ${e}`):["- \u672A\u53D1\u73B0\u53EF\u5B89\u5168\u81EA\u52A8\u66FF\u6362\u7684\u9759\u6001\u4E3B\u9898\u6837\u5F0F\uFF1B\u52A8\u6001\u503C\u4E0E\u7279\u6B8A\u5C3A\u5BF8\u89C1\u4EBA\u5DE5\u6E05\u5355\u3002"],"- \u4EA7\u54C1\u53EA\u6D88\u8D39\u5E73\u53F0 --epx-* / --color-text-* \u53D8\u91CF\u5E76\u4FDD\u7559\u65E7\u503C fallback\uFF0C\u4E0D\u5BFC\u5165\u6574\u5957\u4E3B\u9898\u6216\u5199\u5168\u5C40 :root \u9ED8\u8BA4\u503C\uFF1Bscoped\u3001\u5706\u5F62/\u80F6\u56CA\u3001\u56FE\u6807\u3001\u6253\u5370\u6837\u5F0F\u4FDD\u7559\u3002","- \u7528\u6700\u7EC8\u4EA7\u7269\u5207\u6362\u5B57\u53F7\u3001\u5706\u89D2\u3001\u660E\u6697\u53CA\u5BC6\u5EA6\uFF0C\u6838\u5BF9\u4EA7\u54C1\u4E0E\u5E73\u53F0\u540C\u6B65\u3001\u61D2\u52A0\u8F7D\u524D\u540E\u53CA\u7EC4\u4EF6\u5916\u6837\u5F0F\u3002\u4E0D\u80FD\u5B89\u5168\u81EA\u52A8\u5904\u7406\u7684\u52A8\u6001\u503C\u987B\u8FFD\u8E2A\u6765\u6E90\u5E76\u4FEE\u590D\u6216\u8BB0\u5F55\u4FDD\u7559\u7406\u7531\u3002","","## \u2462 .vue \u8F6C\u6362\uFF08gogocode + \u4FEE\u8865\uFF0C\u5DF2\u81EA\u52A8\uFF09\u4E0E\u4EBA\u5DE5\u590D\u6838\u6E05\u5355\uFF08\u6570\u5B57=\u547D\u4E2D\u6587\u4EF6\u6570\uFF09",'- style \u5757\u5168\u7A0B\u5FEB\u7167\u4FDD\u62A4\uFF08gogocode \u4F1A\u6BC1 scss \u6CE8\u91CA\u5757/\u5220 style\uFF09\uFF1Bicons \u5305\u540D\u6539\u5199\uFF1BJSX \u6807 lang="jsx"',...Object.entries(yt).filter(([,e])=>e>0).map(([e,t])=>`- [ ] **${t} \u6587\u4EF6**\uFF1A${e}`),"","### \u5176\u5B83\u4EBA\u5DE5\u9879",...F.length?F.map(e=>`- [ ] ${e}`):["- \uFF08\u65E0\uFF09"],"","## \u2465 \u7B2C\u4E09\u65B9\u8FD0\u884C\u65F6\u4F9D\u8D56\uFF08Vue3 \u517C\u5BB9\u6027\uFF09",...Q.length?["> Vue3 \u4EA7\u7269\u4E0D\u8D70\u5E73\u53F0 vue2-remote-shim \u57AB\u7247\uFF0C\u9762\u5411 Vue2 \u7684\u7B2C\u4E09\u65B9\u8FD0\u884C\u65F6\u5E93\u4F1A**\u8FD0\u884C\u65F6\u5D29**\uFF08\u5982\u7EC4\u7EC7\u67B6\u6784\u56FE `_c`\uFF09\u3002\u53EA\u80FD\u6362\u5E93/\u81EA\u5C01\u88C5\uFF0C\u5DE5\u5177\u4E0D\u81EA\u52A8\u6539\u3002","",...Q.map(e=>`- [ ] ${e.kind==="known"?"**\u786E\u5B9A\u4E0D\u517C\u5BB9**":"\u7591\u4F3C"} \`${e.name}\`\uFF1A${e.detail}`)]:["- \uFF08\u672A\u53D1\u73B0\uFF1B\u4F9D\u8D56\u672A\u5B89\u88C5\u65F6\u7ED3\u679C\u4E0D\u5B8C\u6574\uFF0C`npm i` \u540E\u91CD\u8DD1\u66F4\u51C6\uFF09"],"","## \u53C2\u7167","- \u5E73\u53F0\u8FC1\u79FB\u8BB0\u6863\uFF1A`epx-frame/docs/migration/`\uFF08\u540C\u6B3E\u5751\uFF09","- **\u6784\u5EFA\u901A\u8FC7 \u2260 \u8FD0\u884C\u7B49\u4EF7**\uFF1A\u4E0A\u5E73\u53F0\u771F\u73AF\u5883\u70B9\u5173\u952E\u9875\u9762\uFF08\u5217\u8868/\u8868\u5355/\u5F39\u7A97/\u6D41\u7A0B\uFF09\uFF1BJSX \u7684 scopedSlots \u7B49 Vue2 \u8BED\u4E49\u91CD\u70B9\u770B","- **\u6837\u5F0F\u9694\u79BB\u9A8C\u6536**\uFF1A\u9ED8\u8BA4\u4FDD\u7559 scoped\uFF1B\u8C03\u6574\u4F5C\u7528\u57DF\u65F6\uFF0C\u987B\u7528\u6700\u7EC8\u61D2\u52A0\u8F7D\u4EA7\u7269\u68C0\u67E5\u7EC4\u4EF6\u5185\u6548\u679C\u3001\u52A0\u8F7D\u524D\u540E\u7EC4\u4EF6\u5916\u540C\u540D\u5143\u7D20\u53CA\u79BB\u5F00\u9875\u9762\u540E\u7684\u5176\u4ED6\u9875\u9762\u3002\u6784\u5EFA\u6216\u9759\u6001\u626B\u63CF\u901A\u8FC7\u4E0D\u80FD\u66FF\u4EE3\u9694\u79BB\u56DE\u5F52\uFF1B\u672A\u6D4B\u9879\u8BB0\u5F55\u4E3A\u5F85\u9A8C\u8BC1\u3002","- \u6682\u4E0D\u91CD\u5EFA\u7684\u8001\u5E93\uFF1A\u5E73\u53F0\u4FA7 Vue2 \u57AB\u7247\u515C\u5E95\uFF08`INCLUDE_VUE2_COMPAT`\uFF09",""].join(`
|
|
83
|
+
`);w.push({file:"MIGRATION-REPORT.md",after:Xt});L(J?"\u843D\u76D8\uFF08--apply\uFF09":"DRY-RUN\uFF08\u672A\u5199\u6587\u4EF6\uFF09");for(let e of w){let t=O(e.file);if(e.remove){J&&!ge?(h.rmSync(t,{force:!0}),g(` \u2717 \u5220 ${e.file}`)):g(` [dry-run] \u5C06\u5220 ${e.file}`);continue}J&&!ge?(h.mkdirSync(P.dirname(t),{recursive:!0}),h.writeFileSync(t,e.after),g(` \u2713 \u5199 ${e.file}`)):ge&&e.file==="MIGRATION-REPORT.md"?(h.writeFileSync(t,e.after),g(` \u2713 \u5199 ${e.file}`)):g(` [dry-run] \u5C06\u6539 ${e.file}`)}g(`
|
|
84
|
+
\u5B8C\u6210\u3002${J?"\u5DF2\u843D\u76D8\uFF0C\u7528 git diff \u5BA1\u67E5\u3002":"dry-run\uFF1B--apply \u843D\u76D8\u3002"}\u4EBA\u5DE5\u6E05\u5355\u89C1 MIGRATION-REPORT.md\u3002`);he&&(process.exitCode=2);
|