feat: 渲染器支持 echart 渲染

This commit is contained in:
wangxuefeng 2025-03-19 14:45:09 +08:00
parent 9b39f265d3
commit a4c5f633cf
17 changed files with 786 additions and 176 deletions

View File

@ -15,17 +15,17 @@
"typecheck": "vue-tsc --noEmit --skipLibCheck"
},
"dependencies": {
"@vtj/core": "^0.11.1",
"@vtj/designer": "0.11.1",
"@vtj/icons": "0.11.1",
"@vtj/local": "^0.11.1",
"@vtj/materials": "^0.11.1",
"@vtj/core": "^0.11.2",
"@vtj/designer": "0.11.2",
"@vtj/icons": "0.11.2",
"@vtj/local": "^0.11.2",
"@vtj/materials": "^0.11.2",
"@vtj/node": "0.11.1",
"@vtj/pro": "^0.11.1",
"@vtj/renderer": "^0.11.1",
"@vtj/ui": "^0.11.1",
"@vtj/utils": "0.11.1",
"@vtj/web": "^0.11.1",
"@vtj/pro": "^0.11.2",
"@vtj/renderer": "^0.11.2",
"@vtj/ui": "^0.11.2",
"@vtj/utils": "0.11.2",
"@vtj/web": "^0.11.2",
"axios": "^1.8.1",
"element-plus": "^2.9.4",
"licia-es": "^1.46.0",

File diff suppressed because one or more lines are too long

View File

@ -16,8 +16,6 @@ const forbiddenComponent = () => import('#/views/_core/fallback/forbidden.vue');
async function generateAccess(options: GenerateMenuAndRoutesOptions) {
const pageMap: ComponentRecordType = import.meta.glob('../views/**/*.vue');
console.log('pageMap', pageMap);
const layoutMap: ComponentRecordType = {
BasicLayout,
IFrameView,

View File

@ -95,7 +95,6 @@ function setupAccessGuard(router: Router) {
// 当前登录用户拥有的角色标识列表
// const userInfo = userStore.userInfo || (await authStore.fetchUserInfo());
const userInfo = userStore.userInfo;
console.log('userInfo', userInfo);
const userRoles = userInfo?.roles ?? [];
// 生成菜单和路由
const { accessibleMenus, accessibleRoutes } = await generateAccess({

View File

@ -20,6 +20,7 @@ const routes: Array<RouteRecordRaw> = [
path: 'list',
name: `${moduleName}-list`,
meta: {
hideInMenu: true,
title: '权限列表',
keepAlive: true,
icon: 'ant-design:list',
@ -30,6 +31,7 @@ const routes: Array<RouteRecordRaw> = [
accessToken: localStorage.getItem('y-code-access-token'),
fileId: '1hsd0407hf',
projectId: '4',
degrade: false,
},
},
{
@ -37,7 +39,7 @@ const routes: Array<RouteRecordRaw> = [
name: `${moduleName}-user`,
meta: {
title: '用户列表',
keepAlive: false,
keepAlive: true,
icon: 'ant-design:list',
},
component: WujieVueRendererAdapter,
@ -46,6 +48,7 @@ const routes: Array<RouteRecordRaw> = [
accessToken: localStorage.getItem('y-code-access-token'),
fileId: '7pfu5radx',
projectId: '4',
degrade: false,
},
},
],

View File

@ -34,8 +34,8 @@ const routes: Array<RouteRecordRaw> = [
projectId: '4',
getRouter: () => router,
route,
degrade: false,
height: '100%',
// degrade: true,
};
},
},

View File

@ -1,8 +1,9 @@
import type { RouteRecordRaw } from 'vue-router';
import RendererAdapter from '@sy/vue3-renderer-adapter';
import WujieVueRendererAdapter from '@sy/wujie-vue3-renderer-adapter';
import { VITE_DESIGNER_URL, VITE_V1_URL } from '#/constants';
import { VITE_DESIGNER_URL, VITE_RENDERER_URL, VITE_V1_URL } from '#/constants';
const moduleName = 'micro';
@ -55,6 +56,23 @@ const routes: RouteRecordRaw[] = [
accessToken: localStorage.getItem('y-code-access-token'),
},
},
{
path: 'test',
name: `Test`,
meta: {
keepAlive: false,
title: '测试',
icon: 'ant-design:delete-outlined',
},
component: WujieVueRendererAdapter,
props: {
url: `${VITE_RENDERER_URL}`,
fileId: '45ud9h6n3',
projectId: 4,
degrade: false,
name: '45ud9h6n3',
},
},
],
},
];

View File

@ -43,14 +43,13 @@ const routes: Array<RouteRecordRaw> = [
path: 'DSLFileList',
name: `${moduleName}-DSL-file-list`,
meta: {
hideInMenu: true,
title: 'dsl 文件列表',
keepAlive: false,
icon: 'ant-design:file',
},
component: WujieVueRendererAdapter,
props: (route) => {
console.log('route', route);
console.log('route.query', route.query);
return {
url: `${VITE_RENDERER_URL}`,
accessToken: localStorage.getItem('y-code-access-token'),

View File

@ -28,7 +28,7 @@ const routes: RouteRecordRaw[] = [
fileId: '7pfr394d6',
projectId: 4,
name: '7pfr394d6',
degrade: true,
degrade: false,
getRouter: () => router,
},
},

View File

@ -17,14 +17,15 @@
"@sentry/vue": "^9.5.0",
"@sy/web-vitals": "workspace:*",
"@tanstack/vue-query": "^5.66.9",
"@vtj/core": "^0.11.1",
"@vtj/icons": "0.11.1",
"@vtj/materials": "^0.11.1",
"@vtj/pro": "^0.11.1",
"@vtj/renderer": "^0.11.1",
"@vtj/ui": "^0.11.1",
"@vtj/utils": "^0.11.1",
"@vtj/web": "^0.11.1",
"@vtj/charts": "^0.11.2",
"@vtj/core": "^0.11.2",
"@vtj/icons": "0.11.2",
"@vtj/materials": "^0.11.2",
"@vtj/pro": "^0.11.2",
"@vtj/renderer": "^0.11.2",
"@vtj/ui": "^0.11.2",
"@vtj/utils": "^0.11.2",
"@vtj/web": "^0.11.2",
"axios": "catalog:",
"core-js": "^3.40.0",
"element-plus": "catalog:",

View File

@ -2,6 +2,7 @@ import { createApp } from 'vue';
import * as Sentry from '@sentry/vue';
import { VueQueryPlugin } from '@tanstack/vue-query';
import * as VtjCharts from '@vtj/charts';
import { IconsPlugin } from '@vtj/icons';
import * as VtjUI from '@vtj/ui';
import ElementPlus from 'element-plus';
@ -22,6 +23,9 @@ Sentry.init({
Object.entries(VtjUI).forEach(([name, component]) => {
app.component(name, component);
});
Object.entries(VtjCharts).forEach(([name, component]) => {
app.component(name, component);
});
app
.use(ElementPlus)
.use(IconsPlugin)

View File

@ -16,7 +16,6 @@ export class LowCodeService extends BaseService {
public async init(project: ProjectSchema) {
// @ts-ignore 忽略错误
const remoteProject = await getProject(project.id);
console.log('remoteProject', remoteProject);
const model = new ProjectModel(remoteProject);
const dsl = model.toDsl();
return dsl;

View File

@ -581,7 +581,7 @@ const idMainContent = ELEMENT_ID_MAIN_CONTENT;
:padding-right="contentPaddingRight"
:padding-top="contentPaddingTop"
:style="contentStyle"
class="transition-[margin-top] duration-200"
class="h-[calc(100vh-7rem)] overflow-auto transition-[margin-top] duration-200"
>
<slot name="content"></slot>

View File

@ -10,8 +10,6 @@ import { RouterView } from 'vue-router';
import { preferences, usePreferences } from '@vben/preferences';
import { storeToRefs, useTabbarStore } from '@vben/stores';
import { IFrameRouterView } from '../../iframe';
defineOptions({ name: 'LayoutContent' });
const tabbarStore = useTabbarStore();
@ -97,6 +95,7 @@ function transformComponent(
:include="getCachedTabs"
>
<component
class="h-full w-full"
:is="transformComponent(Component, route)"
v-if="renderRouteView"
v-show="!route.meta.iframeSrc"
@ -104,6 +103,7 @@ function transformComponent(
/>
</KeepAlive>
<component
class="h-full w-full"
:is="Component"
v-else-if="renderRouteView"
:key="route.fullPath"

View File

@ -26,6 +26,7 @@
}
},
"dependencies": {
"licia-es": "catalog:",
"postmate": "catalog:",
"vue": "catalog:",
"wujie-vue3": "1.0.22"

View File

@ -1,32 +1,37 @@
<script setup lang="ts">
import type { Router, RouteRecordRaw } from 'vue-router';
import { onBeforeUnmount, onMounted } from 'vue';
import { computed, onBeforeUnmount, onMounted } from 'vue';
import WujieVue from 'wujie-vue3';
import { version } from '/package.json';
const props = defineProps<{
[key: string]: any;
accessToken?: string;
applicationId: number;
degrade?: boolean;
fileId: number | string;
getRouter: () => Router;
name: string;
// payload
payload?: Record<string, any>;
projectId: number;
route: RouteRecordRaw;
sync: boolean;
url: string;
}>();
console.log('props', props);
const props = withDefaults(
defineProps<{
[key: string]: any;
accessToken?: string;
applicationId: number;
degrade?: boolean;
fileId: number | string;
getRouter: () => Router;
name: string;
// payload
payload?: Record<string, any>;
projectId: number;
route: RouteRecordRaw;
sync: boolean;
url: string;
}>(),
{
// wujie
degrade: true,
},
);
const { bus } = WujieVue;
const isDegrade = computed(() => props.degrade ?? true);
//
const beforeLoad = (appWindow: Window) => {
console.log(`${props.name} 开始加载`, appWindow);
@ -38,7 +43,7 @@ const afterMount = (appWindow: Window) => {
//
const handleMessage = (data: any) => {
console.log('收到子应用消息:', data);
console.log(`${props.name} 收到子应用消息:`, data);
};
//
@ -51,17 +56,17 @@ const subAppProps = {
//
const handleReady = (data: any) => {
console.log('子应用就绪:', data);
console.log(`${props.name} 子应用就绪:`, data);
//
};
const handleRenderSuccess = () => {
console.log('子应用渲染成功');
console.log(`${props.name} 子应用渲染成功`);
//
};
const handleRenderFail = (error: any) => {
console.error('子应用渲染失败:', error);
console.error(`${props.name} 子应用渲染失败:`, error);
//
};
@ -90,7 +95,7 @@ onBeforeUnmount(() => {
:sync="sync"
width="100%"
height="100%"
:degrade="degrade"
:degrade="isDegrade"
:props="subAppProps"
:before-load="beforeLoad"
:after-mount="afterMount"

250
pnpm-lock.yaml generated
View File

@ -626,38 +626,38 @@ importers:
apps/designer:
dependencies:
'@vtj/core':
specifier: ^0.11.1
version: 0.11.1
specifier: ^0.11.2
version: 0.11.2
'@vtj/designer':
specifier: 0.11.1
version: 0.11.1(vue@3.5.13(typescript@5.8.2))
specifier: 0.11.2
version: 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/icons':
specifier: 0.11.1
version: 0.11.1(vue@3.5.13(typescript@5.8.2))
specifier: 0.11.2
version: 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/local':
specifier: ^0.11.1
version: 0.11.1
specifier: ^0.11.2
version: 0.11.2
'@vtj/materials':
specifier: ^0.11.1
version: 0.11.1
specifier: ^0.11.2
version: 0.11.2
'@vtj/node':
specifier: 0.11.1
version: 0.11.1
'@vtj/pro':
specifier: ^0.11.1
version: 0.11.1(vue@3.5.13(typescript@5.8.2))
specifier: ^0.11.2
version: 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/renderer':
specifier: ^0.11.1
version: 0.11.1
specifier: ^0.11.2
version: 0.11.2
'@vtj/ui':
specifier: ^0.11.1
version: 0.11.1(vue@3.5.13(typescript@5.8.2))
specifier: ^0.11.2
version: 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/utils':
specifier: 0.11.1
version: 0.11.1
specifier: 0.11.2
version: 0.11.2
'@vtj/web':
specifier: ^0.11.1
version: 0.11.1(vue@3.5.13(typescript@5.8.2))
specifier: ^0.11.2
version: 0.11.2(vue@3.5.13(typescript@5.8.2))
axios:
specifier: ^1.8.1
version: 1.8.3(debug@4.4.0)
@ -859,30 +859,33 @@ importers:
'@tanstack/vue-query':
specifier: ^5.66.9
version: 5.69.0(vue@3.5.13(typescript@5.8.2))
'@vtj/charts':
specifier: ^0.11.2
version: 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/core':
specifier: ^0.11.1
version: 0.11.1
specifier: ^0.11.2
version: 0.11.2
'@vtj/icons':
specifier: 0.11.1
version: 0.11.1(vue@3.5.13(typescript@5.8.2))
specifier: 0.11.2
version: 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/materials':
specifier: ^0.11.1
version: 0.11.1
specifier: ^0.11.2
version: 0.11.2
'@vtj/pro':
specifier: ^0.11.1
version: 0.11.1(vue@3.5.13(typescript@5.8.2))
specifier: ^0.11.2
version: 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/renderer':
specifier: ^0.11.1
version: 0.11.1
specifier: ^0.11.2
version: 0.11.2
'@vtj/ui':
specifier: ^0.11.1
version: 0.11.1(vue@3.5.13(typescript@5.8.2))
specifier: ^0.11.2
version: 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/utils':
specifier: ^0.11.1
version: 0.11.1
specifier: ^0.11.2
version: 0.11.2
'@vtj/web':
specifier: ^0.11.1
version: 0.11.1(vue@3.5.13(typescript@5.8.2))
specifier: ^0.11.2
version: 0.11.2(vue@3.5.13(typescript@5.8.2))
axios:
specifier: 'catalog:'
version: 1.8.3(debug@4.4.0)
@ -1953,6 +1956,9 @@ importers:
packages/renderer-adapter/wujie-vue3:
dependencies:
licia-es:
specifier: 'catalog:'
version: 1.47.0
postmate:
specifier: 'catalog:'
version: 1.5.2
@ -5540,8 +5546,8 @@ packages:
'@vtj/base@0.11.1':
resolution: {integrity: sha512-OrRUicY5gcturuY/MXNEU6QWPkglrqj/2Eth93n+zJh1szdHlFkFYMFbP9d/PAj3G4pGWcnRX3Kc4kZmGn2W+Q==}
'@vtj/charts@0.11.1':
resolution: {integrity: sha512-RfByHVbangTKCVcIDgWvVPPy4SNEHCAJUmozkcE6ZSSv9wNZAHQhRm0UkTxVOOGARW+uxNwUV+CcJUqF9i/CsA==}
'@vtj/charts@0.11.2':
resolution: {integrity: sha512-SrZ4sIrhq5oX7Zv5CCZDRp7tuQ3Ho6SEYD4QoLwQaZ0EZy/s5+M4N3VfzndgZHYApRAg0zw5+6v6D3DdM4216g==}
engines: {node: '>=16.0.0'}
'@vtj/cli@0.11.1':
@ -5549,48 +5555,48 @@ packages:
engines: {node: '>=20.0.0'}
hasBin: true
'@vtj/coder@0.11.1':
resolution: {integrity: sha512-PYcBNAhU2vSlbUox/JghT9HMMwugvPxF1rzdB5yZc7WcpSO76KSg2nh2VyTyaGwsTiT/9PjSt9rhK4BXIvP9DA==}
'@vtj/coder@0.11.2':
resolution: {integrity: sha512-VKUIBuZF2+UnJLbur55nQMRlagb/SCtN+HUaWOlf6gZFc8V4hijABwhlAgRK05CfyncfMHYT2ynJkVJf6f6xRw==}
'@vtj/core@0.11.1':
resolution: {integrity: sha512-Y572NlT/EpM+6SlEo1q5vSu8sNI3wR1zeAAtuLf+LWd9cHZXs7KAGp34XsnEVY1dHb5gReL5F2GxCzM25avZhw==}
'@vtj/core@0.11.2':
resolution: {integrity: sha512-B7DW37aCTKLxI41+OnBu8ukoHnbiKoiNwG+Nqsl7o4Wm0WLaC7e2sh4GEQN6/gG6jZpm2xt6CZpPreWwQLZODg==}
'@vtj/designer@0.11.1':
resolution: {integrity: sha512-rjhma9WAZvbBhvHjlFV6nr6dAKf8W5nu+wh2dcUtYXRKIntELa6ez/Brw/PQzfSjb7t+yAunHJU8wpSr5jkJrA==}
'@vtj/designer@0.11.2':
resolution: {integrity: sha512-N2E29bvHw1N9ldqv9I0RbmnlvZ6QERWhxKuc5rAwBNGV8D4u+6lEZRi+lR5eA+0SzYCMkIkXSiaSQtyKu+NMzQ==}
'@vtj/icons@0.11.1':
resolution: {integrity: sha512-gX0UCEdDDICMGN+b1AEVoQcQcoU41R3Zr/2atNage1x//QmNVMLdEX8M1iSrvnOEIJuvJJw+H8bRG1jK1srcyg==}
'@vtj/icons@0.11.2':
resolution: {integrity: sha512-pZcNLcc+1GfEtV9NbSJf8nJKy2kq8Ry5bZ0lTAGMKXukbvHPpuAUD2xYDqsDn2uspAMlhOpaiA/2yEeZq22tcQ==}
'@vtj/local@0.11.1':
resolution: {integrity: sha512-4kbQ119uXW6mp8Zt6qmgZ2SEHCkFyVFWecbZIWm9C71W8zChRvCnGK1O70cc1FKtr+Jc0lwtsIQQp+w09wVWCQ==}
'@vtj/local@0.11.2':
resolution: {integrity: sha512-r9+eOpWBPmb/hIcN5N6grdq46qzMbfcujApnYDEYVhKVWOr6Rx1aJFn7po99wzJ9QdqMhJo0hJj25qkt2yuXLw==}
'@vtj/materials@0.11.1':
resolution: {integrity: sha512-9u1VM1H4NwAzvuD/mAx7jTQxT/tk7/Nh+BQQ98N8BJZIbfhH49RrTT2s8RxuM1AQm+ToNaxjoqSs9uOiyB7nUw==}
'@vtj/materials@0.11.2':
resolution: {integrity: sha512-EZzLQY+8E8JBqiK1qHhT3sc4nye77KaojuvLZhlrLz7ViQB2xy75+w/b93mOAZgj0kDV7E/v2AcIsQhlmD2tuA==}
'@vtj/node@0.11.1':
resolution: {integrity: sha512-PfIs7Bja6o2o/2R+15RuGSnpNLLiKZC+fJH1sJuVOXVjjkpakpwsUc0tDjzT5VoLZk52hQ7QQyzJFToPWT6NLg==}
'@vtj/parser@0.11.1':
resolution: {integrity: sha512-d/5izIH5/9V1dC0+WrpUg8Tyg1sla9Ej2veCCDyXpM2Gt6ONON+OBlIh8wRsTUkqRVSiic8WXOoyP3ldNcsZpw==}
'@vtj/parser@0.11.2':
resolution: {integrity: sha512-/jdSA//o93Nx1Of+Wgz0F73gFYNmVzV4JF6rYFpVk4aHDLxRGNPJGd2WNCuDmkYAmUEJuwAEB7xq7zTkXRE9ow==}
'@vtj/pro@0.11.1':
resolution: {integrity: sha512-DKkdBj/QzSoLldzwXvdIjZCk2ugMGv7VEtz4qfcrBBVgc2luqXi8tSNNxaFVbv5UZJVQjEC2kAICmBw6oE4AYQ==}
'@vtj/pro@0.11.2':
resolution: {integrity: sha512-axQmWtRh57HJDcymFyd+JDOnjFxZzGba2sBhJ9t0YII660c8f0fFeyrD4OEj/FJcwKeVEjSHkLQ/775QEJ1rhA==}
'@vtj/renderer@0.11.1':
resolution: {integrity: sha512-weKzc4E7OqiU+MuTzJQJC/+7yNvbUwYJ5Ew/TshuP9OxzPo59gMQTdau3aez2qQNUj/6qDl+Ps4xIC7hKyCDkw==}
'@vtj/renderer@0.11.2':
resolution: {integrity: sha512-ReBRw1p8svILr1C/VupSP2TQBx8dJD4sObFzT4f0Y9IDsqfBVJ5TdOKckpIzEHCwapDEXIZQvlILO3/Si5zMMQ==}
'@vtj/ui@0.11.1':
resolution: {integrity: sha512-HZ1GC5LzykWtLJ3vkz4dsO7bUWe3JnEoI5FhrLAlpKKWaM1IhIO6VI78R9a7WdVs42CMhbwV5DLpntP+1aG1vg==}
'@vtj/ui@0.11.2':
resolution: {integrity: sha512-MPnKfsiKOxrhn89ECrxjIvRKfYIHTbLzyD2/XAG4F3VIwaXsy5slGDZjkn8rZcyiJZb7gAMQ1d3wsulrbTxp1g==}
engines: {node: '>=16.0.0'}
'@vtj/uni@0.11.1':
resolution: {integrity: sha512-BS+iuR3B1lg6RBpOGBJmN4Mlb4Afym0VILwxgxaBmfco4QM9tVI9s3CV/Z5EDH78iIoG6XU7pZ7/1FPnyxm2FQ==}
'@vtj/uni@0.11.2':
resolution: {integrity: sha512-e5lDUoLsMF1NTZpcrTX4EUQmgyJrk/hpCRdSR2Lzls+V1T2VLrEuZl7YAWbuHE1pgOdxnd+KnpHUZynpVvPviQ==}
'@vtj/utils@0.11.1':
resolution: {integrity: sha512-wAXBp/UF6atLk5wll0A4UVQpSM1qt8Raqk04wDP5DKRG+Lbok1wkmOGvdfHsHh7oIr1QqufQx/lrfRRN46e8qQ==}
'@vtj/utils@0.11.2':
resolution: {integrity: sha512-4+0X4d/c9tv0H4EHVXWCw2pM26N9zufheHJz/Z+b4nT0B0fpqNtrnMK/RpjSakhu2OKXjh/++pJUgSwLGEdqdw==}
'@vtj/web@0.11.1':
resolution: {integrity: sha512-ioC69Oc+ChBinpDpaDB3no/qQXcbM9vCaJ5l2/lq/utVkyLjboEa6gw2U6L7L/dDNClt9mh9nVUw5I+GSF+C5g==}
'@vtj/web@0.11.2':
resolution: {integrity: sha512-twgZiYQ5iQ+c/qTQy0byinxW4ESYlxGHFABFLRUVkHdgvv4cn6A0QlskEajnO8+JGGlDE0u0ZxPTuYVTci8tGQ==}
'@vue/babel-helper-vue-transform-on@1.4.0':
resolution: {integrity: sha512-mCokbouEQ/ocRce/FpKCRItGo+013tHg7tixg3DUNS+6bmIchPt66012kBMm476vyEIJPafrvOf4E5OYj3shSw==}
@ -15521,7 +15527,7 @@ snapshots:
'@grpc/grpc-js@1.9.15':
dependencies:
'@grpc/proto-loader': 0.7.13
'@types/node': 20.17.24
'@types/node': 22.13.10
'@grpc/proto-loader@0.7.13':
dependencies:
@ -16820,15 +16826,15 @@ snapshots:
'@types/body-parser@1.19.5':
dependencies:
'@types/connect': 3.4.38
'@types/node': 20.17.24
'@types/node': 22.13.10
'@types/connect@3.4.38':
dependencies:
'@types/node': 20.17.24
'@types/node': 22.13.10
'@types/conventional-commits-parser@5.0.1':
dependencies:
'@types/node': 20.17.24
'@types/node': 22.13.10
'@types/css-font-loading-module@0.0.7': {}
@ -16848,7 +16854,7 @@ snapshots:
'@types/fs-extra@11.0.4':
dependencies:
'@types/jsonfile': 6.1.4
'@types/node': 20.17.24
'@types/node': 22.13.10
'@types/hast@3.0.4':
dependencies:
@ -16860,13 +16866,13 @@ snapshots:
'@types/http-proxy@1.17.16':
dependencies:
'@types/node': 20.17.24
'@types/node': 22.13.10
'@types/json-schema@7.0.15': {}
'@types/jsonfile@6.1.4':
dependencies:
'@types/node': 20.17.24
'@types/node': 22.13.10
'@types/linkify-it@5.0.0': {}
@ -16944,12 +16950,12 @@ snapshots:
'@types/send@0.17.4':
dependencies:
'@types/mime': 1.3.5
'@types/node': 20.17.24
'@types/node': 22.13.10
'@types/serve-static@1.15.7':
dependencies:
'@types/http-errors': 2.0.4
'@types/node': 20.17.24
'@types/node': 22.13.10
'@types/send': 0.17.4
'@types/sortablejs@1.15.8': {}
@ -17413,10 +17419,10 @@ snapshots:
'@types/numeral': 2.0.5
reflect-metadata: 0.2.2
'@vtj/charts@0.11.1(vue@3.5.13(typescript@5.8.2))':
'@vtj/charts@0.11.2(vue@3.5.13(typescript@5.8.2))':
dependencies:
'@vtj/icons': 0.11.1(vue@3.5.13(typescript@5.8.2))
'@vtj/utils': 0.11.1
'@vtj/icons': 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/utils': 0.11.2
'@vueuse/core': 13.0.0(vue@3.5.13(typescript@5.8.2))
echarts: 5.6.0
transitivePeerDependencies:
@ -17544,24 +17550,24 @@ snapshots:
- vue
- yaml
'@vtj/coder@0.11.1':
'@vtj/coder@0.11.2':
dependencies:
'@vtj/base': 0.11.1
'@vtj/core': 0.11.1
'@vtj/core': 0.11.2
prettier: 3.5.3
'@vtj/core@0.11.1':
'@vtj/core@0.11.2':
dependencies:
'@vtj/base': 0.11.1
'@vtj/designer@0.11.1(vue@3.5.13(typescript@5.8.2))':
'@vtj/designer@0.11.2(vue@3.5.13(typescript@5.8.2))':
dependencies:
'@vtj/core': 0.11.1
'@vtj/icons': 0.11.1(vue@3.5.13(typescript@5.8.2))
'@vtj/renderer': 0.11.1
'@vtj/ui': 0.11.1(vue@3.5.13(typescript@5.8.2))
'@vtj/uni': 0.11.1(vue@3.5.13(typescript@5.8.2))
'@vtj/utils': 0.11.1
'@vtj/core': 0.11.2
'@vtj/icons': 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/renderer': 0.11.2
'@vtj/ui': 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/uni': 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/utils': 0.11.2
html2canvas: 1.4.1
mockjs: 1.1.0
monaco-editor: 0.52.2
@ -17569,24 +17575,24 @@ snapshots:
- '@vue/composition-api'
- vue
'@vtj/icons@0.11.1(vue@3.5.13(typescript@5.8.2))':
'@vtj/icons@0.11.2(vue@3.5.13(typescript@5.8.2))':
dependencies:
'@element-plus/icons-vue': 2.3.1(vue@3.5.13(typescript@5.8.2))
transitivePeerDependencies:
- vue
'@vtj/local@0.11.1':
'@vtj/local@0.11.2':
dependencies:
'@vtj/coder': 0.11.1
'@vtj/core': 0.11.1
'@vtj/coder': 0.11.2
'@vtj/core': 0.11.2
'@vtj/node': 0.11.1
'@vtj/parser': 0.11.1
'@vtj/parser': 0.11.2
formidable: 3.5.2
transitivePeerDependencies:
- debug
- supports-color
'@vtj/materials@0.11.1': {}
'@vtj/materials@0.11.2': {}
'@vtj/node@0.11.1':
dependencies:
@ -17597,42 +17603,42 @@ snapshots:
transitivePeerDependencies:
- debug
'@vtj/parser@0.11.1':
'@vtj/parser@0.11.2':
dependencies:
'@babel/generator': 7.26.10
'@babel/parser': 7.26.10
'@babel/traverse': 7.26.10
'@vtj/base': 0.11.1
'@vtj/coder': 0.11.1
'@vtj/core': 0.11.1
'@vtj/coder': 0.11.2
'@vtj/core': 0.11.2
'@vue/compiler-dom': 3.5.13
'@vue/compiler-sfc': 3.5.13
transitivePeerDependencies:
- supports-color
'@vtj/pro@0.11.1(vue@3.5.13(typescript@5.8.2))':
'@vtj/pro@0.11.2(vue@3.5.13(typescript@5.8.2))':
dependencies:
'@vtj/core': 0.11.1
'@vtj/designer': 0.11.1(vue@3.5.13(typescript@5.8.2))
'@vtj/local': 0.11.1
'@vtj/materials': 0.11.1
'@vtj/renderer': 0.11.1
'@vtj/uni': 0.11.1(vue@3.5.13(typescript@5.8.2))
'@vtj/core': 0.11.2
'@vtj/designer': 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/local': 0.11.2
'@vtj/materials': 0.11.2
'@vtj/renderer': 0.11.2
'@vtj/uni': 0.11.2(vue@3.5.13(typescript@5.8.2))
transitivePeerDependencies:
- '@vue/composition-api'
- debug
- supports-color
- vue
'@vtj/renderer@0.11.1':
'@vtj/renderer@0.11.2':
dependencies:
'@vtj/core': 0.11.1
'@vtj/utils': 0.11.1
'@vtj/core': 0.11.2
'@vtj/utils': 0.11.2
'@vtj/ui@0.11.1(vue@3.5.13(typescript@5.8.2))':
'@vtj/ui@0.11.2(vue@3.5.13(typescript@5.8.2))':
dependencies:
'@vtj/icons': 0.11.1(vue@3.5.13(typescript@5.8.2))
'@vtj/utils': 0.11.1
'@vtj/icons': 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/utils': 0.11.2
'@vueuse/core': 13.0.0(vue@3.5.13(typescript@5.8.2))
element-plus: 2.9.6(vue@3.5.13(typescript@5.8.2))
sortablejs: 1.15.6
@ -17642,27 +17648,27 @@ snapshots:
- '@vue/composition-api'
- vue
'@vtj/uni@0.11.1(vue@3.5.13(typescript@5.8.2))':
'@vtj/uni@0.11.2(vue@3.5.13(typescript@5.8.2))':
dependencies:
'@vtj/core': 0.11.1
'@vtj/icons': 0.11.1(vue@3.5.13(typescript@5.8.2))
'@vtj/renderer': 0.11.1
'@vtj/utils': 0.11.1
'@vtj/core': 0.11.2
'@vtj/icons': 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/renderer': 0.11.2
'@vtj/utils': 0.11.2
transitivePeerDependencies:
- vue
'@vtj/utils@0.11.1':
'@vtj/utils@0.11.2':
dependencies:
'@vtj/base': 0.11.1
'@vtj/web@0.11.1(vue@3.5.13(typescript@5.8.2))':
'@vtj/web@0.11.2(vue@3.5.13(typescript@5.8.2))':
dependencies:
'@vtj/charts': 0.11.1(vue@3.5.13(typescript@5.8.2))
'@vtj/core': 0.11.1
'@vtj/icons': 0.11.1(vue@3.5.13(typescript@5.8.2))
'@vtj/renderer': 0.11.1
'@vtj/ui': 0.11.1(vue@3.5.13(typescript@5.8.2))
'@vtj/utils': 0.11.1
'@vtj/charts': 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/core': 0.11.2
'@vtj/icons': 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/renderer': 0.11.2
'@vtj/ui': 0.11.2(vue@3.5.13(typescript@5.8.2))
'@vtj/utils': 0.11.2
core-js: 3.41.0
regenerator-runtime: 0.14.1
transitivePeerDependencies:
@ -23415,7 +23421,7 @@ snapshots:
'@protobufjs/path': 1.1.2
'@protobufjs/pool': 1.1.0
'@protobufjs/utf8': 1.1.0
'@types/node': 20.17.24
'@types/node': 22.13.10
long: 5.3.1
proxy-from-env@1.1.0: {}