@pubinfo-pr/devtools 0.220.2 → 0.220.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.
@@ -0,0 +1,375 @@
1
+ import { B as withCtx, D as onBeforeUnmount, G as isRef, M as renderSlot, N as resolveComponent, Y as ref, b as defineComponent, f as computed, g as createElementBlock, h as createCommentVNode, it as toDisplayString, j as renderList, k as openBlock, m as createBlock, nt as normalizeClass, p as createBaseVNode, tt as unref, u as Fragment, v as createTextVNode, y as createVNode } from "./index-ByOJyids.js";
2
+ import { a as Icon_default, i as SectionBlock_default, r as Button_default, t as Navbar_default } from "./Navbar-DCdslOKs.js";
3
+ import { l as useClipboard, o as Badge_default, r as importUsageFetch } from "./fetch-CwAFBmMG.js";
4
+ import { n as FilepathItem_default, t as SelectTabs_default } from "./SelectTabs-Chnu7x16.js";
5
+ var _hoisted_1$2 = { class: "flex flex-col gap-1 items-start of-hidden" };
6
+ var _hoisted_2$2 = { class: "flex gap-2 items-center px-3" };
7
+ var _hoisted_3$2 = { class: "text-sm font-mono" };
8
+ var _hoisted_4$1 = {
9
+ key: 0,
10
+ class: "border-t n-border-base max-h-60 w-full of-auto px3 py3"
11
+ };
12
+ var _hoisted_5$1 = { "text-sm": "" };
13
+ var _hoisted_6$1 = { "text-primary": "" };
14
+ var _hoisted_7 = {
15
+ key: 0,
16
+ flex: "~ col gap-2",
17
+ "items-start": "",
18
+ pt3: "",
19
+ "text-sm": "",
20
+ op75: ""
21
+ };
22
+ var ImportDetails_default = /* @__PURE__ */ defineComponent({
23
+ __name: "ImportDetails",
24
+ props: {
25
+ importItem: {},
26
+ dependents: {},
27
+ locations: {}
28
+ },
29
+ setup(__props) {
30
+ const props = __props;
31
+ const referenceEntries = computed(() => {
32
+ const rawLocations = props.locations ?? props.importItem.locations ?? [];
33
+ if (rawLocations.length) return rawLocations.map((location) => ({
34
+ filepath: location.file,
35
+ line: location.line,
36
+ column: location.column
37
+ }));
38
+ return (props.dependents ?? props.importItem.dependents ?? []).map((filepath) => ({ filepath }));
39
+ });
40
+ const sortedReferenceEntries = computed(() => {
41
+ return [...referenceEntries.value].sort((a, b) => {
42
+ if (a.filepath === b.filepath) return (a.line ?? 0) - (b.line ?? 0);
43
+ return a.filepath.localeCompare(b.filepath);
44
+ });
45
+ });
46
+ const referencesCount = computed(() => sortedReferenceEntries.value.length);
47
+ const showDependentsPanel = computed(() => referencesCount.value > 0);
48
+ const importNameForCopy = computed(() => {
49
+ if (props.importItem.camelName) return props.importItem.camelName;
50
+ if (props.importItem.name) return props.importItem.name;
51
+ return "";
52
+ });
53
+ const { copy: copyToClipboard } = useClipboard({ legacy: true });
54
+ const copyState = ref("idle");
55
+ let copyResetHandle;
56
+ const canCopyName = computed(() => Boolean(importNameForCopy.value));
57
+ const nameCopyTooltip = computed(() => {
58
+ if (!canCopyName.value) return "Import name unavailable";
59
+ if (copyState.value === "copied") return "Copied import name";
60
+ if (copyState.value === "error") return "Failed to copy name";
61
+ return "Copy import name";
62
+ });
63
+ const nameCopyLabel = computed(() => {
64
+ if (copyState.value === "copied") return "Copied";
65
+ if (copyState.value === "error") return "Retry";
66
+ return "Copy";
67
+ });
68
+ const nameCopyIcon = computed(() => {
69
+ if (copyState.value === "copied") return "i-carbon-checkmark";
70
+ if (copyState.value === "error") return "i-carbon-warning-alt";
71
+ return "i-carbon-copy";
72
+ });
73
+ function resetCopyState() {
74
+ if (copyResetHandle) clearTimeout(copyResetHandle);
75
+ copyResetHandle = setTimeout(() => {
76
+ copyState.value = "idle";
77
+ copyResetHandle = void 0;
78
+ }, 2e3);
79
+ }
80
+ async function copyImportName() {
81
+ if (!importNameForCopy.value || !canCopyName.value) return;
82
+ try {
83
+ await copyToClipboard(importNameForCopy.value);
84
+ copyState.value = "copied";
85
+ } catch (error) {
86
+ console.error("Failed to copy import name:", error);
87
+ copyState.value = "error";
88
+ } finally {
89
+ resetCopyState();
90
+ }
91
+ }
92
+ onBeforeUnmount(() => {
93
+ if (copyResetHandle) clearTimeout(copyResetHandle);
94
+ });
95
+ return (_ctx, _cache) => {
96
+ const _component_Badge = Badge_default;
97
+ const _component_FilepathItem = FilepathItem_default;
98
+ return openBlock(), createElementBlock("div", _hoisted_1$2, [
99
+ createBaseVNode("div", _hoisted_2$2, [
100
+ createBaseVNode("code", _hoisted_3$2, toDisplayString(__props.importItem.camelName || __props.importItem.name), 1),
101
+ __props.importItem.meta?.docs && typeof __props.importItem.meta.docs === "string" ? (openBlock(), createBlock(unref(Button_default), {
102
+ key: 0,
103
+ title: "Open docs",
104
+ class: "flex-none n-xs",
105
+ to: __props.importItem.meta.docs,
106
+ target: "_blank",
107
+ icon: "i-carbon-catalog"
108
+ }, {
109
+ default: withCtx(() => [..._cache[0] || (_cache[0] = [createTextVNode(" Docs ", -1)])]),
110
+ _: 1
111
+ }, 8, ["to"])) : createCommentVNode("", true),
112
+ createVNode(unref(Button_default), {
113
+ class: "flex-none n-xs",
114
+ disabled: !canCopyName.value,
115
+ icon: nameCopyIcon.value,
116
+ title: nameCopyTooltip.value,
117
+ onClick: copyImportName
118
+ }, {
119
+ default: withCtx(() => [createTextVNode(toDisplayString(nameCopyLabel.value), 1)]),
120
+ _: 1
121
+ }, 8, [
122
+ "disabled",
123
+ "icon",
124
+ "title"
125
+ ]),
126
+ __props.importItem.meta?.category ? (openBlock(), createBlock(_component_Badge, {
127
+ key: 1,
128
+ class: "n-blue",
129
+ title: `Category: ${__props.importItem.meta.category}`
130
+ }, {
131
+ default: withCtx(() => [createTextVNode(toDisplayString(__props.importItem.meta.category), 1)]),
132
+ _: 1
133
+ }, 8, ["title"])) : createCommentVNode("", true)
134
+ ]),
135
+ showDependentsPanel.value ? (openBlock(), createElementBlock("div", _hoisted_4$1, [createBaseVNode("div", _hoisted_5$1, [createBaseVNode("strong", _hoisted_6$1, toDisplayString(referencesCount.value), 1), _cache[1] || (_cache[1] = createBaseVNode("span", { op50: "" }, " references", -1))]), referencesCount.value ? (openBlock(), createElementBlock("div", _hoisted_7, [(openBlock(true), createElementBlock(Fragment, null, renderList(sortedReferenceEntries.value, (item) => {
136
+ return openBlock(), createBlock(_component_FilepathItem, {
137
+ key: `${item.filepath}-${item.line ?? 0}-${item.column ?? 0}`,
138
+ filepath: item.filepath,
139
+ line: item.line,
140
+ column: item.column
141
+ }, null, 8, [
142
+ "filepath",
143
+ "line",
144
+ "column"
145
+ ]);
146
+ }), 128))])) : createCommentVNode("", true)])) : createCommentVNode("", true),
147
+ renderSlot(_ctx.$slots, "default")
148
+ ]);
149
+ };
150
+ }
151
+ });
152
+ var _hoisted_1$1 = { class: "group flex gap-2 w-full items-center rounded px-2 py-1 hoverLbg-active" };
153
+ var _hoisted_2$1 = { class: "text-sm font-mono" };
154
+ var _hoisted_3$1 = {
155
+ key: 0,
156
+ class: "ml--1 text-primary"
157
+ };
158
+ var ImportItem_default = /* @__PURE__ */ defineComponent({
159
+ __name: "ImportItem",
160
+ props: {
161
+ importItem: {},
162
+ dependents: {}
163
+ },
164
+ setup(__props) {
165
+ const props = __props;
166
+ const dependentsList = computed(() => props.dependents ?? props.importItem.dependents ?? []);
167
+ const referenceLocations = computed(() => props.importItem.locations ?? []);
168
+ const referenceCount = computed(() => referenceLocations.value.length || dependentsList.value.length);
169
+ return (_ctx, _cache) => {
170
+ const _component_ImportDetails = ImportDetails_default;
171
+ const _component_VDropdown = resolveComponent("VDropdown");
172
+ const _component_Badge = Badge_default;
173
+ return openBlock(), createElementBlock("div", _hoisted_1$1, [
174
+ createVNode(_component_VDropdown, null, {
175
+ popper: withCtx(() => [createVNode(_component_ImportDetails, {
176
+ "import-item": __props.importItem,
177
+ dependents: dependentsList.value,
178
+ locations: referenceLocations.value,
179
+ class: "w-100 py3"
180
+ }, null, 8, [
181
+ "import-item",
182
+ "dependents",
183
+ "locations"
184
+ ])]),
185
+ default: withCtx(() => [createBaseVNode("button", { class: normalizeClass(["hover:text-primary", referenceCount.value === 0 ? "op50" : ""]) }, [createBaseVNode("code", _hoisted_2$1, toDisplayString(__props.importItem.camelName || __props.importItem.name), 1)], 2)]),
186
+ _: 1
187
+ }),
188
+ referenceCount.value ? (openBlock(), createElementBlock("sup", _hoisted_3$1, " x" + toDisplayString(referenceCount.value), 1)) : createCommentVNode("", true),
189
+ __props.importItem.meta?.category ? (openBlock(), createBlock(_component_Badge, {
190
+ key: 1,
191
+ class: "n-blue",
192
+ title: `Category: ${__props.importItem.meta.category}`
193
+ }, {
194
+ default: withCtx(() => [createTextVNode(toDisplayString(__props.importItem.meta.category), 1)]),
195
+ _: 1
196
+ }, 8, ["title"])) : createCommentVNode("", true),
197
+ renderSlot(_ctx.$slots, "default")
198
+ ]);
199
+ };
200
+ }
201
+ });
202
+ var _hoisted_1 = { class: "relative h-full flex flex-col of-hidden" };
203
+ var _hoisted_2 = { class: "flex items-center gap-2" };
204
+ var _hoisted_3 = { class: "flex-1 of-auto" };
205
+ var _hoisted_4 = { class: "flex flex-col gap-2 px4 py3" };
206
+ var _hoisted_5 = {
207
+ key: 0,
208
+ class: "text-sm text-red op75"
209
+ };
210
+ var _hoisted_6 = {
211
+ key: 1,
212
+ class: "text-sm op50 px2 py1"
213
+ };
214
+ var import_default = /* @__PURE__ */ defineComponent({
215
+ name: "ImportPage",
216
+ __name: "import",
217
+ setup(__props) {
218
+ const search = ref("");
219
+ const filterMode = ref("all");
220
+ const { execute, data, error, isFetching } = importUsageFetch;
221
+ if (!data.value) execute();
222
+ computed(() => data.value?.stats ?? {
223
+ total: 0,
224
+ used: 0,
225
+ unused: 0
226
+ });
227
+ const imports = computed(() => data.value?.imports ?? []);
228
+ const normalizedSearch = computed(() => search.value.trim().toLowerCase());
229
+ const packageStats = computed(() => {
230
+ const map = /* @__PURE__ */ new Map();
231
+ imports.value.forEach((importItem) => {
232
+ if (!map.has(importItem.package)) map.set(importItem.package, {
233
+ total: 0,
234
+ used: 0,
235
+ unused: 0
236
+ });
237
+ const stats = map.get(importItem.package);
238
+ stats.total += 1;
239
+ if (importItem.count > 0) stats.used += 1;
240
+ else stats.unused += 1;
241
+ });
242
+ return map;
243
+ });
244
+ function matchesFilter(importItem, mode) {
245
+ if (mode === "using") return importItem.count > 0;
246
+ if (mode === "not-used") return importItem.count === 0;
247
+ return true;
248
+ }
249
+ function matchesQuery(importItem, query) {
250
+ if (!query) return true;
251
+ return [
252
+ importItem.name,
253
+ importItem.camelName,
254
+ importItem.package,
255
+ ...importItem.dependents
256
+ ].join(" ").toLowerCase().includes(query);
257
+ }
258
+ const filteredImports = computed(() => {
259
+ const query = normalizedSearch.value;
260
+ const mode = filterMode.value;
261
+ return [...imports.value].sort((a, b) => {
262
+ if (a.count === b.count) return a.name.localeCompare(b.name);
263
+ return b.count - a.count;
264
+ }).filter((importItem) => matchesFilter(importItem, mode) && matchesQuery(importItem, query));
265
+ });
266
+ computed(() => filteredImports.value.length);
267
+ const FALLBACK_GROUP_ORDER = Number.MAX_SAFE_INTEGER;
268
+ function resolvePackageGroupMeta(pkg) {
269
+ return {
270
+ label: pkg,
271
+ icon: "i-carbon-function",
272
+ order: FALLBACK_GROUP_ORDER
273
+ };
274
+ }
275
+ const groupedImports = computed(() => {
276
+ const grouped = /* @__PURE__ */ new Map();
277
+ filteredImports.value.forEach((importItem) => {
278
+ if (!grouped.has(importItem.package)) grouped.set(importItem.package, []);
279
+ grouped.get(importItem.package).push(importItem);
280
+ });
281
+ return Array.from(grouped.entries()).map(([pkg, items]) => {
282
+ const meta = resolvePackageGroupMeta(pkg);
283
+ const stats = packageStats.value.get(pkg) ?? {
284
+ total: items.length,
285
+ used: items.filter((item) => item.count > 0).length,
286
+ unused: items.filter((item) => item.count === 0).length
287
+ };
288
+ return {
289
+ id: pkg,
290
+ label: meta.label,
291
+ icon: meta.icon,
292
+ order: meta.order ?? Number.MAX_SAFE_INTEGER,
293
+ items,
294
+ stats
295
+ };
296
+ }).sort((a, b) => {
297
+ if (a.order === b.order) return a.label.localeCompare(b.label);
298
+ return a.order - b.order;
299
+ });
300
+ });
301
+ const emptyStateMessage = computed(() => {
302
+ if (isFetching.value && !imports.value.length) return "正在扫描 Import/Hook 使用情况...";
303
+ if (!imports.value.length) return "还没有可追踪的 Import/Hook。";
304
+ return "没有符合条件的 Import/Hook。";
305
+ });
306
+ const requestError = computed(() => {
307
+ const raw = error.value;
308
+ if (!raw) return "";
309
+ if (typeof raw === "string") return raw;
310
+ if (raw instanceof Error) return raw.message;
311
+ try {
312
+ return JSON.stringify(raw);
313
+ } catch {
314
+ return "获取 Import/Hook 使用数据失败";
315
+ }
316
+ });
317
+ return (_ctx, _cache) => {
318
+ const _component_Icon = Icon_default;
319
+ const _component_SelectTabs = SelectTabs_default;
320
+ const _component_Navbar = Navbar_default;
321
+ const _component_ImportItem = ImportItem_default;
322
+ const _component_SectionBlock = SectionBlock_default;
323
+ return openBlock(), createElementBlock("div", _hoisted_1, [createVNode(_component_Navbar, {
324
+ search: unref(search),
325
+ "onUpdate:search": _cache[1] || (_cache[1] = ($event) => isRef(search) ? search.value = $event : null),
326
+ class: "pb3 flex-none"
327
+ }, {
328
+ default: withCtx(() => [createBaseVNode("div", _hoisted_2, [createVNode(_component_Icon, {
329
+ icon: "i-carbon-filter",
330
+ class: "op50"
331
+ }), createVNode(_component_SelectTabs, {
332
+ modelValue: unref(filterMode),
333
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(filterMode) ? filterMode.value = $event : null),
334
+ class: "n-primary n-sm",
335
+ options: [
336
+ {
337
+ label: "All",
338
+ value: "all"
339
+ },
340
+ {
341
+ label: "Using",
342
+ value: "using"
343
+ },
344
+ {
345
+ label: "Not used",
346
+ value: "not-used"
347
+ }
348
+ ]
349
+ }, null, 8, ["modelValue"])])]),
350
+ _: 1
351
+ }, 8, ["search"]), createBaseVNode("div", _hoisted_3, [createBaseVNode("div", _hoisted_4, [unref(requestError) ? (openBlock(), createElementBlock("div", _hoisted_5, toDisplayString(unref(requestError)), 1)) : !unref(filteredImports).length ? (openBlock(), createElementBlock("div", _hoisted_6, toDisplayString(unref(emptyStateMessage)), 1)) : (openBlock(true), createElementBlock(Fragment, { key: 2 }, renderList(unref(groupedImports), (group) => {
352
+ return openBlock(), createBlock(_component_SectionBlock, {
353
+ key: group.id,
354
+ text: group.label,
355
+ description: `Total imports: ${group.stats.total}`,
356
+ icon: group.icon
357
+ }, {
358
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(group.items, (importEntry) => {
359
+ return openBlock(), createBlock(_component_ImportItem, {
360
+ key: `${importEntry.package}-${importEntry.name}`,
361
+ "import-item": importEntry,
362
+ dependents: importEntry.dependents
363
+ }, null, 8, ["import-item", "dependents"]);
364
+ }), 128))]),
365
+ _: 2
366
+ }, 1032, [
367
+ "text",
368
+ "description",
369
+ "icon"
370
+ ]);
371
+ }), 128))])])]);
372
+ };
373
+ }
374
+ });
375
+ export { import_default as default };
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./pages-CfWIiNIx.js","./fetch-DxuBXEk3.js","./server-router-Bu5965f8.js","./server-router-8PynUpe5.css"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./pages-D4LiKgxN.js","./_plugin-vue_export-helper-D8E0syuh.js","./fetch-CwAFBmMG.js","./PanelGrids-Bq_2z9g3.js","./pages-DQ8FtB9Y.css","./component-Qe9twpoz.js","./Navbar-DCdslOKs.js","./Navbar-D8ux538U.css","./SelectTabs-Chnu7x16.js","./import-DV9l8S2T.js","./issue-MdUzHAB3.js","./issue-BHrGN1_d.css","./server-router-DuEpkdvh.js","./server-router-B1AB70as.css"])))=>i.map(i=>d[i]);
2
2
  (function polyfill() {
3
3
  const relList = document.createElement("link").relList;
4
4
  if (relList && relList.supports && relList.supports("modulepreload")) return;
@@ -4439,6 +4439,11 @@ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false
4439
4439
  function createTextVNode(text = " ", flag = 0) {
4440
4440
  return createVNode(Text, null, text, flag);
4441
4441
  }
4442
+ function createStaticVNode(content, numberOfNodes) {
4443
+ const vnode = createVNode(Static, null, content);
4444
+ vnode.staticCount = numberOfNodes;
4445
+ return vnode;
4446
+ }
4442
4447
  function createCommentVNode(text = "", asBlock = false) {
4443
4448
  return asBlock ? (openBlock(), createBlock(Comment, null, text)) : createVNode(Comment, null, text);
4444
4449
  }
@@ -9340,15 +9345,33 @@ const __vitePreload = function preload(baseModule, deps, importerUrl) {
9340
9345
  return baseModule().catch(handlePreloadError);
9341
9346
  });
9342
9347
  };
9343
- const routes = [{
9344
- path: "/",
9345
- name: "/",
9346
- component: () => __vitePreload(() => import("./pages-CfWIiNIx.js"), __vite__mapDeps([0,1]), import.meta.url)
9347
- }, {
9348
- path: "/server-router",
9349
- name: "/server-router",
9350
- component: () => __vitePreload(() => import("./server-router-Bu5965f8.js"), __vite__mapDeps([2,1,3]), import.meta.url)
9351
- }];
9348
+ const routes = [
9349
+ {
9350
+ path: "/",
9351
+ name: "/",
9352
+ component: () => __vitePreload(() => import("./pages-D4LiKgxN.js"), __vite__mapDeps([0,1,2,3,4]), import.meta.url)
9353
+ },
9354
+ {
9355
+ path: "/component",
9356
+ name: "/component",
9357
+ component: () => __vitePreload(() => import("./component-Qe9twpoz.js"), __vite__mapDeps([5,2,6,1,7,8]), import.meta.url)
9358
+ },
9359
+ {
9360
+ path: "/import",
9361
+ name: "/import",
9362
+ component: () => __vitePreload(() => import("./import-DV9l8S2T.js"), __vite__mapDeps([9,2,6,1,7,8]), import.meta.url)
9363
+ },
9364
+ {
9365
+ path: "/issue",
9366
+ name: "/issue",
9367
+ component: () => __vitePreload(() => import("./issue-MdUzHAB3.js"), __vite__mapDeps([10,1,3,11]), import.meta.url)
9368
+ },
9369
+ {
9370
+ path: "/server-router",
9371
+ name: "/server-router",
9372
+ component: () => __vitePreload(() => import("./server-router-DuEpkdvh.js"), __vite__mapDeps([12,1,2,6,7,3,13]), import.meta.url)
9373
+ }
9374
+ ];
9352
9375
  var _hoisted_1$1 = { class: "w-full h-full of-auto!" };
9353
9376
  var Layout_default = /* @__PURE__ */ defineComponent({
9354
9377
  name: "Layout",
@@ -9389,4 +9412,4 @@ var router = createRouter({
9389
9412
  app.use(router);
9390
9413
  app.use(Gt);
9391
9414
  app.mount("#app");
9392
- export { normalizeStyle as $, resolveComponent as A, effectScope as B, nextTick as C, provide as D, openBlock as E, watch as F, readonly as G, isRef as H, watchEffect as I, shallowRef as J, ref as K, withCtx as L, resolveDynamicComponent as M, useModel as N, renderList as O, useSlots as P, normalizeClass as Q, withDirectives as R, mergeProps as S, onMounted as T, onScopeDispose as U, getCurrentScope as V, reactive as W, toValue as X, toRef as Y, unref as Z, defineComponent as _, vModelDynamic as a, inject as b, Fragment as c, createBaseVNode as d, toDisplayString as et, createBlock as f, createVNode as g, createTextVNode as h, vModelCheckbox as i, resolveDirective as j, renderSlot as k, KeepAlive as l, createElementBlock as m, RouterLink as n, vModelSelect as o, createCommentVNode as p, shallowReadonly as q, Transition as r, withKeys as s, __vitePreload as t, computed as u, getCurrentInstance as v, onBeforeUnmount as w, mergeModels as x, h$2 as y, customRef as z };
9415
+ export { toRef as $, provide as A, withCtx as B, inject as C, onBeforeUnmount as D, nextTick as E, resolveDynamicComponent as F, isRef as G, customRef as H, useModel as I, readonly as J, onScopeDispose as K, useSlots as L, renderSlot as M, resolveComponent as N, onMounted as O, resolveDirective as P, toRaw as Q, watch as R, h$2 as S, mergeProps as T, effectScope as U, withDirectives as V, getCurrentScope as W, shallowReadonly as X, ref as Y, shallowRef as Z, createStaticVNode as _, vModelDynamic as a, defineComponent as b, vModelText as c, KeepAlive as d, toValue as et, computed as f, createElementBlock as g, createCommentVNode as h, vModelCheckbox as i, toDisplayString as it, renderList as j, openBlock as k, withKeys as l, createBlock as m, RouterLink as n, normalizeClass as nt, vModelRadio as o, createBaseVNode as p, reactive as q, Transition as r, normalizeStyle as rt, vModelSelect as s, __vitePreload as t, unref as tt, Fragment as u, createTextVNode as v, mergeModels as w, getCurrentInstance as x, createVNode as y, watchEffect as z };