vome-core 0.2.2 → 0.2.4
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/dist/admin/api/client.js +13 -3
- package/dist/admin/components/ui/avatar/index.js +1 -1
- package/dist/admin/components/ui/button/index.d.ts +1 -1
- package/dist/admin/components/ui/checkbox/index.js +1 -1
- package/dist/admin/components/ui/dialog/index.js +1 -1
- package/dist/admin/components/ui/dropdown-menu/index.js +1 -1
- package/dist/admin/components/ui/input/index.js +1 -1
- package/dist/admin/components/ui/label/index.js +1 -1
- package/dist/admin/components/ui/scroll-area/index.js +1 -1
- package/dist/admin/components/ui/select/index.js +1 -1
- package/dist/admin/components/ui/separator/index.js +1 -1
- package/dist/admin/components/ui/sheet/index.js +1 -1
- package/dist/admin/components/ui/sonner/index.js +1 -1
- package/dist/admin/components/ui/table/index.js +1 -1
- package/dist/admin/components/ui/tabs/index.js +1 -1
- package/dist/admin/components/ui/tooltip/index.js +1 -1
- package/dist/admin/components/vm-empty.vue +3 -12
- package/dist/admin/crud/components/vm-dict-tag.vue +6 -3
- package/dist/admin/crud/components/vm-richtext-extensions.js +1 -1
- package/dist/admin/crud/config.js +1 -1
- package/dist/admin/crud/confirm.js +1 -1
- package/dist/admin/crud/crud-page-request.js +1 -1
- package/dist/admin/crud/data-i18n.js +1 -1
- package/dist/admin/crud/dict.js +1 -1
- package/dist/admin/crud/export-fetch.js +1 -1
- package/dist/admin/crud/key.js +1 -1
- package/dist/admin/crud/plugins.js +1 -1
- package/dist/admin/crud/span.js +1 -1
- package/dist/admin/crud/style.js +1 -1
- package/dist/admin/crud/validate.js +1 -1
- package/dist/admin/directives/perm.js +1 -1
- package/dist/admin/hooks/useUpload.js +1 -1
- package/dist/admin/hooks/useVome.d.ts +2 -2
- package/dist/admin/index.d.ts +4 -4
- package/dist/admin/index.js +2 -7
- package/dist/admin/lib/browser.js +1 -1
- package/dist/admin/lib/cn.js +1 -1
- package/dist/admin/lib/dialog-float.js +1 -1
- package/dist/admin/lib/export-excel.js +1 -1
- package/dist/admin/lib/import-excel.js +1 -1
- package/dist/admin/lib/json.js +1 -1
- package/dist/admin/lib/menu.js +1 -1
- package/dist/admin/lib/micro-locale.js +1 -1
- package/dist/admin/lib/micro-theme.js +1 -1
- package/dist/admin/lib/scarce-assets.d.ts +5 -0
- package/dist/admin/lib/scarce-assets.js +16 -0
- package/dist/admin/lib/shell.d.ts +2 -7
- package/dist/admin/lib/shell.js +1 -1
- package/dist/admin/lib/theme-color-options.js +1 -1
- package/dist/admin/lib/tree.js +1 -1
- package/dist/admin/lib/upload.js +1 -1
- package/dist/admin/lib/video-frame.js +1 -1
- package/dist/admin/router/create.js +1 -1
- package/dist/admin/router/guards.js +1 -1
- package/dist/admin/stores/app.d.ts +13 -1
- package/dist/admin/stores/tags.d.ts +14 -1
- package/dist/admin/stores/user.d.ts +48 -1
- package/dist/admin/stores/user.js +2 -0
- package/dist/agent/index.js +1 -64
- package/dist/ai/adapters/index.d.ts +0 -1
- package/dist/ai/index.d.ts +1 -1
- package/dist/ai/index.js +1 -29188
- package/dist/client/ai-model-registry.d.ts +16 -0
- package/dist/client/ai-model-registry.js +1 -0
- package/dist/client/base.js +1 -107
- package/dist/client/configure.js +1 -39
- package/dist/client/dict.d.ts +1 -2
- package/dist/client/dict.js +1 -53
- package/dist/client/eps-payload.js +1 -20
- package/dist/client/eps.js +1 -122
- package/dist/client/index.d.ts +3 -2
- package/dist/client/index.js +1 -35
- package/dist/client/locale-store.d.ts +40 -1
- package/dist/client/locale-store.js +1 -164
- package/dist/client/service.js +1 -289
- package/dist/client/vite-admin.js +1 -70
- package/dist/client/vite-auto-import.js +1 -127
- package/dist/client/vite-micro-proxy.js +1 -59
- package/dist/client/vite-plugin-eps.js +1 -308
- package/dist/client/vite-resolve.js +1 -205
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.js +1 -118
- package/dist/core/host-infra.d.ts +0 -2
- package/dist/core/index.d.ts +1 -1
- package/dist/i18n/data-i18n.d.ts +0 -1
- package/dist/index.js +1 -1
- package/dist/ioc/index.d.ts +1 -1
- package/dist/orm/repository.d.ts +9 -7
- package/dist/orm/service.d.ts +3 -5
- package/dist/server/index.d.ts +2 -2
- package/dist/server/index.js +1 -1
- package/dist/shared/datetime-picker.js +1 -1
- package/dist/shared/excel.js +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/locale-json.js +1 -1
- package/dist/shared/tree.js +1 -1
- package/package.json +1 -1
- package/typings/admin/comm/crud.ts +10 -4
- package/typings/admin/comm/request.ts +3 -1
- package/dist/admin/lib/setup-crud-defaults.d.ts +0 -2
- package/dist/admin/lib/setup-crud-defaults.js +0 -1
- package/dist/admin/themes/dark.d.ts +0 -2
- package/dist/admin/themes/dark.js +0 -1
- package/dist/admin/themes/index.d.ts +0 -9
- package/dist/admin/themes/index.js +0 -1
- package/dist/admin/themes/light.d.ts +0 -2
- package/dist/admin/themes/light.js +0 -1
|
@@ -1,127 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import AutoImport from "unplugin-auto-import/vite";
|
|
4
|
-
import Components from "unplugin-vue-components/vite";
|
|
5
|
-
function pascalToKebab(name) {
|
|
6
|
-
return name.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2").toLowerCase();
|
|
7
|
-
}
|
|
8
|
-
function createVomeCoreVmResolver(root) {
|
|
9
|
-
const coreAdmin = path.resolve(root, "node_modules/vome-core/dist/admin");
|
|
10
|
-
return (name) => {
|
|
11
|
-
if (!name.startsWith("Vm"))
|
|
12
|
-
return;
|
|
13
|
-
const kebab = pascalToKebab(name);
|
|
14
|
-
const rels = [
|
|
15
|
-
`crud/components/${kebab}.vue`,
|
|
16
|
-
`crud/${kebab}.vue`,
|
|
17
|
-
`components/${kebab}.vue`
|
|
18
|
-
];
|
|
19
|
-
for (const rel of rels) {
|
|
20
|
-
if (fs.existsSync(path.join(coreAdmin, rel))) {
|
|
21
|
-
return { name: "default", from: `@core/admin/${rel}` };
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
export function createAdminAutoImportPlugins(root) {
|
|
27
|
-
const r = (...segs) => path.resolve(root, ...segs);
|
|
28
|
-
const coreAdmin = "node_modules/vome-core/dist/admin";
|
|
29
|
-
const coreAdminAbs = path.resolve(root, coreAdmin);
|
|
30
|
-
const toCoreAlias = (id) => {
|
|
31
|
-
const norm = id.replace(/\\/g, "/");
|
|
32
|
-
const marker = "/node_modules/vome-core/dist/admin/";
|
|
33
|
-
const i = norm.indexOf(marker);
|
|
34
|
-
if (i !== -1)
|
|
35
|
-
return `@core/admin/${norm.slice(i + marker.length)}`;
|
|
36
|
-
return id;
|
|
37
|
-
};
|
|
38
|
-
const exclude = [
|
|
39
|
-
/[\\/]node_modules[\\/](?!vome-core(?:[\\/]|$))/,
|
|
40
|
-
/[\\/]\.git[\\/]/
|
|
41
|
-
];
|
|
42
|
-
return [
|
|
43
|
-
AutoImport({
|
|
44
|
-
exclude,
|
|
45
|
-
imports: [
|
|
46
|
-
"vue",
|
|
47
|
-
"vue-router",
|
|
48
|
-
"pinia",
|
|
49
|
-
{
|
|
50
|
-
"vue-sonner": ["toast"],
|
|
51
|
-
"@core/admin/lib/cn": ["cn"],
|
|
52
|
-
"@core/admin/service": ["service"],
|
|
53
|
-
"@core/admin/api/client": [
|
|
54
|
-
"api",
|
|
55
|
-
"request",
|
|
56
|
-
"apiUrl",
|
|
57
|
-
"getAccessToken",
|
|
58
|
-
"getRefreshToken",
|
|
59
|
-
"setTokens",
|
|
60
|
-
"clearTokens"
|
|
61
|
-
],
|
|
62
|
-
"@core/admin/hooks/useVome": ["useVome"],
|
|
63
|
-
"@core/admin/hooks/useBrowser": ["useBrowser"],
|
|
64
|
-
"@core/admin/hooks/useUpload": ["useUpload"],
|
|
65
|
-
"@core/admin/crud/useCrud": [
|
|
66
|
-
"useCrud",
|
|
67
|
-
"useTable",
|
|
68
|
-
"useUpsert",
|
|
69
|
-
"useSearch",
|
|
70
|
-
"useCore"
|
|
71
|
-
],
|
|
72
|
-
"@core/admin/crud/plugins": ["Plugins", "toTree"],
|
|
73
|
-
"@core/admin/crud/confirm": ["vmConfirm"],
|
|
74
|
-
"@core/admin/crud/style": [
|
|
75
|
-
"setCrudConfig",
|
|
76
|
-
"getCrudConfig",
|
|
77
|
-
"getCrudStyle",
|
|
78
|
-
"setCrudTranslator",
|
|
79
|
-
"crudT",
|
|
80
|
-
"crudLabel",
|
|
81
|
-
"crudFormat"
|
|
82
|
-
],
|
|
83
|
-
"@core/admin/crud/registry": [
|
|
84
|
-
"resolveCrudComponent",
|
|
85
|
-
"registerCrudComponent"
|
|
86
|
-
],
|
|
87
|
-
"@core/admin/lib/tree": ["deepTree", "flattenTree"],
|
|
88
|
-
"@core/admin/lib/json": [
|
|
89
|
-
"hasJsonContent",
|
|
90
|
-
"prettyJson",
|
|
91
|
-
"textOfJson",
|
|
92
|
-
"parseJsonInput"
|
|
93
|
-
],
|
|
94
|
-
"@core/admin/lib/dialog-float": [
|
|
95
|
-
"preventDialogOutsideClose",
|
|
96
|
-
"isDialogFloatTarget",
|
|
97
|
-
"DIALOG_FLOAT_CLASS"
|
|
98
|
-
],
|
|
99
|
-
"@core/admin/lib/eps": [
|
|
100
|
-
"loadEps",
|
|
101
|
-
"loadAllEps",
|
|
102
|
-
"getEps",
|
|
103
|
-
"findEpsEntity"
|
|
104
|
-
]
|
|
105
|
-
}
|
|
106
|
-
],
|
|
107
|
-
dirs: [path.resolve(coreAdminAbs, "stores"), r("src/stores")],
|
|
108
|
-
dts: r("typings/auto-imports.d.ts"),
|
|
109
|
-
vueTemplate: true
|
|
110
|
-
}),
|
|
111
|
-
Components({
|
|
112
|
-
exclude,
|
|
113
|
-
globs: [
|
|
114
|
-
"src/components/vm-*.vue",
|
|
115
|
-
"src/components/layout/vm-*.vue",
|
|
116
|
-
"src/modules/*/components/vm-*.vue",
|
|
117
|
-
`${coreAdmin}/components/ui/**/*.vue`,
|
|
118
|
-
`${coreAdmin}/components/vm-*.vue`,
|
|
119
|
-
`${coreAdmin}/crud/vm-*.vue`,
|
|
120
|
-
`${coreAdmin}/crud/components/vm-*.vue`
|
|
121
|
-
],
|
|
122
|
-
resolvers: [createVomeCoreVmResolver(root)],
|
|
123
|
-
dts: r("typings/components.d.ts"),
|
|
124
|
-
importPathTransform: toCoreAlias
|
|
125
|
-
})
|
|
126
|
-
].flat();
|
|
127
|
-
}
|
|
1
|
+
function _0xc2df(_0x507504,_0xd2320b){_0x507504=_0x507504-0xa4;const _0x2cef13=_0x2cef();let _0xc2df4d=_0x2cef13[_0x507504];if(_0xc2df['joEUQt']===undefined){var _0x30c62b=function(_0x41e22f){const _0x156b92='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe3d4b6='',_0x599121='';for(let _0x26f806=0x0,_0x1cf4ab,_0x137ee3,_0x14676f=0x0;_0x137ee3=_0x41e22f['charAt'](_0x14676f++);~_0x137ee3&&(_0x1cf4ab=_0x26f806%0x4?_0x1cf4ab*0x40+_0x137ee3:_0x137ee3,_0x26f806++%0x4)?_0xe3d4b6+=String['fromCharCode'](0xff&_0x1cf4ab>>(-0x2*_0x26f806&0x6)):0x0){_0x137ee3=_0x156b92['indexOf'](_0x137ee3);}for(let _0x3cce23=0x0,_0x2ead9d=_0xe3d4b6['length'];_0x3cce23<_0x2ead9d;_0x3cce23++){_0x599121+='%'+('00'+_0xe3d4b6['charCodeAt'](_0x3cce23)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x599121);};_0xc2df['TvTncW']=_0x30c62b,_0xc2df['wNOTxb']={},_0xc2df['joEUQt']=!![];}const _0x1b7232=_0x2cef13[0x0],_0x4878b2=_0x507504+_0x1b7232,_0x2a9084=_0xc2df['wNOTxb'][_0x4878b2];return!_0x2a9084?(_0xc2df4d=_0xc2df['TvTncW'](_0xc2df4d),_0xc2df['wNOTxb'][_0x4878b2]=_0xc2df4d):_0xc2df4d=_0x2a9084,_0xc2df4d;}(function(_0x20ff03,_0x42bf60){const _0xc2fac9=_0xc2df,_0x3438b9=_0x20ff03();while(!![]){try{const _0x20e124=-parseInt(_0xc2fac9(0xd8))/0x1+parseInt(_0xc2fac9(0xaa))/0x2+parseInt(_0xc2fac9(0xc2))/0x3+-parseInt(_0xc2fac9(0xdb))/0x4+-parseInt(_0xc2fac9(0xb6))/0x5*(-parseInt(_0xc2fac9(0xb2))/0x6)+-parseInt(_0xc2fac9(0xb3))/0x7+-parseInt(_0xc2fac9(0xd7))/0x8*(parseInt(_0xc2fac9(0xca))/0x9);if(_0x20e124===_0x42bf60)break;else _0x3438b9['push'](_0x3438b9['shift']());}catch(_0x27611c){_0x3438b9['push'](_0x3438b9['shift']());}}}(_0x2cef,0x763a5));import _0xe3d4b6 from'node:fs';import _0x599121 from'node:path';import _0x26f806 from'unplugin-auto-import/vite';function _0x2cef(){const _0x173ff5=['AgfZsNnVBKnVBNrLBNq','mJu3nJvozg9SEgi','C3jJl2nVBxbVBMvUDhmVDM0TkI52Dwu','Bg9HzefSBevWCW','y3j1zc9JB21WB25LBNrZlW','DNvL','DxnLq29Yzq','AxneAwfSB2DgBg9HDfrHCMDLDa','CgLUAwe','Dg9mB3DLCKnHC2u','DxnLq3j1za','C3jJl2nVBxbVBMvUDhmVBgf5B3v0l3zTlsOUDNvL','DxnLvxbZzxj0','mJa0mte5mxnqwwfADa','CgfYC2vkC29Usw5WDxq','DxnLvgfIBgu','l2nYDwqVDM0TkI52Dwu','l2nYDwqVy29TCg9Uzw50CY92Bs0QlNz1zq','C3jJl21VzhvSzxmVkI9JB21WB25LBNrZl3zTlsOUDNvL','Dg9HC3q','z2v0q3j1zenVBMzPzW','mZy5wvzvDgXb','DxnLqNjVD3nLCG','C2vYDMLJzq','z2v0qwnJzxnZvg9Rzw4','zxHPC3rZu3LUyW','C3rVCMvZ','CMvNAxn0zxjdCNvKq29TCg9Uzw50','C3rHCNrZv2L0Aa','y3j1zeXHyMvS','qgnVCMuVywrTAw4V','lNz1zq','CMvZB2X2zunYDwrdB21WB25LBNq','C2XPy2u','mte5otjAD1P0rvK','mtqXota1ze9vExDZ','yxbP','ChjLDhr5sNnVBG','mJe4mJqWoeHQyMfwzq','reLbte9hx0zmt0fux0nmqvnt','z2v0rxbZ','DM1dB25MAxjT','DxnLvxbSB2fK','DhLWAw5NCY9HDxrVlwLTCg9YDhmUzc50CW','Bg9HzevWCW','C2v0q3j1zenVBMzPzW','Dg9uCMvL','DxnLvM9Tzq','C2v0q3j1zfrYyw5ZBgf0B3i','z2v0q3j1zfn0EwXL','AM9PBG','z2v0uMvMCMvZAfrVA2vU','jdeTjdi','l25VzgvFBw9KDwXLCY92B21LlwnVCMuVzgLZDc9Hzg1PBI8','ote3mJu2B0fMBxPh','y3j1zezVCM1HDa','y29TCg9Uzw50CY8','Aw5KzxHpzG','CMvXDwvZDa','zMXHDhrLBLrYzwu','CMvWBgfJzq','CMvZB2X2zq','mtq0v0PhyNH6','mJa2mJKWs1DpELve','BM9Kzv9TB2r1BgvZl3zVBwuTy29Yzs9KAxn0l2fKBwLU'];_0x2cef=function(){return _0x173ff5;};return _0x2cef();}import _0x1cf4ab from'unplugin-vue-components/vite';function pascalToKebab(_0x137ee3){const _0x1c21b5=_0xc2df;return _0x137ee3[_0x1c21b5(0xb0)](/([a-z0-9])([A-Z])/g,_0x1c21b5(0xa8))[_0x1c21b5(0xb0)](/([A-Z])([A-Z][a-z])/g,_0x1c21b5(0xa8))[_0x1c21b5(0xbe)]();}function createVomeCoreVmResolver(_0x14676f){const _0x39d315=_0xc2df,_0x3cce23=_0x599121[_0x39d315(0xb1)](_0x14676f,'node_modules/vome-core/dist/admin');return _0x2ead9d=>{const _0x587e19=_0x39d315;if(!_0x2ead9d[_0x587e19(0xd1)]('Vm'))return;const _0x2910d5=pascalToKebab(_0x2ead9d),_0x2f895a=[_0x587e19(0xb9)+_0x2910d5+_0x587e19(0xd4),'crud/'+_0x2910d5+'.vue',_0x587e19(0xac)+_0x2910d5+_0x587e19(0xd4)];for(const _0x4f3308 of _0x2f895a){if(_0xe3d4b6[_0x587e19(0xce)](_0x599121[_0x587e19(0xa6)](_0x3cce23,_0x4f3308)))return{'name':'default','from':_0x587e19(0xd3)+_0x4f3308};}};}export function createAdminAutoImportPlugins(_0x19e178){const _0x39254c=_0xc2df,_0x39a0da=(..._0x224d66)=>_0x599121[_0x39254c(0xb1)](_0x19e178,..._0x224d66),_0x326415=_0x39254c(0xb4),_0x292650=_0x599121[_0x39254c(0xb1)](_0x19e178,_0x326415),_0x324e55=_0x171cf7=>{const _0x9954a1=_0x39254c,_0x418ff6=_0x171cf7[_0x9954a1(0xb0)](/\\/g,'/'),_0x52dd2e=_0x9954a1(0xa9),_0x40ab2f=_0x418ff6[_0x9954a1(0xad)](_0x52dd2e);if(_0x40ab2f!==-0x1)return'@core/admin/'+_0x418ff6[_0x9954a1(0xd6)](_0x40ab2f+_0x52dd2e['length']);return _0x171cf7;},_0x726681=[/[\\/]node_modules[\\/](?!vome-core(?:[\\/]|$))/,/[\\/]\.git[\\/]/];return[_0x26f806({'exclude':_0x726681,'imports':[_0x39254c(0xba),'vue-router',_0x39254c(0xbd),{'vue-sonner':[_0x39254c(0xc8)],'@core/admin/lib/cn':['cn'],'@core/admin/service':[_0x39254c(0xcc)],'@core/admin/api/client':[_0x39254c(0xd9),_0x39254c(0xae),'apiUrl',_0x39254c(0xcd),_0x39254c(0xa7),'setTokens','clearTokens'],'@core/admin/hooks/useVome':[_0x39254c(0xe4)],'@core/admin/hooks/useBrowser':[_0x39254c(0xcb)],'@core/admin/hooks/useUpload':[_0x39254c(0xdf)],'@core/admin/crud/useCrud':[_0x39254c(0xbf),_0x39254c(0xc4),_0x39254c(0xc1),'useSearch',_0x39254c(0xbb)],'@core/admin/crud/plugins':['Plugins',_0x39254c(0xe3)],'@core/admin/crud/confirm':[_0x39254c(0xde)],'@core/admin/crud/style':[_0x39254c(0xe2),_0x39254c(0xc9),_0x39254c(0xa5),_0x39254c(0xa4),'crudT',_0x39254c(0xd2),_0x39254c(0xab)],'@core/admin/crud/registry':[_0x39254c(0xd5),_0x39254c(0xd0)],'@core/admin/lib/tree':['deepTree',_0x39254c(0xaf)],'@core/admin/lib/json':[_0x39254c(0xb5),_0x39254c(0xda),'textOfJson',_0x39254c(0xc3)],'@core/admin/lib/dialog-float':['preventDialogOutsideClose',_0x39254c(0xbc),_0x39254c(0xdc)],'@core/admin/lib/eps':[_0x39254c(0xe1),_0x39254c(0xb8),_0x39254c(0xdd),'findEpsEntity']}],'dirs':[_0x599121[_0x39254c(0xb1)](_0x292650,_0x39254c(0xcf)),_0x39a0da('src/stores')],'dts':_0x39a0da(_0x39254c(0xe0)),'vueTemplate':!![]}),_0x1cf4ab({'exclude':_0x726681,'globs':[_0x39254c(0xb7),_0x39254c(0xc0),_0x39254c(0xc7),_0x326415+'/components/ui/**/*.vue',_0x326415+'/components/vm-*.vue',_0x326415+_0x39254c(0xc5),_0x326415+_0x39254c(0xc6)],'resolvers':[createVomeCoreVmResolver(_0x19e178)],'dts':_0x39a0da('typings/components.d.ts'),'importPathTransform':_0x324e55})]['flat']();}
|
|
@@ -1,59 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { createRequire } from "node:module";
|
|
3
|
-
function resolveTarget(entry) {
|
|
4
|
-
if (!entry)
|
|
5
|
-
return;
|
|
6
|
-
if (typeof entry === "string")
|
|
7
|
-
return entry;
|
|
8
|
-
return typeof entry.target === "string" ? entry.target : undefined;
|
|
9
|
-
}
|
|
10
|
-
function serviceTarget(proxy) {
|
|
11
|
-
return resolveTarget(proxy["/dev/"]) ?? resolveTarget(proxy["/api/"]);
|
|
12
|
-
}
|
|
13
|
-
function slash(p) {
|
|
14
|
-
return p.replace(/\\/g, "/");
|
|
15
|
-
}
|
|
16
|
-
function resolveVomeCoreRoot(appRoot) {
|
|
17
|
-
const require = createRequire(path.join(appRoot, "package.json"));
|
|
18
|
-
try {
|
|
19
|
-
return path.dirname(require.resolve("vome-core/package.json"));
|
|
20
|
-
} catch {
|
|
21
|
-
return path.resolve(appRoot, "node_modules/vome-core");
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export function coreAlias(root = process.cwd()) {
|
|
25
|
-
const pkgRoot = resolveVomeCoreRoot(root);
|
|
26
|
-
const dist = slash(path.join(pkgRoot, "dist"));
|
|
27
|
-
const typingsAdmin = slash(path.join(pkgRoot, "typings/admin"));
|
|
28
|
-
return [
|
|
29
|
-
{ find: /^@core\/client(\/.*)?$/, replacement: `${dist}/client$1` },
|
|
30
|
-
{ find: /^@core\/typings(\/.*)?$/, replacement: `${typingsAdmin}$1` },
|
|
31
|
-
{ find: /^@core(?!\/admin)(\/.*)?$/, replacement: `${dist}$1` }
|
|
32
|
-
];
|
|
33
|
-
}
|
|
34
|
-
export function ensureMicroAppProxy(proxy) {
|
|
35
|
-
const target = serviceTarget(proxy);
|
|
36
|
-
let next = { ...proxy };
|
|
37
|
-
if (target && !next["/vome/"]) {
|
|
38
|
-
next = {
|
|
39
|
-
...next,
|
|
40
|
-
"/vome/": {
|
|
41
|
-
target,
|
|
42
|
-
changeOrigin: true,
|
|
43
|
-
xfwd: true
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
if (target && !next["/socket/"]) {
|
|
48
|
-
next = {
|
|
49
|
-
...next,
|
|
50
|
-
"/socket/": {
|
|
51
|
-
target,
|
|
52
|
-
changeOrigin: true,
|
|
53
|
-
xfwd: true,
|
|
54
|
-
ws: true
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
return next;
|
|
59
|
-
}
|
|
1
|
+
const _0x1298cd=_0x336f;(function(_0x19f3f8,_0x2c1d40){const _0x133f3f=_0x336f,_0x147d89=_0x19f3f8();while(!![]){try{const _0x5ccfa7=-parseInt(_0x133f3f(0x1c0))/0x1+parseInt(_0x133f3f(0x1ba))/0x2*(-parseInt(_0x133f3f(0x1bd))/0x3)+parseInt(_0x133f3f(0x1c2))/0x4+-parseInt(_0x133f3f(0x1bf))/0x5+-parseInt(_0x133f3f(0x1bb))/0x6+parseInt(_0x133f3f(0x1b5))/0x7+-parseInt(_0x133f3f(0x1b4))/0x8*(-parseInt(_0x133f3f(0x1c1))/0x9);if(_0x5ccfa7===_0x2c1d40)break;else _0x147d89['push'](_0x147d89['shift']());}catch(_0x3b1838){_0x147d89['push'](_0x147d89['shift']());}}}(_0x176e,0x6e31a));import _0x273ac3 from'node:path';import{createRequire}from'node:module';function resolveTarget(_0x4dfbf6){const _0x26db4a=_0x336f;if(!_0x4dfbf6)return;if(typeof _0x4dfbf6===_0x26db4a(0x1c7))return _0x4dfbf6;return typeof _0x4dfbf6[_0x26db4a(0x1c9)]===_0x26db4a(0x1c7)?_0x4dfbf6[_0x26db4a(0x1c9)]:undefined;}function _0x176e(){const _0x7e3846=['DgfYz2v0','CMvWBgfJzq','mta3ndrVvg9VvMq','mtqXnJu0mvr4C2PxEa','l3zVBwuV','zgLYBMfTzq','l3nVy2TLDc8','zgLZDa','mNftA2LguW','mJiXmdKWngrTC1nwwG','DhLWAw5NCY9Hzg1PBG','mte0otC3mwjtwePQrq','DM9Tzs1JB3jLl3bHy2THz2uUANnVBG','ndm0odmYmhfYDfboBG','nJiZntGYDfbtq1bi','mtq5mtnUsefYExi','mta3nduWoePhBwzMrG','AM9PBG','CMvZB2X2zq','l2fWAs8','y3DK','C3rYAw5N','l2rLDI8'];_0x176e=function(){return _0x7e3846;};return _0x176e();}function serviceTarget(_0x4a8ff9){const _0x56fa3e=_0x336f;return resolveTarget(_0x4a8ff9[_0x56fa3e(0x1c8)])??resolveTarget(_0x4a8ff9[_0x56fa3e(0x1c5)]);}function slash(_0xda4913){const _0x1c905e=_0x336f;return _0xda4913[_0x1c905e(0x1ca)](/\\/g,'/');}function resolveVomeCoreRoot(_0x1b050d){const _0x168365=_0x336f,_0x41b1bf=createRequire(_0x273ac3[_0x168365(0x1c3)](_0x1b050d,'package.json'));try{return _0x273ac3[_0x168365(0x1b7)](_0x41b1bf[_0x168365(0x1c4)](_0x168365(0x1be)));}catch{return _0x273ac3[_0x168365(0x1c4)](_0x1b050d,'node_modules/vome-core');}}function _0x336f(_0x57cbd0,_0x41b8df){_0x57cbd0=_0x57cbd0-0x1b4;const _0x176eaf=_0x176e();let _0x336fca=_0x176eaf[_0x57cbd0];if(_0x336f['ktKKIw']===undefined){var _0x5257ec=function(_0x198341){const _0x8d4a87='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x273ac3='',_0x4dfbf6='';for(let _0x4a8ff9=0x0,_0xda4913,_0x1b050d,_0x41b1bf=0x0;_0x1b050d=_0x198341['charAt'](_0x41b1bf++);~_0x1b050d&&(_0xda4913=_0x4a8ff9%0x4?_0xda4913*0x40+_0x1b050d:_0x1b050d,_0x4a8ff9++%0x4)?_0x273ac3+=String['fromCharCode'](0xff&_0xda4913>>(-0x2*_0x4a8ff9&0x6)):0x0){_0x1b050d=_0x8d4a87['indexOf'](_0x1b050d);}for(let _0x59e688=0x0,_0x2ed6d7=_0x273ac3['length'];_0x59e688<_0x2ed6d7;_0x59e688++){_0x4dfbf6+='%'+('00'+_0x273ac3['charCodeAt'](_0x59e688)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4dfbf6);};_0x336f['NEmnra']=_0x5257ec,_0x336f['TMTpgU']={},_0x336f['ktKKIw']=!![];}const _0xb169d7=_0x176eaf[0x0],_0x540253=_0x57cbd0+_0xb169d7,_0xe65e7a=_0x336f['TMTpgU'][_0x540253];return!_0xe65e7a?(_0x336fca=_0x336f['NEmnra'](_0x336fca),_0x336f['TMTpgU'][_0x540253]=_0x336fca):_0x336fca=_0xe65e7a,_0x336fca;}export function coreAlias(_0x59e688=process[_0x1298cd(0x1c6)]()){const _0x2ea16b=_0x1298cd,_0x2ed6d7=resolveVomeCoreRoot(_0x59e688),_0x3e12b7=slash(_0x273ac3[_0x2ea16b(0x1c3)](_0x2ed6d7,_0x2ea16b(0x1b9))),_0x5f5d38=slash(_0x273ac3[_0x2ea16b(0x1c3)](_0x2ed6d7,_0x2ea16b(0x1bc)));return[{'find':/^@core\/client(\/.*)?$/,'replacement':_0x3e12b7+'/client$1'},{'find':/^@core\/typings(\/.*)?$/,'replacement':_0x5f5d38+'$1'},{'find':/^@core(?!\/admin)(\/.*)?$/,'replacement':_0x3e12b7+'$1'}];}export function ensureMicroAppProxy(_0x50d9ef){const _0x3afb78=_0x1298cd,_0x35e48e=serviceTarget(_0x50d9ef);let _0x47c294={..._0x50d9ef};return _0x35e48e&&!_0x47c294[_0x3afb78(0x1b6)]&&(_0x47c294={..._0x47c294,'/vome/':{'target':_0x35e48e,'changeOrigin':!![],'xfwd':!![]}}),_0x35e48e&&!_0x47c294[_0x3afb78(0x1b8)]&&(_0x47c294={..._0x47c294,'/socket/':{'target':_0x35e48e,'changeOrigin':!![],'xfwd':!![],'ws':!![]}}),_0x47c294;}
|
|
@@ -1,308 +1 @@
|
|
|
1
|
-
import fs from "node:fs";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
function toCamel(str) {
|
|
4
|
-
return str.replace(/([^-])(?:-+([^-]))/g, (_m, a, b) => a + String(b).toUpperCase());
|
|
5
|
-
}
|
|
6
|
-
function toPascal(str) {
|
|
7
|
-
const c = toCamel(str);
|
|
8
|
-
return c ? c[0].toUpperCase() + c.slice(1) : "Entity";
|
|
9
|
-
}
|
|
10
|
-
function methodName(p) {
|
|
11
|
-
return p.replace(/^\//, "").replace(/[:,\s/-]/g, "");
|
|
12
|
-
}
|
|
13
|
-
function tsType(col) {
|
|
14
|
-
const t = String(col.type || "string").toLowerCase();
|
|
15
|
-
if (["int", "integer", "bigint", "number", "float", "double", "decimal"].some((x) => t.includes(x)))
|
|
16
|
-
return "number";
|
|
17
|
-
if (["bool", "boolean"].some((x) => t.includes(x)))
|
|
18
|
-
return "boolean";
|
|
19
|
-
if (t.includes("json") || t.includes("array"))
|
|
20
|
-
return "any";
|
|
21
|
-
return "string";
|
|
22
|
-
}
|
|
23
|
-
function buildEpsDts(map, side) {
|
|
24
|
-
const list = Object.values(map).flat().filter((e) => e.prefix);
|
|
25
|
-
const entityBlocks = [];
|
|
26
|
-
const serviceBlocks = [];
|
|
27
|
-
const tree = {};
|
|
28
|
-
const sideRe = new RegExp(`^${side}/?`);
|
|
29
|
-
for (const e of list) {
|
|
30
|
-
const prefix = e.prefix.replace(/^\//, "");
|
|
31
|
-
const parts = prefix.replace(sideRe, "").split("/").filter(Boolean);
|
|
32
|
-
const leaf = parts[parts.length - 1] || "index";
|
|
33
|
-
const entityName = e.name && e.name.endsWith("Entity") ? e.name : `${toPascal(parts.join("_") || leaf)}Entity`;
|
|
34
|
-
const serviceName = toPascal(parts.join("_") || leaf);
|
|
35
|
-
const cols = [...e.columns || [], ...e.pageColumns || []];
|
|
36
|
-
const seen = new Set;
|
|
37
|
-
const fields = cols.filter((c) => c.propertyName && !seen.has(c.propertyName) && seen.add(c.propertyName)).map((c) => {
|
|
38
|
-
const comment = c.comment ? ` /** ${c.comment} */
|
|
39
|
-
` : "";
|
|
40
|
-
return `${comment} ${c.propertyName}?: ${tsType(c)};`;
|
|
41
|
-
}).join(`
|
|
42
|
-
|
|
43
|
-
`);
|
|
44
|
-
entityBlocks.push(` interface ${entityName} {
|
|
45
|
-
${fields || "\t\tid?: number;"}
|
|
46
|
-
|
|
47
|
-
[key: string]: any;
|
|
48
|
-
}`);
|
|
49
|
-
const apis = e.api || [];
|
|
50
|
-
const methods = new Map;
|
|
51
|
-
for (const a of apis) {
|
|
52
|
-
const n = methodName(a.path || "");
|
|
53
|
-
if (!n || /[-:]/.test(n))
|
|
54
|
-
continue;
|
|
55
|
-
const sum = a.summary ? ` /** ${a.summary} */
|
|
56
|
-
` : "";
|
|
57
|
-
if (n === "page") {
|
|
58
|
-
methods.set(n, `${sum} page(data?: any): Promise<{ list: ${entityName}[]; pagination: { page: number; size: number; total: number } }>;`);
|
|
59
|
-
} else if (n === "list") {
|
|
60
|
-
methods.set(n, `${sum} list(data?: any): Promise<${entityName}[]>;`);
|
|
61
|
-
} else if (n === "info") {
|
|
62
|
-
methods.set(n, `${sum} info(data?: { id: number | string }): Promise<${entityName}>;`);
|
|
63
|
-
} else {
|
|
64
|
-
methods.set(n, `${sum} ${n}(data?: any): Promise<any>;`);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
const permKeys = [...methods.keys()];
|
|
68
|
-
serviceBlocks.push(` interface ${serviceName} {
|
|
69
|
-
${[...methods.values()].join(`
|
|
70
|
-
|
|
71
|
-
`)}
|
|
72
|
-
|
|
73
|
-
namespace: string;
|
|
74
|
-
permission: { ${permKeys.map((k) => `${k}: string`).join("; ")} };
|
|
75
|
-
_permission: { ${permKeys.map((k) => `${k}: boolean`).join("; ")} };
|
|
76
|
-
request: Eps.Request;
|
|
77
|
-
}`);
|
|
78
|
-
let node = tree;
|
|
79
|
-
for (let i = 0;i < parts.length; i++) {
|
|
80
|
-
const key = toCamel(parts[i]);
|
|
81
|
-
if (i === parts.length - 1) {
|
|
82
|
-
node[key] = serviceName;
|
|
83
|
-
} else {
|
|
84
|
-
if (!node[key] || typeof node[key] === "string")
|
|
85
|
-
node[key] = {};
|
|
86
|
-
node = node[key];
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
function renderTree(n, indent = 2) {
|
|
91
|
-
const pad = "\t".repeat(indent);
|
|
92
|
-
return Object.entries(n).map(([k, v]) => {
|
|
93
|
-
if (typeof v === "string")
|
|
94
|
-
return `${pad}${k}: ${v};`;
|
|
95
|
-
return `${pad}${k}: {
|
|
96
|
-
${renderTree(v, indent + 1)}
|
|
97
|
-
${pad}};`;
|
|
98
|
-
}).join(`
|
|
99
|
-
`);
|
|
100
|
-
}
|
|
101
|
-
return `declare namespace Eps {
|
|
102
|
-
type RequestOptions = {
|
|
103
|
-
url?: string;
|
|
104
|
-
method?: string;
|
|
105
|
-
data?: any;
|
|
106
|
-
params?: any;
|
|
107
|
-
[key: string]: any;
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
type Request = (options?: RequestOptions) => Promise<any>;
|
|
111
|
-
|
|
112
|
-
${entityBlocks.join(`
|
|
113
|
-
|
|
114
|
-
`)}
|
|
115
|
-
|
|
116
|
-
${serviceBlocks.join(`
|
|
117
|
-
|
|
118
|
-
`)}
|
|
119
|
-
|
|
120
|
-
type Service = {
|
|
121
|
-
request: Request;
|
|
122
|
-
${renderTree(tree)}
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
`;
|
|
126
|
-
}
|
|
127
|
-
async function fetchEps(apiUrl) {
|
|
128
|
-
try {
|
|
129
|
-
const res = await fetch(apiUrl, { signal: AbortSignal.timeout(5000) });
|
|
130
|
-
const json = await res.json();
|
|
131
|
-
if (json?.code !== 1000 || !json.data || typeof json.data !== "object") {
|
|
132
|
-
return null;
|
|
133
|
-
}
|
|
134
|
-
const data = json.data;
|
|
135
|
-
const rawModules = !Array.isArray(data) && "modules" in data && data.modules && typeof data.modules === "object" && !Array.isArray(data.modules) ? data.modules : !Array.isArray(data) ? data : null;
|
|
136
|
-
const modules = rawModules;
|
|
137
|
-
if (!modules || !Object.keys(modules).length)
|
|
138
|
-
return null;
|
|
139
|
-
const dict = !Array.isArray(data) && "dict" in data && data.dict && typeof data.dict === "object" && !Array.isArray(data.dict) ? data.dict : {};
|
|
140
|
-
const eps = !Array.isArray(data) && "eps" in data && typeof data.eps === "boolean" ? data.eps : true;
|
|
141
|
-
return { eps, modules, dict };
|
|
142
|
-
} catch {}
|
|
143
|
-
return null;
|
|
144
|
-
}
|
|
145
|
-
const SKIP_HOT = ["eps.json", "eps.d.ts", "node_modules", "/dist/", "/build/"];
|
|
146
|
-
export function createEpsVitePlugin(options) {
|
|
147
|
-
const raw = options.apiBase?.trim();
|
|
148
|
-
if (!raw) {
|
|
149
|
-
throw new Error("[vome-eps] apiBase is required (pass host proxy target from app config)");
|
|
150
|
-
}
|
|
151
|
-
const sideMode = options.side ?? "app";
|
|
152
|
-
const dtsSide = options.dtsSide ?? (sideMode === "both" ? "admin" : sideMode);
|
|
153
|
-
const apiBase = raw.replace(/\/$/, "");
|
|
154
|
-
let root = "";
|
|
155
|
-
let outDir = "";
|
|
156
|
-
let bootOk = false;
|
|
157
|
-
let bootTried = false;
|
|
158
|
-
let timer = null;
|
|
159
|
-
let running = null;
|
|
160
|
-
function readBundleFromJson(rawJson) {
|
|
161
|
-
if (!rawJson || typeof rawJson !== "object")
|
|
162
|
-
return null;
|
|
163
|
-
const obj = rawJson;
|
|
164
|
-
if (obj.admin || obj.app) {
|
|
165
|
-
return {
|
|
166
|
-
eps: typeof obj.eps === "boolean" ? obj.eps : false,
|
|
167
|
-
admin: obj.admin || {},
|
|
168
|
-
app: obj.app || {},
|
|
169
|
-
dict: obj.dict && typeof obj.dict === "object" ? obj.dict : {}
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
return {
|
|
173
|
-
eps: false,
|
|
174
|
-
admin: dtsSide === "admin" ? obj : {},
|
|
175
|
-
app: dtsSide === "app" ? obj : {},
|
|
176
|
-
dict: {}
|
|
177
|
-
};
|
|
178
|
-
}
|
|
179
|
-
async function generate(reason = "start") {
|
|
180
|
-
if (!root)
|
|
181
|
-
return { changed: false };
|
|
182
|
-
if (bootTried && reason === "start")
|
|
183
|
-
return { changed: false };
|
|
184
|
-
const distDir = path.resolve(root, options.dist || "build");
|
|
185
|
-
const dtsPath = path.resolve(root, options.dts || "typings/eps.d.ts");
|
|
186
|
-
const jsonPath = path.join(distDir, "eps.json");
|
|
187
|
-
const needAdmin = sideMode === "admin" || sideMode === "both";
|
|
188
|
-
const needApp = sideMode === "app" || sideMode === "both";
|
|
189
|
-
const [adminHit, appHit] = await Promise.all([
|
|
190
|
-
needAdmin ? fetchEps(`${apiBase}/admin/base/open/eps`) : Promise.resolve(null),
|
|
191
|
-
needApp ? fetchEps(`${apiBase}/app/base/open/eps`) : Promise.resolve(null)
|
|
192
|
-
]);
|
|
193
|
-
let bundle = null;
|
|
194
|
-
if (adminHit || appHit) {
|
|
195
|
-
const epsFlag = typeof adminHit?.eps === "boolean" ? adminHit.eps : typeof appHit?.eps === "boolean" ? appHit.eps : true;
|
|
196
|
-
bundle = {
|
|
197
|
-
eps: epsFlag,
|
|
198
|
-
admin: adminHit?.modules || {},
|
|
199
|
-
app: appHit?.modules || {},
|
|
200
|
-
dict: adminHit?.dict || appHit?.dict || {}
|
|
201
|
-
};
|
|
202
|
-
} else if (reason !== "hot") {
|
|
203
|
-
try {
|
|
204
|
-
bundle = readBundleFromJson(JSON.parse(fs.readFileSync(jsonPath, "utf8")));
|
|
205
|
-
} catch {
|
|
206
|
-
bundle = null;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
const mapForDts = dtsSide === "admin" ? bundle?.admin : bundle?.app;
|
|
210
|
-
if (!bundle || !mapForDts || !Object.keys(mapForDts).length) {
|
|
211
|
-
if (reason === "start") {
|
|
212
|
-
console.warn("[vome-eps] skip generate (no data), will retry once");
|
|
213
|
-
} else if (reason === "retry") {
|
|
214
|
-
console.warn("[vome-eps] skip generate (no data)");
|
|
215
|
-
}
|
|
216
|
-
if (reason === "start" || reason === "retry")
|
|
217
|
-
bootTried = true;
|
|
218
|
-
return { changed: false };
|
|
219
|
-
}
|
|
220
|
-
const dts = buildEpsDts(mapForDts, dtsSide);
|
|
221
|
-
const json = JSON.stringify(bundle, null, 2);
|
|
222
|
-
fs.mkdirSync(distDir, { recursive: true });
|
|
223
|
-
fs.mkdirSync(path.dirname(dtsPath), { recursive: true });
|
|
224
|
-
let changed = true;
|
|
225
|
-
try {
|
|
226
|
-
changed = fs.readFileSync(dtsPath, "utf8") !== dts || fs.readFileSync(jsonPath, "utf8") !== json;
|
|
227
|
-
} catch {
|
|
228
|
-
changed = true;
|
|
229
|
-
}
|
|
230
|
-
if (changed) {
|
|
231
|
-
fs.writeFileSync(jsonPath, json);
|
|
232
|
-
fs.writeFileSync(dtsPath, dts);
|
|
233
|
-
console.log(`[vome-eps] updated ${options.dts || "typings/eps.d.ts"} (${dtsSide})`);
|
|
234
|
-
}
|
|
235
|
-
bootOk = true;
|
|
236
|
-
bootTried = true;
|
|
237
|
-
return { changed };
|
|
238
|
-
}
|
|
239
|
-
function scheduleHot(send) {
|
|
240
|
-
if (timer)
|
|
241
|
-
clearTimeout(timer);
|
|
242
|
-
timer = setTimeout(() => {
|
|
243
|
-
timer = null;
|
|
244
|
-
const run = running ??= generate("hot").finally(() => {
|
|
245
|
-
running = null;
|
|
246
|
-
});
|
|
247
|
-
run.then(({ changed }) => {
|
|
248
|
-
if (!changed)
|
|
249
|
-
return;
|
|
250
|
-
send({ type: "custom", event: "eps-update", data: { changed: true } });
|
|
251
|
-
});
|
|
252
|
-
}, 400);
|
|
253
|
-
}
|
|
254
|
-
return {
|
|
255
|
-
name: "vome-eps",
|
|
256
|
-
configResolved(cfg) {
|
|
257
|
-
root = cfg.root;
|
|
258
|
-
outDir = path.resolve(cfg.root, cfg.build.outDir || "dist");
|
|
259
|
-
},
|
|
260
|
-
async buildStart() {
|
|
261
|
-
await generate("start");
|
|
262
|
-
},
|
|
263
|
-
async configureServer(server) {
|
|
264
|
-
if (!bootOk) {
|
|
265
|
-
setTimeout(() => void generate("retry"), 3000);
|
|
266
|
-
}
|
|
267
|
-
const distDir = path.resolve(root, options.dist || "build");
|
|
268
|
-
const jsonPath = path.join(distDir, "eps.json");
|
|
269
|
-
server.middlewares.use((req, res, next) => {
|
|
270
|
-
const url = req.url?.split("?")[0] ?? "";
|
|
271
|
-
if (url === "/eps.json" || url.endsWith("/eps.json")) {
|
|
272
|
-
try {
|
|
273
|
-
res.setHeader("Content-Type", "application/json; charset=utf-8");
|
|
274
|
-
res.end(fs.readFileSync(jsonPath));
|
|
275
|
-
return;
|
|
276
|
-
} catch {}
|
|
277
|
-
}
|
|
278
|
-
if (req.url === "/@vite/client") {
|
|
279
|
-
scheduleHot((payload) => {
|
|
280
|
-
(server.hot || server.ws).send(payload);
|
|
281
|
-
});
|
|
282
|
-
}
|
|
283
|
-
next();
|
|
284
|
-
});
|
|
285
|
-
},
|
|
286
|
-
closeBundle() {
|
|
287
|
-
const distDir = path.resolve(root, options.dist || "build");
|
|
288
|
-
const src = path.join(distDir, "eps.json");
|
|
289
|
-
if (!outDir || !fs.existsSync(src))
|
|
290
|
-
return;
|
|
291
|
-
try {
|
|
292
|
-
fs.mkdirSync(outDir, { recursive: true });
|
|
293
|
-
fs.copyFileSync(src, path.join(outDir, "eps.json"));
|
|
294
|
-
console.log("[vome-eps] copied eps.json →", path.join(outDir, "eps.json"));
|
|
295
|
-
} catch (e) {
|
|
296
|
-
console.warn("[vome-eps] copy eps.json to dist failed", e);
|
|
297
|
-
}
|
|
298
|
-
},
|
|
299
|
-
handleHotUpdate({ file, server }) {
|
|
300
|
-
const f = file.replace(/\\/g, "/");
|
|
301
|
-
if (SKIP_HOT.some((x) => f.includes(x)))
|
|
302
|
-
return;
|
|
303
|
-
scheduleHot((payload) => {
|
|
304
|
-
(server.hot || server.ws).send(payload);
|
|
305
|
-
});
|
|
306
|
-
}
|
|
307
|
-
};
|
|
308
|
-
}
|
|
1
|
+
const _0x1d1b43=_0x503b;(function(_0x4e8c13,_0x563490){const _0x3b1e21=_0x503b,_0x114b08=_0x4e8c13();while(!![]){try{const _0x3dcace=parseInt(_0x3b1e21(0x1de))/0x1+parseInt(_0x3b1e21(0x1e7))/0x2*(-parseInt(_0x3b1e21(0x22b))/0x3)+parseInt(_0x3b1e21(0x1ca))/0x4*(-parseInt(_0x3b1e21(0x1e5))/0x5)+-parseInt(_0x3b1e21(0x22c))/0x6+-parseInt(_0x3b1e21(0x23c))/0x7+-parseInt(_0x3b1e21(0x216))/0x8+parseInt(_0x3b1e21(0x22d))/0x9*(parseInt(_0x3b1e21(0x232))/0xa);if(_0x3dcace===_0x563490)break;else _0x114b08['push'](_0x114b08['shift']());}catch(_0x13f23b){_0x114b08['push'](_0x114b08['shift']());}}}(_0x43ce,0xce8f0));import _0x4824d7 from'node:fs';import _0x67b2e0 from'node:path';function toCamel(_0x240862){const _0x1a055e=_0x503b;return _0x240862[_0x1a055e(0x1d7)](/([^-])(?:-+([^-]))/g,(_0x1efad2,_0x54400b,_0x3f0677)=>_0x54400b+String(_0x3f0677)['toUpperCase']());}function toPascal(_0x4139){const _0x18ef11=_0x503b,_0x4004e2=toCamel(_0x4139);return _0x4004e2?_0x4004e2[0x0][_0x18ef11(0x1ea)]()+_0x4004e2[_0x18ef11(0x1f2)](0x1):_0x18ef11(0x222);}function methodName(_0x229877){const _0x337416=_0x503b;return _0x229877[_0x337416(0x1d7)](/^\//,'')[_0x337416(0x1d7)](/[:,\s/-]/g,'');}function tsType(_0x23dec3){const _0x37016d=_0x503b,_0x2e9d34=String(_0x23dec3[_0x37016d(0x1ec)]||_0x37016d(0x1fd))[_0x37016d(0x206)]();if(['int',_0x37016d(0x1dd),'bigint',_0x37016d(0x205),_0x37016d(0x235),_0x37016d(0x20b),_0x37016d(0x229)][_0x37016d(0x228)](_0x516369=>_0x2e9d34['includes'](_0x516369)))return'number';if([_0x37016d(0x1c3),_0x37016d(0x210)][_0x37016d(0x228)](_0x1734d0=>_0x2e9d34[_0x37016d(0x209)](_0x1734d0)))return'boolean';if(_0x2e9d34[_0x37016d(0x209)]('json')||_0x2e9d34[_0x37016d(0x209)](_0x37016d(0x22e)))return _0x37016d(0x1cd);return _0x37016d(0x1fd);}function _0x43ce(){const _0x31b790=['ChjVCgvYDhLoyw1L','BwfW','AgfZ','ywXS','DM9Tzs1LChm','CMvWBgfJzq','zgf0yq','yxbPqMfZzq','yNvPBgq','zgLZDa','ih07cGKjx3bLCM1PC3nPB246ihSG','Aw50zwDLCG','nZe4mJq1vfn2yMLn','w3zVBwuTzxbZxsbJB3b5igvWCY5QC29UihrVigrPC3qGzMfPBgvK','cwLUDgvYzMfJzsa','w3zVBwuTzxbZxsb1CgrHDgvKia','y29WEuzPBgvtEw5J','DxrMoa','ih07cGKjCMvXDwvZDdOGrxbZlLjLCxvLC3q7cGL9','nxnrvu5pAq','zxbZlMqUDhm','mtiWodzJthvouMi','zxbZlxvWzgf0zq','DgvZDa','Dg9vChbLCKnHC2u','cGOjcw5HBwvZCgfJztOGC3rYAw5NoWOjcxbLCM1PC3nPB246ihSG','DhLWzq','y29TBwvUDa','cqLSAxn0kgrHDge/oIbHBNKPoIbqCM9TAxnLpa','Bg9N','C3vTBwfYEq','CM9VDa','C2XPy2u','CMvZB2X2zq','ChvZAa','AxnbCNjHEq','BwTKAxjtEw5J','yxbP','w10+oW','ChjLzML4','C3bSAxq','pZOG','zhrZ','C3rYAw5N','Cgf0Aa','DxjS','cGOjcvTRzxK6ihn0CMLUz106igfUEtSkcx0','w3zVBwuTzxbZxsbZA2LWigDLBMvYyxrLicHUBYbKyxrHksWGD2LSBcbYzxrYEsbVBMnL','Bw9KDwXLCW','B2jQzwn0','ANnVBG','BNvTyMvY','Dg9mB3DLCKnHC2u','zMXHDa','A2v5CW','Aw5JBhvKzxm','oIbIB29SzwfU','zg91yMXL','zw5KC1DPDgG','kgrHDge/oIbHBNKPoIbqCM9TAxnLpgfUEt47','w107ihbHz2LUyxrPB246ihSGCgfNztOGBNvTyMvYoYbZAxPLoIbUDw1Izxi7ihrVDgfSoIbUDw1IzxiGFsb9pJS','Aw5KzxG','yM9VBgvHBG','BMfTzq','C2v0','cqLPBMzVkgrHDge/oIb7igLKoIbUDw1IzxiGFcbZDhjPBMCGFsK6ifbYB21PC2u8','CMv0CNK','icOVcG','mJKYntGWogv5v1jNDG','DMfSDwvZ','zw5K','zMLSDgvY','D3jPDgvgAwXLu3LUyW','l2fWCc9IyxnLl29Wzw4VzxbZ','CMvHzezPBgvtEw5J','yxbW','zgvJBgfYzsbUyw1LC3bHy2uGrxbZihSkcxr5CguGuMvXDwvZDe9WDgLVBNmGpsb7cGKjDxjSpZOGC3rYAw5NoWOjcw1LDgHVzd86ihn0CMLUzZSkcqLKyxrHpZOGyw55oWOjcxbHCMfTCZ86igfUEtSkcqLBA2v5oIbZDhjPBMDDoIbHBNK7cGL9oWOkcxr5CguGuMvXDwvZDca9icHVChrPB25ZpZOGuMvXDwvZDe9WDgLVBNmPid0+ifbYB21PC2u8yw55pJSkcG','DhLWAw5NCY9LChmUzc50CW','l2vWCY5QC29U','oIbZDhjPBMC','rw50Axr5','CgfYC2u','DgLTzw91Da','cqLWywDLkgrHDge/oIbHBNKPoIbqCM9TAxnLphSGBgLZDdOG','BgvUz3rO','Ag90','C29Tzq','zgvJAw1HBa','y29SDw1UCW','ndi5vMn0ufjI','ndm2mte3mMzcExDmBG','mZi3ndu3ntnou3zkwMG','yxjYyxK','BgLZDa','ywrTAw4','DxnL','mtbNEuTiALK','DhjPBq','zgLJDa','zMXVyxq','C2vUza','C3rHCNq','l0b2AxrLl2nSAwvUDa','DgHLBG','zgLYBMfTzq','zxbZlMPZB24','mtG1mty0uuPXsgre','yM9VBa','D2fYBG','l2fKBwLUl2jHC2uVB3bLBI9LChm','yM90Aa','l2rPC3qV','AM9PBG','B3v0rgLY','nJeWotyZnKfTB05jCW','w3zVBwuTzxbZxsbHCgLcyxnLigLZihjLCxvPCMvKicHWyxnZigHVC3qGChjVEhKGDgfYz2v0igzYB20GyxbWignVBMzPzYK','cqKVkIOG','yw55','zxbZ','y3vZDg9T','C2v0sgvHzgvY','w3zVBwuTzxbZxsbZA2LWigDLBMvYyxrLicHUBYbKyxrHkq'];_0x43ce=function(){return _0x31b790;};return _0x43ce();}function buildEpsDts(_0x1f942c,_0x38223a){const _0x5f4967=_0x503b,_0x414a05=Object[_0x5f4967(0x217)](_0x1f942c)[_0x5f4967(0x207)]()[_0x5f4967(0x219)](_0x5a01b5=>_0x5a01b5['prefix']),_0x2c9c22=[],_0x84083=[],_0x3d25e0={},_0x5e9b58=new RegExp('^'+_0x38223a+'/?');for(const _0xc4ea96 of _0x414a05){const _0x596a42=_0xc4ea96[_0x5f4967(0x1f9)][_0x5f4967(0x1d7)](/^\//,''),_0x271342=_0x596a42[_0x5f4967(0x1d7)](_0x5e9b58,'')[_0x5f4967(0x1fa)]('/')[_0x5f4967(0x219)](Boolean),_0xa29000=_0x271342[_0x271342[_0x5f4967(0x226)]-0x1]||_0x5f4967(0x20f),_0x426f74=_0xc4ea96['name']&&_0xc4ea96[_0x5f4967(0x211)][_0x5f4967(0x20c)](_0x5f4967(0x222))?_0xc4ea96[_0x5f4967(0x211)]:toPascal(_0x271342[_0x5f4967(0x1c8)]('_')||_0xa29000)+_0x5f4967(0x222),_0x58b37e=toPascal(_0x271342['join']('_')||_0xa29000),_0x1f13e2=[..._0xc4ea96[_0x5f4967(0x22a)]||[],..._0xc4ea96['pageColumns']||[]],_0x208e7f=new Set(),_0x1f024d=_0x1f13e2['filter'](_0x56f4f7=>_0x56f4f7[_0x5f4967(0x1d2)]&&!_0x208e7f[_0x5f4967(0x1d4)](_0x56f4f7['propertyName'])&&_0x208e7f['add'](_0x56f4f7[_0x5f4967(0x1d2)]))[_0x5f4967(0x1d3)](_0x186571=>{const _0x117766=_0x5f4967,_0x339416=_0x186571[_0x117766(0x1ed)]?'\x09\x09/**\x20'+_0x186571[_0x117766(0x1ed)]+_0x117766(0x215):'';return _0x339416+'\x09\x09'+_0x186571[_0x117766(0x1d2)]+_0x117766(0x1fb)+tsType(_0x186571)+';';})[_0x5f4967(0x1c8)]('\x0a\x0a');_0x2c9c22[_0x5f4967(0x1f4)](_0x5f4967(0x1e0)+_0x426f74+'\x20{\x0a'+(_0x1f024d||'\x09\x09id?:\x20number;')+_0x5f4967(0x200));const _0x2693fe=_0xc4ea96[_0x5f4967(0x1f7)]||[],_0x19c0df=new Map();for(const _0x18c0c0 of _0x2693fe){const _0x11584e=methodName(_0x18c0c0[_0x5f4967(0x1fe)]||'');if(!_0x11584e||/[-:]/[_0x5f4967(0x1e9)](_0x11584e))continue;const _0x592d29=_0x18c0c0[_0x5f4967(0x1f0)]?_0x5f4967(0x1cc)+_0x18c0c0[_0x5f4967(0x1f0)]+_0x5f4967(0x215):'';if(_0x11584e==='page')_0x19c0df['set'](_0x11584e,_0x592d29+_0x5f4967(0x225)+_0x426f74+_0x5f4967(0x20e));else{if(_0x11584e===_0x5f4967(0x22f))_0x19c0df[_0x5f4967(0x212)](_0x11584e,_0x592d29+_0x5f4967(0x1ee)+_0x426f74+_0x5f4967(0x1f8));else _0x11584e==='info'?_0x19c0df[_0x5f4967(0x212)](_0x11584e,_0x592d29+_0x5f4967(0x213)+_0x426f74+'>;'):_0x19c0df[_0x5f4967(0x212)](_0x11584e,_0x592d29+'\x09\x09'+_0x11584e+_0x5f4967(0x20d));}}const _0x24db63=[..._0x19c0df[_0x5f4967(0x208)]()];_0x84083[_0x5f4967(0x1f4)]('\x09interface\x20'+_0x58b37e+'\x20{\x0a'+[..._0x19c0df[_0x5f4967(0x217)]()][_0x5f4967(0x1c8)]('\x0a\x0a')+_0x5f4967(0x1eb)+_0x24db63['map'](_0x5d2217=>_0x5d2217+_0x5f4967(0x221))['join'](';\x20')+_0x5f4967(0x1dc)+_0x24db63[_0x5f4967(0x1d3)](_0x1f7db5=>_0x1f7db5+_0x5f4967(0x20a))[_0x5f4967(0x1c8)](';\x20')+_0x5f4967(0x1e4));let _0x53e8e0=_0x3d25e0;for(let _0x340493=0x0;_0x340493<_0x271342[_0x5f4967(0x226)];_0x340493++){const _0x11494a=toCamel(_0x271342[_0x340493]);if(_0x340493===_0x271342[_0x5f4967(0x226)]-0x1)_0x53e8e0[_0x11494a]=_0x58b37e;else{if(!_0x53e8e0[_0x11494a]||typeof _0x53e8e0[_0x11494a]===_0x5f4967(0x1fd))_0x53e8e0[_0x11494a]={};_0x53e8e0=_0x53e8e0[_0x11494a];}}}function _0x428703(_0x5ac7b1,_0x165f12=0x2){const _0x353426=_0x5f4967,_0x39b292='\x09'['repeat'](_0x165f12);return Object['entries'](_0x5ac7b1)[_0x353426(0x1d3)](([_0x3dd6e6,_0x341fb0])=>{if(typeof _0x341fb0==='string')return''+_0x39b292+_0x3dd6e6+':\x20'+_0x341fb0+';';return''+_0x39b292+_0x3dd6e6+':\x20{\x0a'+_0x428703(_0x341fb0,_0x165f12+0x1)+'\x0a'+_0x39b292+'};';})[_0x353426(0x1c8)]('\x0a');}return _0x5f4967(0x21e)+_0x2c9c22['join']('\x0a\x0a')+'\x0a\x0a'+_0x84083[_0x5f4967(0x1c8)]('\x0a\x0a')+'\x0a\x0a\x09type\x20Service\x20=\x20{\x0a\x09\x09request:\x20Request;\x0a'+_0x428703(_0x3d25e0)+'\x0a\x09};\x0a}\x0a';}function _0x503b(_0x3643f2,_0x4c0101){_0x3643f2=_0x3643f2-0x1c3;const _0x43ce20=_0x43ce();let _0x503b60=_0x43ce20[_0x3643f2];if(_0x503b['onKPMr']===undefined){var _0x4b8039=function(_0x383e42){const _0xfa017a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4824d7='',_0x67b2e0='';for(let _0x240862=0x0,_0x1efad2,_0x54400b,_0x3f0677=0x0;_0x54400b=_0x383e42['charAt'](_0x3f0677++);~_0x54400b&&(_0x1efad2=_0x240862%0x4?_0x1efad2*0x40+_0x54400b:_0x54400b,_0x240862++%0x4)?_0x4824d7+=String['fromCharCode'](0xff&_0x1efad2>>(-0x2*_0x240862&0x6)):0x0){_0x54400b=_0xfa017a['indexOf'](_0x54400b);}for(let _0x4139=0x0,_0x4004e2=_0x4824d7['length'];_0x4139<_0x4004e2;_0x4139++){_0x67b2e0+='%'+('00'+_0x4824d7['charCodeAt'](_0x4139)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x67b2e0);};_0x503b['nWlXtj']=_0x4b8039,_0x503b['FPaqAv']={},_0x503b['onKPMr']=!![];}const _0x52dbd5=_0x43ce20[0x0],_0x27d40f=_0x3643f2+_0x52dbd5,_0x486624=_0x503b['FPaqAv'][_0x27d40f];return!_0x486624?(_0x503b60=_0x503b['nWlXtj'](_0x503b60),_0x503b['FPaqAv'][_0x27d40f]=_0x503b60):_0x503b60=_0x486624,_0x503b60;}async function fetchEps(_0x30ea6a){const _0x33ac4d=_0x503b;try{const _0x491c15=await fetch(_0x30ea6a,{'signal':AbortSignal[_0x33ac4d(0x224)](0x1388)}),_0x2c6162=await _0x491c15[_0x33ac4d(0x204)]();if(_0x2c6162?.['code']!==0x3e8||!_0x2c6162['data']||typeof _0x2c6162[_0x33ac4d(0x1d8)]!==_0x33ac4d(0x203))return null;const _0x1c3f60=_0x2c6162[_0x33ac4d(0x1d8)],_0xe22ffe=!Array[_0x33ac4d(0x1f5)](_0x1c3f60)&&_0x33ac4d(0x202)in _0x1c3f60&&_0x1c3f60[_0x33ac4d(0x202)]&&typeof _0x1c3f60[_0x33ac4d(0x202)]==='object'&&!Array[_0x33ac4d(0x1f5)](_0x1c3f60[_0x33ac4d(0x202)])?_0x1c3f60[_0x33ac4d(0x202)]:!Array[_0x33ac4d(0x1f5)](_0x1c3f60)?_0x1c3f60:null,_0x1d6eb7=_0xe22ffe;if(!_0x1d6eb7||!Object[_0x33ac4d(0x208)](_0x1d6eb7)[_0x33ac4d(0x226)])return null;const _0x5a6057=!Array[_0x33ac4d(0x1f5)](_0x1c3f60)&&'dict'in _0x1c3f60&&_0x1c3f60[_0x33ac4d(0x234)]&&typeof _0x1c3f60[_0x33ac4d(0x234)]==='object'&&!Array[_0x33ac4d(0x1f5)](_0x1c3f60['dict'])?_0x1c3f60[_0x33ac4d(0x234)]:{},_0x530daf=!Array[_0x33ac4d(0x1f5)](_0x1c3f60)&&'eps'in _0x1c3f60&&typeof _0x1c3f60[_0x33ac4d(0x1ce)]==='boolean'?_0x1c3f60[_0x33ac4d(0x1ce)]:!![];return{'eps':_0x530daf,'modules':_0x1d6eb7,'dict':_0x5a6057};}catch{}return null;}const SKIP_HOT=[_0x1d1b43(0x23b),_0x1d1b43(0x1e6),'node_modules',_0x1d1b43(0x1c7),'/build/'];export function createEpsVitePlugin(_0x460f18){const _0x3a7792=_0x1d1b43,_0x30de4f=_0x460f18[_0x3a7792(0x1d9)]?.[_0x3a7792(0x233)]();if(!_0x30de4f)throw new Error(_0x3a7792(0x1cb));const _0x270922=_0x460f18['side']??'app',_0x441353=_0x460f18['dtsSide']??(_0x270922===_0x3a7792(0x1c6)?_0x3a7792(0x230):_0x270922),_0x4e78cc=_0x30de4f[_0x3a7792(0x1d7)](/\/$/,'');let _0x4e105e='',_0x22a4aa='',_0x34d4ae=![],_0x3876f2=![],_0x416f06=null,_0x319e5d=null;function _0x2e53dd(_0xd3b4ad){const _0xcc4f17=_0x3a7792;if(!_0xd3b4ad||typeof _0xd3b4ad!==_0xcc4f17(0x203))return null;const _0x565402=_0xd3b4ad;if(_0x565402[_0xcc4f17(0x230)]||_0x565402[_0xcc4f17(0x21d)])return{'eps':typeof _0x565402[_0xcc4f17(0x1ce)]===_0xcc4f17(0x210)?_0x565402[_0xcc4f17(0x1ce)]:![],'admin':_0x565402[_0xcc4f17(0x230)]||{},'app':_0x565402[_0xcc4f17(0x21d)]||{},'dict':_0x565402[_0xcc4f17(0x234)]&&typeof _0x565402[_0xcc4f17(0x234)]===_0xcc4f17(0x203)?_0x565402['dict']:{}};return{'eps':![],'admin':_0x441353===_0xcc4f17(0x230)?_0x565402:{},'app':_0x441353===_0xcc4f17(0x21d)?_0x565402:{},'dict':{}};}async function _0x49b2b5(_0x57449c=_0x3a7792(0x237)){const _0x4b0926=_0x3a7792;if(!_0x4e105e)return{'changed':![]};if(_0x3876f2&&_0x57449c===_0x4b0926(0x237))return{'changed':![]};const _0x4f0e98=_0x67b2e0[_0x4b0926(0x1f3)](_0x4e105e,_0x460f18[_0x4b0926(0x1db)]||'build'),_0x2e5c37=_0x67b2e0[_0x4b0926(0x1f3)](_0x4e105e,_0x460f18[_0x4b0926(0x1fc)]||_0x4b0926(0x21f)),_0x487dd8=_0x67b2e0['join'](_0x4f0e98,_0x4b0926(0x23b)),_0x25a9f1=_0x270922==='admin'||_0x270922===_0x4b0926(0x1c6),_0x6228d9=_0x270922==='app'||_0x270922==='both',[_0x23a878,_0x4166d3]=await Promise[_0x4b0926(0x1d5)]([_0x25a9f1?fetchEps(_0x4e78cc+_0x4b0926(0x1c5)):Promise['resolve'](null),_0x6228d9?fetchEps(_0x4e78cc+_0x4b0926(0x21b)):Promise['resolve'](null)]);let _0x4851e2=null;if(_0x23a878||_0x4166d3){const _0x556c34=typeof _0x23a878?.[_0x4b0926(0x1ce)]==='boolean'?_0x23a878['eps']:typeof _0x4166d3?.[_0x4b0926(0x1ce)]===_0x4b0926(0x210)?_0x4166d3[_0x4b0926(0x1ce)]:!![];_0x4851e2={'eps':_0x556c34,'admin':_0x23a878?.[_0x4b0926(0x202)]||{},'app':_0x4166d3?.['modules']||{},'dict':_0x23a878?.[_0x4b0926(0x234)]||_0x4166d3?.[_0x4b0926(0x234)]||{}};}else{if(_0x57449c!==_0x4b0926(0x227))try{_0x4851e2=_0x2e53dd(JSON[_0x4b0926(0x223)](_0x4824d7[_0x4b0926(0x21c)](_0x487dd8,'utf8')));}catch{_0x4851e2=null;}}const _0x591e39=_0x441353==='admin'?_0x4851e2?.[_0x4b0926(0x230)]:_0x4851e2?.[_0x4b0926(0x21d)];if(!_0x4851e2||!_0x591e39||!Object[_0x4b0926(0x208)](_0x591e39)[_0x4b0926(0x226)]){if(_0x57449c===_0x4b0926(0x237))console[_0x4b0926(0x1c4)](_0x4b0926(0x201));else _0x57449c===_0x4b0926(0x214)&&console[_0x4b0926(0x1c4)](_0x4b0926(0x1d1));if(_0x57449c===_0x4b0926(0x237)||_0x57449c===_0x4b0926(0x214))_0x3876f2=!![];return{'changed':![]};}const _0x304979=buildEpsDts(_0x591e39,_0x441353),_0x3b0ade=JSON['stringify'](_0x4851e2,null,0x2);_0x4824d7[_0x4b0926(0x1f6)](_0x4f0e98,{'recursive':!![]}),_0x4824d7['mkdirSync'](_0x67b2e0[_0x4b0926(0x23a)](_0x2e5c37),{'recursive':!![]});let _0xd5e1bc=!![];try{_0xd5e1bc=_0x4824d7[_0x4b0926(0x21c)](_0x2e5c37,_0x4b0926(0x1e3))!==_0x304979||_0x4824d7[_0x4b0926(0x21c)](_0x487dd8,_0x4b0926(0x1e3))!==_0x3b0ade;}catch{_0xd5e1bc=!![];}return _0xd5e1bc&&(_0x4824d7[_0x4b0926(0x21a)](_0x487dd8,_0x3b0ade),_0x4824d7[_0x4b0926(0x21a)](_0x2e5c37,_0x304979),console['log'](_0x4b0926(0x1e1)+(_0x460f18[_0x4b0926(0x1fc)]||_0x4b0926(0x21f))+'\x20('+_0x441353+')')),_0x34d4ae=!![],_0x3876f2=!![],{'changed':_0xd5e1bc};}function _0x42eb3f(_0x419c52){if(_0x416f06)clearTimeout(_0x416f06);_0x416f06=setTimeout(()=>{const _0x1c8905=_0x503b;_0x416f06=null;const _0x48c4b3=_0x319e5d??=_0x49b2b5(_0x1c8905(0x227))['finally'](()=>{_0x319e5d=null;});_0x48c4b3[_0x1c8905(0x239)](({changed:_0x977975})=>{const _0x157476=_0x1c8905;if(!_0x977975)return;_0x419c52({'type':_0x157476(0x1cf),'event':_0x157476(0x1e8),'data':{'changed':!![]}});});},0x190);}return{'name':_0x3a7792(0x1d6),'configResolved'(_0x2f4f2a){const _0x41a5db=_0x3a7792;_0x4e105e=_0x2f4f2a[_0x41a5db(0x1f1)],_0x22a4aa=_0x67b2e0[_0x41a5db(0x1f3)](_0x2f4f2a['root'],_0x2f4f2a[_0x41a5db(0x1da)][_0x41a5db(0x1c9)]||_0x41a5db(0x1db));},async 'buildStart'(){await _0x49b2b5('start');},async 'configureServer'(_0x3492f4){const _0x5101d5=_0x3a7792;!_0x34d4ae&&setTimeout(()=>void _0x49b2b5(_0x5101d5(0x214)),0xbb8);const _0x1dabc4=_0x67b2e0[_0x5101d5(0x1f3)](_0x4e105e,_0x460f18['dist']||_0x5101d5(0x1da)),_0xa58a7e=_0x67b2e0[_0x5101d5(0x1c8)](_0x1dabc4,_0x5101d5(0x23b));_0x3492f4['middlewares'][_0x5101d5(0x231)]((_0x2e978c,_0x551043,_0x7a7011)=>{const _0x1b8de3=_0x5101d5,_0x2750b3=_0x2e978c[_0x1b8de3(0x1ff)]?.[_0x1b8de3(0x1fa)]('?')[0x0]??'';if(_0x2750b3===_0x1b8de3(0x220)||_0x2750b3[_0x1b8de3(0x20c)]('/eps.json'))try{_0x551043[_0x1b8de3(0x1d0)]('Content-Type','application/json;\x20charset=utf-8'),_0x551043[_0x1b8de3(0x218)](_0x4824d7['readFileSync'](_0xa58a7e));return;}catch{}_0x2e978c[_0x1b8de3(0x1ff)]===_0x1b8de3(0x238)&&_0x42eb3f(_0x333a26=>{const _0x5e8e75=_0x1b8de3;(_0x3492f4[_0x5e8e75(0x227)]||_0x3492f4['ws'])[_0x5e8e75(0x236)](_0x333a26);}),_0x7a7011();});},'closeBundle'(){const _0x107ac1=_0x3a7792,_0x3cd3e8=_0x67b2e0[_0x107ac1(0x1f3)](_0x4e105e,_0x460f18['dist']||'build'),_0x14c8f7=_0x67b2e0[_0x107ac1(0x1c8)](_0x3cd3e8,_0x107ac1(0x23b));if(!_0x22a4aa||!_0x4824d7['existsSync'](_0x14c8f7))return;try{_0x4824d7['mkdirSync'](_0x22a4aa,{'recursive':!![]}),_0x4824d7[_0x107ac1(0x1e2)](_0x14c8f7,_0x67b2e0[_0x107ac1(0x1c8)](_0x22a4aa,'eps.json')),console[_0x107ac1(0x1ef)]('[vome-eps]\x20copied\x20eps.json\x20→',_0x67b2e0['join'](_0x22a4aa,'eps.json'));}catch(_0x829133){console[_0x107ac1(0x1c4)](_0x107ac1(0x1df),_0x829133);}},'handleHotUpdate'({file:_0x21a0a5,server:_0x11be1e}){const _0x5dec83=_0x3a7792,_0x537d1a=_0x21a0a5['replace'](/\\/g,'/');if(SKIP_HOT[_0x5dec83(0x228)](_0x597cba=>_0x537d1a[_0x5dec83(0x209)](_0x597cba)))return;_0x42eb3f(_0xb48724=>{(_0x11be1e['hot']||_0x11be1e['ws'])['send'](_0xb48724);});}};}
|