@epxing/cli 0.5.0-beta.0 → 0.5.0-beta.10

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.
@@ -1,285 +1,85 @@
1
1
  #!/usr/bin/env node
2
- import{a as Ee}from"../chunks/AMQWUBTZ.mjs";import{a as Ie}from"../chunks/PP5RD4RH.mjs";import{a as Se}from"../chunks/SH6LMMHZ.mjs";import{a as g,c as ke}from"../chunks/H4POBCHI.mjs";import v from"node:fs";import ye from"node:os";import A from"node:path";import{execSync as me,spawnSync as st}from"node:child_process";import{fileURLToPath as Gt}from"node:url";var ee={"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"}},Ce={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"},re={"gogocode-cli":"^0.2.28","gogocode-plugin-vue":"^1.0.29","gogocode-plugin-element":"^0.0.3"},Pe={"@vue/babel-plugin-jsx":"^1.2.5"},Fe={"@element-plus/icons-vue":"^2.3.1"},ae={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"},Ae=['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"],te={"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 dt=/import\.meta\.glob\(\s*(['"])([^'"]+)\1\s*,\s*\{\s*eager\s*:\s*true\s*\}\s*\)/;function Le(e){let t=dt.exec(String(e||""));return t?t[2]:null}g(Le,"extractGlobPattern");function xt(e){let t=String(e||""),n=t.includes("vite-plugin-lazy-lib"),o=/lazyLib\s*\(/.test(t);return n&&o?"present":n||o?"half":"absent"}g(xt,"lazyLibState");var $e=g(e=>/'/.test(e)?JSON.stringify(e):`'${e}'`,"q"),ft=`import lazyLib from 'epx-frame/build/vite-plugin-lazy-lib.mjs'
3
- `,yt=/^([ \t]*)frameDeps\s*\(\s*\)\s*,?[^\n]*$/m;function Te(e,{glob:t,pkgName:n}){let o=String(e||""),p=xt(o);if(p!=="absent")return{src:o,status:p};let i=yt.exec(o);if(!i)return{src:o,status:"no-anchor"};let s=i[1],a=`
4
- ${s}// \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
- ${s}// \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
- ${s}lazyLib({ enabled: process.env.LAZY_LIB === 'true', glob: ${$e(t)}, pkgName: ${$e(n)} }),`,l=o.slice(0,i.index+i[0].length)+a+o.slice(i.index+i[0].length),c=0;if(l.startsWith("#!")){let S=l.indexOf(`
7
- `);c=S===-1?l.length:S+1}let d=/^([ \t]*\/\/[^\n]*\r?\n|[ \t]*\r?\n)/,y;for(;y=l.slice(c).match(d);)c+=y[0].length;return l=l.slice(0,c)+ft+l.slice(c),{src:l,status:"injected"}}g(Te,"injectLazyLib");function we(e){let t=e||{},n={...t,scripts:{...t.scripts||{}}},o=!1;n.scripts["build:lib:lazy"]||(n.scripts["build:lib:lazy"]="cross-env LAZY_LIB=true vite build",o=!0);let p=!!(t.dependencies||{})["cross-env"],i=!!(t.devDependencies||{})["cross-env"];return!p&&!i?(n.devDependencies={...t.devDependencies||{},"cross-env":"^7.0.3"},o=!0):t.devDependencies&&(n.devDependencies={...t.devDependencies}),{pkg:n,changed:o}}g(we,"addLazyScripts");import{TEMPLATES as Me}from"../epx-create/scaffold.mjs";var bt=["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 vt(e){let t=e,n=!1,o=/require\.context\(\s*['"]@\/([^'"]+)['"]\s*,\s*true\s*,\s*\/\\?\.vue\$?\/\s*\)/,p=t.match(o);return p&&(t=t.replace(o,`import.meta.glob('./${p[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}}g(vt,"viteEntryCodemod");function je({read:e,epxFrameSpec:t,basePkgRaw:n}){let o=[],p=[],i=n||e("package.json");if(!i)return{changes:o,manual:["\u65E0 package.json\uFF0C\u65E0\u6CD5\u505A vite \u5316"],info:{}};let s;try{s=JSON.parse(i)}catch(u){return{changes:o,manual:["package.json \u89E3\u6790\u5931\u8D25\uFF1A"+u.message],info:{}}}let a=String(s.name||"").toLowerCase(),l=["src/index.js","index.js"].find(u=>e(u)!=null),c=l?e(l):"",d=/import\.meta\.glob/.test(c),y=null,S=c.match(/require\.context\(\s*['"]@\/([^'"]+)['"]/);if(S)y=S[1];else if(d){let u=c.match(/import\.meta\.glob\(\s*['"]\.\/([^/'"]+)\//);u&&(y=u[1])}y||(y=a,p.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 P=`./${y}/**/*.vue`;if(e("vite.config.mjs")!=null||e("vite.config.js")!=null||e("vite.config.ts")!=null)p.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 u=Me["vite.config.mjs"].replaceAll("__NAME__",a).replaceAll("__DIRNAME__",y);o.push({file:"vite.config.mjs",after:u})}let x=t||s.dependencies&&s.dependencies["epx-frame"]||"^5.3.0",h=JSON.parse(Me["package.json"].replaceAll("__NAME__",a).replaceAll("__EPX_FRAME__",x));s.runtime=h.runtime,s.scripts={...s.scripts||{},...h.scripts},s.devDependencies=s.devDependencies||{};for(let[u,k]of Object.entries(h.devDependencies))s.devDependencies[u]=k;let I=[];for(let u of["dependencies","devDependencies"])if(s[u])for(let k of Object.keys(s[u]))bt.includes(k)&&(delete s[u][k],I.push(k));o.push({file:"package.json",after:JSON.stringify(s,null,2)+`
9
- `});for(let u of["webpack.config.js","vue.config.js","babel.config.js"])e(u)!=null&&o.push({file:u,remove:!0});if(l&&/require\.context/.test(c)){let u=vt(c);u.changed?(o.push({file:l,after:u.src}),p.push(`\u5165\u53E3 ${l} \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`)):p.push(`\u5165\u53E3 ${l} \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('${P}', { eager: true }) + Object.keys(files) \u6536\u96C6\uFF0C\u5E76\u628A require('../package.json') \u6539\u6210 import\u3002`)}let r=(e("webpack.config.js")||"")+`
10
- `+(e("vue.config.js")||"");if(/sass-resources-loader/.test(r)){let u=r.match(/resources:\s*path\.resolve\([^,]*,\s*['"]([^'"]+)['"]/);p.push(`scss \u5168\u5C40\u6CE8\u5165\uFF1A\u65E7\u914D\u7F6E\u7528 sass-resources-loader \u6CE8\u5165 ${u?"`"+u[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(r)&&/process\.env/.test(r)&&p.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 b=r.match(/url-loader[\s\S]{0,120}?limit:\s*([0-9*\s]+)/);b&&p.push(`\u65E7\u914D\u7F6E\u7528 url-loader \u5185\u8054\u5C0F\u8D44\u6E90\uFF08limit\u2248${b[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 f=r.match(/externals:\s*([^\n]+)/);if(f){let u=["recorder","echarts","xlsx","jspdf","luckysheet","pdfjs","signature"].filter(k=>new RegExp(k,"i").test(f[1]));u.length&&p.push(`\u65E7 externals \u542B\u6A21\u677F\u9ED8\u8BA4\u672A\u8986\u76D6\u7684\u5E93\uFF1A${u.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:o,manual:p,info:{pkgName:a,dirName:y,glob:P,removedDeps:I}}}g(je,"planToVite");var ht=/import\s+(\w+)\s*,\s*\{([^}]*)\}\s*from\s*(['"])epx-frame\3/;function Re(e){let t=String(e||""),n=ht.exec(t);if(!n)return t;let[o,p,i,s]=n,a=t.slice(0,n.index)+t.slice(n.index+o.length),l=i.split(",").map(d=>d.trim()).filter(Boolean).filter(d=>{let y=d.split(/\s+as\s+/).pop().trim();return/^[A-Za-z_$][\w$]*$/.test(y)?new RegExp(`(^|[^.\\w$])${y}\\b`).test(a):!0}),c=l.length?`import ${p}, { ${l.join(", ")} } from ${s}epx-frame${s}`:`import ${p} from ${s}epx-frame${s}`;return t.slice(0,n.index)+c+t.slice(n.index+o.length)}g(Re,"collapseFrameImport");import ce from"node:path";var kt=["gogocode-plugin-vue","gogocode-plugin-element"];function _e(e,t){for(let n of e||[]){if(!n)continue;let o=ce.join(n,"node_modules"),p=ce.join(o,"gogocode-cli","index.js");if(t(p)&&!kt.some(i=>!t(ce.join(o,i))))return p}return null}g(_e,"findGogocode");function St({projectDir:e,toolDir:t,cacheDir:n}){return[e,t,n].filter(Boolean)}g(St,"gogocodeRoots");function De({projectDir:e,toolDir:t,cacheDir:n,versions:o,exists:p,install:i,log:s}){let a=s||(()=>{}),l=St({projectDir:e,toolDir:t,cacheDir:n}),c=_e(l,p);if(c)return{cli:c,installed:!1};let d=Object.entries(o||{}).map(([S,P])=>`${S}@${P}`);if(!d.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{i({cacheDir:n,specs:d})}catch(S){return{cli:null,installed:!1,error:String(S&&S.message||S).slice(0,200)}}let y=_e([n],p);return y?{cli:y,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"}}g(De,"ensureGogocode");var Et=[".vue",".js",".jsx",".ts",".tsx"],It=g(e=>Et.some(t=>e.toLowerCase().endsWith(t)),"isSource");function Ne(e,t,n,o){let p=n,i=o,s=0,a=g((l,c)=>{let d;try{d=p.readdirSync(l,{withFileTypes:!0})}catch{return}for(let y of d){let S=i.join(l,y.name),P=i.join(c,y.name);y.isDirectory()?a(S,P):It(y.name)&&(p.mkdirSync(i.dirname(P),{recursive:!0}),p.copyFileSync(S,P),s++)}},"walk");return a(e,t),s}g(Ne,"copyBackSources");var Ve=/(install\s*=\s*function\s*\()\s*Vue\s*(\s*(?:,[^)]*)?\))/,Oe=/(\binstall\s*\()\s*Vue\s*(\s*(?:,[^)]*)?\)\s*\{)/;function Ct(e){let t=String(e||"");return Ve.test(t)?t.replace(Ve,"$1app$2"):Oe.test(t)?t.replace(Oe,"$1app$2"):t}g(Ct,"renameInstallParam");var Pt=g(e=>/install\s*=\s*function\s*\(\s*app\b/.test(String(e||""))||/\binstall\s*\(\s*app\b/.test(String(e||"")),"hasAppParam");function Ft(e){return String(e||"").replace(/\bVue\.prototype\.(\$?[\w$]+)/g,"app.config.globalProperties.$1").replace(/\bVue\.(component|use|directive|mixin|provide)\b/g,"app.$1")}g(Ft,"rewriteVueGlobals");function At(e){return String(e||"").replace(/\bwindow\.\$vueApp\b/g,"app")}g(At,"rewriteVueAppGlobal");function Be(e){let t=Ct(e);return Pt(t)&&(t=Ft(t)),t=At(t),t}g(Be,"codemodLibEntry");var $t=/[;,{([<>=&|?:.+\-*/]$/,Lt=/^(=>|\?|:|\.|\)|\]|\}|,|&&|\|\||\+|-|\*|\/|=)/,Tt=/[)\]\w'"`]$/;function wt(e){if(!/\n/.test(e))return{val:e,n:0};let t=e.split(`
12
- `),n=0;for(let o=0;o<t.length-1;o++){let p=t[o].replace(/\s+$/,"");if(!p.trimStart())continue;let s=(t.slice(o+1).find(a=>a.trim())||"").trim();s&&($t.test(p)||Lt.test(s)||Tt.test(p)&&(t[o]=p+";",n++))}return{val:t.join(`
13
- `),n}}g(wt,"fixValue");function Ge(e){let t=0;return{src:e.replace(/(?:v-bind)?:([\w-]+)\.sync="([^"]*)"/g,(o,p,i)=>(t++,`v-model:${p}="${i}"`)),count:t}}g(Ge,"fixSyncModifier");function Ue(e){let t=0;return{src:e.replace(/((?:@|v-on:)[\w.:-]+=")([^"]*)(")/g,(o,p,i,s)=>{let a=wt(i);return t+=a.n,p+a.val+s}),count:t}}g(Ue,"fixInlineHandlers");function He(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()}g(He,"toCssClass");function ze(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,(o,p)=>(t++,`<i class="${He(p)}"></i>`)),n=n.replace(/<(ElIcon[A-Za-z0-9]+)\s*\/>/g,(o,p)=>(t++,`<i class="${He(p)}"></i>`)),n=n.replace(/^[ \t]*ElIcon[A-Za-z0-9]+,[ \t]*\r?\n/gm,()=>(t++,"")),{src:n,count:t}}g(ze,"fixElIcon");var Mt=new Set(["vue","vuex","vue-router"]);function We(e){let t=e,n=0,o=/import\s*\*\s*as\s+([A-Za-z_$][\w$]*)\s+from\s+['"]([^'"]+)['"]\s*;?[ \t]*\r?\n?/g,p=[...t.matchAll(o)].filter(i=>Mt.has(i[2]));for(let i of p){let s=i[0],a=i[1],l=i[2],c=new RegExp("\\b"+a+"\\.([A-Za-z_$][\\w$]*)","g"),d=new Set,y;for(;y=c.exec(t);)d.add(y[1]);if(d.size===0)t=t.replace(s,"");else{let S=[...d].join(", ");t=t.replace(s,`import { ${S} } from '${l}'
14
- `),t=t.replace(new RegExp("\\b"+a+"\\.([A-Za-z_$][\\w$]*)","g"),"$1")}n++}return{src:t,count:n}}g(We,"fixNamespaceImport");function jt(e){let t=e,n=0,o=/(\b(?:const|let|var)\s+([A-Za-z_$][\w$]*)\s*=\s*)require\.context\(\s*(['"])([^'"]+)\3\s*,\s*(true|false)\s*,\s*\/([^/]+)\/\s*\)/g,p=[...t.matchAll(o)];for(let i of p){let s=i[0],a=i[1],l=i[2],c=i[4],d=i[5],S=i[6].match(/\\?\.([a-zA-Z0-9]+)\$?$/),P=S?"."+S[1]:".*",x=c.replace(/\/+$/,"")+(d==="true"?"/**/*":"/*")+P;t=t.replace(s,`${a}import.meta.glob('${x}', { eager: true })`),t=t.replace(new RegExp("\\b"+l+"\\.keys\\(\\)","g"),`Object.keys(${l})`),t=t.replace(new RegExp("\\b"+l+"\\(\\s*([A-Za-z_$][\\w$]*)\\s*\\)","g"),`${l}[$1]`),n++}return{src:t,count:n}}g(jt,"fixRequireContext");function Je(e){let t=/require\(\s*(['"])((?:@\/|\.\.?\/)[^'"]+\.(?:png|jpe?g|gif|svg|webp|bmp|ico))\1\s*\)/gi,n=new Map,o=g(a=>{if(n.has(a))return n.get(a);let c="__img_"+((a.split("/").pop()||"asset").replace(/\.[^.]+$/,"").replace(/[^A-Za-z0-9]/g,"_")||"x"),d=c,y=1,S=new Set(n.values());for(;S.has(d);)d=c+"_"+y++;return n.set(a,d),d},"mkVar"),p=0,i=e.replace(t,(a,l,c)=>(p++,o(c))),s=[...n.entries()].map(([a,l])=>`import ${l} from '${a}'`).join(`
15
- `);return{body:i,imports:s,count:p}}g(Je,"collectRequireAsset");function qe(e,t={}){let n=!!t.isVue,o=0,p=!1,i=e,s=jt(i);if(i=s.src,o+=s.count,n){let a=i.match(/(<script(?:\s[^>]*)?>)([\s\S]*?)(<\/script>)/);if(a){let l=Je(a[2]);if(l.count){let d=`
16
- `+l.imports+`
17
- `+l.body.replace(/^\n?/,"");i=i.slice(0,a.index)+a[1]+d+a[3]+i.slice(a.index+a[0].length),o+=l.count}let c=i.replace(/<script(?:\s[^>]*)?>[\s\S]*?<\/script>/,"");/require\(\s*['"](?:@\/|\.\.?\/)[^'"]+\.(?:png|jpe?g|gif|svg|webp|bmp|ico)['"]\s*\)/i.test(c)&&(p=!0)}}else{let a=Je(i);a.count&&(i=a.imports+`
18
- `+a.body,o+=a.count)}return{src:i,count:o,templateAsset:p}}g(qe,"viteSourceCodemod");function Ke(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,(i,s)=>(n++,"on"+s+"=")),t=t.replace(/\bscopedSlots=\{\{/g,()=>(n++,"v-slots={{"));let o=[],p=t.search(/<script\b/);if(p>=0){let i={};for(let s of t.slice(p).matchAll(/\bslot=["']([^"']+)["']/g))i[s[1]]=(i[s[1]]||0)+1;for(let s of Object.keys(i))o.push(`JSX \u5177\u540D\u63D2\u69FD slot="${s}" \xD7${i[s]} \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:o}}g(Ke,"fixJsxVue2");var Ye=ke(Se(),1);var Rt=g(e=>e&&!e.computed&&(e.key?.name==="runtime"||e.key?.value==="runtime"),"isRuntime"),Xe=g(e=>e?.type==="ObjectExpression"&&Rt(e.properties.at(-1))&&e.properties.at(-1).value?.value==="vue3","hasVue3");function Ze(e){try{let t=(0,Ye.parse)(e,{sourceType:"module",plugins:["jsx"]}),n=t.program.body.find(d=>d.type==="ExportDefaultDeclaration");if(!n)return{src:e,marked:!1,reason:"\u672A\u627E\u5230\u9ED8\u8BA4\u5BFC\u51FA\u7684\u5E93\u5BF9\u8C61"};let o=n.declaration,p=t.program.body[t.program.body.indexOf(n)-1]?.expression;if(o.type==="Identifier"&&p?.type==="AssignmentExpression"&&p.left.type==="MemberExpression"&&!p.left.computed&&p.left.object.name===o.name&&p.left.property.name==="runtime"&&p.right.value==="vue3")return{src:e,marked:!0};let i=o.type==="CallExpression"&&o.callee.type==="MemberExpression"&&!o.callee.computed&&o.callee.object.name==="Object"&&o.callee.property.name==="assign";if(Xe(o)||i&&Xe(o.arguments.at(-1)))return{src:e,marked:!0};let s=e.slice(n.start,n.end),a=s.replace(/^export\s+default\b/,"").trim().replace(/;$/,"");if(a===s)return{src:e,marked:!1,reason:"\u9ED8\u8BA4\u5BFC\u51FA\u8BED\u6CD5\u4E0D\u652F\u6301\u81EA\u52A8\u6539\u5199"};let l=/^(Function|Class)Declaration$/.test(o.type)&&o.id?`${a}
19
- ${o.id.name}.runtime = 'vue3'
20
- export default ${o.id.name}`:`export default Object.assign(${a}, { runtime: 'vue3' })`;return{src:e.slice(0,n.start)+l+";"+e.slice(n.end),marked:!0}}catch(t){return{src:e,marked:!1,reason:t.message}}}g(Ze,"markLibraryRuntime");var X=ke(Se(),1);var q={"@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/component",exports:{install:["install"],AddForm:["AddForm"],AddFormItem:["AddFormItem"],AiImportPage:["AiImportPage"],AiImport:["AiImport"],AiAgentPage:["AiAgentPage"],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/component":{package:"@epxing/component",exports:{install:["install"],AddForm:["AddForm"],AddFormItem:["AddFormItem"],AiImportPage:["AiImportPage"],AiImport:["AiImport"],AiAgentPage:["AiAgentPage"],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"],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/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/component/add-form":{package:"@epxing/component",exports:{default:["AddForm"]}},"@epxing/components/add-form":{package:"@epxing/component",exports:{default:["AddForm"]}},"@epxing/component/add-form-item":{package:"@epxing/component",exports:{default:["AddFormItem"]}},"@epxing/components/add-form-item":{package:"@epxing/component",exports:{default:["AddFormItem"]}},"@epxing/component/ai-import-page":{package:"@epxing/component",exports:{default:["AiImportPage"]}},"@epxing/components/ai-import-page":{package:"@epxing/component",exports:{default:["AiImportPage"]}},"@epxing/component/ai-import":{package:"@epxing/component",exports:{default:["AiImport"]}},"@epxing/components/ai-import":{package:"@epxing/component",exports:{default:["AiImport"]}},"@epxing/component/ai-agent-page":{package:"@epxing/component",exports:{default:["AiAgentPage"]}},"@epxing/components/ai-agent-page":{package:"@epxing/component",exports:{default:["AiAgentPage"]}},"@epxing/component/ai-chat-page":{package:"@epxing/component",exports:{default:["AiChatPage"]}},"@epxing/components/ai-chat-page":{package:"@epxing/component",exports:{default:["AiChatPage"]}},"@epxing/component/wiki-site":{package:"@epxing/component",exports:{default:["WikiSite"]}},"@epxing/components/wiki-site":{package:"@epxing/component",exports:{default:["WikiSite"]}},"@epxing/component/ai-metadata-assistant":{package:"@epxing/component",exports:{default:["AiMetadataAssistant"]}},"@epxing/components/ai-metadata-assistant":{package:"@epxing/component",exports:{default:["AiMetadataAssistant"]}},"@epxing/component/alert":{package:"@epxing/component",exports:{default:["Alert"]}},"@epxing/components/alert":{package:"@epxing/component",exports:{default:["Alert"]}},"@epxing/component/app-index":{package:"@epxing/component",exports:{default:["AppIndex"]}},"@epxing/components/app-index":{package:"@epxing/component",exports:{default:["AppIndex"]}},"@epxing/component/app-nav":{package:"@epxing/component",exports:{default:["AppNav"]}},"@epxing/components/app-nav":{package:"@epxing/component",exports:{default:["AppNav"]}},"@epxing/component/app-tabs":{package:"@epxing/component",exports:{default:["AppTabs"]}},"@epxing/components/app-tabs":{package:"@epxing/component",exports:{default:["AppTabs"]}},"@epxing/component/apply-form":{package:"@epxing/component",exports:{default:["ApplyForm"]}},"@epxing/components/apply-form":{package:"@epxing/component",exports:{default:["ApplyForm"]}},"@epxing/component/approval-index":{package:"@epxing/component",exports:{default:["ApprovalIndex"]}},"@epxing/components/approval-index":{package:"@epxing/component",exports:{default:["ApprovalIndex"]}},"@epxing/component/approval-index-page":{package:"@epxing/component",exports:{default:["ApprovalIndexPage"]}},"@epxing/components/approval-index-page":{package:"@epxing/component",exports:{default:["ApprovalIndexPage"]}},"@epxing/component/base-page":{package:"@epxing/component",exports:{default:["BasePage"]}},"@epxing/components/base-page":{package:"@epxing/component",exports:{default:["BasePage"]}},"@epxing/component/button":{package:"@epxing/component",exports:{default:["Button"]}},"@epxing/components/button":{package:"@epxing/component",exports:{default:["Button"]}},"@epxing/component/card":{package:"@epxing/component",exports:{default:["Card"]}},"@epxing/components/card":{package:"@epxing/component",exports:{default:["Card"]}},"@epxing/component/card-form-item":{package:"@epxing/component",exports:{default:["CardFormItem"]}},"@epxing/components/card-form-item":{package:"@epxing/component",exports:{default:["CardFormItem"]}},"@epxing/component/act-process-form-item":{package:"@epxing/component",exports:{default:["ActProcessFormItem"]}},"@epxing/components/act-process-form-item":{package:"@epxing/component",exports:{default:["ActProcessFormItem"]}},"@epxing/component/carousel":{package:"@epxing/component",exports:{default:["Carousel"]}},"@epxing/components/carousel":{package:"@epxing/component",exports:{default:["Carousel"]}},"@epxing/component/category-list":{package:"@epxing/component",exports:{default:["CategoryList"]}},"@epxing/components/category-list":{package:"@epxing/component",exports:{default:["CategoryList"]}},"@epxing/component/report-chart":{package:"@epxing/component",exports:{default:["ReportChart"]}},"@epxing/components/report-chart":{package:"@epxing/component",exports:{default:["ReportChart"]}},"@epxing/component/chart":{package:"@epxing/component",exports:{default:["Chart"]}},"@epxing/components/chart":{package:"@epxing/component",exports:{default:["Chart"]}},"@epxing/component/check-history":{package:"@epxing/component",exports:{default:["CheckHistory"]}},"@epxing/components/check-history":{package:"@epxing/component",exports:{default:["CheckHistory"]}},"@epxing/component/collapse":{package:"@epxing/component",exports:{default:["Collapse"]}},"@epxing/components/collapse":{package:"@epxing/component",exports:{default:["Collapse"]}},"@epxing/component/color-picker":{package:"@epxing/component",exports:{default:["ColorPicker"]}},"@epxing/components/color-picker":{package:"@epxing/component",exports:{default:["ColorPicker"]}},"@epxing/component/component":{package:"@epxing/component",exports:{default:["Component"]}},"@epxing/components/component":{package:"@epxing/component",exports:{default:["Component"]}},"@epxing/component/contacts":{package:"@epxing/component",exports:{default:["Contacts"]}},"@epxing/components/contacts":{package:"@epxing/component",exports:{default:["Contacts"]}},"@epxing/component/div":{package:"@epxing/component",exports:{default:["Div"]}},"@epxing/components/div":{package:"@epxing/component",exports:{default:["Div"]}},"@epxing/component/dropdown":{package:"@epxing/component",exports:{default:["Dropdown"]}},"@epxing/components/dropdown":{package:"@epxing/component",exports:{default:["Dropdown"]}},"@epxing/component/edit-entity-list":{package:"@epxing/component",exports:{default:["EditEntityList"]}},"@epxing/components/edit-entity-list":{package:"@epxing/component",exports:{default:["EditEntityList"]}},"@epxing/component/empty":{package:"@epxing/component",exports:{default:["Empty"]}},"@epxing/components/empty":{package:"@epxing/component",exports:{default:["Empty"]}},"@epxing/component/entity-add-page":{package:"@epxing/component",exports:{default:["EntityAddPage"]}},"@epxing/components/entity-add-page":{package:"@epxing/component",exports:{default:["EntityAddPage"]}},"@epxing/component/entity-apply-page":{package:"@epxing/component",exports:{default:["EntityApplyPage"]}},"@epxing/components/entity-apply-page":{package:"@epxing/component",exports:{default:["EntityApplyPage"]}},"@epxing/component/entity-card-list":{package:"@epxing/component",exports:{default:["EntityCardList"]}},"@epxing/components/entity-card-list":{package:"@epxing/component",exports:{default:["EntityCardList"]}},"@epxing/component/entity-list":{package:"@epxing/component",exports:{default:["EntityList"],Mobile:["EntityList","Mobile"]}},"@epxing/components/entity-list":{package:"@epxing/component",exports:{default:["EntityList"],Mobile:["EntityList","Mobile"]}},"@epxing/component/entity-list-find":{package:"@epxing/component",exports:{default:["EntityListFind"]}},"@epxing/components/entity-list-find":{package:"@epxing/component",exports:{default:["EntityListFind"]}},"@epxing/component/entity-list-find-page":{package:"@epxing/component",exports:{default:["EntityListFindPage"]}},"@epxing/components/entity-list-find-page":{package:"@epxing/component",exports:{default:["EntityListFindPage"]}},"@epxing/component/entity-list-page":{package:"@epxing/component",exports:{default:["EntityListPage"]}},"@epxing/components/entity-list-page":{package:"@epxing/component",exports:{default:["EntityListPage"]}},"@epxing/component/entity-no-submit-sub-list":{package:"@epxing/component",exports:{default:["EntityNoSubmitSubList"]}},"@epxing/components/entity-no-submit-sub-list":{package:"@epxing/component",exports:{default:["EntityNoSubmitSubList"]}},"@epxing/component/entity-sub-grid":{package:"@epxing/component",exports:{default:["EntitySubGrid"],EntitySubGridItem:["EntitySubGridItem"]}},"@epxing/components/entity-sub-grid":{package:"@epxing/component",exports:{default:["EntitySubGrid"],EntitySubGridItem:["EntitySubGridItem"]}},"@epxing/component/entity-sub-list":{package:"@epxing/component",exports:{default:["EntitySubList"]}},"@epxing/components/entity-sub-list":{package:"@epxing/component",exports:{default:["EntitySubList"]}},"@epxing/component/entity-tree-find":{package:"@epxing/component",exports:{default:["EntityTreeFind"]}},"@epxing/components/entity-tree-find":{package:"@epxing/component",exports:{default:["EntityTreeFind"]}},"@epxing/component/entity-tree-find-page":{package:"@epxing/component",exports:{default:["EntityTreeFindPage"]}},"@epxing/components/entity-tree-find-page":{package:"@epxing/component",exports:{default:["EntityTreeFindPage"]}},"@epxing/component/entity-virtual-list":{package:"@epxing/component",exports:{default:["EntityVirtualList"]}},"@epxing/components/entity-virtual-list":{package:"@epxing/component",exports:{default:["EntityVirtualList"]}},"@epxing/component/export":{package:"@epxing/component",exports:{default:["Export"]}},"@epxing/components/export":{package:"@epxing/component",exports:{default:["Export"]}},"@epxing/component/export-file":{package:"@epxing/component",exports:{default:["ExportFile"]}},"@epxing/components/export-file":{package:"@epxing/component",exports:{default:["ExportFile"]}},"@epxing/component/flow-num":{package:"@epxing/component",exports:{default:["FlowNumStatistic"]}},"@epxing/components/flow-num":{package:"@epxing/component",exports:{default:["FlowNumStatistic"]}},"@epxing/component/footer":{package:"@epxing/component",exports:{default:["Footer"]}},"@epxing/components/footer":{package:"@epxing/component",exports:{default:["Footer"]}},"@epxing/component/form":{package:"@epxing/component",exports:{default:["Form"]}},"@epxing/components/form":{package:"@epxing/component",exports:{default:["Form"]}},"@epxing/component/form-item":{package:"@epxing/component",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-item":{package:"@epxing/component",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/component/form-field":{package:"@epxing/component",exports:{default:["FormField"]}},"@epxing/components/form-field":{package:"@epxing/component",exports:{default:["FormField"]}},"@epxing/component/formula":{package:"@epxing/component",exports:{default:["Formula"]}},"@epxing/components/formula":{package:"@epxing/component",exports:{default:["Formula"]}},"@epxing/component/formula-editor":{package:"@epxing/component",exports:{default:["FormulaEditor"]}},"@epxing/components/formula-editor":{package:"@epxing/component",exports:{default:["FormulaEditor"]}},"@epxing/component/gauge":{package:"@epxing/component",exports:{default:["Gauge"]}},"@epxing/components/gauge":{package:"@epxing/component",exports:{default:["Gauge"]}},"@epxing/component/grid":{package:"@epxing/component",exports:{default:["Grid"],GridItem:["GridItem"]}},"@epxing/components/grid":{package:"@epxing/component",exports:{default:["Grid"],GridItem:["GridItem"]}},"@epxing/component/header":{package:"@epxing/component",exports:{default:["Header"],Breadcrumb:["HeaderBreadcrumb"]}},"@epxing/components/header":{package:"@epxing/component",exports:{default:["Header"],Breadcrumb:["HeaderBreadcrumb"]}},"@epxing/component/html":{package:"@epxing/component",exports:{default:["Html"]}},"@epxing/components/html":{package:"@epxing/component",exports:{default:["Html"]}},"@epxing/component/tab-tags":{package:"@epxing/component",exports:{default:["TabTags"]}},"@epxing/components/tab-tags":{package:"@epxing/component",exports:{default:["TabTags"]}},"@epxing/component/tabs-bar":{package:"@epxing/component",exports:{default:["TabsBar"]}},"@epxing/components/tabs-bar":{package:"@epxing/component",exports:{default:["TabsBar"]}},"@epxing/component/app-settings":{package:"@epxing/component",exports:{default:["AppSettings"]}},"@epxing/components/app-settings":{package:"@epxing/component",exports:{default:["AppSettings"]}},"@epxing/component/icon":{package:"@epxing/component",exports:{default:["Icon"]}},"@epxing/components/icon":{package:"@epxing/component",exports:{default:["Icon"]}},"@epxing/component/iframe":{package:"@epxing/component",exports:{default:["Iframe"]}},"@epxing/components/iframe":{package:"@epxing/component",exports:{default:["Iframe"]}},"@epxing/component/image":{package:"@epxing/component",exports:{default:["Image"]}},"@epxing/components/image":{package:"@epxing/component",exports:{default:["Image"]}},"@epxing/component/import":{package:"@epxing/component",exports:{default:["Import"]}},"@epxing/components/import":{package:"@epxing/component",exports:{default:["Import"]}},"@epxing/component/import-file":{package:"@epxing/component",exports:{default:["ImportFile"]}},"@epxing/components/import-file":{package:"@epxing/component",exports:{default:["ImportFile"]}},"@epxing/component/layout":{package:"@epxing/component",exports:{default:["LayoutComponent"]}},"@epxing/components/layout":{package:"@epxing/component",exports:{default:["LayoutComponent"]}},"@epxing/component/link":{package:"@epxing/component",exports:{default:["Link"]}},"@epxing/components/link":{package:"@epxing/component",exports:{default:["Link"]}},"@epxing/component/list":{package:"@epxing/component",exports:{default:["List"]}},"@epxing/components/list":{package:"@epxing/component",exports:{default:["List"]}},"@epxing/component/load-page":{package:"@epxing/component",exports:{default:["LoadPage"]}},"@epxing/components/load-page":{package:"@epxing/component",exports:{default:["LoadPage"]}},"@epxing/component/login":{package:"@epxing/component",exports:{default:["Login"]}},"@epxing/components/login":{package:"@epxing/component",exports:{default:["Login"]}},"@epxing/component/m-entity-add-page":{package:"@epxing/component",exports:{default:["MEntityAddPage"]}},"@epxing/components/m-entity-add-page":{package:"@epxing/component",exports:{default:["MEntityAddPage"]}},"@epxing/component/m-entity-dept-find":{package:"@epxing/component",exports:{default:["MEntityDeptFind"]}},"@epxing/components/m-entity-dept-find":{package:"@epxing/component",exports:{default:["MEntityDeptFind"]}},"@epxing/component/m-entity-list":{package:"@epxing/component",exports:{default:["MEntityList"]}},"@epxing/components/m-entity-list":{package:"@epxing/component",exports:{default:["MEntityList"]}},"@epxing/component/m-entity-list-find":{package:"@epxing/component",exports:{default:["MEntityListFind"]}},"@epxing/components/m-entity-list-find":{package:"@epxing/component",exports:{default:["MEntityListFind"]}},"@epxing/component/m-entity-no-submit-sub-list":{package:"@epxing/component",exports:{default:["MEntityNoSubmitSubList"]}},"@epxing/components/m-entity-no-submit-sub-list":{package:"@epxing/component",exports:{default:["MEntityNoSubmitSubList"]}},"@epxing/component/m-entity-tree-find":{package:"@epxing/component",exports:{default:["MEntityTreeFind"]}},"@epxing/components/m-entity-tree-find":{package:"@epxing/component",exports:{default:["MEntityTreeFind"]}},"@epxing/component/m-entity-user-find":{package:"@epxing/component",exports:{default:["MEntityUserFind"]}},"@epxing/components/m-entity-user-find":{package:"@epxing/component",exports:{default:["MEntityUserFind"]}},"@epxing/component/m-entity-sub-list":{package:"@epxing/component",exports:{default:["MEntitySubList"]}},"@epxing/components/m-entity-sub-list":{package:"@epxing/component",exports:{default:["MEntitySubList"]}},"@epxing/component/menu":{package:"@epxing/component",exports:{default:["Menu"],MenuItem:["MenuItem"]}},"@epxing/components/menu":{package:"@epxing/component",exports:{default:["Menu"],MenuItem:["MenuItem"]}},"@epxing/component/menu-index":{package:"@epxing/component",exports:{default:["MenuIndex"]}},"@epxing/components/menu-index":{package:"@epxing/component",exports:{default:["MenuIndex"]}},"@epxing/component/mine":{package:"@epxing/component",exports:{default:["Mine"]}},"@epxing/components/mine":{package:"@epxing/component",exports:{default:["Mine"]}},"@epxing/component/module-index-page":{package:"@epxing/component",exports:{default:["ModuleIndexPage"]}},"@epxing/components/module-index-page":{package:"@epxing/component",exports:{default:["ModuleIndexPage"]}},"@epxing/component/module-list":{package:"@epxing/component",exports:{default:["ModuleList"]}},"@epxing/components/module-list":{package:"@epxing/component",exports:{default:["ModuleList"]}},"@epxing/component/module-list-page":{package:"@epxing/component",exports:{default:["ModuleListPage"]}},"@epxing/components/module-list-page":{package:"@epxing/component",exports:{default:["ModuleListPage"]}},"@epxing/component/module-tabs-page":{package:"@epxing/component",exports:{default:["ModuleTabsPage"]}},"@epxing/components/module-tabs-page":{package:"@epxing/component",exports:{default:["ModuleTabsPage"]}},"@epxing/component/nav-add-form":{package:"@epxing/component",exports:{default:["NavAddForm"]}},"@epxing/components/nav-add-form":{package:"@epxing/component",exports:{default:["NavAddForm"]}},"@epxing/component/num":{package:"@epxing/component",exports:{default:["CardNum"],Statistic:["NumStatistic"],NumItem:["NumItem"],NumSubItem:["NumSubItem"]}},"@epxing/components/num":{package:"@epxing/component",exports:{default:["CardNum"],Statistic:["NumStatistic"],NumItem:["NumItem"],NumSubItem:["NumSubItem"]}},"@epxing/component/org-chart":{package:"@epxing/component",exports:{default:["OrgChart"]}},"@epxing/components/org-chart":{package:"@epxing/component",exports:{default:["OrgChart"]}},"@epxing/component/page":{package:"@epxing/component",exports:{default:["Page"]}},"@epxing/components/page":{package:"@epxing/component",exports:{default:["Page"]}},"@epxing/component/page-help":{package:"@epxing/component",exports:{default:["PageHelp"]}},"@epxing/components/page-help":{package:"@epxing/component",exports:{default:["PageHelp"]}},"@epxing/component/page-tabs":{package:"@epxing/component",exports:{default:["PageTabs"]}},"@epxing/components/page-tabs":{package:"@epxing/component",exports:{default:["PageTabs"]}},"@epxing/component/pagination":{package:"@epxing/component",exports:{default:["Pagination"]}},"@epxing/components/pagination":{package:"@epxing/component",exports:{default:["Pagination"]}},"@epxing/component/progress":{package:"@epxing/component",exports:{default:["Progress"]}},"@epxing/components/progress":{package:"@epxing/component",exports:{default:["Progress"]}},"@epxing/component/progress-chart":{package:"@epxing/component",exports:{default:["ProcessChart"]}},"@epxing/components/progress-chart":{package:"@epxing/component",exports:{default:["ProcessChart"]}},"@epxing/component/report":{package:"@epxing/component",exports:{default:["Report"]}},"@epxing/components/report":{package:"@epxing/component",exports:{default:["Report"]}},"@epxing/component/report-html":{package:"@epxing/component",exports:{default:["ReportHtml"]}},"@epxing/components/report-html":{package:"@epxing/component",exports:{default:["ReportHtml"]}},"@epxing/component/report-preview":{package:"@epxing/component",exports:{default:["ReportPreview"]}},"@epxing/components/report-preview":{package:"@epxing/component",exports:{default:["ReportPreview"]}},"@epxing/component/router-view":{package:"@epxing/component",exports:{default:["RouterView"]}},"@epxing/components/router-view":{package:"@epxing/component",exports:{default:["RouterView"]}},"@epxing/component/scope":{package:"@epxing/component",exports:{default:["ScopeComponent"]}},"@epxing/components/scope":{package:"@epxing/component",exports:{default:["ScopeComponent"]}},"@epxing/component/search":{package:"@epxing/component",exports:{default:["Search"]}},"@epxing/components/search":{package:"@epxing/component",exports:{default:["Search"]}},"@epxing/component/search-bar":{package:"@epxing/component",exports:{default:["SearchBar"]}},"@epxing/components/search-bar":{package:"@epxing/component",exports:{default:["SearchBar"]}},"@epxing/component/search-list":{package:"@epxing/component",exports:{default:["SearchList"]}},"@epxing/components/search-list":{package:"@epxing/component",exports:{default:["SearchList"]}},"@epxing/component/step":{package:"@epxing/component",exports:{default:["Step"]}},"@epxing/components/step":{package:"@epxing/component",exports:{default:["Step"]}},"@epxing/component/step-item":{package:"@epxing/component",exports:{default:["StepItem"]}},"@epxing/components/step-item":{package:"@epxing/component",exports:{default:["StepItem"]}},"@epxing/component/tab-bar":{package:"@epxing/component",exports:{default:["TabBar"]}},"@epxing/components/tab-bar":{package:"@epxing/component",exports:{default:["TabBar"]}},"@epxing/component/tabs":{package:"@epxing/component",exports:{default:["Tabs"]}},"@epxing/components/tabs":{package:"@epxing/component",exports:{default:["Tabs"]}},"@epxing/component/tag":{package:"@epxing/component",exports:{default:["Tag"]}},"@epxing/components/tag":{package:"@epxing/component",exports:{default:["Tag"]}},"@epxing/component/task-list":{package:"@epxing/component",exports:{default:["TaskList"]}},"@epxing/components/task-list":{package:"@epxing/component",exports:{default:["TaskList"]}},"@epxing/component/task-list-page":{package:"@epxing/component",exports:{default:["TaskListPage"]}},"@epxing/components/task-list-page":{package:"@epxing/component",exports:{default:["TaskListPage"]}},"@epxing/component/template":{package:"@epxing/component",exports:{default:["Template"]}},"@epxing/components/template":{package:"@epxing/component",exports:{default:["Template"]}},"@epxing/component/text":{package:"@epxing/component",exports:{default:["Text"]}},"@epxing/components/text":{package:"@epxing/component",exports:{default:["Text"]}},"@epxing/component/text-editor":{package:"@epxing/component",exports:{default:["TextEditor"]}},"@epxing/components/text-editor":{package:"@epxing/component",exports:{default:["TextEditor"]}},"@epxing/component/title":{package:"@epxing/component",exports:{default:["Title"]}},"@epxing/components/title":{package:"@epxing/component",exports:{default:["Title"]}},"@epxing/component/update-form":{package:"@epxing/component",exports:{default:["UpdateForm"]}},"@epxing/components/update-form":{package:"@epxing/component",exports:{default:["UpdateForm"]}},"@epxing/component/update-form-item":{package:"@epxing/component",exports:{default:["UpdateFormItem"]}},"@epxing/components/update-form-item":{package:"@epxing/component",exports:{default:["UpdateFormItem"]}},"@epxing/component/update-sub-list":{package:"@epxing/component",exports:{default:["UpdateSubList"]}},"@epxing/components/update-sub-list":{package:"@epxing/component",exports:{default:["UpdateSubList"]}},"@epxing/component/video":{package:"@epxing/component",exports:{default:["Video"]}},"@epxing/components/video":{package:"@epxing/component",exports:{default:["Video"]}},"@epxing/component/config-page":{package:"@epxing/component",exports:{default:["ConfigPage"]}},"@epxing/components/config-page":{package:"@epxing/component",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 Qe={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:{"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"}};function et(e){return{...e,"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/component":"__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)+`
21
- `,"vite.config.mjs":`import path from 'node:path'
22
- import { fileURLToPath } from 'node:url'
23
- import { createRequire } from 'node:module'
24
- import { defineConfig, loadEnv } from 'vite'
25
- import vue from '@vitejs/plugin-vue'
26
- import vueJsx from '@vitejs/plugin-vue-jsx'
27
- import { frameDeps, epxShared, lazyLib } from '@epxing/cli/vite'
28
- import epxIcons from '@epxing/icons'
29
- import pkg from './package.json' with { type: 'json' }
30
-
31
- const root = path.dirname(fileURLToPath(import.meta.url))
32
- const require = createRequire(import.meta.url)
33
- const CONFIG_KEYS = ['IP', 'BASE_URL', 'BASE_PROJECT_NAME', 'BASE_AUTH_NAME', 'BASE_CLIENT_ID', 'BASE_SYSTEM_ID', 'BASE_APP_ID', 'ROUTER_MODE', 'MINIO_FILE_URL', 'WITH_CREDENTIALS']
34
-
35
- export default defineConfig(({ command, mode }) => {
36
- const env = loadEnv(mode, root, '')
37
- const library = command === 'build' && mode !== 'app'
38
- return {
39
- resolve: { alias: { '@': path.resolve(root, 'src') }, dedupe: ['vue', 'vuex', 'vue-router'] },
40
- server: { port: 8080 },
41
- plugins: [
42
- vue(), vueJsx(), epxIcons(),
43
- ...(library ? [
44
- frameDeps(), epxShared(),
45
- lazyLib({ root, enabled: process.env.LAZY_LIB === 'true', glob: './__DIRNAME__/**/*.vue', pkgName: pkg.name })
46
- ] : []),
47
- {
48
- name: 'product-runtime-config',
49
- transformIndexHtml () {
50
- const lines = CONFIG_KEYS.map(key => key === 'WITH_CREDENTIALS'
51
- ? 'window.' + key + ' = ' + JSON.stringify(env[key] === 'true')
52
- : 'window.' + key + ' = ' + JSON.stringify(env[key] || ''))
53
- lines.push('window.MINIO_IP = window.IP || window.location.origin + "/"')
54
- return [{ tag: 'script', children: lines.join('\\n'), injectTo: 'head-prepend' }]
55
- }
56
- }
57
- ],
58
- css: { preprocessorOptions: { scss: {
59
- additionalData: '@import "' + require.resolve('@epxing/theme/src/theme/utils/mixins.scss').replace(/\\\\/g, '/') + '";',
60
- quietDeps: true, silenceDeprecations: ['import', 'legacy-js-api', 'global-builtin']
61
- } } },
62
- build: library ? {
63
- outDir: 'lib',
64
- lib: { entry: path.resolve(root, 'src/index.js'), name: 'library.' + pkg.name, formats: ['umd'], fileName: () => 'index.js' },
65
- rollupOptions: { output: { exports: 'default', assetFileNames: asset =>
66
- (asset.names || [asset.name]).some(name => String(name).endsWith('.css')) ? 'index.css' : 'assets/[name]-[hash][extname]' } }
67
- } : { outDir: 'dist' }
68
- }
69
- })
70
- `,"src/main.js":`import { createApp } from '@epxing/core'
71
- import Components from '@epxing/component'
72
- import Business from '@epxing/business'
73
- import '@epxing/theme'
74
- import '@epxing/core/style.css'
75
- import '@epxing/component/style.css'
76
- import '@epxing/business/style.css'
77
- import App from './App.vue'
78
- import product from './index'
79
-
80
- const app = createApp({ rootComponent: App })
81
- app.use(Components)
82
- app.use(Business)
83
- app.use(product)
84
- app.mount('#app')
85
- `,"src/App.vue":`<script setup>
86
- import { ref } from 'vue'
87
- const count = ref(0)
88
- </script>
89
-
90
- <template>
91
- <main class="product-start">
92
- <h1>__NAME__</h1>
93
- <p>\u4EA7\u54C1\u5DF2\u542F\u52A8\uFF0C\u53EF\u4EE5\u5F00\u59CB\u5F00\u53D1\u3002</p>
94
- <button @click="count++">\u70B9\u51FB {{ count }} \u6B21</button>
95
- </main>
96
- </template>
97
-
98
- <style scoped>
99
- .product-start { padding: var(--epx-space-4, 24px); color: var(--epx-text); }
100
- </style>
101
- `,"src/__DIRNAME__/DemoList.vue":`<script>
102
- import { EntityList } from '@epxing/component'
103
- export default {
104
- name: 'epx-__NAME__-demo-list',
105
- extends: EntityList
106
- // \u914D\u7F6E\u771F\u5B9E metaId\u3001listFields\u3001operates \u540E\uFF0C\u5728\u4EA7\u54C1\u9875\u9762\u4E2D\u4F7F\u7528\u3002
107
- }
108
- </script>
109
- <style lang="scss" scoped>
110
- .epx-__NAME__-demo-card {
111
- @include epx-card;
112
- font-size: var(--epx-font-size-base, 14px);
113
- }
114
- </style>
115
- `,"README.md":`# __NAME__
116
-
117
- \u57FA\u4E8E @epxing/* \u72EC\u7ACB\u5305\u7684 Vue 3 \u4EA7\u54C1\u3002\u8BE6\u7EC6\u8BF4\u660E\u89C1 [\u4EA7\u54C1\u4F7F\u7528\u6587\u6863](./PRODUCT-GUIDE.md)\u3002
118
-
119
- \`\`\`sh
120
- npm install --registry https://registry.npmjs.org/
121
- npm run dev
122
- npx epxing lib
123
- npx epxing lib --full
124
- npm run build:app
125
- \`\`\`
126
-
127
- \u672C\u5730\u9884\u89C8\u9ED8\u8BA4\u7AEF\u53E3 8080\uFF0C\u542F\u52A8\u9875\u4E0D\u4F9D\u8D56\u540E\u7AEF\u3002\u5B9E\u4F53\u5217\u8868\u3001\u8868\u5355\u3001\u4EBA\u5458\u9009\u62E9\u7B49\u529F\u80FD\u9700\u8981\u914D\u7F6E\u540E\u7AEF\u3001\u5143\u6570\u636E\u548C\u6743\u9650\u3002
128
- `,"PRODUCT-GUIDE.md":_t}}g(et,"createPackageTemplates");var _t=`# \u4EA7\u54C1\u5F00\u53D1\u4E0E\u5347\u7EA7\u4F7F\u7528\u8BF4\u660E
129
-
130
- <!-- epxing-generated-product-guide -->
131
-
132
- \u5E73\u53F0\u5305\u7248\u672C\uFF1A\`__PACKAGES_VERSION__\`\uFF1BCLI \u7248\u672C\uFF1A\`__CLI_VERSION__\`\u3002CLI \u4E0E\u5E73\u53F0\u5305\u5206\u522B\u5347\u7EA7\u3002
133
-
134
- ## \u5B89\u88C5\u4E0E\u542F\u52A8
135
-
136
- \`\`\`sh
137
- npm install --registry https://registry.npmjs.org/
138
- npm run dev
139
- \`\`\`
140
-
141
- \u672C\u5730\u9ED8\u8BA4 http://localhost:8080\u3002\`.env.development.local\` \u53EF\u8986\u76D6 IP\u3001BASE_CLIENT_ID\u3001BASE_SYSTEM_ID \u7B49\u914D\u7F6E\u3002\u5B9E\u4F53\u7EC4\u4EF6\u9700\u8981\u53EF\u7528\u540E\u7AEF\u548C\u5BF9\u5E94\u5143\u6570\u636E\uFF1B\u521D\u59CB\u6B22\u8FCE\u9875\u53EF\u72EC\u7ACB\u8FD0\u884C\u3002
142
-
143
- ## \u5E94\u7528\u5165\u53E3
144
-
145
- \`\`\`js
146
- import { createApp } from '@epxing/core'
147
- import Components from '@epxing/component'
148
- import Business from '@epxing/business'
149
- import '@epxing/theme'
150
- import '@epxing/core/style.css'
151
- import '@epxing/component/style.css'
152
- import '@epxing/business/style.css'
153
- import App from './App.vue'
154
- import product from './index'
155
-
156
- const app = createApp({ rootComponent: App })
157
- app.use(Components)
158
- app.use(Business)
159
- app.use(product)
160
- app.mount('#app')
161
- \`\`\`
162
-
163
- 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
164
-
165
- \u4EA7\u54C1\u9700\u8981\u5E73\u53F0\u767B\u5F55\u4E0E\u57FA\u7840\u8DEF\u7531\u65F6\uFF0C\u53EF\u4F7F\u7528 \`createApp({ router: createFrameRouter() })\`\uFF0C\u5E76\u5B89\u88C5\u57FA\u7840\u7EC4\u4EF6\u4E0E Business\uFF0C\u914D\u7F6E\u5BA2\u6237\u7AEF/\u7CFB\u7EDF\u53C2\u6570\u548C\u540E\u7AEF\uFF1B\u9ED8\u8BA4\u8DEF\u7531\u6839\u89C6\u56FE\u7531 core \u63D0\u4F9B\u3002\u81EA\u6709\u8DEF\u7531\u5219\u4F20\u5165\u4EA7\u54C1 router \u6216 routes\u3002
166
-
167
- ## \u7EC4\u4EF6\u4E0E\u5DE5\u5177
168
-
169
- \`\`\`js
170
- import { EntityList, AddForm, AddFormItem } from '@epxing/component'
171
- import { UserFind, EntityTreeManage } from '@epxing/business'
172
- import { mixins, getSystemMeta, getFileUrl, http, createFieldFactory } from '@epxing/core'
173
- import { cloneDeep, moment, resolvePlaceholders, storage } from '@epxing/utils'
174
-
175
- export default {
176
- name: 'epx-__NAME__-employee-list',
177
- extends: EntityList,
178
- metaId: '\u4EA7\u54C1\u5B9E\u9645\u5143\u6570\u636EID',
179
- pageSize: 20
180
- }
181
- \`\`\`
182
-
183
- \u914D\u7F6E\u9A71\u52A8\u7EC4\u4EF6\u7ECF $configs \u8BFB\u53D6\u5408\u6210\u914D\u7F6E\u3002ComponentMixin/mixins.component \u63D0\u4F9B\u9875\u9762\u4E0A\u4E0B\u6587\uFF1B\u666E\u901A Vue props \u4E0E\u914D\u7F6E\u9879\u8BF7\u6309\u5404\u7EC4\u4EF6 API \u4F7F\u7528\u3002\`runExpByScope.call(vm, scopes, data)\` \u4FDD\u7559\u7EC4\u4EF6\u4E0A\u4E0B\u6587\u3002\u9ED8\u8BA4\u5DE5\u5177\u5BF9\u8C61\u4E0E\u5177\u540D API \u4EE5\u5BF9\u5E94\u5305 API.md \u4E3A\u51C6\u3002
184
-
185
- \u9700\u8981\u8BBE\u8BA1\u5668/\u770B\u677F\u65F6\uFF0C\u5B89\u88C5\u540C\u7248\u672C \`@epxing/designer\` / \`@epxing/dashboard\`\uFF0C\u5728\u672C\u5730\u5E94\u7528\u5B89\u88C5\u63D2\u4EF6\u5E76\u5F15\u5165 style.css\u3002\u8FDC\u7A0B\u4EA7\u54C1\u4F7F\u7528\u516C\u5F00\u7EC4\u4EF6\uFF0C\u5BBF\u4E3B\u8D1F\u8D23\u5B89\u88C5\u8BBE\u8BA1/\u4E1A\u52A1\u63D2\u4EF6\u3002
186
-
187
- \u5404\u5305 API.md \u968F\u5B89\u88C5\u5305\u63D0\u4F9B\uFF0C\u53EF\u5728 node_modules/@epxing/<\u5305\u540D>/API.md \u67E5\u770B\u3002\u5355\u6570 component \u4E0E\u590D\u6570 components \u4F7F\u7528\u76F8\u540C\u7EC4\u4EF6\u5BF9\u8C61\uFF0C\u4EA7\u54C1\u7EDF\u4E00\u9009\u4E00\u4E2A\u540D\u79F0\u3002\u65B0\u4EE3\u7801\u4F7F\u7528\u6839\u5BFC\u51FA\u53CA\u7A33\u5B9A\u5B50\u8DEF\u5F84\u3002
188
-
189
- ## \u72EC\u7ACB\u5E94\u7528\u4E0E\u8FDC\u7A0B\u4EA7\u54C1\u5E93
190
-
191
- \`\`\`sh
192
- npm run build:app # dist/\uFF1A\u72EC\u7ACB\u5E94\u7528\uFF0C\u4F7F\u7528 npm \u5305
193
- npx epxing lib # lib/\uFF1A\u9ED8\u8BA4\u6309\u9700\u4EA7\u54C1\u5E93
194
- npx epxing lib --full # lib/\uFF1A\u5B8C\u6574\u4EA7\u54C1\u5E93
195
- npm run build:lib # \u76F4\u63A5 Vite \u5B8C\u6574\u5E93\u6784\u5EFA
196
- npm run build:lib:lazy # \u663E\u5F0F\u6309\u9700\u5E93\u6784\u5EFA
197
- \`\`\`
198
-
199
- vite.config.mjs \u53EA\u5728\u8FDC\u7A0B\u5E93\u6784\u5EFA\u542F\u7528 epxShared\u3002\u5B83\u5C06\u516C\u5F00 core/component/utils/business/designer \u548C Vue \u5BFC\u5165\u8FDE\u63A5\u5230\u5BBF\u4E3B\u5171\u4EAB\u547D\u540D\u7A7A\u95F4\uFF0C\u907F\u514D\u91CD\u590D\u6253\u5305\u8FD0\u884C\u65F6\uFF1B\u4E0D\u652F\u6301\u7684\u6DF1\u8DEF\u5F84\u4F1A\u5728\u6784\u5EFA\u65F6\u62A5\u9519\u3002\u5BBF\u4E3B\u5FC5\u987B\u5B89\u88C5\u76F8\u540C\u7248\u672C\u7684\u5E73\u53F0\u5305\uFF0C\u5E76\u5148\u5B8C\u6210\u5BF9\u5E94\u7EC4\u4EF6\u7EC4\u7684\u52A0\u8F7D\u3002\u770B\u677F\u8FDC\u7A0B\u5171\u4EAB\u5165\u53E3\u5C1A\u672A\u63D0\u4F9B\uFF0C\u4F7F\u7528\u770B\u677F\u7684\u8FDC\u7A0B\u4EA7\u54C1\u5E94\u7531\u5BBF\u4E3B\u63D0\u4F9B\u6CE8\u518C\u7EC4\u4EF6\u5E76\u6838\u5BF9\u6784\u5EFA\u4F9D\u8D56\u3002
200
-
201
- \u5E93\u5165\u53E3\u4FDD\u7559\u7EC4\u4EF6\u6536\u96C6\u3001install \u5E42\u7B49\u548C runtime: vue3\u3002\u65B0\u589E\u7EC4\u4EF6\u653E\u5165 src/__DIRNAME__/ \u5373\u81EA\u52A8\u6536\u96C6\uFF1B\u4EA7\u54C1\u81EA\u6709\u8DEF\u7531\u548C store \u6A21\u5757\u5E94\u5728 install(app) \u4E2D\u6CE8\u518C\uFF0C\u5E76\u786E\u4FDD\u91CD\u590D\u5B89\u88C5\u5B89\u5168\u3002
202
-
203
- \u6309\u9700\u4EA7\u7269\u5FC5\u987B\u4E0A\u4F20\u6574\u4E2A lib/ \u76EE\u5F55\uFF0C\u5305\u62EC chunks\u3001shims\u3001index.manifest.json\u3001index.full.js \u548C\u6837\u5F0F\u3002\u5E73\u53F0 FM_SYSTEM_WEBPACK \u4ECD\u914D\u7F6E index.js / index.css URL\uFF0Cindex.deps.json \u4E0E\u5165\u53E3\u540C\u76EE\u5F55\u90E8\u7F72\u3002\u72EC\u7ACB\u5E94\u7528\u90E8\u7F72 dist/\u3002
204
-
205
- ## \u5B58\u91CF\u4EA7\u54C1\u5347\u7EA7
206
-
207
- \`\`\`sh
208
- epxing migrate . --packages-version __PACKAGES_VERSION__
209
- epxing migrate . --packages-version __PACKAGES_VERSION__ --apply
210
- epxing migrate . --packages-version __PACKAGES_VERSION__ --transform-vue --to-vite --apply
211
- \`\`\`
212
-
213
- \u9ED8\u8BA4\u53EA\u8BFB\u9884\u89C8\uFF1B--apply \u8981\u6C42 Git \u5DE5\u4F5C\u6811\u5E72\u51C0\u3002\u5347\u7EA7\u4FDD\u7559\u4E1A\u52A1\u7EC4\u4EF6\u3001\u8DEF\u7531\u3001store \u548C\u81EA\u5B9A\u4E49\u914D\u7F6E\uFF0C\u53EA\u81EA\u52A8\u6539\u5199\u786E\u5B9A\u7684\u5BFC\u5165\u53CA\u5165\u53E3\u3002\u52A8\u6001\u53D6\u503C\u3001\u672A\u77E5\u65E7\u63A5\u53E3\u3001\u672A\u652F\u6301\u7684\u6E90\u7801\u8DEF\u5F84\u8FDB\u5165 MIGRATION-REPORT.md \u4EBA\u5DE5\u6E05\u5355\uFF1B\u5B58\u5728\u65E0\u6CD5\u5B8C\u6574\u5207\u6362\u7684\u65E7\u5165\u53E3\u65F6\uFF0C\u4E0D\u6DF7\u88C5\u4E24\u5957\u8FD0\u884C\u65F6\uFF0C\u5148\u4FDD\u7559\u65E7\u6A21\u5F0F\u5E76\u5B8C\u6210\u6E05\u5355\u518D\u5347\u7EA7\u3002
214
-
215
- Vue 2 \u8BED\u6CD5\u8F6C\u6362\u3001\u7B2C\u4E09\u65B9\u7EC4\u4EF6\u66FF\u6362\u3001\u65E5\u671F\u53C2\u6570\u3001\u4E3B\u9898\u548C\u6837\u5F0F\u9694\u79BB\u9700\u7ED3\u5408\u62A5\u544A\u590D\u6838\u3002\u6784\u5EFA\u901A\u8FC7\u540E\u4ECD\u9700\u5728\u771F\u5B9E\u540E\u7AEF\u9A8C\u6536\u767B\u5F55\u3001\u6743\u9650\u3001\u5217\u8868\u3001\u8868\u5355\u3001\u5F39\u5C42\u53CA\u5173\u952E\u6D41\u7A0B\u3002
216
-
217
- ## \u66F4\u65B0\u7248\u672C
218
-
219
- \`\`\`sh
220
- npm install -g @epxing/cli@beta --registry https://registry.npmjs.org/
221
- epxing --version
222
- \`\`\`
223
-
224
- \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
225
- `;var Dt=["core","component","utils","business","designer"],W=new Map;for(let e of Dt)for(let t of Object.keys(q["@epxing/"+e].exports))["default","install"].includes(t)||(W.has(t)||W.set(t,[]),W.get(t).push({source:"@epxing/"+e,name:t}));for(let e of["Dashboard","DashboardTabs","DashboardTitle","DashboardDiv","DashboardWidget"])W.set(e,[{source:"@epxing/dashboard",name:e}]);var Nt={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"}},le=g(e=>Nt[e]||(W.get(e)?.length===1?W.get(e)[0]:null),"fromRoot"),N=g((e,t,n)=>{if(!(!e||typeof e!="object")){e.type&&t(e,n);for(let[o,p]of Object.entries(e))["loc","leadingComments","trailingComments","innerComments","extra"].includes(o)||(Array.isArray(p)?p.forEach(i=>N(i,t,e)):p&&typeof p=="object"&&N(p,t,e))}},"walk"),Vt=g(e=>e?.key?.name??e?.key?.value,"keyOf"),tt=g(e=>/^(?:epx-frame(?:\/|$)|@epx\/)/.test(e),"oldRoot"),K=g(e=>e.replace(/^@epx\//,"@epxing/").replace(/^@epxing\/components(?=\/|$)/,"@epxing/component"),"canonical"),J=new Map;for(let[e,t]of Object.entries(Qe))for(let[n,o]of Object.entries(t))J.set(`@epxing/${e}/src/${o}`,`@epxing/${e}/${n}`);for(let[e,t]of Object.entries(q)){if(!e.startsWith("@epxing/component/"))continue;let n=e.slice(18);J.set("@epxing/component/src/"+n,e);let o=t.exports.default?.[0];o&&J.set(`@epxing/component/src/${n}/${o}`,e)}for(let[e,t]of Object.entries({util:"util",meta:"meta",fieldFactory:"field-factory","pdf.viewer":"pdf-viewer"}))J.set("@epxing/utils/src/"+e,"@epxing/core/"+t);function Ot(e){if(/^epx-frame\/(core|components|business|designer|dashboard|utils)$/.test(e))return K(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=K(e).replace(/\.(?:vue|js|jsx|mjs)$/,"").replace(/\/index$/,"");return J.has(n)?J.get(n):/^@epxing\/theme\/src\//.test(e)||e.startsWith("@epx/")&&!n.includes("/src/")?K(e):null}g(Ot,"moduleTarget");function nt(e,{filename:t,bootstrap:n}){let o=[],p=[],i=new Set,s=new Set,a=new Set,l;try{l=(0,X.parse)(e,{sourceType:"unambiguous",plugins:["jsx","typescript","decorators-legacy","importAttributes"]})}catch(x){return{source:e,manual:[`${t} \u65E0\u6CD5\u9759\u6001\u89E3\u6790\uFF1A${x.message}`],blocked:!0}}let c=new Set;N(l,x=>{x.type==="Identifier"&&c.add(x.name)});let d=g(x=>{let h="__epx"+x;for(;c.has(h);)h+="_";return c.add(h),h},"unique");function y(x,h,I=!1){x.source==="@epxing/core/runtime"&&["runtimeStore","runtimeRouter"].includes(x.name)&&a.add(h);let r=x.name==="*"?`* as ${h}`:`{ ${I?"type ":""}${x.name}${x.name===h?"":" as "+h} }`;i.add(`import ${r} from '${x.source}'`)}g(y,"addImport");function S(x,h,I){let r=[],b=[];if(N(l,(u,k)=>{if(!(!["Identifier","JSXIdentifier"].includes(u.type)||u.name!==x||u.start>=I.start&&u.end<=I.end))if((k?.type==="MemberExpression"||k?.type==="OptionalMemberExpression")&&k.object===u){let E=k.computed?k.property.type==="StringLiteral"?k.property.value:null:k.property.name,w=E&&h(E);w?r.push({node:k,target:w,property:E}):b.push(E||"\u52A8\u6001\u5C5E\u6027")}else b.push("\u76F4\u63A5\u5F15\u7528\u6216\u540C\u540D\u5C40\u90E8\u7ED1\u5B9A")}),b.length){o.push(`${t}\uFF1A${x} \u542B\u65E0\u6CD5\u786E\u5B9A\u7684\u8BBF\u95EE\uFF08${[...new Set(b)].join("\u3001")}\uFF09\uFF0C\u4FDD\u7559\u65E7\u5165\u53E3\uFF0C\u9700\u4EBA\u5DE5\u62C6\u5206\u3002`);return}let f=new Map;for(let u of r){let k=u.target.source+":"+u.target.name;if(!f.has(k)){let E=d(u.property);y(u.target,E),f.set(k,E)}p.push({start:u.node.start,end:u.node.end,text:f.get(k)}),u.target.name==="createApp"&&s.add(u.node)}}g(S,"namespace");for(let x of l.program.body){if(!["ImportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"].includes(x.type)||!x.source)continue;let h=x.source.value,I=h==="epx-frame",r=Ot(h);if(I||tt(h)||h.startsWith("@epxing/")&&h.includes("/src/")){if(!I&&!r){o.push(`${t}\uFF1A\u5C1A\u65E0\u516C\u5F00\u6620\u5C04 ${h}\uFF0C\u9700\u6539\u7528\u5BF9\u5E94\u5305\u516C\u5F00 API\u3002`);continue}if(x.type!=="ImportDeclaration"){if(I||typeof r=="object"){o.push(`${t}\uFF1A${h} \u7684\u91CD\u5BFC\u51FA\u9700\u4EBA\u5DE5\u62C6\u5206\u3002`);continue}p.push({start:x.source.start,end:x.source.end,text:JSON.stringify(r)});continue}if(!x.specifiers.length){I||typeof r=="object"?o.push(`${t}\uFF1A\u526F\u4F5C\u7528\u5BFC\u5165 ${h} \u65E0\u6CD5\u6620\u5C04\u3002`):p.push({start:x.source.start,end:x.source.end,text:JSON.stringify(r)});continue}for(let f of x.specifiers){let u=f.local.name;if(I||r==="@epxing/utils"&&f.type!=="ImportSpecifier")if(f.type!=="ImportSpecifier")S(u,k=>r==="@epxing/utils"&&q["@epxing/utils"].exports[k]?{source:"@epxing/utils",name:k}:le(k),x);else{let k=f.imported.name||f.imported.value,E=le(k);if(!E){o.push(`${t}\uFF1A\u65E7\u6839\u5BFC\u51FA ${k} \u4E0D\u552F\u4E00\u6216\u5C1A\u672A\u516C\u5F00\uFF0C\u9700\u4EBA\u5DE5\u9009\u62E9\u3002`);continue}y(E,u,x.importKind==="type"||f.importKind==="type"),E.name==="createApp"&&s.add(u)}else{let k=typeof r=="string"?{source:r}:r,E=f.type==="ImportDefaultSpecifier"?k.defaultName||"default":f.type==="ImportNamespaceSpecifier"?"*":f.imported.name||f.imported.value;if(k.source==="@epxing/utils"&&f.type==="ImportSpecifier"&&!q["@epxing/utils"].exports[E]){let w=le(E);w?y(w,u):o.push(`${t}\uFF1Autils \u7684\u65E7\u5BFC\u51FA ${E} \u5C1A\u65E0\u786E\u5B9A\u6620\u5C04\u3002`);continue}E==="default"?i.add(`import ${u} from '${k.source}'`):y({source:k.source,name:E},u,x.importKind==="type"||f.importKind==="type"),E==="createApp"&&k.source==="@epxing/core"&&s.add(u)}}p.push({start:x.start,end:x.end,text:""})}}if(N(l,(x,h)=>{x.type!=="StringLiteral"||!tt(x.value)||h?.type==="ImportDeclaration"||/Export/.test(h?.type||"")||h?.type==="CallExpression"&&(h.callee.type==="Import"||h.callee.name==="require")&&o.push(`${t}\uFF1A\u52A8\u6001\u5BFC\u5165/require ${x.value} \u9700\u8981\u4EBA\u5DE5\u6539\u5199\u3002`)}),n&&s.size){let x=!1,h=1/0;N(l,I=>{if(I.type==="VariableDeclaration")for(let r of I.declarations){let b=r.init;if(b?.type!=="CallExpression"||r.id.type!=="Identifier"||!s.has(b.callee)&&!s.has(b.callee?.name))continue;let f=r.id.name;if(h=Math.min(h,b.start),!b.arguments.length){let E=d("CreateFrameRouter");y({source:"@epxing/core",name:"createFrameRouter"},E),p.push({start:b.end-1,end:b.end-1,text:`{ router: ${E}() }`})}let u=d("Components"),k=d("Business");i.add(`import ${u} from '@epxing/component'`),i.add(`import ${k} from '@epxing/business'`);for(let E of["@epxing/theme","@epxing/core/style.css","@epxing/component/style.css","@epxing/business/style.css"])!e.includes(`'${E}'`)&&!e.includes(`"${E}"`)&&i.add(`import '${E}'`);p.push({start:I.end,end:I.end,text:`
226
- ${f}.use(${u})
227
- ${f}.use(${k})
228
- `}),x=!0}}),x||o.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(l,(I,r)=>{I.type==="Identifier"&&a.has(I.name)&&I.start<h&&r?.type==="MemberExpression"&&r.object===I&&o.push(`${t}\uFF1A${I.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(o.length)return{source:e,manual:o,blocked:!0};p.sort((x,h)=>h.start-x.start||h.end-x.end);let P=e;for(let x of p)P=P.slice(0,x.start)+x.text+P.slice(x.end);i.size&&(P=[...i].join(`
2
+ import{a as ce,b as je,c as we,d as Pe,e as Ae}from"../chunks/VASFHXYG.mjs";import{a as Ce}from"../chunks/7YE2UHC6.mjs";import{a as Fe}from"../chunks/U27ZPQAM.mjs";import"../chunks/7NAADJFP.mjs";import{a as l,c as pe,d as le}from"../chunks/J7B2EWKH.mjs";var Ie=pe(le(),1);function Te(e){let t=[],n=[],s=l(a=>a.key?.name||a.key?.value,"keyOf");function r(a){if(a?.type==="ConditionalExpression"){r(a.consequent),r(a.alternate);return}if(a?.type!=="ObjectExpression"){a&&!(a.type==="BooleanLiteral"&&!a.value)&&n.push("build \u4E3A\u52A8\u6001\u914D\u7F6E\uFF0C\u8BF7\u6838\u5BF9\u5E93\u5206\u652F copyPublicDir \u4E3A false\uFF0C\u5E94\u7528\u5206\u652F\u4FDD\u7559\u539F\u503C\u3002");return}let c=a.properties.find(m=>m.type==="ObjectProperty"&&s(m)==="lib");if(!c||c.value.type==="BooleanLiteral"&&!c.value.value)return;if(c.value.type!=="ObjectExpression"){n.push("lib \u4E3A\u52A8\u6001\u914D\u7F6E\uFF0C\u8BF7\u6838\u5BF9\u5E93\u5206\u652F copyPublicDir \u4E3A false\uFF0C\u907F\u514D\u5F71\u54CD\u5E94\u7528\u6784\u5EFA\u3002");return}if(a.properties.some(m=>m.type==="SpreadElement")){n.push("\u5E93\u6784\u5EFA\u5305\u542B\u5C55\u5F00\u914D\u7F6E\uFF0C\u8BF7\u6838\u5BF9\u6700\u7EC8 build.copyPublicDir \u4E3A false\u3002");return}let p=a.properties.find(m=>s(m)==="copyPublicDir");p?p.type!=="ObjectProperty"||p.value.type!=="BooleanLiteral"?n.push("copyPublicDir \u4E3A\u52A8\u6001\u914D\u7F6E\uFF0C\u8BF7\u5728\u5E93\u6784\u5EFA\u5206\u652F\u5173\u95ED public \u590D\u5236\u3002"):p.value.value&&t.push({start:p.value.start,end:p.value.end,text:"false"}):t.push({start:a.start+1,end:a.start+1,text:" copyPublicDir: false,"})}l(r,"branch");function o(a){if(!(!a||typeof a!="object")){a.type==="ObjectProperty"&&s(a)==="build"&&r(a.value);for(let[c,p]of Object.entries(a))c!=="loc"&&(Array.isArray(p)?p.forEach(o):p&&typeof p=="object"&&o(p))}}l(o,"walk");try{o((0,Ie.parse)(e,{sourceType:"module",plugins:["typescript","importAttributes"]}))}catch(a){n.push("Vite \u914D\u7F6E\u65E0\u6CD5\u89E3\u6790\uFF0C\u9700\u6838\u5BF9\u5E93\u6784\u5EFA copyPublicDir\uFF1A"+a.message)}let i=e;for(let a of t.sort((c,p)=>p.start-c.start))i=i.slice(0,a.start)+a.text+i.slice(a.end);return{src:i,warnings:n}}l(Te,"fixLibraryPublicCopy");import v from"node:fs";import ke from"node:os";import w from"node:path";import{execSync as xe,spawnSync as mt}from"node:child_process";import{fileURLToPath as Xt}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"}},Le={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"},ue={"gogocode-cli":"^0.2.28","gogocode-plugin-vue":"^1.0.29","gogocode-plugin-element":"^0.0.3"},De={"@vue/babel-plugin-jsx":"^1.2.5"},Me={"@element-plus/icons-vue":"^2.3.1"},me={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"},Re=['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 kt=/import\.meta\.glob\(\s*(['"])([^'"]+)\1\s*,\s*\{\s*eager\s*:\s*true\s*\}\s*\)/;function Oe(e){let t=kt.exec(String(e||""));return t?t[2]:null}l(Oe,"extractGlobPattern");function St(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"}l(St,"lazyLibState");var Ve=l(e=>/'/.test(e)?JSON.stringify(e):`'${e}'`,"q"),Et=`import lazyLib from 'epx-frame/build/vite-plugin-lazy-lib.mjs'
3
+ `,$t=/^([ \t]*)frameDeps\s*\(\s*\)\s*,?[^\n]*$/m;function Ne(e,{glob:t,pkgName:n}){let s=String(e||""),r=St(s);if(r!=="absent")return{src:s,status:r};let o=$t.exec(s);if(!o)return{src:s,status:"no-anchor"};let i=o[1],a=`
4
+ ${i}// \u6807\u51C6 build:lib \u9ED8\u8BA4\u61D2\u52A0\u8F7D\uFF1Bnpm run build:lib:full \u663E\u5F0F\u5168\u91CF\u6784\u5EFA\u3002
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: ${Ve(t)}, pkgName: ${Ve(n)} }),`,c=s.slice(0,o.index+o[0].length)+a+s.slice(o.index+o[0].length),p=0;if(c.startsWith("#!")){let h=c.indexOf(`
7
+ `);p=h===-1?c.length:h+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)+Et+c.slice(p),{src:c,status:"injected"}}l(Ne,"injectLazyLib");function _e(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}}l(_e,"addLazyScripts");import{TEMPLATES as Be}from"../epx-create/scaffold.mjs";var Ct=["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 Ft(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}}l(Ft,"viteEntryCodemod");function ze({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(b){return{changes:s,manual:["package.json \u89E3\u6790\u5931\u8D25\uFF1A"+b.message],info:{}}}let a=String(i.name||"").toLowerCase(),c=["src/index.js","index.js"].find(b=>e(b)!=null),p=c?e(c):"",m=/import\.meta\.glob/.test(p),x=null,h=p.match(/require\.context\(\s*['"]@\/([^'"]+)['"]/);if(h)x=h[1];else if(m){let b=p.match(/import\.meta\.glob\(\s*['"]\.\/([^/'"]+)\//);b&&(x=b[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 C=`./${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 b=Be["vite.config.mjs"].replaceAll("__NAME__",a).replaceAll("__DIRNAME__",x);s.push({file:"vite.config.mjs",after:b})}let A=t||i.dependencies&&i.dependencies["epx-frame"]||"^5.3.0",y=JSON.parse(Be["package.json"].replaceAll("__NAME__",a).replaceAll("__EPX_FRAME__",A));i.runtime=y.runtime,i.scripts={...i.scripts||{},...y.scripts},i.devDependencies=i.devDependencies||{};for(let[b,k]of Object.entries(y.devDependencies))i.devDependencies[b]=k;let S=[];for(let b of["dependencies","devDependencies"])if(i[b])for(let k of Object.keys(i[b]))Ct.includes(k)&&(delete i[b][k],S.push(k));s.push({file:"package.json",after:JSON.stringify(i,null,2)+`
9
+ `});for(let b of["webpack.config.js","vue.config.js","babel.config.js"])e(b)!=null&&s.push({file:b,remove:!0});if(c&&/require\.context/.test(p)){let b=Ft(p);b.changed?(s.push({file:c,after:b.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('${C}', { 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 b=f.match(/resources:\s*path\.resolve\([^,]*,\s*['"]([^'"]+)['"]/);r.push(`scss \u5168\u5C40\u6CE8\u5165\uFF1A\u65E7\u914D\u7F6E\u7528 sass-resources-loader \u6CE8\u5165 ${b?"`"+b[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 u=f.match(/url-loader[\s\S]{0,120}?limit:\s*([0-9*\s]+)/);u&&r.push(`\u65E7\u914D\u7F6E\u7528 url-loader \u5185\u8054\u5C0F\u8D44\u6E90\uFF08limit\u2248${u[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 b=["recorder","echarts","xlsx","jspdf","luckysheet","pdfjs","signature"].filter(k=>new RegExp(k,"i").test(d[1]));b.length&&r.push(`\u65E7 externals \u542B\u6A21\u677F\u9ED8\u8BA4\u672A\u8986\u76D6\u7684\u5E93\uFF1A${b.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:C,removedDeps:S}}}l(ze,"planToVite");var jt=/import\s+(\w+)\s*,\s*\{([^}]*)\}\s*from\s*(['"])epx-frame\3/;function Ue(e){let t=String(e||""),n=jt.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)}l(Ue,"collapseFrameImport");import ge from"node:path";var wt=["gogocode-plugin-vue","gogocode-plugin-element"];function Ge(e,t){for(let n of e||[]){if(!n)continue;let s=ge.join(n,"node_modules"),r=ge.join(s,"gogocode-cli","index.js");if(t(r)&&!wt.some(o=>!t(ge.join(s,o))))return r}return null}l(Ge,"findGogocode");function Pt({projectDir:e,toolDir:t,cacheDir:n}){return[e,t,n].filter(Boolean)}l(Pt,"gogocodeRoots");function He({projectDir:e,toolDir:t,cacheDir:n,versions:s,exists:r,install:o,log:i}){let a=i||(()=>{}),c=Pt({projectDir:e,toolDir:t,cacheDir:n}),p=Ge(c,r);if(p)return{cli:p,installed:!1};let m=Object.entries(s||{}).map(([h,C])=>`${h}@${C}`);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(h){return{cli:null,installed:!1,error:String(h&&h.message||h).slice(0,200)}}let x=Ge([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"}}l(He,"ensureGogocode");var At=[".vue",".js",".jsx",".ts",".tsx"],It=l(e=>At.some(t=>e.toLowerCase().endsWith(t)),"isSource");function We(e,t,n,s){let r=n,o=s,i=0,a=l((c,p)=>{let m;try{m=r.readdirSync(c,{withFileTypes:!0})}catch{return}for(let x of m){let h=o.join(c,x.name),C=o.join(p,x.name);x.isDirectory()?a(h,C):It(x.name)&&(r.mkdirSync(o.dirname(C),{recursive:!0}),r.copyFileSync(h,C),i++)}},"walk");return a(e,t),i}l(We,"copyBackSources");var Je=/(install\s*=\s*function\s*\()\s*Vue\s*(\s*(?:,[^)]*)?\))/,qe=/(\binstall\s*\()\s*Vue\s*(\s*(?:,[^)]*)?\)\s*\{)/;function Tt(e){let t=String(e||"");return Je.test(t)?t.replace(Je,"$1app$2"):qe.test(t)?t.replace(qe,"$1app$2"):t}l(Tt,"renameInstallParam");var Lt=l(e=>/install\s*=\s*function\s*\(\s*app\b/.test(String(e||""))||/\binstall\s*\(\s*app\b/.test(String(e||"")),"hasAppParam");function Dt(e){return String(e||"").replace(/\bVue\.prototype\.(\$?[\w$]+)/g,"app.config.globalProperties.$1").replace(/\bVue\.(component|use|directive|mixin|provide)\b/g,"app.$1")}l(Dt,"rewriteVueGlobals");function Mt(e){return String(e||"").replace(/\bwindow\.\$vueApp\b/g,"app")}l(Mt,"rewriteVueAppGlobal");function Xe(e){let t=Tt(e);return Lt(t)&&(t=Dt(t)),t=Mt(t),t}l(Xe,"codemodLibEntry");var Rt=/[;,{([<>=&|?:.+\-*/]$/,Vt=/^(=>|\?|:|\.|\)|\]|\}|,|&&|\|\||\+|-|\*|\/|=)/,Ot=/[)\]\w'"`]$/;function Nt(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&&(Rt.test(r)||Vt.test(i)||Ot.test(r)&&(t[s]=r+";",n++))}return{val:t.join(`
13
+ `),n}}l(Nt,"fixValue");function Ke(e){let t=0;return{src:e.replace(/(?:v-bind)?:([\w-]+)\.sync="([^"]*)"/g,(s,r,o)=>(t++,`v-model:${r}="${o}"`)),count:t}}l(Ke,"fixSyncModifier");function Ye(e){let t=0;return{src:e.replace(/((?:@|v-on:)[\w.:-]+=")([^"]*)(")/g,(s,r,o,i)=>{let a=Nt(o);return t+=a.n,r+a.val+i}),count:t}}l(Ye,"fixInlineHandlers");function Ze(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()}l(Ze,"toCssClass");function Qe(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="${Ze(r)}"></i>`)),n=n.replace(/<(ElIcon[A-Za-z0-9]+)\s*\/>/g,(s,r)=>(t++,`<i class="${Ze(r)}"></i>`)),n=n.replace(/^[ \t]*ElIcon[A-Za-z0-9]+,[ \t]*\r?\n/gm,()=>(t++,"")),{src:n,count:t}}l(Qe,"fixElIcon");var _t=new Set(["vue","vuex","vue-router"]);function et(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=>_t.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 h=[...m].join(", ");t=t.replace(i,`import { ${h} } from '${c}'
14
+ `),t=t.replace(new RegExp("\\b"+a+"\\.([A-Za-z_$][\\w$]*)","g"),"$1")}n++}return{src:t,count:n}}l(et,"fixNamespaceImport");function Bt(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],h=o[6].match(/\\?\.([a-zA-Z0-9]+)\$?$/),C=h?"."+h[1]:".*",A=p.replace(/\/+$/,"")+(m==="true"?"/**/*":"/*")+C;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}}l(Bt,"fixRequireContext");function tt(e){let t=/require\(\s*(['"])((?:@\/|\.\.?\/)[^'"]+\.(?:png|jpe?g|gif|svg|webp|bmp|ico))\1\s*\)/gi,n=new Map,s=l(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,h=new Set(n.values());for(;h.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}}l(tt,"collectRequireAsset");function nt(e,t={}){let n=!!t.isVue,s=0,r=!1,o=e,i=Bt(o);if(o=i.src,s+=i.count,n){let a=o.match(/(<script(?:\s[^>]*)?>)([\s\S]*?)(<\/script>)/);if(a){let c=tt(a[2]);if(c.count){let m=`
16
+ `+c.imports+`
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=tt(o);a.count&&(o=a.imports+`
18
+ `+a.body,s+=a.count)}return{src:o,count:s,templateAsset:r}}l(nt,"viteSourceCodemod");function ot(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}}l(ot,"fixJsxVue2");var it=pe(le(),1);var zt=l(e=>e&&!e.computed&&(e.key?.name==="runtime"||e.key?.value==="runtime"),"isRuntime"),st=l(e=>e?.type==="ObjectExpression"&&zt(e.properties.at(-1))&&e.properties.at(-1).value?.value==="vue3","hasVue3");function rt(e){try{let t=(0,it.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(st(s)||o&&st(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}}}l(rt,"markLibraryRuntime");var X=pe(le(),1);var Y={"@epxing/core":{package:"@epxing/core",exports:{publishCoreRuntime:["publishCoreRuntime"],createCore:["createCore"],installCore:["installCore"],createApp:["createApp"],installLegacyFrame:["installLegacyFrame"],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"],routeComponents:["routeComponents"],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 at={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 Ut=["core","components","utils","business","designer"],q=new Map;for(let e of Ut)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 Gt={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"}},de=l(e=>Gt[e]||(q.get(e)?.length===1?q.get(e)[0]:null),"fromRoot"),N=l((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"),Ht=l(e=>e?.key?.name??e?.key?.value,"keyOf"),pt=l(e=>/^(?:epx-frame(?:\/|$)|@epx\/)/.test(e),"oldRoot"),U=l(e=>e.replace(/^@epx\//,"@epxing/").replace(/^@epxing\/component(?=\/|$)/,"@epxing/components"),"canonical"),K=new Map;for(let[e,t]of Object.entries(at))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 Wt(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}l(Wt,"moduleTarget");function ct(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(y){return{source:e,manual:[`${t} \u65E0\u6CD5\u9759\u6001\u89E3\u6790\uFF1A${y.message}`],blocked:!0}}let m=new Set;N(p,y=>{y.type==="Identifier"&&m.add(y.name)});let x=l(y=>{let S="__epx"+y;for(;m.has(S);)S+="_";return m.add(S),S},"unique");function h(y,S,f=!1){y.source==="@epxing/core/runtime"&&["runtimeStore","runtimeRouter"].includes(y.name)&&c.add(S);let u=y.name==="*"?`* as ${S}`:`{ ${f?"type ":""}${y.name}${y.name===S?"":" as "+S} }`;i.add(`import ${u} from '${y.source}'`)}l(h,"addImport");function C(y,S,f){let u=[],d=[];if(N(p,(k,$)=>{if(!(!["Identifier","JSXIdentifier"].includes(k.type)||k.name!==y||k.start>=f.start&&k.end<=f.end))if(($?.type==="MemberExpression"||$?.type==="OptionalMemberExpression")&&$.object===k){let F=$.computed?$.property.type==="StringLiteral"?$.property.value:null:$.property.name,L=F&&S(F);L?u.push({node:$,target:L,property:F}):d.push(F||"\u52A8\u6001\u5C5E\u6027")}else d.push("\u76F4\u63A5\u5F15\u7528\u6216\u540C\u540D\u5C40\u90E8\u7ED1\u5B9A")}),d.length){r.push(`${t}\uFF1A${y} \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 b=new Map;for(let k of u){let $=k.target.source+":"+k.target.name;if(!b.has($)){let F=x(k.property);h(k.target,F),b.set($,F)}o.push({start:k.node.start,end:k.node.end,text:b.get($)}),k.target.name==="createApp"&&a.add(k.node)}}l(C,"namespace");for(let y of p.program.body){if(!["ImportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"].includes(y.type)||!y.source)continue;let S=y.source.value,f=S==="epx-frame",u=Wt(S);if(f||pt(S)||/^@epxing\/component(?:\/|$)/.test(S)||S.startsWith("@epxing/")&&S.includes("/src/")){if(!f&&!u){r.push(`${t}\uFF1A\u5C1A\u65E0\u516C\u5F00\u6620\u5C04 ${S}\uFF0C\u9700\u6539\u7528\u5BF9\u5E94\u5305\u516C\u5F00 API\u3002`);continue}if(y.type!=="ImportDeclaration"){if(f||typeof u=="object"){r.push(`${t}\uFF1A${S} \u7684\u91CD\u5BFC\u51FA\u9700\u4EBA\u5DE5\u62C6\u5206\u3002`);continue}o.push({start:y.source.start,end:y.source.end,text:JSON.stringify(u)});continue}if(!y.specifiers.length){f||typeof u=="object"?r.push(`${t}\uFF1A\u526F\u4F5C\u7528\u5BFC\u5165 ${S} \u65E0\u6CD5\u6620\u5C04\u3002`):o.push({start:y.source.start,end:y.source.end,text:JSON.stringify(u)});continue}for(let b of y.specifiers){let k=b.local.name;if(f||u==="@epxing/utils"&&b.type!=="ImportSpecifier")if(b.type!=="ImportSpecifier")C(k,$=>u==="@epxing/utils"&&Y["@epxing/utils"].exports[$]?{source:"@epxing/utils",name:$}:de($),y);else{let $=b.imported.name||b.imported.value,F=de($);if(!F){r.push(`${t}\uFF1A\u65E7\u6839\u5BFC\u51FA ${$} \u4E0D\u552F\u4E00\u6216\u5C1A\u672A\u516C\u5F00\uFF0C\u9700\u4EBA\u5DE5\u9009\u62E9\u3002`);continue}h(F,k,y.importKind==="type"||b.importKind==="type"),F.name==="createApp"&&a.add(k)}else{let $=typeof u=="string"?{source:u}:u,F=b.type==="ImportDefaultSpecifier"?$.defaultName||"default":b.type==="ImportNamespaceSpecifier"?"*":b.imported.name||b.imported.value;if($.source==="@epxing/utils"&&b.type==="ImportSpecifier"&&!Y["@epxing/utils"].exports[F]){let L=de(F);L?h(L,k):r.push(`${t}\uFF1Autils \u7684\u65E7\u5BFC\u51FA ${F} \u5C1A\u65E0\u786E\u5B9A\u6620\u5C04\u3002`);continue}F==="default"?i.add(`import ${k} from '${$.source}'`):h({source:$.source,name:F},k,y.importKind==="type"||b.importKind==="type"),F==="createApp"&&$.source==="@epxing/core"&&a.add(k)}}o.push({start:y.start,end:y.end,text:""})}}if(N(p,(y,S)=>{y.type!=="StringLiteral"||!pt(y.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 ${y.value} \u9700\u8981\u4EBA\u5DE5\u6539\u5199\u3002`)}),n&&a.size){let y=!1,S=1/0;N(p,f=>{if(f.type==="VariableDeclaration")for(let u of f.declarations){let d=u.init;if(d?.type!=="CallExpression"||u.id.type!=="Identifier"||!a.has(d.callee)&&!a.has(d.callee?.name))continue;let b=u.id.name;if(S=Math.min(S,d.start),!d.arguments.length){let F=x("CreateFrameRouter");h({source:"@epxing/core",name:"createFrameRouter"},F),o.push({start:d.end-1,end:d.end-1,text:`{ router: ${F}() }`})}let k=x("Components"),$=x("Business");i.add(`import ${k} from '@epxing/components'`),i.add(`import ${$} from '@epxing/business'`);for(let F of["@epxing/theme",...je(s)?[]:we])!e.includes(`'${F}'`)&&!e.includes(`"${F}"`)&&i.add(`import '${F}'`);o.push({start:f.end,end:f.end,text:`
21
+ ${b}.use(${k})
22
+ ${b}.use(${$})
23
+ `}),y=!0}}),y||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,u)=>{f.type==="Identifier"&&c.has(f.name)&&f.start<S&&u?.type==="MemberExpression"&&u.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((y,S)=>S.start-y.start||S.end-y.end);let A=e;for(let y of o)A=A.slice(0,y.start)+y.text+A.slice(y.end);i.size&&(A=[...i].join(`
229
24
  `)+`
230
- `+P);try{(0,X.parse)(P,{sourceType:"unambiguous",plugins:["jsx","typescript","decorators-legacy","importAttributes"]})}catch(x){return{source:e,manual:[`${t}\uFF1A\u8F6C\u6362\u540E\u8BED\u6CD5\u9A8C\u8BC1\u5931\u8D25\uFF0C\u4FDD\u7559\u539F\u6587\uFF1A${x.message}`],blocked:!0}}return{source:P,manual:o,blocked:!1}}g(nt,"transformScript");function Bt(e,t={}){if(t.filename?.endsWith(".vue")){let n=[],o=!1,p=e.replace(/(<script\b[^>]*>)([\s\S]*?)(<\/script>)/g,(i,s,a,l)=>{let c=nt(a,t);return n.push(...c.manual),o||=c.blocked,s+c.source+l});return{source:o?e:p,manual:n,blocked:o}}return nt(e,t)}g(Bt,"rewritePackageImports");function ot({read:e,files:t,packagesVersion:n,cliVersion:o="0.5.0-beta.0",templates:p,newVite:i=!1}){let s=[],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 l=et(p),c=JSON.parse(e("package.json")),d=(e("src/index.js")||"").match(/import\.meta\.glob\(\s*['"]\.\/([^/'"]+)\//)?.[1]||c.name||"product",y=g(r=>r.replaceAll("__NAME__",c.name||"product").replaceAll("__DIRNAME__",d).replaceAll("__PACKAGES_VERSION__",n).replaceAll("__CLI_VERSION__",o),"render"),S=["vite.config.mjs","vite.config.js","vite.config.ts"].find(r=>e(r)!=null);if(!S&&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 P=S&&!i?[S]:[],x=new Set;for(let r of[...t,...P]){let b=e(r);if(!b||!/epx-frame|@epx(?:ing)?\//.test(b))continue;let f=Bt(b,{filename:r,bootstrap:/(?:^|\/)main\.[jt]s$/.test(r)});a.push(...f.manual);let u=f.source;if(r===S&&!f.blocked&&!u.includes("epxShared(")){let E=(0,X.parse)(u,{sourceType:"module",plugins:["typescript","jsx","importAttributes"]}),w;N(E,B=>{!w&&B.type==="ObjectProperty"&&Vt(B)==="plugins"&&B.value.type==="ArrayExpression"&&(w=B.value)}),w?u=`import { epxShared as __epxShared } from '@epxing/cli/vite'
231
- `+u.slice(0,w.start+1)+"__epxShared(), "+u.slice(w.start+1):a.push(`${r}\uFF1Aplugins \u6570\u7EC4\u65E0\u6CD5\u786E\u5B9A\uFF0C\u9700\u4EBA\u5DE5\u63A5\u5165 @epxing/cli/vite \u7684 epxShared\u3002`)}let k=r.endsWith(".vue")?[...u.matchAll(/<script\b[^>]*>([\s\S]*?)<\/script>/g)].map(E=>E[1]):[u];for(let E of k){let w=(0,X.parse)(E,{sourceType:"unambiguous",plugins:["typescript","jsx","decorators-legacy","importAttributes"]});N(w,(B,Q)=>{if(B.type!=="StringLiteral"||!/^(?:ImportDeclaration|ExportNamedDeclaration|ExportAllDeclaration)$/.test(Q?.type||"")&&!(Q?.type==="CallExpression"&&(Q.callee.type==="Import"||Q.callee.name==="require")))return;let he=B.value.match(/^(@epxing\/[\w-]+)/)?.[1];he&&x.add(he)})}u!==b&&s.push({file:r,after:u})}if(a.length)return{changes:[],manual:a,blocked:!0};if(i){s.push({file:S||"vite.config.mjs",after:y(l["vite.config.mjs"])});for(let r of["@epxing/cli","@epxing/icons","@epxing/theme"])x.add(r)}c.dependencies||={},c.devDependencies||={};for(let[r,b]of Object.entries(JSON.parse(y(l["package.json"])).dependencies))r.startsWith("@epxing/")&&!x.has(r)&&!["@epxing/core","@epxing/component","@epxing/utils"].includes(r)||(c.dependencies[r]=b);for(let r of["dependencies","devDependencies","peerDependencies"])for(let b of Object.keys(c[r]||{}))if(b.startsWith("@epx/")){let f=K(b);c[r][f]=n,delete c[r][b]}else b.startsWith("@epxing/")&&b!=="@epxing/cli"&&(c[r][b]=n);for(let r of x){let b=["@epxing/cli","@epxing/icons"].includes(r),f=b?"devDependencies":"dependencies";c[f][r]=r==="@epxing/cli"?o:n,delete c[b?"dependencies":"devDependencies"][r]}let h=S&&/node_modules\/epx-frame\/lib/.test(e(S)||"")&&!i;h?(c.devDependencies["epx-frame"]=c.dependencies["epx-frame"]||c.devDependencies["epx-frame"],delete c.dependencies["epx-frame"]):(delete c.dependencies["epx-frame"],delete c.devDependencies["epx-frame"]),c.runtime="vue3",s.push({file:"package.json",after:JSON.stringify(c,null,2)+`
232
- `});let I=e("PRODUCT-GUIDE.md")==null||e("PRODUCT-GUIDE.md").includes("<!-- epxing-generated-product-guide -->")?"PRODUCT-GUIDE.md":"EPXING-PACKAGES-GUIDE.md";return e(I)!=null&&!e(I).includes("<!-- epxing-generated-product-guide -->")?{changes:[],manual:[`${I} \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}:(s.push({file:I,after:y(l["PRODUCT-GUIDE.md"])}),{changes:s,manual:h?["\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})}g(ot,"planIndependentPackages");import{TEMPLATES as Ut}from"../epx-create/scaffold.mjs";var R=process.argv.slice(2),se=R.indexOf("--epx-frame"),pe=se!==-1?R[se+1]:null;se!==-1&&R.splice(se,2);var ue=R.indexOf("--packages-version"),V=ue===-1?null:R.splice(ue,2)[1],it=R.indexOf("--cli-version"),pt=it===-1?"0.5.0-beta.0":R.splice(it,2)[1];if(pe&&V)throw new Error("--packages-version \u4E0E --epx-frame \u4E0D\u80FD\u540C\u65F6\u6307\u5B9A");if(ue!==-1&&(!V||V.startsWith("--")))throw new Error("--packages-version \u7F3A\u5C11\u503C");var T=R.find(e=>!e.startsWith("--")),z=R.includes("--apply"),de=R.includes("--transform-vue"),ge=R.includes("--report-only"),rt=R.includes("--to-vite"),m=g((...e)=>console.log(...e),"log");pe&&(ee["epx-frame"].target=pe);(!T||!v.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 D=g(e=>A.join(T,e),"rel"),$=g(e=>v.existsSync(D(e))?v.readFileSync(D(e),"utf8"):null,"read"),F=[],C=[],be=!1,j=g(e=>m(`
25
+ `+A);try{(0,X.parse)(A,{sourceType:"unambiguous",plugins:["jsx","typescript","decorators-legacy","importAttributes"]})}catch(y){return{source:e,manual:[`${t}\uFF1A\u8F6C\u6362\u540E\u8BED\u6CD5\u9A8C\u8BC1\u5931\u8D25\uFF0C\u4FDD\u7559\u539F\u6587\uFF1A${y.message}`],blocked:!0}}return{source:A,manual:r,blocked:!1}}l(ct,"transformScript");function Jt(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=ct(a,t);return n.push(...p.manual),s||=p.blocked,i+p.source+c});return{source:s?e:r,manual:n,blocked:s}}return ct(e,t)}l(Jt,"rewritePackageImports");function qt(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 h of t.program.body){let C=h.type==="ExpressionStatement"&&h.expression;C?.type==="CallExpression"&&C.callee.type==="MemberExpression"&&!C.callee.computed&&C.callee.object.name===p&&C.callee.property.name==="use"&&r.has(C.arguments[0]?.name)&&(m=Math.max(m,h.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}l(qt,"withLegacyFrameHint");function lt({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=Ae(r,n),p=JSON.parse(e("package.json")),m=(e("src/index.js")||"").match(/import\.meta\.glob\(\s*['"]\.\/([^/'"]+)\//)?.[1]||p.name||"product",x=l(u=>u.replaceAll("__NAME__",p.name||"product").replaceAll("__DIRNAME__",m).replaceAll("__PACKAGES_VERSION__",n).replaceAll("__CLI_VERSION__",s),"render"),h=["vite.config.mjs","vite.config.js","vite.config.ts"].find(u=>e(u)!=null);if(!h&&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 C=h&&!o?[h]:[],A=new Set,y=Pe(e("src/main.js"),e("src/App.vue"),p.name);for(let u of[...t,...C]){let d=e(u);if(!d||!/epx-frame|@epx(?:ing)?\//.test(d))continue;let b=u==="src/main.js"&&y?{source:x(c["src/main.js"]),manual:[],blocked:!1}:Jt(d,{filename:u,packagesVersion:n,bootstrap:/(?:^|\/)main\.[jt]s$/.test(u)});a.push(...b.manual);let k=b.source;if(!b.blocked&&/(?:^|\/)main\.[jt]s$/.test(u)&&(k=qt(k)),u===h&&!b.blocked&&!k.includes("epxShared(")){let F=(0,X.parse)(k,{sourceType:"module",plugins:["typescript","jsx","importAttributes"]}),L;N(F,z=>{!L&&z.type==="ObjectProperty"&&Ht(z)==="plugins"&&z.value.type==="ArrayExpression"&&(L=z.value)}),L?k=`import { epxShared as __epxShared } from '@epxing/cli/vite'
30
+ `+k.slice(0,L.start+1)+"__epxShared(), "+k.slice(L.start+1):a.push(`${u}\uFF1Aplugins \u6570\u7EC4\u65E0\u6CD5\u786E\u5B9A\uFF0C\u9700\u4EBA\u5DE5\u63A5\u5165 @epxing/cli/vite \u7684 epxShared\u3002`)}let $=u.endsWith(".vue")?[...k.matchAll(/<script\b[^>]*>([\s\S]*?)<\/script>/g)].map(F=>F[1]):[k];for(let F of $){let L=(0,X.parse)(F,{sourceType:"unambiguous",plugins:["typescript","jsx","decorators-legacy","importAttributes"]});N(L,(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 $e=z.value.match(/^(@epxing\/[\w-]+)/)?.[1];$e&&A.add($e)})}k!==d&&i.push({file:u,after:k})}if(a.length)return{changes:[],manual:a,blocked:!0};if(o){i.push({file:h||"vite.config.mjs",after:x(c["vite.config.mjs"])});for(let u of["@epxing/cli","@epxing/icons","@epxing/theme"])A.add(u)}p.dependencies||={},p.devDependencies||={};for(let[u,d]of Object.entries(JSON.parse(x(c["package.json"])).dependencies))u.startsWith("@epxing/")&&!A.has(u)&&!["@epxing/core","@epxing/components","@epxing/utils"].includes(u)||(p.dependencies[u]=d);for(let u of["dependencies","devDependencies","peerDependencies"])for(let d of Object.keys(p[u]||{}))if(d.startsWith("@epx/")||U(d)!==d){let b=U(d);p[u][b]=n,delete p[u][d]}else d.startsWith("@epxing/")&&d!=="@epxing/cli"&&(p[u][d]=n);for(let u of A){let d=["@epxing/cli","@epxing/icons"].includes(u),b=d?"devDependencies":"dependencies";p[b][u]=u==="@epxing/cli"?s:n,delete p[d?"dependencies":"devDependencies"][u]}let S=h&&/node_modules\/epx-frame\/lib/.test(e(h)||"")&&!o;S?(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:S?["\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})}l(lt,"planIndependentPackages");import{TEMPLATES as Kt}from"../epx-create/scaffold.mjs";var R=process.argv.slice(2),re=R.indexOf("--epx-frame"),ae=re!==-1?R[re+1]:null;re!==-1&&R.splice(re,2);var be=R.indexOf("--packages-version"),_=be===-1?null:R.splice(be,2)[1],ut=R.indexOf("--cli-version"),gt=ut===-1?"0.5.0-beta.5":R.splice(ut,2)[1];if(ae&&_)throw new Error("--packages-version \u4E0E --epx-frame \u4E0D\u80FD\u540C\u65F6\u6307\u5B9A");if(be!==-1&&(!_||_.startsWith("--")))throw new Error("--packages-version \u7F3A\u5C11\u503C");var T=R.find(e=>!e.startsWith("--")),J=R.includes("--apply"),ye=R.includes("--transform-vue"),fe=R.includes("--report-only"),dt=R.includes("--to-vite"),g=l((...e)=>console.log(...e),"log");ae&&(te["epx-frame"].target=ae);(!T||!v.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=l(e=>w.join(T,e),"rel"),P=l(e=>v.existsSync(O(e))?v.readFileSync(O(e),"utf8"):null,"read"),j=[],E=[],Se=!1,M=l(e=>g(`
233
32
  ${"\u2501".repeat(60)}
234
33
  \u258D ${e}
235
- ${"\u2501".repeat(60)}`),"stage"),Ht=g(e=>{let t=String(e),n=/(^|[^\d.])3(\.|x|\b)/.test(t);return/(^|[^\d.])2(\.|x|\b)/.test(t)&&!n},"wantsVue2Only");if(z)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 M=[],_=[],at=[],ct=g(e=>{for(let t of v.readdirSync(e,{withFileTypes:!0})){let n=A.join(e,t.name);t.isDirectory()&&!/node_modules|\.git|^lib$|^dist$/.test(t.name)?ct(n):t.name.endsWith(".vue")?(M.push(n),_.push(n)):/\.(?:[cm]?js|jsx|ts|tsx)$/.test(t.name)?_.push(n):/\.(?:css|scss|less|sass|styl|stylus)$/.test(t.name)&&at.push(n)}},"walk");v.existsSync(D("src"))&&ct(D("src"));var ve=new Set;for(let e of _){let t=v.readFileSync(e,"utf8");for(let n of t.matchAll(/(?:from\s+|require\()\s*['"]([^'"./][^'"]*)['"]/g)){let o=n[1];o.startsWith("@/")||ve.add(o.startsWith("@")?o.split("/").slice(0,2).join("/"):o.split("/")[0])}}var lt=g(e=>{let t=e.match(/<script(\s[^>]*)?>([\s\S]*?)<\/script>/);return t?{attrs:t[1]||"",body:t[2]}:null},"scriptOf"),gt=g(e=>/[(=,]\s*\n?\s*<[A-Za-z][\w-]*[\s>/]/.test(e),"hasJsx"),O=M.filter(e=>{let t=lt(v.readFileSync(e,"utf8"));return t&&gt(t.body)});j("\u2460 \u4F9D\u8D56\u8FC1\u79FB\uFF08package.json\uFF09");var ne=$("package.json"),mt=$("webpack.config.js")!=null;if(ne){let e=JSON.parse(ne),t=e.runtime!=="vue3";e.runtime="vue3",t&&m(" [\u6539] runtime \u2192 vue3\uFF08\u521B\u5EFA/\u8FC1\u79FB\u540E\u7684\u8FD0\u884C\u65F6\u6807\u8BC6\uFF09");let n=[],o=g((i,s,a,l)=>{let c=a?"devDependencies":"dependencies";e[c]=e[c]||{},e[c][i]!==s&&(n.push([e[c][i]!=null?"\u6539":"\u52A0",i,e[c][i]||"\u2014",s,l||""]),e[c][i]=s)},"setDep");for(let[i,s]of Object.entries(ee))for(let a of["dependencies","devDependencies"]){let l=e[a];l&&l[i]!=null&&(s.target===null?(n.push(["\u5220",i,l[i],"\u2014",s.note||""]),delete l[i]):l[i]!==s.target&&(n.push(["\u6539",i,l[i],s.target,s.note||""]),l[i]=s.target))}if(mt)for(let[i,s]of Object.entries(Ce))o(i,s,!0,"lib \u6784\u5EFA\u95ED\u5305");if(O.length)for(let[i,s]of Object.entries(Pe))o(i,s,!0,`.vue \u5185 JSX\uFF08${O.length} \u6587\u4EF6\uFF09`);if(M.length)for(let[i,s]of Object.entries(Fe))o(i,s,!1,"element-plus \u56FE\u6807\uFF08gogocode \u8F6C\u6362\u4EA7\u7269\u9700\u8981\uFF09");(ne.includes("@vue/eslint-config-standard")||ne.includes("babel-eslint"))&&C.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 p={...e.dependencies||{},...e.devDependencies||{}};for(let i of[...ve].sort())p[i]||i==="epx-frame"||i==="vue"||(ae[i]?o(i,ae[i],!1,"\u9690\u5F0F\u4F9D\u8D56\u8865\u58F0\u660E\uFF08\u539F\u9760 hoist\uFF09"):C.push(`src \u91CC import \u4E86 \`${i}\` \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(([i,s,a,l,c])=>m(` [${i}] ${s.padEnd(26)} ${String(a).padEnd(12)} \u2192 ${String(l).padEnd(12)} ${c}`)),F.push({file:"package.json",after:JSON.stringify(e,null,2)+`
236
- `})):m(" \uFF08\u65E0\u5339\u914D\u4F9D\u8D56\u9700\u8FC1\u79FB\uFF09")}else m(" \u2717 \u672A\u627E\u5230 package.json");j("\u2461 codemod\uFF08main.js / index.js / babel.config.js / webpack.config.js / \u7A7A SFC\uFF09");var Y=["src/main.js","src/main.ts","main.js"].find(e=>$(e)!=null);if(Y){let e=$(Y),t=e,n=[...e.matchAll(/\bVue\.use\(([^)]+)\)\s*;?/g)].map(o=>o[1].trim());if(e=e.replace(/\bVue\.use\([^)]+\)\s*;?\n?/g,""),e=e.replace(/(?:const\s+\w+\s*=\s*)?(\w+\.)?createApp\(\)\.\$mount\((['"][^'"]+['"])\)\s*;?/,(o,p,i)=>{let s=n.map(a=>`app.use(${a})`).join(`
237
- `);return`const app = ${p||""}createApp()
238
- ${s}${s?`
239
- `:""}app.mount(${i})`}),/const app = createApp\(\)/.test(e)){let o=(t.match(/import\s+(\w+)\s*(,|from)/)||[])[1];o&&(e=e.replace("const app = createApp()",`const app = ${o}.createApp()`))}e=Re(e),e!==t?(m(` \u2713 ${Y}\uFF1AVue.use(${n.join(",")})\u2192app.use\u3001$mount\u2192mount\u3001import \u6536\u655B`),F.push({file:Y,after:e})):m(` \xB7 ${Y}\uFF1A\u65E0\u9700\u6539\uFF08\u6216\u5199\u6CD5\u4E0D\u8BC6\u522B\uFF0C\u4EBA\u5DE5\u6838\u5BF9\uFF09`)}else C.push("\u5165\u53E3 main.js \u672A\u627E\u5230\uFF0C\u624B\u52A8\u786E\u8BA4 createApp/mount \u5DF2 Vue3 \u5316");var L=["src/index.js","index.js"].find(e=>$(e)!=null);if(L){let e=$(L),t=e;e=Be(e),/require\.context/.test(e)&&C.push(`${L}\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?(m(` \u2713 ${L}\uFF1Ainstall \u7B7E\u540D \u2192 (app, ...)\u3001Vue2 \u5168\u5C40 API \u2192 app \u5B9E\u4F8B`),F.push({file:L,after:e})):m(` \xB7 ${L}\uFF1A\u5DF2\u517C\u5BB9\u6216\u5199\u6CD5\u4E0D\u8BC6\u522B`)}var G=["babel.config.js",".babelrc.js"].find(e=>$(e)!=null);if(G){let e=$(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'/,""),O.length&&!e.includes("@vue/babel-plugin-jsx")&&(/plugins:\s*\[/.test(e)?e=e.replace(/plugins:\s*\[/,`plugins: [
34
+ ${"\u2501".repeat(60)}`),"stage"),Yt=l(e=>{let t=String(e),n=/(^|[^\d.])3(\.|x|\b)/.test(t);return/(^|[^\d.])2(\.|x|\b)/.test(t)&&!n},"wantsVue2Only");if(J)try{xe("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 D=[],V=[],ft=[],xt=l(e=>{for(let t of v.readdirSync(e,{withFileTypes:!0})){let n=w.join(e,t.name);t.isDirectory()&&!/node_modules|\.git|^lib$|^dist$/.test(t.name)?xt(n):t.name.endsWith(".vue")?(D.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)&&ft.push(n)}},"walk");v.existsSync(O("src"))&&xt(O("src"));var Ee=new Set;for(let e of V){let t=v.readFileSync(e,"utf8");for(let n of t.matchAll(/(?:from\s+|require\()\s*['"]([^'"./][^'"]*)['"]/g)){let s=n[1];s.startsWith("@/")||Ee.add(s.startsWith("@")?s.split("/").slice(0,2).join("/"):s.split("/")[0])}}var bt=l(e=>{let t=e.match(/<script(\s[^>]*)?>([\s\S]*?)<\/script>/);return t?{attrs:t[1]||"",body:t[2]}:null},"scriptOf"),yt=l(e=>/[(=,]\s*\n?\s*<[A-Za-z][\w-]*[\s>/]/.test(e),"hasJsx"),B=D.filter(e=>{let t=bt(v.readFileSync(e,"utf8"));return t&&yt(t.body)});M("\u2460 \u4F9D\u8D56\u8FC1\u79FB\uFF08package.json\uFF09");var oe=P("package.json"),vt=P("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=l((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(vt)for(let[o,i]of Object.entries(Le))s(o,i,!0,"lib \u6784\u5EFA\u95ED\u5305");if(B.length)for(let[o,i]of Object.entries(De))s(o,i,!0,`.vue \u5185 JSX\uFF08${B.length} \u6587\u4EF6\uFF09`);if(D.length)for(let[o,i]of Object.entries(Me))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"))&&E.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[...Ee].sort())r[o]||o==="epx-frame"||o==="vue"||(me[o]?s(o,me[o],!1,"\u9690\u5F0F\u4F9D\u8D56\u8865\u58F0\u660E\uFF08\u539F\u9760 hoist\uFF09"):E.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}`)),j.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");M("\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=>P(e)!=null);if(Z){let e=P(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(`
36
+ `);return`const app = ${r||""}createApp()
37
+ ${i}${i?`
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=Ue(e),e!==t?(g(` \u2713 ${Z}\uFF1AVue.use(${n.join(",")})\u2192app.use\u3001$mount\u2192mount\u3001import \u6536\u655B`),j.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 E.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=>P(e)!=null);if(I){let e=P(I),t=e;e=Xe(e),/require\.context/.test(e)&&E.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`),j.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=>P(e)!=null);if(G){let e=P(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: [
240
39
  '@vue/babel-plugin-jsx', // .vue \u5185 JSX\uFF08renderColumn \u7B49\uFF09`):e=e.replace(/module\.exports\s*=\s*\{/,`module.exports = {
241
- plugins: ['@vue/babel-plugin-jsx'],`)),e!==t?(m(` \u2713 ${G}\uFF1A\u5220\u6309\u9700\u63D2\u4EF6/cli preset${O.length?" + \u52A0 @vue/babel-plugin-jsx":""}`),F.push({file:G,after:e})):m(` \xB7 ${G}\uFF1A\u65E0\u9700\u6539`),/@babel\/preset-env/.test(e)||C.push(`${G}\uFF1A\u6CA1\u6709 @babel/preset-env\u2014\u2014\u8865 presets: [['@babel/preset-env']]`),/ie\s*>=?\s*\d/.test(e)&&C.push(`${G}\uFF1Atargets \u542B IE\uFF08Vue3 \u4E0D\u652F\u6301 IE\uFF09\uFF0C\u5EFA\u8BAE\u6539\u73B0\u4EE3\u6D4F\u89C8\u5668`)}if(mt){let e=$("webpack.config.js"),t=e;/frame'\s*,\s*'Vue'/.test(e)||(e=e.replace(/externals:\s*(\/[^\n/]*(?:\\\/[^\n/]*)*\/i?)\s*,/,(n,o)=>`externals: [
242
- ${o},
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":""}`),j.push({file:G,after:e})):g(` \xB7 ${G}\uFF1A\u65E0\u9700\u6539`),/@babel\/preset-env/.test(e)||E.push(`${G}\uFF1A\u6CA1\u6709 @babel/preset-env\u2014\u2014\u8865 presets: [['@babel/preset-env']]`),/ie\s*>=?\s*\d/.test(e)&&E.push(`${G}\uFF1Atargets \u542B IE\uFF08Vue3 \u4E0D\u652F\u6301 IE\uFF09\uFF0C\u5EFA\u8BAE\u6539\u73B0\u4EE3\u6D4F\u89C8\u5668`)}if(vt){let e=P("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},
243
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
244
43
  { vue: { root: ['frame', 'Vue'], commonjs: 'vue', commonjs2: 'vue', amd: 'vue' } }
245
- ],`)),O.length&&(e=e.split(`
44
+ ],`)),B.length&&(e=e.split(`
246
45
  `).map(n=>n.includes("test:")&&n.includes(".js")&&!n.includes(".jsx")&&!n.includes("json")&&!n.includes(".vue")?n.replace(".js",".jsx?"):n).join(`
247
- `)),e!==t?(m(` \u2713 webpack.config.js\uFF1Aexternals \u52A0 vue \u5916\u7F6E${O.length?" + babel \u89C4\u5219\u6536 .jsx":""}`),F.push({file:"webpack.config.js",after:e})):m(" \xB7 webpack.config.js\uFF1A\u65E0\u9700\u6539\u6216\u5199\u6CD5\u4E0D\u8BC6\u522B\uFF08\u4EBA\u5DE5\u6838\u5BF9\uFF09")}for(let e of M)v.readFileSync(e,"utf8").trim()===""&&(F.push({file:A.relative(T,e),after:`<script>
46
+ `)),e!==t?(g(` \u2713 webpack.config.js\uFF1Aexternals \u52A0 vue \u5916\u7F6E${B.length?" + babel \u89C4\u5219\u6536 .jsx":""}`),j.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 D)v.readFileSync(e,"utf8").trim()===""&&(j.push({file:w.relative(T,e),after:`<script>
248
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
249
48
  export default {}
250
49
  </script>
251
- `}),m(` \u2713 \u7A7A SFC \u8865\u9F50\uFF1A${A.relative(T,e)}`));j("\u2462 .vue \u6279\u91CF\u8F6C\u6362\uFF08gogocode plugin-vue + plugin-element\uFF0Cstyle \u5757\u5FEB\u7167\u4FDD\u62A4\uFF09");var U=g(e=>M.filter(t=>e.test(v.readFileSync(t,"utf8"))).length,"scan"),oe=/<style[^>]*>[\s\S]*?<\/style>/g,ut={"element-ui\uFF08el-*\uFF09\u7528\u6CD5 \u2192 element-plus API \u5DEE\u5F02\uFF08el-dialog visible.sync\u2192v-model\u3001date value-format \u7B49\uFF09":U(/<el-/),'slot="x" / slot-scope\uFF08\u65E7\u63D2\u69FD\uFF09\u2192 v-slot\uFF08gogocode \u81EA\u52A8\uFF09':U(/slot="|slot-scope/),"\u81EA\u5B9A\u4E49\u7EC4\u4EF6 v-model\uFF08value/input \u2192 modelValue\uFF0Cgogocode \u81EA\u52A8\uFF0C\u8FD0\u884C\u65F6\u590D\u6838\uFF09":U(/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":U(/\$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':O.length,"\u8FC7\u6EE4\u5668 {{ x | f }}\uFF08Vue3 \u79FB\u9664\uFF1Bgogocode \u8F6C\u6362\u540E\u590D\u6838\uFF09":U(/\{\{[^}]*\|[^}|]+\}\}/),"$children\uFF08Vue3 \u79FB\u9664\uFF09\u2192 ref/provide-inject\uFF08\u4EBA\u5DE5\uFF09":U(/\$children/),".native \u4FEE\u9970\u7B26\uFF08Vue3 \u79FB\u9664\uFF0C\u4EBA\u5DE5\u590D\u6838\uFF09":U(/\.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":M.filter(e=>/@[\w.]+="[^"]*\n[^";]*\n/.test(v.readFileSync(e,"utf8"))).length};m(` .vue \u6587\u4EF6\uFF1A${M.length} \u4E2A\uFF08JSX\uFF1A${O.length}\uFF09`);Object.entries(ut).filter(([,e])=>e>0).forEach(([e,t])=>m(` \xB7 ${String(t).padStart(3)} \u6587\u4EF6 ${e}`));var ie=".epx-migrate-vue3-out";if(de&&z){let t=_.filter(i=>{try{return v.statSync(i).size>204800}catch{return!1}});if(t.length){let i=t.map(s=>`${A.relative(T,s)}\uFF08${Math.round(v.statSync(s).size/1024)}KB\uFF09`).join("\u3001");m(` \u26A0 ${t.length} \u4E2A\u6E90\u7801\u6587\u4EF6\u8D85\u8FC7 200KB\uFF0Cgogocode \u4F1A\u8DF3\u8FC7\uFF1A${i}`),C.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${i}`)}m(`
252
- \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 i of M)n.set(i,v.readFileSync(i,"utf8").match(oe)||[]);let o=A.join(ye.homedir(),".epx-migrate","gogocode"),p=De({projectDir:A.resolve(T),toolDir:A.resolve(A.dirname(Gt(import.meta.url)),"../.."),cacheDir:o,versions:re,exists:g(i=>v.existsSync(i),"exists"),log:m,install:g(({cacheDir:i,specs:s})=>{v.mkdirSync(i,{recursive:!0});let a=A.join(i,"package.json");v.existsSync(a)||v.writeFileSync(a,JSON.stringify({name:"epx-migrate-gogocode",private:!0,version:"1.0.0"},null,2)+`
253
- `),me(`npm i --no-audit --no-fund ${s.join(" ")}`,{cwd:i,stdio:"inherit"})},"install")});p.cli||(C.push(`gogocode \u672A\u80FD\u5C31\u7EEA\uFF08.vue \u672A\u8F6C\u6362\uFF09\uFF1A${p.error||"\u672A\u77E5\u539F\u56E0"}\u3002\u53EF\u624B\u52A8\u88C5\u540E\u91CD\u8DD1\uFF1A
254
- cd ${o} && npm i ${Object.entries(re).map(([i,s])=>`${i}@${s}`).join(" ")}`),m(` \u2717 gogocode \u672A\u5C31\u7EEA\uFF1A${p.error||"\u672A\u77E5\u539F\u56E0"}\uFF08\u5217\u5165\u4EBA\u5DE5\u6E05\u5355\uFF09`));try{if(!p.cli)throw new Error(p.error||"gogocode \u672A\u5C31\u7EEA");for(let r of["gogocode-plugin-vue","gogocode-plugin-element"])me(`node "${p.cli}" -s ./src -t ${r} -o ./${ie}`,{cwd:T,input:`N
255
- `,stdio:["pipe","inherit","inherit"]}),Ne(D(ie),D("src"),v,A),v.rmSync(D(ie),{recursive:!0,force:!0}),m(` \u2713 ${r} \u5B8C\u6210`);let i=0;for(let[r,b]of n){if(!b.length)continue;let f=v.readFileSync(r,"utf8");if((f.match(oe)||[]).length===b.length){let k=0,E=f.replace(oe,()=>b[k++]);E!==f&&(v.writeFileSync(r,E),i++)}else v.writeFileSync(r,f.replace(oe,"").replace(/\s*$/,`
50
+ `}),g(` \u2713 \u7A7A SFC \u8865\u9F50\uFF1A${w.relative(T,e)}`));M("\u2462 .vue \u6279\u91CF\u8F6C\u6362\uFF08gogocode plugin-vue + plugin-element\uFF0Cstyle \u5757\u5FEB\u7167\u4FDD\u62A4\uFF09");var H=l(e=>D.filter(t=>e.test(v.readFileSync(t,"utf8"))).length,"scan"),se=/<style[^>]*>[\s\S]*?<\/style>/g,ht={"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":D.filter(e=>/@[\w.]+="[^"]*\n[^";]*\n/.test(v.readFileSync(e,"utf8"))).length};g(` .vue \u6587\u4EF6\uFF1A${D.length} \u4E2A\uFF08JSX\uFF1A${B.length}\uFF09`);Object.entries(ht).filter(([,e])=>e>0).forEach(([e,t])=>g(` \xB7 ${String(t).padStart(3)} \u6587\u4EF6 ${e}`));var ie=".epx-migrate-vue3-out";if(ye&&J){let t=V.filter(o=>{try{return v.statSync(o).size>204800}catch{return!1}});if(t.length){let o=t.map(i=>`${w.relative(T,i)}\uFF08${Math.round(v.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}`),E.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 D)n.set(o,v.readFileSync(o,"utf8").match(se)||[]);let s=w.join(ke.homedir(),".epx-migrate","gogocode"),r=He({projectDir:w.resolve(T),toolDir:w.resolve(w.dirname(Xt(import.meta.url)),"../.."),cacheDir:s,versions:ue,exists:l(o=>v.existsSync(o),"exists"),log:g,install:l(({cacheDir:o,specs:i})=>{v.mkdirSync(o,{recursive:!0});let a=w.join(o,"package.json");v.existsSync(a)||v.writeFileSync(a,JSON.stringify({name:"epx-migrate-gogocode",private:!0,version:"1.0.0"},null,2)+`
52
+ `),xe(`npm i --no-audit --no-fund ${i.join(" ")}`,{cwd:o,stdio:"inherit"})},"install")});r.cli||(E.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(ue).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"])xe(`node "${r.cli}" -s ./src -t ${f} -o ./${ie}`,{cwd:T,input:`N
54
+ `,stdio:["pipe","inherit","inherit"]}),We(O(ie),O("src"),v,w),v.rmSync(O(ie),{recursive:!0,force:!0}),g(` \u2713 ${f} \u5B8C\u6210`);let o=0;for(let[f,u]of n){if(!u.length)continue;let d=v.readFileSync(f,"utf8");if((d.match(se)||[]).length===u.length){let k=0,$=d.replace(se,()=>u[k++]);$!==d&&(v.writeFileSync(f,$),o++)}else v.writeFileSync(f,d.replace(se,"").replace(/\s*$/,`
256
55
 
257
- `+b.join(`
56
+ `+u.join(`
258
57
 
259
58
  `)+`
260
- `)),i++}m(` \u2713 style \u5757\u6309\u5FEB\u7167\u8FD8\u539F\uFF1A${i} \u6587\u4EF6`);let s=0;for(let r of _){let b=v.readFileSync(r,"utf8");b.includes("@element-plus/icons'")&&(v.writeFileSync(r,b.split("@element-plus/icons'").join("@element-plus/icons-vue'")),s++)}s&&m(` \u2713 icons \u5305\u540D\u6539\u5199\uFF08@element-plus/icons \u2192 icons-vue\uFF09\uFF1A${s} \u6587\u4EF6`);let a=0;for(let r of M){let b=v.readFileSync(r,"utf8"),f=lt(b);f&&!/lang=/.test(f.attrs)&&gt(f.body)&&(v.writeFileSync(r,b.replace(/<script(\s[^>]*)?>/,'<script lang="jsx"$1>')),a++)}a&&m(` \u2713 JSX script \u6807 lang="jsx"\uFF1A${a} \u6587\u4EF6`);let l=0,c=0;for(let r of M){let b=v.readFileSync(r,"utf8"),f=Ue(b);f.count&&(v.writeFileSync(r,f.src),l++,c+=f.count)}l&&m(` \u2713 \u5185\u8054\u4E8B\u4EF6\u591A\u8BED\u53E5\u8865\u5206\u53F7\uFF1A${c} \u5904 / ${l} \u6587\u4EF6`);let d=0,y=0;for(let r of M){let b=v.readFileSync(r,"utf8"),f=Ge(b);f.count&&(v.writeFileSync(r,f.src),d++,y+=f.count)}d&&m(` \u2713 .sync \u2192 v-model\uFF1A${y} \u5904 / ${d} \u6587\u4EF6`);let S=0;for(let r of M){let b=v.readFileSync(r,"utf8"),f=ze(b);f.count&&(v.writeFileSync(r,f.src),S++)}S&&m(` \u2713 element-plus \u56FE\u6807\u7EC4\u4EF6\u56DE\u9000\u4E3A epx CSS \u56FE\u6807\uFF1A${S} \u6587\u4EF6`);let P=0;for(let r of _){let b=v.readFileSync(r,"utf8"),f=We(b);f.count&&(v.writeFileSync(r,f.src),P++)}P&&m(` \u2713 \u547D\u540D\u7A7A\u95F4\u5BFC\u5165\u6536\u655B\u4E3A\u5177\u540D\uFF08vue/vuex/vue-router\uFF09\uFF1A${P} \u6587\u4EF6`);let x=0,h=0,I=0;for(let r of _){let b=v.readFileSync(r,"utf8"),f=Ke(b);if(f.count&&(v.writeFileSync(r,f.src),x++,h+=f.count),f.warnings&&f.warnings.length){I++;let u=A.relative(T,r);for(let k of f.warnings)C.push(`${u}\uFF1A${k}`)}}x&&m(` \u2713 Vue2 JSX \u5C5E\u6027 \u2192 Vue3\uFF08domProps*/nativeOn*/scopedSlots=\uFF09\uFF1A${h} \u5904 / ${x} \u6587\u4EF6`),I&&m(` \u26A0 JSX \u533A slot="xxx" \u9700\u4EBA\u5DE5\u6539 v-slots\uFF1A${I} \u6587\u4EF6\uFF08\u5DF2\u5217\u5165\u4EBA\u5DE5\u6E05\u5355\uFF09`)}catch(i){v.rmSync(D(ie),{recursive:!0,force:!0}),p.cli&&C.push("gogocode \u8F6C\u6362\u5931\u8D25\uFF1A"+String(i.message).slice(0,160)),m(" \u2717 gogocode \u8F6C\u6362\u5931\u8D25\uFF08\u5217\u5165\u4EBA\u5DE5\u6E05\u5355\uFF09")}}else m(`
261
- .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`);j("\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=>$(n)!==null),t=` import frameDeps from 'epx-frame/build/vite-plugin-frame-deps.mjs'
262
- \u7136\u540E\u5728\u9876\u5C42 plugins \u6570\u7EC4\u91CC\u52A0\u4E00\u9879 frameDeps()`;if(!e)m(" \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"),C.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=$(e),o=n.includes("vite-plugin-frame-deps"),p=/frameDeps\(\)/.test(n);if(o&&p)m(` \xB7 ${e}\uFF1A\u5DF2\u6CE8\u5165\u8FC7\uFF0C\u8DF3\u8FC7\uFF08\u5E42\u7B49\uFF09`);else if(o||p)m(` \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`),C.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
263
- ${t}`);else{let i=n,s=0;if(i.startsWith("#!")){let d=i.indexOf(`
264
- `);s=d===-1?i.length:d+1}{let d=/^([ \t]*\/\/[^\n]*\r?\n|[ \t]*\r?\n)/,y;for(;y=i.slice(s).match(d);)s+=y[0].length}i=i.slice(0,s)+`import frameDeps from 'epx-frame/build/vite-plugin-frame-deps.mjs'
265
- `+i.slice(s);let l=i;if(i=i.replace(/^([ \t]{0,4})plugins\s*:\s*\[/m,(d,y)=>d+`
266
- ${y} // \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
267
- ${y} frameDeps(),`),!(i!==l))m(` \xB7 ${e}\uFF1A\u7ED3\u6784\u4E0D\u8BC6\u522B\uFF0C\u672A\u81EA\u52A8\u6CE8\u5165`),C.push(`${e} \u672A\u80FD\u81EA\u52A8\u6CE8\u5165\u4F9D\u8D56\u6E05\u5355\u63D2\u4EF6\uFF0C\u8BF7\u624B\u52A8\u52A0\uFF1A
268
- ${t}`);else{let d=!0,y="";if(/\.m?js$/.test(e)){let S=A.join(ye.tmpdir(),`epx-migrate-check-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`);v.writeFileSync(S,i);let P=st(process.execPath,["--check",S],{encoding:"utf8"});v.rmSync(S,{force:!0}),d=P.status===0,d||(y=String(P.stderr||"").split(`
269
- `).slice(0,3).join(" "))}d?(m(` \u2713 ${e}\uFF1A\u6CE8\u5165\u4F9D\u8D56\u6E05\u5355\u63D2\u4EF6`),F.push({file:e,after:i})):(m(` \xB7 ${e}\uFF1A\u81EA\u52A8\u6CE8\u5165\u540E\u8BED\u6CD5\u6821\u9A8C\u672A\u901A\u8FC7\uFF0C\u5DF2\u653E\u5F03\u6539\u52A8`),C.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
59
+ `)),o++}g(` \u2713 style \u5757\u6309\u5FEB\u7167\u8FD8\u539F\uFF1A${o} \u6587\u4EF6`);let i=0;for(let f of V){let u=v.readFileSync(f,"utf8");u.includes("@element-plus/icons'")&&(v.writeFileSync(f,u.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 D){let u=v.readFileSync(f,"utf8"),d=bt(u);d&&!/lang=/.test(d.attrs)&&yt(d.body)&&(v.writeFileSync(f,u.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 D){let u=v.readFileSync(f,"utf8"),d=Ye(u);d.count&&(v.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 D){let u=v.readFileSync(f,"utf8"),d=Ke(u);d.count&&(v.writeFileSync(f,d.src),m++,x+=d.count)}m&&g(` \u2713 .sync \u2192 v-model\uFF1A${x} \u5904 / ${m} \u6587\u4EF6`);let h=0;for(let f of D){let u=v.readFileSync(f,"utf8"),d=Qe(u);d.count&&(v.writeFileSync(f,d.src),h++)}h&&g(` \u2713 element-plus \u56FE\u6807\u7EC4\u4EF6\u56DE\u9000\u4E3A epx CSS \u56FE\u6807\uFF1A${h} \u6587\u4EF6`);let C=0;for(let f of V){let u=v.readFileSync(f,"utf8"),d=et(u);d.count&&(v.writeFileSync(f,d.src),C++)}C&&g(` \u2713 \u547D\u540D\u7A7A\u95F4\u5BFC\u5165\u6536\u655B\u4E3A\u5177\u540D\uFF08vue/vuex/vue-router\uFF09\uFF1A${C} \u6587\u4EF6`);let A=0,y=0,S=0;for(let f of V){let u=v.readFileSync(f,"utf8"),d=ot(u);if(d.count&&(v.writeFileSync(f,d.src),A++,y+=d.count),d.warnings&&d.warnings.length){S++;let b=w.relative(T,f);for(let k of d.warnings)E.push(`${b}\uFF1A${k}`)}}A&&g(` \u2713 Vue2 JSX \u5C5E\u6027 \u2192 Vue3\uFF08domProps*/nativeOn*/scopedSlots=\uFF09\uFF1A${y} \u5904 / ${A} \u6587\u4EF6`),S&&g(` \u26A0 JSX \u533A slot="xxx" \u9700\u4EBA\u5DE5\u6539 v-slots\uFF1A${S} \u6587\u4EF6\uFF08\u5DF2\u5217\u5165\u4EBA\u5DE5\u6E05\u5355\uFF09`)}catch(o){v.rmSync(O(ie),{recursive:!0,force:!0}),r.cli&&E.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(`
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`);M("\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=>P(n)!==null),t=` import frameDeps from 'epx-frame/build/vite-plugin-frame-deps.mjs'
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"),E.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=P(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`),E.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+`
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
66
+ ${x} frameDeps(),`),!(o!==c))g(` \xB7 ${e}\uFF1A\u7ED3\u6784\u4E0D\u8BC6\u522B\uFF0C\u672A\u81EA\u52A8\u6CE8\u5165`),E.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 h=w.join(ke.tmpdir(),`epx-migrate-check-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`);v.writeFileSync(h,o);let C=mt(process.execPath,["--check",h],{encoding:"utf8"});v.rmSync(h,{force:!0}),m=C.status===0,m||(x=String(C.stderr||"").split(`
68
+ `).slice(0,3).join(" "))}m?(g(` \u2713 ${e}\uFF1A\u6CE8\u5165\u4F9D\u8D56\u6E05\u5355\u63D2\u4EF6`),j.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`),E.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
270
69
  ${t}
271
- \uFF08\u6821\u9A8C\u62A5\u9519\uFF1A${y}\uFF09`))}}}}j("\u2464 \u6309\u9700\u6253\u5305\u5F62\u6001\u6CE8\u5165\uFF08lazyLib\uFF09");{let e=["vite.config.mjs","vite.config.js","vite.config.ts"].find(n=>$(n)!==null),t=` import lazyLib from 'epx-frame/build/vite-plugin-lazy-lib.mjs'
70
+ \uFF08\u6821\u9A8C\u62A5\u9519\uFF1A${x}\uFF09`))}}}}M("\u2464 \u6309\u9700\u6253\u5305\u5F62\u6001\u6CE8\u5165\uFF08lazyLib\uFF09");{let e=["vite.config.mjs","vite.config.js","vite.config.ts"].find(n=>P(n)!==null),t=` import lazyLib from 'epx-frame/build/vite-plugin-lazy-lib.mjs'
272
71
  \u7136\u540E\u5728 plugins \u6570\u7EC4\u91CC frameDeps() \u4E4B\u540E\u52A0\uFF1A
273
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>' })
274
- \u5E76\u5728 package.json \u52A0 "build:lib:lazy": "cross-env LAZY_LIB=true vite build" \u4E0E cross-env devDep`;if(!e)m(" \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(!L)m(" \xB7 \u672A\u627E\u5230\u8FDC\u7A0B\u5E93\u5165\u53E3\uFF08src/index.js / index.js\uFF09\u2014\u2014\u8DF3\u8FC7"),C.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
275
- ${t}`);else{let n=Le($(L)),o=(()=>{try{return JSON.parse($("package.json")||"{}").name||""}catch{return""}})();if(!n)m(` \xB7 ${L}\uFF1A\u6CA1\u6709 import.meta.glob(..., { eager: true }) \u2014\u2014 \u8DF3\u8FC7\uFF08webpack \u5F62\u6001\u5165\u53E3\u7528\u7684\u662F require.context\uFF09`),C.push(`${L} \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
276
- `+t);else if(!o)m(" \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"),C.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
277
- `+t);else{let p=[...F].reverse().find(a=>a.file===e),i=p?p.after:$(e),s=Te(i,{glob:n,pkgName:o});if(s.status==="present")m(` \xB7 ${e}\uFF1A\u5DF2\u6CE8\u5165\u8FC7\uFF0C\u8DF3\u8FC7\uFF08\u5E42\u7B49\uFF09`);else if(s.status==="half")m(` \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`),C.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
278
- ${t}`);else if(s.status==="no-anchor")m(` \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`),C.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
279
- ${t}`);else{let a=!0,l="";if(/\.m?js$/.test(e)){let c=A.join(ye.tmpdir(),`epx-migrate-lazy-check-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`);v.writeFileSync(c,s.src);let d=st(process.execPath,["--check",c],{encoding:"utf8"});v.rmSync(c,{force:!0}),a=d.status===0,a||(l=String(d.stderr||"").split(`
280
- `).slice(0,3).join(" "))}if(!a)m(` \xB7 ${e}\uFF1A\u6CE8\u5165\u540E\u8BED\u6CD5\u6821\u9A8C\u672A\u901A\u8FC7\uFF0C\u5DF2\u653E\u5F03\u6539\u52A8`),C.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
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"),E.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=Oe(P(I)),s=(()=>{try{return JSON.parse(P("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`),E.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"),E.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=[...j].reverse().find(a=>a.file===e),o=r?r.after:P(e),i=Ne(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`),E.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`),E.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=w.join(ke.tmpdir(),`epx-migrate-lazy-check-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`);v.writeFileSync(p,i.src);let m=mt(process.execPath,["--check",p],{encoding:"utf8"});v.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`),E.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
281
80
  ${t}
282
- \uFF08\u6821\u9A8C\u62A5\u9519\uFF1A${l}\uFF09`);else{m(` \u2713 ${e}\uFF1A\u6CE8\u5165\u6309\u9700\u6253\u5305\u63D2\u4EF6\uFF08\u9ED8\u8BA4\u5173\uFF0Cglob='${n}'\uFF09`),p?p.after=s.src:F.push({file:e,after:s.src});let c=[...F].reverse().find(y=>y.file==="package.json"),d=null;try{d=JSON.parse(c?c.after:$("package.json")||"{}")}catch{d=null}if(!d)C.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:y,changed:S}=we(d);if(S){let P=JSON.stringify(y,null,2)+`
283
- `;c?c.after=P:F.push({file:"package.json",after:P}),m(" \u2713 package.json\uFF1A\u52A0 build:lib:lazy \u811A\u672C\u4E0E cross-env")}else m(" \xB7 package.json\uFF1Abuild:lib:lazy \u4E0E cross-env \u5DF2\u5728\uFF0C\u8DF3\u8FC7")}}}}}}j("\u2465 \u7B2C\u4E09\u65B9\u8FD0\u884C\u65F6\u4F9D\u8D56 Vue3 \u517C\u5BB9\u6027\u626B\u63CF");var Z=[];{let e={};try{e=JSON.parse($("package.json")||"{}").dependencies||{}}catch{e={}}let t=Object.keys(e).filter(n=>ve.has(n));for(let n of t){if(ee[n])continue;if(te[n]){Z.push({name:n,kind:"known",detail:te[n].note}),m(` \u2717 ${n}\uFF1A\u5DF2\u77E5 Vue2-only \u2014\u2014 ${te[n].note}`);continue}let o=null;try{o=JSON.parse(v.readFileSync(D(`node_modules/${n}/package.json`),"utf8"))}catch{o=null}if(!o)continue;let p=o.peerDependencies&&o.peerDependencies.vue||o.dependencies&&o.dependencies.vue||"";p&&Ht(p)&&(Z.push({name:n,kind:"suspect",detail:`\u5176 package.json \u58F0\u660E vue \u652F\u6301 "${p}"\uFF08\u53EA\u5339\u914D Vue2\uFF09`}),m(` \xB7 ${n}\uFF1A\u7591\u4F3C Vue2-only\uFF08vue="${p}"\uFF09`))}Z.length||m(" \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=g(n=>/<template[\s>]/.test(n.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"")),"hasSfcTemplate"),t=M.filter(n=>{let o=v.readFileSync(n,"utf8");return!e(o)&&/<style[^>]*\bscoped/.test(o)});if(t.length){j("\u2466 JSX \u7EC4\u4EF6 scoped \u6837\u5F0F\u5339\u914D\u590D\u6838"),m(` \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 p=(v.readFileSync(n,"utf8").match(/::v-deep|:deep\(|\/deep\/|>>>/g)||[]).length;m(` \xB7 ${A.relative(T,n).replace(/\\/g,"/")}${p?`\uFF08\u542B ${p} \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=>A.relative(T,n).replace(/\\/g,"/")).join("\u3001")}`)}}var H=null;if(rt){j("V. webpack \u2192 Vite \u5F62\u6001\u8F6C\u6362");let e=[...F].reverse().find(s=>s.file==="package.json"&&!s.remove),t=[...F].reverse().find(s=>s.file===L&&!s.remove),o=je({projectDir:T,read:g(s=>s===L&&t?t.after:$(s),"readForVite"),epxFrameSpec:pe,basePkgRaw:e?e.after:null});H=o.info;for(let s of o.changes){if(s.file==="package.json"&&!s.remove&&e){e.after=s.after,m(" \u2713 package.json\uFF08\u5E76\u5165 \u2460 \u4F9D\u8D56\u8FC1\u79FB\u4EA7\u51FA\uFF09");continue}F.push(s),m(` ${s.remove?"\u2717 \u5220":"\u2713"} ${s.file}`)}for(let s of o.manual)C.push(s);H.removedDeps&&H.removedDeps.length&&m(` \xB7 \u6458\u9664 webpack \u6784\u5EFA\u4F9D\u8D56 ${H.removedDeps.length} \u4E2A\uFF1A${H.removedDeps.join(", ")}`),m(` \xB7 \u7EC4\u4EF6\u76EE\u5F55 dirName='${H.dirName}'\uFF0ClazyLib glob='${H.glob}'`);let p=0,i=0;for(let s of _){let a=A.relative(T,s).replace(/\\/g,"/"),l=[...F].reverse().find(y=>y.file===a&&!y.remove),c=l?l.after:v.readFileSync(s,"utf8"),d=qe(c,{isVue:s.endsWith(".vue")});d.src!==c&&(l?l.after=d.src:F.push({file:a,after:d.src}),p+=d.count,i++),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`)}p&&m(` \u2713 \u6E90\u7801 require.context\u2192import.meta.glob / require(\u56FE\u7247)\u2192\u9759\u6001 import\uFF1A${p} \u5904 / ${i} \u6587\u4EF6`)}j("\u8FD0\u884C\u65F6\u6807\u8BC6\uFF08runtime: vue3\uFF09");if(L){let e=[...F].reverse().find(o=>o.file===L&&!o.remove),t=e?e.after:$(L),n=Ze(t);n.marked?(n.src!==t&&(e?e.after=n.src:F.push({file:L,after:n.src})),m(` \u2713 ${L}\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u5305\u542B runtime: 'vue3'`)):(C.push(`${L} \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`),m(` \xB7 ${L}\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");j("\u65E5\u671F\u63A7\u4EF6\u683C\u5F0F\uFF08Element UI \u2192 Element Plus\uFF09");var xe=[];for(let e of _){let t=A.relative(T,e),n=F.find(p=>p.file===t&&!p.remove),o=Ee(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 p of o.fixes)xe.push(`${t}:${p.line}\uFF1A${p.before} \u2192 ${p.after}`);m(` \u2713 ${t}\uFF1A${o.count} \u5904\u65E5\u671F\u683C\u5F0F\u4FEE\u590D`)}for(let p of o.warnings)C.push(`${t}\uFF1A${p}\uFF08F21\uFF1B\u5B8C\u6210\u683C\u5F0F\u6765\u6E90\u4FEE\u590D\u540E\u518D\u9A8C\u6536\uFF09`)}j("\u4EA7\u54C1\u4E3B\u9898\u9002\u914D\uFF08\u6D88\u8D39\u5E73\u53F0\u53D8\u91CF\uFF0C\u4FDD\u7559 scoped\uFF09");var fe=[];for(let e of[..._,...at]){let t=A.relative(T,e),n=[...F].reverse().find(p=>p.file===t&&!p.remove),o=Ie(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 p of o.fixes)fe.push(`${t}:${p.line}\uFF1A${p.before} \u2192 ${p.after}`);m(` \u2713 ${t}\uFF1A${o.count} \u5904\u4E3B\u9898\u53D8\u91CF\u9002\u914D`)}for(let p of o.warnings)C.push(`${t}\uFF1A${p}\uFF08E2\uFF1B\u8FFD\u8E2A\u5B9E\u9645\u6D88\u8D39\u573A\u666F\u540E\u5B8C\u6210\u4E3B\u9898\u9002\u914D\uFF09`)}if(V){j("@epxing \u72EC\u7ACB\u5305\u5165\u53E3\u4E0E\u4F9D\u8D56\u8FC1\u79FB");let t=ot({read:g(n=>[...F].reverse().find(o=>o.file.replaceAll("\\","/")===n&&!o.remove)?.after??$(n),"latest"),files:_.map(n=>A.relative(T,n).replaceAll("\\","/")),packagesVersion:V,cliVersion:pt,templates:Ut,newVite:rt&&!["vite.config.mjs","vite.config.js","vite.config.ts"].some(n=>$(n)!=null)});be=t.blocked;for(let n of t.changes)F.push(n);C.push(...t.manual),m(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 ${V}\uFF1B\u751F\u6210\u4EA7\u54C1\u4F7F\u7528\u8BF4\u660E`)}var zt=["# epx-migrate \u8FC1\u79FB\u62A5\u544A","",`\u9879\u76EE\uFF1A\`${A.resolve(T)}\``,`\u6A21\u5F0F\uFF1A${z?"--apply \u5DF2\u843D\u76D8":"dry-run \u672A\u843D\u76D8"}${de?" + gogocode \u8F6C\u6362":""}`,"",...V?["## \u72EC\u7ACB\u5305\u5207\u6362","",`\u76EE\u6807\uFF1A@epxing/* ${V}\uFF0CCLI ${pt}\u3002`,be?"\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',...de?[]:["node <\u672C\u5DE5\u5177> . --apply --transform-vue # \u8DD1 gogocode \u8F6C\u6362 .vue\uFF08gogocode \u81EA\u52A8\u5907\u597D\uFF0C\u542B style \u5FEB\u7167\u4FDD\u62A4\uFF09"],"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',"","\u5E93\u8D85\u8FC7 ~1MB \u65F6\u53EF\u4EE5\u518D\u8BD5\u6309\u9700\u6253\u5305\u5F62\u6001\uFF08\u9ED8\u8BA4\u5173\uFF0C\u4E0D\u5F71\u54CD\u4E0A\u9762\u8FD9\u6761\uFF09\uFF1A","","```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","","## \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",...Ae.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",...fe.length?fe.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(ut).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",...Z.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","",...Z.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(`
284
- `);F.push({file:"MIGRATION-REPORT.md",after:zt});j(z?"\u843D\u76D8\uFF08--apply\uFF09":"DRY-RUN\uFF08\u672A\u5199\u6587\u4EF6\uFF09");for(let e of F){let t=D(e.file);if(e.remove){z&&!ge?(v.rmSync(t,{force:!0}),m(` \u2717 \u5220 ${e.file}`)):m(` [dry-run] \u5C06\u5220 ${e.file}`);continue}z&&!ge?(v.mkdirSync(A.dirname(t),{recursive:!0}),v.writeFileSync(t,e.after),m(` \u2713 \u5199 ${e.file}`)):ge&&e.file==="MIGRATION-REPORT.md"?(v.writeFileSync(t,e.after),m(` \u2713 \u5199 ${e.file}`)):m(` [dry-run] \u5C06\u6539 ${e.file}`)}m(`
285
- \u5B8C\u6210\u3002${z?"\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`);be&&(process.exitCode=2);
81
+ \uFF08\u6821\u9A8C\u62A5\u9519\uFF1A${c}\uFF09`);else{g(` \u2713 ${e}\uFF1A\u6CE8\u5165\u6309\u9700\u6253\u5305\u63D2\u4EF6\uFF08\u6807\u51C6 build:lib \u9ED8\u8BA4\u5F00\u542F\uFF0Cglob='${n}'\uFF09`),r?r.after=i.src:j.push({file:e,after:i.src});let p=[...j].reverse().find(x=>x.file==="package.json"),m=null;try{m=JSON.parse(p?p.after:P("package.json")||"{}")}catch{m=null}if(!m)E.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:h}=_e(m);if(h){let C=JSON.stringify(x,null,2)+`
82
+ `;p?p.after=C:j.push({file:"package.json",after:C}),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")}}}}}}M("\u2465 \u7B2C\u4E09\u65B9\u8FD0\u884C\u65F6\u4F9D\u8D56 Vue3 \u517C\u5BB9\u6027\u626B\u63CF");var Q=[];{let e={};try{e=JSON.parse(P("package.json")||"{}").dependencies||{}}catch{e={}}let t=Object.keys(e).filter(n=>Ee.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(v.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&&Yt(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=l(n=>/<template[\s>]/.test(n.replace(/<script[\s\S]*?<\/script>/gi,"").replace(/<style[\s\S]*?<\/style>/gi,"")),"hasSfcTemplate"),t=D.filter(n=>{let s=v.readFileSync(n,"utf8");return!e(s)&&/<style[^>]*\bscoped/.test(s)});if(t.length){M("\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 ${w.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`:""}`)}E.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=>w.relative(T,n).replace(/\\/g,"/")).join("\u3001")}`)}}var W=null;if(dt){M("V. webpack \u2192 Vite \u5F62\u6001\u8F6C\u6362");let e=[...j].reverse().find(i=>i.file==="package.json"&&!i.remove),t=[...j].reverse().find(i=>i.file===I&&!i.remove),s=ze({projectDir:T,read:l(i=>i===I&&t?t.after:P(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}j.push(i),g(` ${i.remove?"\u2717 \u5220":"\u2713"} ${i.file}`)}for(let i of s.manual)E.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=w.relative(T,i).replace(/\\/g,"/"),c=[...j].reverse().find(x=>x.file===a&&!x.remove),p=c?c.after:v.readFileSync(i,"utf8"),m=nt(p,{isVue:i.endsWith(".vue")});m.src!==p&&(c?c.after=m.src:j.push({file:a,after:m.src}),r+=m.count,o++),m.templateAsset&&E.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`)}M("\u8FD0\u884C\u65F6\u6807\u8BC6\uFF08runtime: vue3\uFF09");if(I){let e=[...j].reverse().find(s=>s.file===I&&!s.remove),t=e?e.after:P(I),n=rt(t);n.marked?(n.src!==t&&(e?e.after=n.src:j.push({file:I,after:n.src})),g(` \u2713 ${I}\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u5305\u542B runtime: 'vue3'`)):(E.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 E.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");M("\u65E5\u671F\u63A7\u4EF6\u683C\u5F0F\uFF08Element UI \u2192 Element Plus\uFF09");var ve=[];for(let e of V){let t=w.relative(T,e),n=j.find(r=>r.file===t&&!r.remove),s=Ce(n?n.after:v.readFileSync(e,"utf8"),{filename:e});if(s.count){n?n.after=s.src:j.push({file:t,after:s.src});for(let r of s.fixes)ve.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)E.push(`${t}\uFF1A${r}\uFF08F21\uFF1B\u5B8C\u6210\u683C\u5F0F\u6765\u6E90\u4FEE\u590D\u540E\u518D\u9A8C\u6536\uFF09`)}M("\u4EA7\u54C1\u4E3B\u9898\u9002\u914D\uFF08\u6D88\u8D39\u5E73\u53F0\u53D8\u91CF\uFF0C\u4FDD\u7559 scoped\uFF09");var he=[];for(let e of[...V,...ft]){let t=w.relative(T,e),n=[...j].reverse().find(r=>r.file===t&&!r.remove),s=Fe(n?n.after:v.readFileSync(e,"utf8"),{filename:e});if(s.count){n?n.after=s.src:j.push({file:t,after:s.src});for(let r of s.fixes)he.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)E.push(`${t}\uFF1A${r}\uFF08E2\uFF1B\u8FFD\u8E2A\u5B9E\u9645\u6D88\u8D39\u573A\u666F\u540E\u5B8C\u6210\u4E3B\u9898\u9002\u914D\uFF09`)}if(_){M("@epxing \u72EC\u7ACB\u5305\u5165\u53E3\u4E0E\u4F9D\u8D56\u8FC1\u79FB");let t=lt({read:l(n=>[...j].reverse().find(s=>s.file.replaceAll("\\","/")===n&&!s.remove)?.after??P(n),"latest"),files:V.map(n=>w.relative(T,n).replaceAll("\\","/")),packagesVersion:_,cliVersion:gt,templates:Kt,newVite:dt&&!["vite.config.mjs","vite.config.js","vite.config.ts"].some(n=>P(n)!=null)});Se=t.blocked;for(let n of t.changes)j.push(n);E.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`)}{let e=l(r=>[...j].reverse().find(o=>o.file===r&&!o.remove)?.after??P(r),"latest"),t=["vite.config.mjs","vite.config.js","vite.config.ts"].find(r=>e(r)!=null);if(t){let r=e(t),o=Te(r);o.src!==r&&j.push({file:t,after:o.src}),E.push(...o.warnings.map(i=>`${t}\uFF1A${i}`))}let n=JSON.parse(e("package.json")||"{}"),s=n.scripts?.["build:lib"];t&&/lazyLib\s*\(/.test(e(t))&&(["vite build","node build-lib.mjs","node build-lib.mjs --full","cross-env LAZY_LIB=true vite build"].includes(s)?e("build-lib.mjs")!=null&&e("build-lib.mjs")!==ce?E.push("build-lib.mjs \u5DF2\u6709\u81EA\u5B9A\u4E49\u5185\u5BB9\uFF0C\u8BF7\u4EBA\u5DE5\u63A5\u5165\u9ED8\u8BA4\u61D2\u52A0\u8F7D\u548C --full \u5168\u91CF\u5F00\u5173\u3002"):(n.scripts["build:lib"]="node build-lib.mjs",n.scripts["build:lib:full"]||(n.scripts["build:lib:full"]="node build-lib.mjs --full"),j.push({file:"package.json",after:JSON.stringify(n,null,2)+`
83
+ `}),j.push({file:"build-lib.mjs",after:ce})):E.push("build:lib \u4E3A\u81EA\u5B9A\u4E49\u547D\u4EE4\uFF0C\u8BF7\u4EBA\u5DE5\u63A5\u5165\u9ED8\u8BA4\u61D2\u52A0\u8F7D\u548C --full \u5168\u91CF\u5F00\u5173\uFF0C\u4FDD\u7559\u73B0\u6709\u6784\u5EFA\u6B65\u9AA4\u3002"))}var Zt=["# epx-migrate \u8FC1\u79FB\u62A5\u544A","",`\u9879\u76EE\uFF1A\`${w.resolve(T)}\``,`\u6A21\u5F0F\uFF1A${J?"--apply \u5DF2\u843D\u76D8":"dry-run \u672A\u843D\u76D8"}${ye?" + gogocode \u8F6C\u6362":""}`,"",..._?["## \u72EC\u7ACB\u5305\u5207\u6362","",`\u76EE\u6807\uFF1A@epxing/* ${_}\uFF0CCLI ${gt}\u3002`,Se?"\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',...ye?[]:["# \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',"","npm run build:lib \u9ED8\u8BA4\u61D2\u52A0\u8F7D\uFF1Bnpm run build:lib --full \u6216 npm run build:lib:full \u663E\u5F0F\u5168\u91CF\u6784\u5EFA\u3002epxing lib --full \u4ECD\u53EF\u7528\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",...Re.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",...ve.length?ve.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",...he.length?he.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(ht).filter(([,e])=>e>0).map(([e,t])=>`- [ ] **${t} \u6587\u4EF6**\uFF1A${e}`),"","### \u5176\u5B83\u4EBA\u5DE5\u9879",...E.length?E.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(`
84
+ `);j.push({file:"MIGRATION-REPORT.md",after:Zt});M(J?"\u843D\u76D8\uFF08--apply\uFF09":"DRY-RUN\uFF08\u672A\u5199\u6587\u4EF6\uFF09");for(let e of j){let t=O(e.file);if(e.remove){J&&!fe?(v.rmSync(t,{force:!0}),g(` \u2717 \u5220 ${e.file}`)):g(` [dry-run] \u5C06\u5220 ${e.file}`);continue}J&&!fe?(v.mkdirSync(w.dirname(t),{recursive:!0}),v.writeFileSync(t,e.after),g(` \u2713 \u5199 ${e.file}`)):fe&&e.file==="MIGRATION-REPORT.md"?(v.writeFileSync(t,e.after),g(` \u2713 \u5199 ${e.file}`)):g(` [dry-run] \u5C06\u6539 ${e.file}`)}g(`
85
+ \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`);Se&&(process.exitCode=2);