@opentiny/tiny-engine-plugin-bridge 2.1.0 → 2.2.0-beta.3

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/LICENSE CHANGED
@@ -1,22 +1,22 @@
1
- MIT License
2
-
3
- Copyright (c) 2023 - present TinyEngine Authors.
4
- Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd.
5
-
6
- Permission is hereby granted, free of charge, to any person obtaining a copy
7
- of this software and associated documentation files (the "Software"), to deal
8
- in the Software without restriction, including without limitation the rights
9
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- copies of the Software, and to permit persons to whom the Software is
11
- furnished to do so, subject to the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be included in all
14
- copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2023 - present TinyEngine Authors.
4
+ Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd.
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
package/dist/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  import "./style.css";
2
- import { reactive as j, ref as k, watchEffect as Z, resolveComponent as m, openBlock as v, createElementBlock as A, createElementVNode as _, createVNode as s, withCtx as l, Fragment as ee, renderList as te, normalizeClass as ne, withModifiers as K, toDisplayString as U, computed as R, watch as oe, onMounted as ae, createBlock as C, createTextVNode as L, withDirectives as se, vShow as re, createCommentVNode as N, nextTick as le } from "vue";
3
- import { SearchEmpty as ce, PluginSetting as ie, VueMonaco as de, SvgButton as $, PluginPanel as pe } from "@opentiny/tiny-engine-common";
4
- import { getMetaApi as b, META_SERVICE as x, useResource as B, useNotify as V, useModal as ue, getMergeMeta as me } from "@opentiny/tiny-engine-meta-register";
2
+ import { reactive as z, ref as N, watchEffect as Z, resolveComponent as i, openBlock as f, createElementBlock as L, createElementVNode as v, createVNode as s, withCtx as l, Fragment as te, renderList as ne, normalizeClass as oe, withModifiers as K, toDisplayString as U, computed as C, watch as ae, onMounted as se, createBlock as E, createTextVNode as w, createCommentVNode as T, nextTick as re } from "vue";
3
+ import { SearchEmpty as le, SvgButton as j, PluginSetting as ce, VueMonaco as ie, ButtonGroup as de, PluginPanel as pe } from "@opentiny/tiny-engine-common";
4
+ import { getMetaApi as b, META_SERVICE as S, useResource as B, useNotify as k, useModal as ue, getMergeMeta as me } from "@opentiny/tiny-engine-meta-register";
5
5
  import { isVsCodeEnv as ge } from "@opentiny/tiny-engine-common/js/environments";
6
- import { generateBridge as ye, generateUtil as fe } from "@opentiny/tiny-engine-common/js/vscodeGenerateFile";
7
- import { Search as _e, Form as ve, Input as he, Button as Ee, FormItem as Re, Checkbox as Ce, RadioGroup as Ve, Radio as Se } from "@opentiny/vue";
8
- import { iconSearch as be } from "@opentiny/vue-icon";
9
- const xe = (n, t) => b(x.Http).get(`/app-center/api/apps/extension/list?app=${n}&category=${t}`), Te = (n) => b(x.Http).post("/app-center/api/apps/extension/create", n), ke = (n) => b(x.Http).post("/app-center/api/apps/extension/update", n), Ne = (n) => b(x.Http).get(`/app-center/api/apps/extension/delete?${n}`), Ue = (n) => {
10
- b(x.Http).get(`/app-center/api/apps/schema/${n}`).then((t) => {
11
- ye(t.bridge), fe(t.utils);
6
+ import { generateBridge as ye, generateUtil as _e } from "@opentiny/tiny-engine-common/js/vscodeGenerateFile";
7
+ import { Search as fe, Form as ve, Input as he, Button as Ee, FormItem as Re, Checkbox as Ce, RadioGroup as Ve, Radio as be } from "@opentiny/vue";
8
+ import { iconSearch as Se } from "@opentiny/vue-icon";
9
+ const xe = (n, t) => b(S.Http).get(`/app-center/api/apps/extension/list?app=${n}&category=${t}`), Te = (n) => b(S.Http).post("/app-center/api/apps/extension/create", n), ke = (n) => b(S.Http).post("/app-center/api/apps/extension/update", n), Ne = (n) => b(S.Http).get(`/app-center/api/apps/extension/delete?${n}`), Ue = (n) => {
10
+ b(S.Http).get(`/app-center/api/apps/schema/${n}`).then((t) => {
11
+ ye(t.bridge), _e(t.utils);
12
12
  });
13
- }, c = j({
13
+ }, u = z({
14
14
  actionType: "",
15
15
  type: "",
16
16
  category: "",
@@ -37,168 +37,182 @@ const xe = (n, t) => b(x.Http).get(`/app-center/api/apps/extension/list?app=${n}
37
37
  type: "JSFunction",
38
38
  value: ""
39
39
  }
40
- }, S = {
40
+ }, V = {
41
41
  Util: "utils",
42
42
  Bridge: "bridge"
43
- }, F = {
43
+ }, A = {
44
44
  Npm: "npm",
45
45
  Function: "function"
46
46
  }, Ie = {
47
- [S.Util]: "新建工具类",
48
- [S.Bridge]: "新建桥接源"
47
+ [V.Util]: "新建工具类",
48
+ [V.Bridge]: "新建桥接源"
49
49
  }, I = {
50
50
  Read: "read",
51
51
  Edit: "edit"
52
- }, w = () => b(x.GlobalService).getBaseInfo().id, we = (n) => c.resourceNames[n], Oe = (n, t) => {
53
- c.resourceNames[n] = t;
52
+ }, D = () => b(S.GlobalService).getBaseInfo().id, Oe = (n) => u.resourceNames[n], we = (n, t) => {
53
+ u.resourceNames[n] = t;
54
54
  }, Le = (n) => {
55
- const t = w();
55
+ const t = D();
56
56
  return xe(t, n);
57
- }, Y = () => c.actionType, M = (n) => {
58
- c.actionType = n;
59
- }, Ae = () => c.resource, G = (n = Q) => {
60
- n || (n = c.category === F.Function ? Be : Q), c.resource = n;
61
- }, P = () => c.type, X = (n) => {
62
- c.type = n;
57
+ }, Y = () => u.actionType, G = (n) => {
58
+ u.actionType = n;
59
+ }, Ae = () => u.resource, M = (n = Q) => {
60
+ n || (n = u.category === A.Function ? Be : Q), u.resource = n;
61
+ }, F = () => u.type, X = (n) => {
62
+ u.type = n;
63
63
  }, H = (n) => {
64
- c.category = n;
65
- }, q = () => c.category, z = (...n) => {
64
+ u.category = n;
65
+ }, q = () => u.category, $ = (...n) => {
66
66
  ge && Ue(...n);
67
- }, Fe = (n, t, p) => {
68
- Y() === I.Edit ? (n.id = c.resource.id, ke(n).then((e) => {
67
+ }, Fe = async (n, t, m) => {
68
+ const e = Y() === I.Edit;
69
+ try {
69
70
  if (e) {
70
- const o = B().appSchemaState[n.category].findIndex((y) => y.name === e.name);
71
- if (o === -1) {
72
- V({
73
- type: "error",
74
- message: "修改失败"
75
- });
76
- return;
71
+ n.id = u.resource.id;
72
+ const o = await ke(n);
73
+ if (o) {
74
+ const y = B().appSchemaState[n.category].findIndex((c) => c.name === o.name);
75
+ if (y === -1) {
76
+ k({
77
+ type: "error",
78
+ message: "修改失败"
79
+ });
80
+ return;
81
+ }
82
+ B().appSchemaState[n.category][y] = o;
77
83
  }
78
- B().appSchemaState[n.category][o] = e, z(w()), V({
79
- type: "success",
80
- message: "修改成功"
81
- }), p("refresh", c.type), c.refresh = !0, t();
84
+ } else {
85
+ const o = await Te(n);
86
+ o && B().appSchemaState[n.category].push(o);
82
87
  }
83
- })) : Te(n).then((e) => {
84
- e && (B().appSchemaState[n.category].push(e), z(w()), V({
88
+ $(D()), k({
85
89
  type: "success",
86
- message: "创建成功"
87
- }), p("refresh", c.type), c.refresh = !0, t());
88
- });
89
- }, Pe = (n, t, p) => {
90
+ message: `${e ? "修改" : "创建"}成功`
91
+ }), m("refresh", u.type), u.refresh = !0, t();
92
+ } catch (o) {
93
+ k({
94
+ type: "error",
95
+ message: `工具类${e ? "修改" : "创建"}失败:${o.message}`
96
+ });
97
+ }
98
+ }, Pe = (n, t, m) => {
90
99
  var o;
91
- const e = `app=${w()}&id=${(o = c.resource) == null ? void 0 : o.id}`;
100
+ const e = `app=${D()}&id=${(o = u.resource) == null ? void 0 : o.id}`;
92
101
  Ne(e).then((y) => {
93
102
  if (y) {
94
- const u = B().appSchemaState[c.type].findIndex((f) => f.name === y.name);
95
- if (u === -1) {
96
- V({
103
+ const c = B().appSchemaState[u.type].findIndex((_) => _.name === y.name);
104
+ if (c === -1) {
105
+ k({
97
106
  type: "error",
98
107
  message: "删除失败"
99
108
  });
100
109
  return;
101
110
  }
102
- B().appSchemaState[c.type].splice(u, 1), z(w()), V({
111
+ B().appSchemaState[u.type].splice(c, 1), $(D()), k({
103
112
  type: "success",
104
113
  message: "删除成功"
105
- }), p("refresh", c.type), c.refresh = !0, t();
114
+ }), m("refresh", u.type), u.refresh = !0, t();
106
115
  }
107
116
  });
108
117
  }, J = (n, t) => {
109
- const p = n.__vccOpts || n;
118
+ const m = n.__vccOpts || n;
110
119
  for (const [e, o] of t)
111
- p[e] = o;
112
- return p;
120
+ m[e] = o;
121
+ return m;
113
122
  }, De = {
114
123
  components: {
115
- TinySearch: _e,
116
- TinyIconSearch: be(),
117
- SearchEmpty: ce
124
+ TinySearch: fe,
125
+ TinyIconSearch: Se(),
126
+ SearchEmpty: le,
127
+ SvgButton: j
118
128
  },
119
129
  props: {
120
130
  name: {
121
131
  type: String,
122
- default: S.Util
132
+ default: V.Util
123
133
  }
124
134
  },
125
135
  emits: ["open"],
126
136
  setup(n, { emit: t }) {
127
- const p = k([]), e = j({
137
+ const m = N([]), e = z({
128
138
  resourceList: [],
129
139
  activeIndex: -1,
130
140
  searchValue: ""
131
- }), o = (a = e.resourceList, i = e.searchValue) => a.filter((r) => r.name.toLowerCase().indexOf(i.toLowerCase()) > -1), y = async (a) => {
132
- e.resourceList = await Le(a), Oe(
133
- a,
134
- Array.isArray(e.resourceList) ? e.resourceList.map((i) => i.name) : []
135
- ), p.value = o(e.resourceList);
141
+ }), o = (d = e.resourceList, r = e.searchValue) => d.filter((a) => a.name.toLowerCase().indexOf(r.toLowerCase()) > -1), y = async (d) => {
142
+ e.resourceList = await Le(d), we(
143
+ d,
144
+ Array.isArray(e.resourceList) ? e.resourceList.map((r) => r.name) : []
145
+ ), m.value = o(e.resourceList);
136
146
  };
137
147
  return Z(async () => {
138
148
  y(n.name);
139
149
  }), {
140
150
  state: e,
141
- list: p,
142
- add: (a) => {
143
- M(""), X(n.name), G(""), H(a), t("open");
151
+ list: m,
152
+ add: (d) => {
153
+ G(""), X(n.name), M(""), H(d), t("open");
144
154
  },
145
- openRead: (a, i) => {
146
- e.activeIndex = i, G(a), M(I.Edit), t("open");
155
+ openRead: (d, r) => {
156
+ e.activeIndex = r, M(d), G(I.Edit), t("open");
147
157
  },
148
- openEdit: (a, i) => {
149
- e.activeIndex = i, G(a), M(I.Edit), X(n.name), H(a.type), t("open");
158
+ openEdit: (d, r) => {
159
+ e.activeIndex = r, M(d), G(I.Edit), X(n.name), H(d.type), t("open");
150
160
  },
151
161
  refresh: y,
152
- getType: P,
153
- RESOURCE_TYPE: S,
154
- searchBridgeData: (a) => {
155
- p.value = o(e.resourceList, a);
162
+ getType: F,
163
+ RESOURCE_TYPE: V,
164
+ searchBridgeData: (d) => {
165
+ m.value = o(e.resourceList, d);
156
166
  }
157
167
  };
158
168
  }
159
- }, Me = { class: "manage-panel" }, Ge = { class: "manage-panel-search" }, qe = { class: "list" }, Ye = ["onClick"], He = { class: "item-label" };
160
- function ze(n, t, p, e, o, y) {
161
- const u = m("tiny-icon-search"), f = m("tiny-search"), h = m("svg-icon"), E = m("search-empty");
162
- return v(), A("div", Me, [
163
- _("div", Ge, [
164
- s(f, {
169
+ }, Ge = { class: "manage-panel" }, Me = { class: "manage-panel-search" }, qe = { class: "list" }, Ye = ["onClick"], He = { class: "item-label" };
170
+ function ze(n, t, m, e, o, y) {
171
+ const c = i("tiny-icon-search"), _ = i("tiny-search"), R = i("svg-icon"), h = i("svg-button"), d = i("search-empty");
172
+ return f(), L("div", Ge, [
173
+ v("div", Me, [
174
+ s(_, {
165
175
  modelValue: e.state.searchValue,
166
176
  "onUpdate:modelValue": [
167
- t[0] || (t[0] = (a) => e.state.searchValue = a),
177
+ t[0] || (t[0] = (r) => e.state.searchValue = r),
168
178
  e.searchBridgeData
169
179
  ],
170
180
  clearable: "",
171
181
  placeholder: "搜索"
172
182
  }, {
173
183
  prefix: l(() => [
174
- s(u)
184
+ s(c)
175
185
  ]),
176
186
  _: 1
177
187
  }, 8, ["modelValue", "onUpdate:modelValue"])
178
188
  ]),
179
- _("div", qe, [
180
- (v(!0), A(ee, null, te(e.list, (a, i) => (v(), A("div", {
181
- key: a.name,
182
- class: ne(["list-item", i === e.state.activeIndex ? "active" : ""]),
183
- onClick: K((r) => e.openEdit(a, i), ["stop"])
189
+ v("div", qe, [
190
+ (f(!0), L(te, null, ne(e.list, (r, a) => (f(), L("div", {
191
+ key: r.name,
192
+ class: oe(["list-item", a === e.state.activeIndex ? "active" : ""]),
193
+ onClick: K((g) => e.openEdit(r, a), ["stop"])
184
194
  }, [
185
- s(h, { name: "plugin-icon-sresources" }),
186
- _("div", He, U(a.name), 1),
195
+ s(R, {
196
+ name: "plugin-icon-sresources",
197
+ class: "list-item-icon"
198
+ }),
199
+ v("div", He, U(r.name), 1),
187
200
  s(h, {
188
201
  class: "setting-icon",
202
+ hoverBgColor: !1,
189
203
  name: "setting",
190
- onClick: K((r) => e.openEdit(a, i), ["stop"])
204
+ onClick: K((g) => e.openEdit(r, a), ["stop"])
191
205
  }, null, 8, ["onClick"])
192
206
  ], 10, Ye))), 128)),
193
- s(E, {
207
+ s(d, {
194
208
  isShow: !e.list.length
195
209
  }, null, 8, ["isShow"])
196
210
  ])
197
211
  ]);
198
212
  }
199
- const je = /* @__PURE__ */ J(De, [["render", ze], ["__scopeId", "data-v-f297beff"]]), W = k(!1), Je = () => {
200
- W.value = !0, le(() => window.dispatchEvent(new Event("resize")));
201
- }, D = () => {
213
+ const je = /* @__PURE__ */ J(De, [["render", ze], ["__scopeId", "data-v-6480187c"]]), W = N(!1), Je = () => {
214
+ W.value = !0, re(() => window.dispatchEvent(new Event("resize")));
215
+ }, P = () => {
202
216
  W.value = !1;
203
217
  }, We = {
204
218
  components: {
@@ -207,63 +221,64 @@ const je = /* @__PURE__ */ J(De, [["render", ze], ["__scopeId", "data-v-f297beff
207
221
  TinyButton: Ee,
208
222
  TinyFormItem: Re,
209
223
  TinyCheckbox: Ce,
210
- PluginSetting: ie,
211
- MonacoEditor: de,
224
+ PluginSetting: ce,
225
+ MonacoEditor: ie,
212
226
  TinyRadioGroup: Ve,
213
- TinyRadio: Se,
214
- SvgButton: $
227
+ TinyRadio: be,
228
+ SvgButton: j,
229
+ ButtonGroup: de
215
230
  },
216
231
  setup(n, { emit: t }) {
217
- const p = {
232
+ const m = {
218
233
  language: "javascript",
219
234
  mouseStyle: "default",
220
235
  minimap: { enabled: !1 },
221
236
  // 禁用滚动条边边一直显示的边框
222
237
  overviewRulerBorder: !1,
223
238
  renderLineHighlightOnlyWhenFocus: !0
224
- }, { confirm: e } = ue(), o = j({
225
- resource: R(() => Ae()),
239
+ }, { confirm: e } = ue(), o = z({
240
+ resource: C(() => Ae()),
226
241
  name: "",
227
242
  value: "",
228
243
  content: {},
229
- status: R(() => Y() === I.Edit),
230
- category: R(() => q() === F.Npm),
231
- mode: R(() => {
232
- var r;
233
- return ((r = me("engine.config")) == null ? void 0 : r.dslMode) !== "Vue";
244
+ status: C(() => Y() === I.Edit),
245
+ category: C(() => q() === A.Npm),
246
+ mode: C(() => {
247
+ var a;
248
+ return ((a = me("engine.config")) == null ? void 0 : a.dslMode) !== "Vue";
234
249
  }),
235
250
  isInstance: !1,
236
- title: R(() => {
237
- const r = Y() === I.Edit ? "编辑" : "添加", g = P() === S.Bridge ? "桥接源" : "工具类";
238
- return r + g;
251
+ title: C(() => {
252
+ const a = Y() === I.Edit ? "编辑" : "添加", g = F() === V.Bridge ? "桥接源" : "工具类";
253
+ return a + g;
239
254
  }),
240
- type: F.Npm
241
- }), y = R(() => {
242
- const r = o.name || "name";
243
- let g = r;
244
- o.content.destructuring && (o.name && o.name === o.content.exportName ? g = `{ ${o.content.exportName || "exportName"} }` : g = `{ ${o.content.exportName || "exportName"} as ${r} }`);
245
- const T = `${o.content.package || "package"}${o.content.main || ""}`;
246
- return `import ${g} from '${T}'
247
- export { ${r} }`;
255
+ type: A.Npm
256
+ }), y = C(() => {
257
+ const a = o.name || "name";
258
+ let g = a;
259
+ o.content.destructuring && (o.name && o.name === o.content.exportName ? g = `{ ${o.content.exportName || "exportName"} }` : g = `{ ${o.content.exportName || "exportName"} as ${a} }`);
260
+ const x = `${o.content.package || "package"}${o.content.main || ""}`;
261
+ return `import ${g} from '${x}'
262
+ export { ${a} }`;
248
263
  });
249
264
  Z(() => {
250
- var r, g;
251
- o.name = o.resource.name, o.content = o.resource.content || {}, o.value = ((g = (r = o.resource) == null ? void 0 : r.content) == null ? void 0 : g.value) || "", o.type = q();
252
- }), oe(
265
+ var a, g;
266
+ o.name = o.resource.name, o.content = o.resource.content || {}, o.value = ((g = (a = o.resource) == null ? void 0 : a.content) == null ? void 0 : g.value) || "", o.type = q();
267
+ }), ae(
253
268
  () => o.isInstance,
254
- (r) => {
255
- r || (o.content.instance = "");
269
+ (a) => {
270
+ a || (o.content.instance = "");
256
271
  }
257
272
  );
258
- const u = k(null), f = k(null);
259
- return ae(() => window.dispatchEvent(new Event("resize"))), {
273
+ const c = N(null), _ = N(null);
274
+ return se(() => window.dispatchEvent(new Event("resize"))), {
260
275
  rules: {
261
276
  name: [
262
277
  { required: !0, message: "必填", trigger: "change" },
263
278
  {
264
- validator: (r, g, T) => {
265
- const O = we(P());
266
- Array.isArray(O) && O.includes(g) ? T(new Error("资源名称已存在")) : T();
279
+ validator: (a, g, x) => {
280
+ const O = Oe(F());
281
+ Array.isArray(O) && O.includes(g) ? x(new Error("资源名称已存在")) : x();
267
282
  },
268
283
  trigger: "change"
269
284
  }
@@ -272,39 +287,34 @@ export { ${r} }`;
272
287
  "content.exportName": [{ required: !0, message: "必填", trigger: "change" }],
273
288
  "content.instanceName": { required: !0, message: "必填", trigger: "change" }
274
289
  },
275
- resourceForm: f,
276
- editor: u,
290
+ resourceForm: _,
291
+ editor: c,
277
292
  state: o,
278
293
  codePreview: y,
279
294
  isOpen: W,
280
- closePanel: D,
295
+ closePanel: P,
281
296
  save: () => {
282
- const r = {
283
- category: P(),
297
+ const a = {
298
+ category: F(),
284
299
  type: q(),
285
300
  name: o.name,
286
- app: b(x.GlobalService).getBaseInfo().id,
301
+ app: b(S.GlobalService).getBaseInfo().id,
287
302
  content: o.category ? o.content : {
288
303
  type: "JSFunction",
289
- value: u.value.getEditor().getValue()
304
+ value: c.value.getEditor().getValue()
290
305
  }
291
306
  };
292
- f.value.validate((g) => {
293
- if (!g) {
294
- V({
295
- type: "error",
296
- message: "请检查必填项"
297
- });
298
- return;
299
- }
300
- if (!o.category && !u.value.getEditor().getValue()) {
301
- V({
302
- type: "error",
303
- message: "function 内容必填"
304
- });
305
- return;
307
+ _.value.validate((g) => {
308
+ if (g) {
309
+ if (!o.category && !c.value.getEditor().getValue()) {
310
+ k({
311
+ type: "error",
312
+ message: "function 内容必填"
313
+ });
314
+ return;
315
+ }
316
+ Fe(a, P, t);
306
317
  }
307
- Fe(r, D, t);
308
318
  });
309
319
  },
310
320
  deleteReSource: () => {
@@ -312,54 +322,56 @@ export { ${r} }`;
312
322
  title: "删除资源",
313
323
  message: "如果删除正在使用的资源,将无法正常预览页面,确认要删除吗?",
314
324
  exec: () => {
315
- Pe(o.name, D, t);
325
+ Pe(o.name, P, t);
316
326
  }
317
327
  });
318
328
  },
319
- options: p,
320
- handleChangeType: (r) => {
321
- H(r);
329
+ options: m,
330
+ handleChangeType: (a) => {
331
+ H(a);
322
332
  },
323
- RESOURCE_CATEGORY: F
333
+ RESOURCE_CATEGORY: A
324
334
  };
325
335
  }
326
- }, Ke = { class: "title-wrap" }, Qe = { class: "header-wrap" }, Xe = { class: "right-item" }, Ze = { key: 2 }, $e = { class: "code-preview" };
327
- function et(n, t, p, e, o, y) {
328
- const u = m("tiny-button"), f = m("svg-button"), h = m("tiny-radio"), E = m("tiny-radio-group"), a = m("tiny-form-item"), i = m("tiny-input"), r = m("tiny-checkbox"), g = m("monaco-editor"), T = m("tiny-form"), O = m("plugin-setting");
329
- return e.isOpen ? (v(), C(O, { key: 0 }, {
336
+ }, Ke = { class: "title-wrap" }, Qe = { class: "right-item" }, Xe = { key: 2 }, Ze = { class: "code-preview" };
337
+ function $e(n, t, m, e, o, y) {
338
+ const c = i("tiny-button"), _ = i("svg-button"), R = i("button-group"), h = i("tiny-radio"), d = i("tiny-radio-group"), r = i("tiny-form-item"), a = i("tiny-input"), g = i("tiny-checkbox"), x = i("monaco-editor"), O = i("tiny-form"), ee = i("plugin-setting");
339
+ return e.isOpen ? (f(), E(ee, { key: 0 }, {
330
340
  title: l(() => [
331
- _("div", Ke, [
332
- _("span", null, U(e.state.title), 1)
341
+ v("div", Ke, [
342
+ v("span", null, U(e.state.title), 1)
333
343
  ])
334
344
  ]),
335
345
  header: l(() => [
336
- _("div", Qe, [
337
- s(u, {
338
- class: "save-btn",
339
- type: "primary",
340
- onClick: e.save
341
- }, {
342
- default: l(() => t[10] || (t[10] = [
343
- L("保存")
344
- ])),
345
- _: 1
346
- }, 8, ["onClick"]),
347
- se(s(f, {
348
- class: "delete-btn",
349
- name: "delete",
350
- onClick: e.deleteReSource
351
- }, null, 8, ["onClick"]), [
352
- [re, e.state.status]
346
+ s(R, null, {
347
+ default: l(() => [
348
+ s(c, {
349
+ class: "save-btn",
350
+ type: "primary",
351
+ onClick: e.save
352
+ }, {
353
+ default: l(() => t[10] || (t[10] = [
354
+ w("保存")
355
+ ])),
356
+ _: 1
357
+ }, 8, ["onClick"]),
358
+ e.state.status ? (f(), E(_, {
359
+ key: 0,
360
+ class: "delete-btn",
361
+ name: "delete",
362
+ onClick: e.deleteReSource
363
+ }, null, 8, ["onClick"])) : T("", !0),
364
+ s(_, {
365
+ class: "close-btn",
366
+ name: "close",
367
+ onClick: e.closePanel
368
+ }, null, 8, ["onClick"])
353
369
  ]),
354
- s(f, {
355
- class: "close-btn",
356
- name: "close",
357
- onClick: e.closePanel
358
- }, null, 8, ["onClick"])
359
- ])
370
+ _: 1
371
+ })
360
372
  ]),
361
373
  content: l(() => [
362
- s(T, {
374
+ s(O, {
363
375
  ref: "resourceForm",
364
376
  class: "resource-form",
365
377
  rules: e.rules,
@@ -370,16 +382,16 @@ function et(n, t, p, e, o, y) {
370
382
  "label-align": !0
371
383
  }, {
372
384
  default: l(() => [
373
- _("div", Xe, [
374
- e.state.status ? N("", !0) : (v(), C(a, {
385
+ v("div", Qe, [
386
+ e.state.status ? T("", !0) : (f(), E(r, {
375
387
  key: 0,
376
388
  label: "工具类型",
377
389
  prop: "type"
378
390
  }, {
379
391
  default: l(() => [
380
- s(E, {
392
+ s(d, {
381
393
  modelValue: e.state.type,
382
- "onUpdate:modelValue": t[0] || (t[0] = (d) => e.state.type = d),
394
+ "onUpdate:modelValue": t[0] || (t[0] = (p) => e.state.type = p),
383
395
  class: "resource-type-radio-group",
384
396
  onChange: e.handleChangeType
385
397
  }, {
@@ -388,7 +400,7 @@ function et(n, t, p, e, o, y) {
388
400
  label: e.RESOURCE_CATEGORY.Npm
389
401
  }, {
390
402
  default: l(() => [
391
- L(U(e.RESOURCE_CATEGORY.Npm), 1)
403
+ w(U(e.RESOURCE_CATEGORY.Npm), 1)
392
404
  ]),
393
405
  _: 1
394
406
  }, 8, ["label"]),
@@ -396,7 +408,7 @@ function et(n, t, p, e, o, y) {
396
408
  label: e.RESOURCE_CATEGORY.Function
397
409
  }, {
398
410
  default: l(() => [
399
- L(U(e.RESOURCE_CATEGORY.Function), 1)
411
+ w(U(e.RESOURCE_CATEGORY.Function), 1)
400
412
  ]),
401
413
  _: 1
402
414
  }, 8, ["label"])
@@ -406,131 +418,131 @@ function et(n, t, p, e, o, y) {
406
418
  ]),
407
419
  _: 1
408
420
  })),
409
- e.state.status ? N("", !0) : (v(), C(a, {
421
+ e.state.status ? T("", !0) : (f(), E(r, {
410
422
  key: 1,
411
423
  label: "工具名称",
412
424
  prop: "name"
413
425
  }, {
414
426
  default: l(() => [
415
- s(i, {
427
+ s(a, {
416
428
  modelValue: e.state.name,
417
- "onUpdate:modelValue": t[1] || (t[1] = (d) => e.state.name = d),
429
+ "onUpdate:modelValue": t[1] || (t[1] = (p) => e.state.name = p),
418
430
  placeholder: "请输入工具类名称"
419
431
  }, null, 8, ["modelValue"])
420
432
  ]),
421
433
  _: 1
422
434
  })),
423
- e.state.category ? (v(), A("div", Ze, [
424
- s(a, {
435
+ e.state.category ? (f(), L("div", Xe, [
436
+ s(r, {
425
437
  label: "npm包名",
426
438
  prop: "content.package"
427
439
  }, {
428
440
  default: l(() => [
429
- s(i, {
441
+ s(a, {
430
442
  modelValue: e.state.content.package,
431
- "onUpdate:modelValue": t[2] || (t[2] = (d) => e.state.content.package = d),
443
+ "onUpdate:modelValue": t[2] || (t[2] = (p) => e.state.content.package = p),
432
444
  placeholder: "请输入npm包名称"
433
445
  }, null, 8, ["modelValue"])
434
446
  ]),
435
447
  _: 1
436
448
  }),
437
- s(a, {
449
+ s(r, {
438
450
  label: "npm包导出名",
439
451
  prop: "content.exportName"
440
452
  }, {
441
453
  default: l(() => [
442
- s(i, {
454
+ s(a, {
443
455
  modelValue: e.state.content.exportName,
444
- "onUpdate:modelValue": t[3] || (t[3] = (d) => e.state.content.exportName = d),
456
+ "onUpdate:modelValue": t[3] || (t[3] = (p) => e.state.content.exportName = p),
445
457
  placeholder: "请输入npm包的导出名称"
446
458
  }, null, 8, ["modelValue"])
447
459
  ]),
448
460
  _: 1
449
461
  }),
450
- s(a, { label: "" }, {
462
+ s(r, { label: "" }, {
451
463
  default: l(() => [
452
- s(r, {
464
+ s(g, {
453
465
  modelValue: e.state.content.destructuring,
454
- "onUpdate:modelValue": t[4] || (t[4] = (d) => e.state.content.destructuring = d)
466
+ "onUpdate:modelValue": t[4] || (t[4] = (p) => e.state.content.destructuring = p)
455
467
  }, {
456
468
  default: l(() => t[11] || (t[11] = [
457
- L("解构npm包")
469
+ w("解构npm包")
458
470
  ])),
459
471
  _: 1
460
472
  }, 8, ["modelValue"])
461
473
  ]),
462
474
  _: 1
463
475
  }),
464
- e.state.mode ? (v(), C(a, {
476
+ e.state.mode ? (f(), E(r, {
465
477
  key: 0,
466
478
  label: "是否作为实例"
467
479
  }, {
468
480
  default: l(() => [
469
- s(r, {
481
+ s(g, {
470
482
  modelValue: e.state.isInstance,
471
- "onUpdate:modelValue": t[5] || (t[5] = (d) => e.state.isInstance = d)
483
+ "onUpdate:modelValue": t[5] || (t[5] = (p) => e.state.isInstance = p)
472
484
  }, null, 8, ["modelValue"])
473
485
  ]),
474
486
  _: 1
475
- })) : N("", !0),
476
- e.state.isInstance ? (v(), C(a, {
487
+ })) : T("", !0),
488
+ e.state.isInstance ? (f(), E(r, {
477
489
  key: 1,
478
490
  label: "实例名称",
479
491
  prop: "content.instanceName"
480
492
  }, {
481
493
  default: l(() => [
482
- s(i, {
494
+ s(a, {
483
495
  modelValue: e.state.content.instance,
484
- "onUpdate:modelValue": t[6] || (t[6] = (d) => e.state.content.instance = d)
496
+ "onUpdate:modelValue": t[6] || (t[6] = (p) => e.state.content.instance = p)
485
497
  }, null, 8, ["modelValue"])
486
498
  ]),
487
499
  _: 1
488
- })) : N("", !0),
489
- s(a, { label: "入口路径" }, {
500
+ })) : T("", !0),
501
+ s(r, { label: "入口路径" }, {
490
502
  default: l(() => [
491
- s(i, {
503
+ s(a, {
492
504
  modelValue: e.state.content.main,
493
- "onUpdate:modelValue": t[7] || (t[7] = (d) => e.state.content.main = d),
505
+ "onUpdate:modelValue": t[7] || (t[7] = (p) => e.state.content.main = p),
494
506
  placeholder: "main"
495
507
  }, null, 8, ["modelValue"])
496
508
  ]),
497
509
  _: 1
498
510
  }),
499
- s(a, { label: "版本号" }, {
511
+ s(r, { label: "版本号" }, {
500
512
  default: l(() => [
501
- s(i, {
513
+ s(a, {
502
514
  modelValue: e.state.content.version,
503
- "onUpdate:modelValue": t[8] || (t[8] = (d) => e.state.content.version = d),
515
+ "onUpdate:modelValue": t[8] || (t[8] = (p) => e.state.content.version = p),
504
516
  placeholder: "latest"
505
517
  }, null, 8, ["modelValue"])
506
518
  ]),
507
519
  _: 1
508
520
  }),
509
- s(a, null, {
521
+ s(r, null, {
510
522
  label: l(() => t[12] || (t[12] = [
511
- _("div", { class: "cdn-label-wrap" }, [
512
- _("span", null, "CDN")
523
+ v("div", { class: "cdn-label-wrap" }, [
524
+ v("span", null, "CDN")
513
525
  ], -1)
514
526
  ])),
515
527
  default: l(() => [
516
- s(i, {
528
+ s(a, {
517
529
  modelValue: e.state.content.cdnLink,
518
- "onUpdate:modelValue": t[9] || (t[9] = (d) => e.state.content.cdnLink = d),
530
+ "onUpdate:modelValue": t[9] || (t[9] = (p) => e.state.content.cdnLink = p),
519
531
  placeholder: "CDN"
520
532
  }, null, 8, ["modelValue"]),
521
- t[13] || (t[13] = _("div", { class: "tip" }, "浏览器直接可用的生产包链接,请确保可用,否则可能会造成页面预览失败", -1))
533
+ t[13] || (t[13] = v("div", { class: "tip" }, "浏览器直接可用的生产包链接,请确保可用,否则可能会造成页面预览失败", -1))
522
534
  ]),
523
535
  _: 1
524
536
  }),
525
- s(a, { label: "生成utils.js代码预览" }, {
537
+ s(r, { label: "生成utils.js代码预览" }, {
526
538
  default: l(() => [
527
- _("div", $e, [
528
- _("pre", null, U(e.codePreview), 1)
539
+ v("div", Ze, [
540
+ v("pre", null, U(e.codePreview), 1)
529
541
  ])
530
542
  ]),
531
543
  _: 1
532
544
  })
533
- ])) : (v(), C(g, {
545
+ ])) : (f(), E(x, {
534
546
  key: 3,
535
547
  ref: "editor",
536
548
  value: e.state.value,
@@ -543,71 +555,71 @@ function et(n, t, p, e, o, y) {
543
555
  }, 8, ["rules", "model"])
544
556
  ]),
545
557
  _: 1
546
- })) : N("", !0);
558
+ })) : T("", !0);
547
559
  }
548
- const tt = /* @__PURE__ */ J(We, [["render", et], ["__scopeId", "data-v-0ab8a7ca"]]), nt = {
560
+ const et = /* @__PURE__ */ J(We, [["render", $e], ["__scopeId", "data-v-40ef39ca"]]), tt = {
549
561
  components: {
550
562
  PluginPanel: pe,
551
- SvgButton: $,
563
+ SvgButton: j,
552
564
  BridgeManage: je,
553
- BridgeSetting: tt
565
+ BridgeSetting: et
554
566
  },
555
567
  setup() {
556
- const n = k(S.Util), t = k(null), p = R(() => Ie[n.value]);
568
+ const n = N(V.Util), t = N(null), m = C(() => Ie[n.value]);
557
569
  return {
558
- addResource: (u) => {
559
- n.value == t.value.add(u);
570
+ addResource: (c) => {
571
+ n.value == t.value.add(c);
560
572
  },
561
- RESOURCE_TYPE: S,
573
+ RESOURCE_TYPE: V,
562
574
  activedName: n,
563
575
  openBridgePanel: () => {
564
576
  Je();
565
577
  },
566
- closePanel: D,
567
- refreshList: (u) => {
568
- u == t.value.refresh(u);
578
+ closePanel: P,
579
+ refreshList: (c) => {
580
+ c == t.value.refresh(c);
569
581
  },
570
582
  utilsRef: t,
571
- tips: p
583
+ tips: m
572
584
  };
573
585
  }
574
586
  };
575
- function ot(n, t, p, e, o, y) {
576
- const u = m("svg-button"), f = m("bridge-manage"), h = m("bridge-setting"), E = m("plugin-panel");
577
- return v(), C(E, {
587
+ function nt(n, t, m, e, o, y) {
588
+ const c = i("svg-button"), _ = i("bridge-manage"), R = i("bridge-setting"), h = i("plugin-panel");
589
+ return f(), E(h, {
578
590
  title: "资源管理",
579
591
  isCloseLeft: !1,
580
592
  onClose: e.closePanel
581
593
  }, {
582
594
  header: l(() => [
583
- s(u, {
595
+ s(c, {
584
596
  name: "add-utils",
585
597
  placement: "left",
586
598
  tips: e.tips,
587
- onClick: t[0] || (t[0] = (a) => e.addResource("npm"))
599
+ onClick: t[0] || (t[0] = (d) => e.addResource("npm"))
588
600
  }, null, 8, ["tips"])
589
601
  ]),
590
602
  content: l(() => [
591
- s(f, {
603
+ s(_, {
592
604
  ref: "utilsRef",
593
605
  name: e.RESOURCE_TYPE.Util,
594
606
  onOpen: e.openBridgePanel
595
607
  }, null, 8, ["name", "onOpen"]),
596
- s(h, { onRefresh: e.refreshList }, null, 8, ["onRefresh"])
608
+ s(R, { onRefresh: e.refreshList }, null, 8, ["onRefresh"])
597
609
  ]),
598
610
  _: 1
599
611
  }, 8, ["onClose"]);
600
612
  }
601
- const at = /* @__PURE__ */ J(nt, [["render", ot], ["__scopeId", "data-v-c14cfd0a"]]), st = {
613
+ const ot = /* @__PURE__ */ J(tt, [["render", nt], ["__scopeId", "data-v-1787cb11"]]), at = {
602
614
  id: "engine.plugins.bridge",
603
615
  title: "资源管理",
604
616
  type: "plugins",
605
617
  align: "top",
606
618
  icon: "plugin-icon-sresources"
607
- }, gt = {
608
- ...st,
609
- entry: at
619
+ }, mt = {
620
+ ...at,
621
+ entry: ot
610
622
  };
611
623
  export {
612
- gt as default
624
+ mt as default
613
625
  };
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .manage-panel[data-v-f297beff]{height:100%;display:flex;flex-direction:column;position:relative}.manage-panel .manage-panel-search[data-v-f297beff]{padding:0 12px 12px}.manage-panel .add-button[data-v-f297beff]{align-self:flex-end;margin:6px}.manage-panel .list[data-v-f297beff]{flex:1;border-top:1px solid var(--ti-lowcode-tabs-border-color);overflow:auto;padding:12px 0}.manage-panel .list-item[data-v-f297beff]{height:24px;line-height:24px;display:grid;grid-template-columns:16px 1fr auto;column-gap:8px;align-items:center;padding:0 12px;position:relative;color:var(--ti-lowcode-bridge-list-color);cursor:pointer;font-size:12px}.manage-panel .list-item[data-v-f297beff]:hover,.manage-panel .list-item.active[data-v-f297beff]{background:var(--ti-lowcode-bridge-list-bg)}.manage-panel .list-item:hover .setting-icon[data-v-f297beff],.manage-panel .list-item.active .setting-icon[data-v-f297beff]{display:block}.manage-panel .list-item .setting-icon[data-v-f297beff]{display:none;color:var(--ti-lowcode-toolbar-more-hover-color)}.plugin-setting[data-v-0ab8a7ca] .icon-wrap{margin-right:8px}.plugin-setting .resource-form .tip[data-v-0ab8a7ca]{font-size:11px;line-height:18px;margin-top:8px;color:var(--ti-lowcode-datasource-tip-color)}.plugin-setting .resource-form[data-v-0ab8a7ca] .tiny-form-item__label .cdn-tips-icon{margin-left:4px}.plugin-setting .title-wrap[data-v-0ab8a7ca]{font-size:12px;font-weight:700;color:var(--te-common-text-primary)}.plugin-setting .title-wrap .help-link[data-v-0ab8a7ca]{display:inline-block;color:var(--ti-lowcode-common-primary-color);font-size:12px;margin-left:16px}.plugin-setting .title-wrap .help-link[data-v-0ab8a7ca]:hover{text-decoration:underline}.plugin-setting .header-wrap[data-v-0ab8a7ca]{display:flex;align-items:center;column-gap:6px}.plugin-setting .header-wrap .tiny-button[data-v-0ab8a7ca]{width:40px;padding:0;min-width:40px;margin-right:2px}.plugin-setting .monaco-editor[data-v-0ab8a7ca]{height:500px;margin-top:8px;border:1px solid var(--ti-lowcode-birdge-editor-border-color)}.plugin-setting .resource-form-footer[data-v-0ab8a7ca]{padding:12px 0 12px 80px}.plugin-setting .resource-form-footer .tiny-svg[data-v-0ab8a7ca]{margin-right:6px}.plugin-setting .resource-form-footer .del[data-v-0ab8a7ca]:hover{background-color:var(--ti-lowcode-delete-button-hover-bg)}.plugin-setting .cdn-label-wrap[data-v-0ab8a7ca]{display:flex;align-items:center}.code-preview[data-v-0ab8a7ca]{font-size:12px;line-height:20px;background:var(--te-common-bg-container);color:var(--te-common-text-weaken);border-radius:4px}.code-preview .pre-title[data-v-0ab8a7ca]{font-family:Microsoft YaHei}.code-preview>pre[data-v-0ab8a7ca]{margin:0;padding:8px 20px;font-family:Consolas,Courier New,monospace}[data-v-c14cfd0a] .tiny-button{border-radius:4px;height:24px;line-height:24px}
1
+ .manage-panel[data-v-6480187c]{height:100%;display:flex;flex-direction:column;position:relative}.manage-panel .manage-panel-search[data-v-6480187c]{padding:0 12px 12px}.manage-panel .add-button[data-v-6480187c]{align-self:flex-end;margin:6px}.manage-panel .list[data-v-6480187c]{flex:1;border-top:1px solid var(--ti-lowcode-tabs-border-color);overflow:auto;padding:12px 0}.manage-panel .list-item[data-v-6480187c]{height:24px;line-height:24px;display:grid;grid-template-columns:16px 1fr auto;column-gap:8px;align-items:center;padding:0 12px;position:relative;color:var(--ti-lowcode-bridge-list-color);cursor:pointer;font-size:12px}.manage-panel .list-item[data-v-6480187c]:hover,.manage-panel .list-item.active[data-v-6480187c]{background:var(--ti-lowcode-bridge-list-bg)}.manage-panel .list-item:hover .setting-icon[data-v-6480187c],.manage-panel .list-item.active .setting-icon[data-v-6480187c]{display:grid}.manage-panel .list-item .setting-icon[data-v-6480187c]{display:none}.manage-panel .list-item .list-item-icon[data-v-6480187c]{color:var(--te-common-icon-secondary);margin-right:8px}.plugin-setting[data-v-40ef39ca] .icon-wrap{margin-right:8px}.plugin-setting .resource-form .tip[data-v-40ef39ca]{font-size:11px;line-height:18px;margin-top:8px;color:var(--ti-lowcode-datasource-tip-color)}.plugin-setting .resource-form[data-v-40ef39ca] .tiny-form-item__label .cdn-tips-icon{margin-left:4px}.plugin-setting .title-wrap[data-v-40ef39ca]{font-size:12px;font-weight:700;color:var(--te-common-text-primary)}.plugin-setting .title-wrap .help-link[data-v-40ef39ca]{display:inline-block;color:var(--ti-lowcode-common-primary-color);font-size:12px;margin-left:16px}.plugin-setting .title-wrap .help-link[data-v-40ef39ca]:hover{text-decoration:underline}.plugin-setting .header-wrap[data-v-40ef39ca]{display:flex;align-items:center;column-gap:6px}.plugin-setting .header-wrap .tiny-button[data-v-40ef39ca]{width:40px;padding:0;min-width:40px;margin-right:2px}.plugin-setting .monaco-editor[data-v-40ef39ca]{height:500px;margin-top:8px;border:1px solid var(--ti-lowcode-birdge-editor-border-color)}.plugin-setting .resource-form-footer[data-v-40ef39ca]{padding:12px 0 12px 80px}.plugin-setting .resource-form-footer .tiny-svg[data-v-40ef39ca]{margin-right:6px}.plugin-setting .resource-form-footer .del[data-v-40ef39ca]:hover{background-color:var(--ti-lowcode-delete-button-hover-bg)}.plugin-setting .cdn-label-wrap[data-v-40ef39ca]{display:flex;align-items:center}.code-preview[data-v-40ef39ca]{font-size:12px;line-height:20px;background:var(--te-common-bg-container);color:var(--te-common-text-weaken);border-radius:4px}.code-preview .pre-title[data-v-40ef39ca]{font-family:Microsoft YaHei}.code-preview>pre[data-v-40ef39ca]{margin:0;padding:8px 20px;font-family:Consolas,Courier New,monospace}[data-v-1787cb11] .tiny-button{border-radius:4px;height:24px;line-height:24px}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opentiny/tiny-engine-plugin-bridge",
3
- "version": "2.1.0",
3
+ "version": "2.2.0-beta.3",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -25,11 +25,11 @@
25
25
  "license": "MIT",
26
26
  "homepage": "https://opentiny.design/tiny-engine",
27
27
  "dependencies": {
28
- "@opentiny/tiny-engine-common": "2.1.0",
29
- "@opentiny/tiny-engine-meta-register": "2.1.0"
28
+ "@opentiny/tiny-engine-common": "2.2.0-beta.3",
29
+ "@opentiny/tiny-engine-meta-register": "2.2.0-beta.3"
30
30
  },
31
31
  "devDependencies": {
32
- "@opentiny/tiny-engine-vite-plugin-meta-comments": "2.1.0",
32
+ "@opentiny/tiny-engine-vite-plugin-meta-comments": "2.2.0-beta.3",
33
33
  "@vitejs/plugin-vue": "^5.1.2",
34
34
  "@vitejs/plugin-vue-jsx": "^4.0.1",
35
35
  "vite": "^5.4.2"
@@ -39,5 +39,5 @@
39
39
  "@opentiny/vue-icon": "^3.14.0",
40
40
  "vue": "^3.4.15"
41
41
  },
42
- "gitHead": "faf3072c75ea5024689972e2a687916e084c156f"
42
+ "gitHead": "04459f34e5ebdaca92355f7698cd4fea19f7ef95"
43
43
  }