@epxing/cli 0.5.0-beta.1 → 0.5.0-beta.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/API.md +5 -5
- package/README.md +121 -98
- package/dist/cli.mjs +20 -12
- package/dist/lazy-lib.mjs +42 -27
- package/dist/lib-vite-config.mjs +1 -0
- package/dist/platform-version.mjs +48 -0
- package/dist/skills/epxing-frontend-vue3-migrate/SKILL.md +213 -144
- package/dist/skills/epxing-frontend-vue3-migrate/pitfalls.md +743 -498
- package/dist/skills/epxing-frontend-vue3-migrate/scripts/fix-eval-paths.cjs +255 -0
- package/dist/tools/chunks/7NAADJFP.mjs +45 -0
- package/dist/tools/chunks/{HSJSTJH6.mjs → 7YE2UHC6.mjs} +2 -2
- package/dist/tools/chunks/J7B2EWKH.mjs +8 -0
- package/dist/tools/chunks/{QL4QZFQT.mjs → U27ZPQAM.mjs} +3 -3
- package/dist/tools/chunks/VASFHXYG.mjs +251 -0
- package/dist/tools/epx-create/scaffold.mjs +67 -51
- package/dist/tools/epx-migrate/detect-vue3-risks.mjs +1 -1
- package/dist/tools/epx-migrate/fix-date-formats.mjs +1 -1
- package/dist/tools/epx-migrate/fix-theme-styles.mjs +1 -1
- package/dist/tools/epx-migrate/migrate.mjs +66 -266
- package/dist/tools/epx-migrate/verify-components.mjs +6 -6
- package/dist/vite.mjs +2 -2
- package/package.json +8 -6
- package/dist/tools/chunks/6CGUHPTB.mjs +0 -32
- package/dist/tools/chunks/H4POBCHI.mjs +0 -1
|
@@ -1,285 +1,85 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{a as
|
|
3
|
-
|
|
4
|
-
${
|
|
5
|
-
${
|
|
6
|
-
${
|
|
7
|
-
`);
|
|
8
|
-
`+t),n=!0),{src:t,changed:n}}l(
|
|
9
|
-
`});for(let
|
|
10
|
-
`+(e("vue.config.js")||"");if(/sass-resources-loader/.test(
|
|
11
|
-
${n}`);try{
|
|
12
|
-
`),n=0;for(let
|
|
13
|
-
`),n}}l(
|
|
14
|
-
`),t=t.replace(new RegExp("\\b"+
|
|
15
|
-
`);return{body:
|
|
16
|
-
`+
|
|
17
|
-
`+
|
|
18
|
-
`+
|
|
19
|
-
${
|
|
20
|
-
export default ${o.id.name}`:`export default Object.assign(${r}, { runtime: 'vue3' })`;return{src:e.slice(0,n.start)+m+";"+e.slice(n.end),marked:!0}}catch(t){return{src:e,marked:!1,reason:t.message}}}l(et,"markLibraryRuntime");var X=Ee(Ie(),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 tt={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 le(e="5.3.0-beta.2"){let t=e.match(/^[~^]?(\d+)\.(\d+)\.(\d+)(?:-([\w.-]+))?$/);if(!t)return!1;let[,n,o,s,i]=t,p=Number(n)*1e6+Number(o)*1e3+Number(s);return p!==5003e3?p>5003e3:!i||/^beta\.(\d+)$/.test(i)&&Number(i.slice(5))>=2}l(le,"usesAutomaticStyles");var me=["@epxing/core/style.css","@epxing/component/style.css","@epxing/business/style.css"];function nt(e,t){let n={...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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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 App from './App.vue'
|
|
75
|
-
import product from './index'
|
|
76
|
-
|
|
77
|
-
const app = createApp({ rootComponent: App })
|
|
78
|
-
app.use(Components)
|
|
79
|
-
app.use(Business)
|
|
80
|
-
app.use(product)
|
|
81
|
-
app.mount('#app')
|
|
82
|
-
`,"src/App.vue":`<script setup>
|
|
83
|
-
import { ref } from 'vue'
|
|
84
|
-
const count = ref(0)
|
|
85
|
-
</script>
|
|
86
|
-
|
|
87
|
-
<template>
|
|
88
|
-
<main class="product-start">
|
|
89
|
-
<h1>__NAME__</h1>
|
|
90
|
-
<p>\u4EA7\u54C1\u5DF2\u542F\u52A8\uFF0C\u53EF\u4EE5\u5F00\u59CB\u5F00\u53D1\u3002</p>
|
|
91
|
-
<button @click="count++">\u70B9\u51FB {{ count }} \u6B21</button>
|
|
92
|
-
</main>
|
|
93
|
-
</template>
|
|
94
|
-
|
|
95
|
-
<style scoped>
|
|
96
|
-
.product-start { padding: var(--epx-space-4, 24px); color: var(--epx-text); }
|
|
97
|
-
</style>
|
|
98
|
-
`,"src/__DIRNAME__/DemoList.vue":`<script>
|
|
99
|
-
import { EntityList } from '@epxing/component'
|
|
100
|
-
export default {
|
|
101
|
-
name: 'epx-__NAME__-demo-list',
|
|
102
|
-
extends: EntityList
|
|
103
|
-
// \u914D\u7F6E\u771F\u5B9E metaId\u3001listFields\u3001operates \u540E\uFF0C\u5728\u4EA7\u54C1\u9875\u9762\u4E2D\u4F7F\u7528\u3002
|
|
104
|
-
}
|
|
105
|
-
</script>
|
|
106
|
-
<style lang="scss" scoped>
|
|
107
|
-
.epx-__NAME__-demo-card {
|
|
108
|
-
@include epx-card;
|
|
109
|
-
font-size: var(--epx-font-size-base, 14px);
|
|
110
|
-
}
|
|
111
|
-
</style>
|
|
112
|
-
`,"README.md":`# __NAME__
|
|
113
|
-
|
|
114
|
-
\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
|
|
115
|
-
|
|
116
|
-
\`\`\`sh
|
|
117
|
-
npm install --registry https://registry.npmjs.org/
|
|
118
|
-
npm run dev
|
|
119
|
-
npx epxing lib
|
|
120
|
-
npx epxing lib --full
|
|
121
|
-
npm run build:app
|
|
122
|
-
\`\`\`
|
|
123
|
-
|
|
124
|
-
\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
|
|
125
|
-
`,"PRODUCT-GUIDE.md":Nt};if(!le(t)){let o=me.map(s=>`import '${s}'`).join(`
|
|
126
|
-
`);for(let s of["src/main.js","PRODUCT-GUIDE.md"])n[s]=n[s].replace("import '@epxing/theme'",`import '@epxing/theme'
|
|
127
|
-
`+o)}return n}l(nt,"createPackageTemplates");var Nt=`# \u4EA7\u54C1\u5F00\u53D1\u4E0E\u5347\u7EA7\u4F7F\u7528\u8BF4\u660E
|
|
128
|
-
|
|
129
|
-
<!-- epxing-generated-product-guide -->
|
|
130
|
-
|
|
131
|
-
\u5E73\u53F0\u5305\u7248\u672C\uFF1A\`__PACKAGES_VERSION__\`\uFF1BCLI \u7248\u672C\uFF1A\`__CLI_VERSION__\`\u3002CLI \u4E0E\u5E73\u53F0\u5305\u5206\u522B\u5347\u7EA7\u3002
|
|
132
|
-
|
|
133
|
-
## \u5B89\u88C5\u4E0E\u542F\u52A8
|
|
134
|
-
|
|
135
|
-
\`\`\`sh
|
|
136
|
-
npm install --registry https://registry.npmjs.org/
|
|
137
|
-
npm run dev
|
|
138
|
-
\`\`\`
|
|
139
|
-
|
|
140
|
-
\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
|
|
141
|
-
|
|
142
|
-
## \u5E94\u7528\u5165\u53E3
|
|
143
|
-
|
|
144
|
-
\`\`\`js
|
|
145
|
-
import { createApp } from '@epxing/core'
|
|
146
|
-
import Components from '@epxing/component'
|
|
147
|
-
import Business from '@epxing/business'
|
|
148
|
-
import '@epxing/theme'
|
|
149
|
-
import App from './App.vue'
|
|
150
|
-
import product from './index'
|
|
151
|
-
|
|
152
|
-
const app = createApp({ rootComponent: App })
|
|
153
|
-
app.use(Components)
|
|
154
|
-
app.use(Business)
|
|
155
|
-
app.use(product)
|
|
156
|
-
app.mount('#app')
|
|
157
|
-
\`\`\`
|
|
158
|
-
|
|
159
|
-
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
|
|
160
|
-
|
|
161
|
-
\u4ECE\u5E73\u53F0\u5305 5.3.0-beta.2 \u8D77\uFF0Ccore\u3001component/components\u3001business\u3001designer\u3001dashboard \u7684 JS \u5165\u53E3\u81EA\u52A8\u52A0\u8F7D\u672C\u5305\u805A\u5408\u6837\u5F0F\uFF0C\u6839\u5BFC\u5165\u548C\u7EC4\u4EF6\u5B50\u8DEF\u5F84\u90FD\u65E0\u9700\u624B\u52A8 import style.css\u3002utils \u548C icons \u5DE5\u5177\u4E0D\u52A0\u8F7D UI \u6837\u5F0F\uFF1Btheme \u4ECD\u662F\u663E\u5F0F\u4F7F\u7528\u7684 SCSS \u6E90\u7801\u5305\u3002\u81EA\u52A8\u52A0\u8F7D\u6309\u5305\u805A\u5408\uFF0C\u4E0D\u662F\u5355\u4E2A\u7EC4\u4EF6\u7684 CSS \u88C1\u526A\u3002
|
|
162
|
-
|
|
163
|
-
\u4FDD\u7559 style.css \u5165\u53E3\u4EE5\u517C\u5BB9\u65E7\u4EE3\u7801\uFF1B\u5DF2\u6709\u624B\u52A8\u5BFC\u5165\u53EF\u4EE5\u5220\u9664\u3002\u4EA7\u54C1\u8986\u76D6\u6837\u5F0F\u653E\u5728\u6846\u67B6\u5BFC\u5165\u4E4B\u540E\u3002CLI \u6307\u5B9A\u65E7\u7248\u672C\u6216\u65E0\u6CD5\u786E\u5B9A\u7248\u672C\u4E0B\u9650\u7684\u6807\u7B7E\u65F6\uFF0C\u4F1A\u4FDD\u5B88\u4FDD\u7559\u663E\u5F0F CSS \u5BFC\u5165\u3002
|
|
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\u5BFC\u5165\u5E76\u5B89\u88C5\u63D2\u4EF6\uFF0C\u6837\u5F0F\u81EA\u52A8\u52A0\u8F7D\u3002\u8FDC\u7A0B\u4EA7\u54C1\u4F7F\u7528\u516C\u5F00\u7EC4\u4EF6\uFF0C\u5BBF\u4E3B\u8D1F\u8D23\u5B89\u88C5\u8BBE\u8BA1/\u4E1A\u52A1\u63D2\u4EF6\u53CA\u52A0\u8F7D\u5176\u6837\u5F0F\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 Vt=["core","component","utils","business","designer"],W=new Map;for(let e of Vt)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 Ot={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"}},ge=l(e=>Ot[e]||(W.get(e)?.length===1?W.get(e)[0]:null),"fromRoot"),V=l((e,t,n)=>{if(!(!e||typeof e!="object")){e.type&&t(e,n);for(let[o,s]of Object.entries(e))["loc","leadingComments","trailingComments","innerComments","extra"].includes(o)||(Array.isArray(s)?s.forEach(i=>V(i,t,e)):s&&typeof s=="object"&&V(s,t,e))}},"walk"),Bt=l(e=>e?.key?.name??e?.key?.value,"keyOf"),ot=l(e=>/^(?:epx-frame(?:\/|$)|@epx\/)/.test(e),"oldRoot"),K=l(e=>e.replace(/^@epx\//,"@epxing/").replace(/^@epxing\/components(?=\/|$)/,"@epxing/component"),"canonical"),J=new Map;for(let[e,t]of Object.entries(tt))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 Ut(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}l(Ut,"moduleTarget");function it(e,{filename:t,bootstrap:n,packagesVersion:o}){let s=[],i=[],p=new Set,r=new Set,m=new Set,a;try{a=(0,X.parse)(e,{sourceType:"unambiguous",plugins:["jsx","typescript","decorators-legacy","importAttributes"]})}catch(f){return{source:e,manual:[`${t} \u65E0\u6CD5\u9759\u6001\u89E3\u6790\uFF1A${f.message}`],blocked:!0}}let u=new Set;V(a,f=>{f.type==="Identifier"&&u.add(f.name)});let y=l(f=>{let k="__epx"+f;for(;u.has(k);)k+="_";return u.add(k),k},"unique");function v(f,k,c=!1){f.source==="@epxing/core/runtime"&&["runtimeStore","runtimeRouter"].includes(f.name)&&m.add(k);let d=f.name==="*"?`* as ${k}`:`{ ${c?"type ":""}${f.name}${f.name===k?"":" as "+k} }`;p.add(`import ${d} from '${f.source}'`)}l(v,"addImport");function A(f,k,c){let d=[],b=[];if(V(a,(S,E)=>{if(!(!["Identifier","JSXIdentifier"].includes(S.type)||S.name!==f||S.start>=c.start&&S.end<=c.end))if((E?.type==="MemberExpression"||E?.type==="OptionalMemberExpression")&&E.object===S){let I=E.computed?E.property.type==="StringLiteral"?E.property.value:null:E.property.name,M=I&&k(I);M?d.push({node:E,target:M,property:I}):b.push(I||"\u52A8\u6001\u5C5E\u6027")}else b.push("\u76F4\u63A5\u5F15\u7528\u6216\u540C\u540D\u5C40\u90E8\u7ED1\u5B9A")}),b.length){s.push(`${t}\uFF1A${f} \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 x=new Map;for(let S of d){let E=S.target.source+":"+S.target.name;if(!x.has(E)){let I=y(S.property);v(S.target,I),x.set(E,I)}i.push({start:S.node.start,end:S.node.end,text:x.get(E)}),S.target.name==="createApp"&&r.add(S.node)}}l(A,"namespace");for(let f of a.program.body){if(!["ImportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"].includes(f.type)||!f.source)continue;let k=f.source.value,c=k==="epx-frame",d=Ut(k);if(c||ot(k)||k.startsWith("@epxing/")&&k.includes("/src/")){if(!c&&!d){s.push(`${t}\uFF1A\u5C1A\u65E0\u516C\u5F00\u6620\u5C04 ${k}\uFF0C\u9700\u6539\u7528\u5BF9\u5E94\u5305\u516C\u5F00 API\u3002`);continue}if(f.type!=="ImportDeclaration"){if(c||typeof d=="object"){s.push(`${t}\uFF1A${k} \u7684\u91CD\u5BFC\u51FA\u9700\u4EBA\u5DE5\u62C6\u5206\u3002`);continue}i.push({start:f.source.start,end:f.source.end,text:JSON.stringify(d)});continue}if(!f.specifiers.length){c||typeof d=="object"?s.push(`${t}\uFF1A\u526F\u4F5C\u7528\u5BFC\u5165 ${k} \u65E0\u6CD5\u6620\u5C04\u3002`):i.push({start:f.source.start,end:f.source.end,text:JSON.stringify(d)});continue}for(let x of f.specifiers){let S=x.local.name;if(c||d==="@epxing/utils"&&x.type!=="ImportSpecifier")if(x.type!=="ImportSpecifier")A(S,E=>d==="@epxing/utils"&&q["@epxing/utils"].exports[E]?{source:"@epxing/utils",name:E}:ge(E),f);else{let E=x.imported.name||x.imported.value,I=ge(E);if(!I){s.push(`${t}\uFF1A\u65E7\u6839\u5BFC\u51FA ${E} \u4E0D\u552F\u4E00\u6216\u5C1A\u672A\u516C\u5F00\uFF0C\u9700\u4EBA\u5DE5\u9009\u62E9\u3002`);continue}v(I,S,f.importKind==="type"||x.importKind==="type"),I.name==="createApp"&&r.add(S)}else{let E=typeof d=="string"?{source:d}:d,I=x.type==="ImportDefaultSpecifier"?E.defaultName||"default":x.type==="ImportNamespaceSpecifier"?"*":x.imported.name||x.imported.value;if(E.source==="@epxing/utils"&&x.type==="ImportSpecifier"&&!q["@epxing/utils"].exports[I]){let M=ge(I);M?v(M,S):s.push(`${t}\uFF1Autils \u7684\u65E7\u5BFC\u51FA ${I} \u5C1A\u65E0\u786E\u5B9A\u6620\u5C04\u3002`);continue}I==="default"?p.add(`import ${S} from '${E.source}'`):v({source:E.source,name:I},S,f.importKind==="type"||x.importKind==="type"),I==="createApp"&&E.source==="@epxing/core"&&r.add(S)}}i.push({start:f.start,end:f.end,text:""})}}if(V(a,(f,k)=>{f.type!=="StringLiteral"||!ot(f.value)||k?.type==="ImportDeclaration"||/Export/.test(k?.type||"")||k?.type==="CallExpression"&&(k.callee.type==="Import"||k.callee.name==="require")&&s.push(`${t}\uFF1A\u52A8\u6001\u5BFC\u5165/require ${f.value} \u9700\u8981\u4EBA\u5DE5\u6539\u5199\u3002`)}),n&&r.size){let f=!1,k=1/0;V(a,c=>{if(c.type==="VariableDeclaration")for(let d of c.declarations){let b=d.init;if(b?.type!=="CallExpression"||d.id.type!=="Identifier"||!r.has(b.callee)&&!r.has(b.callee?.name))continue;let x=d.id.name;if(k=Math.min(k,b.start),!b.arguments.length){let I=y("CreateFrameRouter");v({source:"@epxing/core",name:"createFrameRouter"},I),i.push({start:b.end-1,end:b.end-1,text:`{ router: ${I}() }`})}let S=y("Components"),E=y("Business");p.add(`import ${S} from '@epxing/component'`),p.add(`import ${E} from '@epxing/business'`);for(let I of["@epxing/theme",...le(o)?[]:me])!e.includes(`'${I}'`)&&!e.includes(`"${I}"`)&&p.add(`import '${I}'`);i.push({start:c.end,end:c.end,text:`
|
|
226
|
-
${x}.use(${S})
|
|
227
|
-
${x}.use(${E})
|
|
228
|
-
`}),f=!0}}),f||s.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`),V(a,(c,d)=>{c.type==="Identifier"&&m.has(c.name)&&c.start<k&&d?.type==="MemberExpression"&&d.object===c&&s.push(`${t}\uFF1A${c.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(s.length)return{source:e,manual:s,blocked:!0};i.sort((f,k)=>k.start-f.start||k.end-f.end);let L=e;for(let f of i)L=L.slice(0,f.start)+f.text+L.slice(f.end);p.size&&(L=[...p].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
|
-
`+
|
|
231
|
-
|
|
232
|
-
|
|
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"),
|
|
236
|
-
`})):g(" \uFF08\u65E0\u5339\u914D\u4F9D\u8D56\u9700\u8FC1\u79FB\uFF09")}else g(" \u2717 \u672A\u627E\u5230 package.json");
|
|
237
|
-
`);return`const app = ${
|
|
238
|
-
${
|
|
239
|
-
`:""}app.mount(${
|
|
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?(g(` \u2713 ${
|
|
242
|
-
${
|
|
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
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?(g(` \u2713 webpack.config.js\uFF1Aexternals \u52A0 vue \u5916\u7F6E${B.length?" + babel \u89C4\u5219\u6536 .jsx":""}`),
|
|
46
|
+
`)),e!==t?(g(` \u2713 webpack.config.js\uFF1Aexternals \u52A0 vue \u5916\u7F6E${B.length?" + babel \u89C4\u5219\u6536 .jsx":""}`),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
|
-
`}),g(` \u2713 \u7A7A SFC \u8865\u9F50\uFF1A${
|
|
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
|
|
253
|
-
`),
|
|
254
|
-
cd ${
|
|
255
|
-
`,stdio:["pipe","inherit","inherit"]}),
|
|
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
|
-
`+
|
|
56
|
+
`+u.join(`
|
|
258
57
|
|
|
259
58
|
`)+`
|
|
260
|
-
`)),
|
|
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`);
|
|
262
|
-
\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"),
|
|
263
|
-
${t}`);else{let
|
|
264
|
-
`);
|
|
265
|
-
`+
|
|
266
|
-
${
|
|
267
|
-
${
|
|
268
|
-
${t}`);else{let
|
|
269
|
-
`).slice(0,3).join(" "))}
|
|
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${
|
|
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)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(!
|
|
275
|
-
${t}`);else{let n=
|
|
276
|
-
`+t);else if(!
|
|
277
|
-
`+t);else{let
|
|
278
|
-
${t}`);else if(
|
|
279
|
-
${t}`);else{let
|
|
280
|
-
`).slice(0,3).join(" "))}if(!
|
|
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${
|
|
283
|
-
`;a?a.after=A:P.push({file:"package.json",after:A}),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")}}}}}}R("\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=>ke.has(n));for(let n of t){if(ee[n])continue;if(te[n]){Z.push({name:n,kind:"known",detail:te[n].note}),g(` \u2717 ${n}\uFF1A\u5DF2\u77E5 Vue2-only \u2014\u2014 ${te[n].note}`);continue}let o=null;try{o=JSON.parse(h.readFileSync(N(`node_modules/${n}/package.json`),"utf8"))}catch{o=null}if(!o)continue;let s=o.peerDependencies&&o.peerDependencies.vue||o.dependencies&&o.dependencies.vue||"";s&&Wt(s)&&(Z.push({name:n,kind:"suspect",detail:`\u5176 package.json \u58F0\u660E vue \u652F\u6301 "${s}"\uFF08\u53EA\u5339\u914D Vue2\uFF09`}),g(` \xB7 ${n}\uFF1A\u7591\u4F3C Vue2-only\uFF08vue="${s}"\uFF09`))}Z.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=j.filter(n=>{let o=h.readFileSync(n,"utf8");return!e(o)&&/<style[^>]*\bscoped/.test(o)});if(t.length){R("\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 s=(h.readFileSync(n,"utf8").match(/::v-deep|:deep\(|\/deep\/|>>>/g)||[]).length;g(` \xB7 ${F.relative(w,n).replace(/\\/g,"/")}${s?`\uFF08\u542B ${s} \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=>F.relative(w,n).replace(/\\/g,"/")).join("\u3001")}`)}}var H=null;if(ct){R("V. webpack \u2192 Vite \u5F62\u6001\u8F6C\u6362");let e=[...P].reverse().find(p=>p.file==="package.json"&&!p.remove),t=[...P].reverse().find(p=>p.file===T&&!p.remove),o=_e({projectDir:w,read:l(p=>p===T&&t?t.after:$(p),"readForVite"),epxFrameSpec:pe,basePkgRaw:e?e.after:null});H=o.info;for(let p of o.changes){if(p.file==="package.json"&&!p.remove&&e){e.after=p.after,g(" \u2713 package.json\uFF08\u5E76\u5165 \u2460 \u4F9D\u8D56\u8FC1\u79FB\u4EA7\u51FA\uFF09");continue}P.push(p),g(` ${p.remove?"\u2717 \u5220":"\u2713"} ${p.file}`)}for(let p of o.manual)C.push(p);H.removedDeps&&H.removedDeps.length&&g(` \xB7 \u6458\u9664 webpack \u6784\u5EFA\u4F9D\u8D56 ${H.removedDeps.length} \u4E2A\uFF1A${H.removedDeps.join(", ")}`),g(` \xB7 \u7EC4\u4EF6\u76EE\u5F55 dirName='${H.dirName}'\uFF0ClazyLib glob='${H.glob}'`);let s=0,i=0;for(let p of D){let r=F.relative(w,p).replace(/\\/g,"/"),m=[...P].reverse().find(y=>y.file===r&&!y.remove),a=m?m.after:h.readFileSync(p,"utf8"),u=Xe(a,{isVue:p.endsWith(".vue")});u.src!==a&&(m?m.after=u.src:P.push({file:r,after:u.src}),s+=u.count,i++),u.templateAsset&&C.push(`${r}\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`)}s&&g(` \u2713 \u6E90\u7801 require.context\u2192import.meta.glob / require(\u56FE\u7247)\u2192\u9759\u6001 import\uFF1A${s} \u5904 / ${i} \u6587\u4EF6`)}R("\u8FD0\u884C\u65F6\u6807\u8BC6\uFF08runtime: vue3\uFF09");if(T){let e=[...P].reverse().find(o=>o.file===T&&!o.remove),t=e?e.after:$(T),n=et(t);n.marked?(n.src!==t&&(e?e.after=n.src:P.push({file:T,after:n.src})),g(` \u2713 ${T}\uFF1A\u9ED8\u8BA4\u5BFC\u51FA\u5305\u542B runtime: 'vue3'`)):(C.push(`${T} \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 ${T}\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");R("\u65E5\u671F\u63A7\u4EF6\u683C\u5F0F\uFF08Element UI \u2192 Element Plus\uFF09");var ye=[];for(let e of D){let t=F.relative(w,e),n=P.find(s=>s.file===t&&!s.remove),o=Ce(n?n.after:h.readFileSync(e,"utf8"),{filename:e});if(o.count){n?n.after=o.src:P.push({file:t,after:o.src});for(let s of o.fixes)ye.push(`${t}:${s.line}\uFF1A${s.before} \u2192 ${s.after}`);g(` \u2713 ${t}\uFF1A${o.count} \u5904\u65E5\u671F\u683C\u5F0F\u4FEE\u590D`)}for(let s of o.warnings)C.push(`${t}\uFF1A${s}\uFF08F21\uFF1B\u5B8C\u6210\u683C\u5F0F\u6765\u6E90\u4FEE\u590D\u540E\u518D\u9A8C\u6536\uFF09`)}R("\u4EA7\u54C1\u4E3B\u9898\u9002\u914D\uFF08\u6D88\u8D39\u5E73\u53F0\u53D8\u91CF\uFF0C\u4FDD\u7559 scoped\uFF09");var be=[];for(let e of[...D,...lt]){let t=F.relative(w,e),n=[...P].reverse().find(s=>s.file===t&&!s.remove),o=Pe(n?n.after:h.readFileSync(e,"utf8"),{filename:e});if(o.count){n?n.after=o.src:P.push({file:t,after:o.src});for(let s of o.fixes)be.push(`${t}:${s.line}\uFF1A${s.before} \u2192 ${s.after}`);g(` \u2713 ${t}\uFF1A${o.count} \u5904\u4E3B\u9898\u53D8\u91CF\u9002\u914D`)}for(let s of o.warnings)C.push(`${t}\uFF1A${s}\uFF08E2\uFF1B\u8FFD\u8E2A\u5B9E\u9645\u6D88\u8D39\u573A\u666F\u540E\u5B8C\u6210\u4E3B\u9898\u9002\u914D\uFF09`)}if(O){R("@epxing \u72EC\u7ACB\u5305\u5165\u53E3\u4E0E\u4F9D\u8D56\u8FC1\u79FB");let t=st({read:l(n=>[...P].reverse().find(o=>o.file.replaceAll("\\","/")===n&&!o.remove)?.after??$(n),"latest"),files:D.map(n=>F.relative(w,n).replaceAll("\\","/")),packagesVersion:O,cliVersion:at,templates:zt,newVite:ct&&!["vite.config.mjs","vite.config.js","vite.config.ts"].some(n=>$(n)!=null)});ve=t.blocked;for(let n of t.changes)P.push(n);C.push(...t.manual),g(t.blocked?" \u72EC\u7ACB\u5305\u5207\u6362\u9700\u8981\u4EBA\u5DE5\u5904\u7406\uFF1B\u4FDD\u7559\u539F\u5305\u5165\u53E3\uFF0C\u672A\u6DF7\u5165\u90E8\u5206\u72EC\u7ACB\u5305\u3002":` \u2713 \u72EC\u7ACB\u5305\u7248\u672C ${O}\uFF1B\u751F\u6210\u4EA7\u54C1\u4F7F\u7528\u8BF4\u660E`)}var Jt=["# epx-migrate \u8FC1\u79FB\u62A5\u544A","",`\u9879\u76EE\uFF1A\`${F.resolve(w)}\``,`\u6A21\u5F0F\uFF1A${z?"--apply \u5DF2\u843D\u76D8":"dry-run \u672A\u843D\u76D8"}${fe?" + gogocode \u8F6C\u6362":""}`,"",...O?["## \u72EC\u7ACB\u5305\u5207\u6362","",`\u76EE\u6807\uFF1A@epxing/* ${O}\uFF0CCLI ${at}\u3002`,ve?"\u5B58\u5728\u672A\u786E\u5B9A\u7684\u65E7\u63A5\u53E3\uFF0C\u672C\u6B21\u4FDD\u7559\u65E7\u5305\u6A21\u5F0F\uFF1B\u6309\u4EBA\u5DE5\u6E05\u5355\u5904\u7406\u540E\u91CD\u65B0\u8FD0\u884C\u3002":"\u516C\u5F00\u5165\u53E3\u4E0E\u4F9D\u8D56\u5DF2\u5217\u5165\u8FC1\u79FB\u8BA1\u5212\uFF0C\u4EA7\u54C1\u4F7F\u7528\u8BF4\u660E\u89C1 PRODUCT-GUIDE.md \u6216 EPXING-PACKAGES-GUIDE.md\u3002","\u9884\u89C8\u4E0D\u4F1A\u5199\u5165\u6587\u4EF6\uFF1B\u5E94\u7528\u540E\u5B89\u88C5\u4F9D\u8D56\u5E76\u9A8C\u8BC1\u8FDC\u7A0B\u5E93\u3001\u72EC\u7ACB\u5E94\u7528\u53CA\u4E1A\u52A1\u6D41\u7A0B\u3002",""]:[],"## \u540E\u7EED\u64CD\u4F5C\u987A\u5E8F","","```bash",'git add -A && git commit -m "epx-migrate: \u4F9D\u8D56+codemod" # \u5B58\u6863\u5DE5\u5177\u6539\u52A8','npm i && git add -A && git commit -m "lockfile" # \u88C5\u65B0\u4F9D\u8D56\u5E76\u63D0\u4EA4\uFF08lock \u88AB\u8DDF\u8E2A\u65F6 --transform-vue \u7684\u5E72\u51C0\u68C0\u67E5\u9700\u8981\uFF09',...fe?[]:["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",...Le.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",...ye.length?ye.map(e=>`- ${e}`):["- \u672A\u53D1\u73B0\u53EF\u9759\u6001\u4FEE\u590D\u7684\u65E7\u683C\u5F0F\uFF1B\u52A8\u6001\u6765\u6E90\u89C1\u4EBA\u5DE5\u6E05\u5355\uFF0C\u4E0D\u4EE3\u8868\u6240\u6709\u65E5\u671F\u903B\u8F91\u5DF2\u901A\u8FC7\u3002"],"- \u53EA\u4FEE\u6539\u65E5\u671F/\u65F6\u95F4\u63A7\u4EF6 format \u4E0E value-format/valueFormat\uFF1B\u4FDD\u7559\u5206\u949F mm\u3001\u79D2 ss\u3001\u661F\u671F ddd/dddd \u548C\u65B9\u62EC\u53F7\u6587\u5B57\u3002\u4E0D\u5168\u5C40\u66FF\u6362\u540E\u7AEF/\u5176\u5B83\u65E5\u671F\u5E93\u5B57\u7B26\u4E32\u3002","- \u7528\u6700\u7EC8Vue3\u4EA7\u7269\u6838\u5BF9\u521D\u59CB\u56DE\u663E\u3001\u9009\u62E9\u65E5\u671F\u3001\u7ED1\u5B9A\u503C\u53CA\u63A5\u53E3\u65E5\u671F\u53C2\u6570\uFF1Blint/build\u901A\u8FC7\u4E0D\u80FD\u66FF\u4EE3\u65E5\u671F\u9A8C\u6536\u3002","","### \u4E3B\u9898\u9002\u914D\uFF08E2\uFF1B\u4E0D\u4F9D\u8D56 gogocode\uFF09",...be.length?be.map(e=>`- ${e}`):["- \u672A\u53D1\u73B0\u53EF\u5B89\u5168\u81EA\u52A8\u66FF\u6362\u7684\u9759\u6001\u4E3B\u9898\u6837\u5F0F\uFF1B\u52A8\u6001\u503C\u4E0E\u7279\u6B8A\u5C3A\u5BF8\u89C1\u4EBA\u5DE5\u6E05\u5355\u3002"],"- \u4EA7\u54C1\u53EA\u6D88\u8D39\u5E73\u53F0 --epx-* / --color-text-* \u53D8\u91CF\u5E76\u4FDD\u7559\u65E7\u503C fallback\uFF0C\u4E0D\u5BFC\u5165\u6574\u5957\u4E3B\u9898\u6216\u5199\u5168\u5C40 :root \u9ED8\u8BA4\u503C\uFF1Bscoped\u3001\u5706\u5F62/\u80F6\u56CA\u3001\u56FE\u6807\u3001\u6253\u5370\u6837\u5F0F\u4FDD\u7559\u3002","- \u7528\u6700\u7EC8\u4EA7\u7269\u5207\u6362\u5B57\u53F7\u3001\u5706\u89D2\u3001\u660E\u6697\u53CA\u5BC6\u5EA6\uFF0C\u6838\u5BF9\u4EA7\u54C1\u4E0E\u5E73\u53F0\u540C\u6B65\u3001\u61D2\u52A0\u8F7D\u524D\u540E\u53CA\u7EC4\u4EF6\u5916\u6837\u5F0F\u3002\u4E0D\u80FD\u5B89\u5168\u81EA\u52A8\u5904\u7406\u7684\u52A8\u6001\u503C\u987B\u8FFD\u8E2A\u6765\u6E90\u5E76\u4FEE\u590D\u6216\u8BB0\u5F55\u4FDD\u7559\u7406\u7531\u3002","","## \u2462 .vue \u8F6C\u6362\uFF08gogocode + \u4FEE\u8865\uFF0C\u5DF2\u81EA\u52A8\uFF09\u4E0E\u4EBA\u5DE5\u590D\u6838\u6E05\u5355\uFF08\u6570\u5B57=\u547D\u4E2D\u6587\u4EF6\u6570\uFF09",'- style \u5757\u5168\u7A0B\u5FEB\u7167\u4FDD\u62A4\uFF08gogocode \u4F1A\u6BC1 scss \u6CE8\u91CA\u5757/\u5220 style\uFF09\uFF1Bicons \u5305\u540D\u6539\u5199\uFF1BJSX \u6807 lang="jsx"',...Object.entries(xt).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
|
-
`);P.push({file:"MIGRATION-REPORT.md",after:Jt});R(z?"\u843D\u76D8\uFF08--apply\uFF09":"DRY-RUN\uFF08\u672A\u5199\u6587\u4EF6\uFF09");for(let e of P){let t=N(e.file);if(e.remove){z&&!ue?(h.rmSync(t,{force:!0}),g(` \u2717 \u5220 ${e.file}`)):g(` [dry-run] \u5C06\u5220 ${e.file}`);continue}z&&!ue?(h.mkdirSync(F.dirname(t),{recursive:!0}),h.writeFileSync(t,e.after),g(` \u2713 \u5199 ${e.file}`)):ue&&e.file==="MIGRATION-REPORT.md"?(h.writeFileSync(t,e.after),g(` \u2713 \u5199 ${e.file}`)):g(` [dry-run] \u5C06\u6539 ${e.file}`)}g(`
|
|
285
|
-
|
|
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);
|