diff --git a/apps/docs/.vitepress/config/en.mts b/apps/docs/.vitepress/config/en.mts index c531797..b75e817 100644 --- a/apps/docs/.vitepress/config/en.mts +++ b/apps/docs/.vitepress/config/en.mts @@ -2,7 +2,7 @@ import type { DefaultTheme } from 'vitepress'; import { defineConfig } from 'vitepress'; -import { version } from '../../../package.json'; +import { version } from '../../../../package.json'; export const en = defineConfig({ description: 'y-code-platform & Enterprise level management system framework', diff --git a/apps/docs/.vitepress/config/zh.mts b/apps/docs/.vitepress/config/zh.mts index 9e9766c..95e6206 100644 --- a/apps/docs/.vitepress/config/zh.mts +++ b/apps/docs/.vitepress/config/zh.mts @@ -2,7 +2,7 @@ import type { DefaultTheme } from 'vitepress'; import { defineConfig } from 'vitepress'; -import { version } from '../../../package.json'; +import { version } from '../../../../package.json'; export const zh = defineConfig({ description: '悦码 & 低代码管理系统', diff --git a/apps/platform/package.json b/apps/platform/package.json index 9b2f1e3..ff986e6 100644 --- a/apps/platform/package.json +++ b/apps/platform/package.json @@ -19,6 +19,7 @@ }, "dependencies": { "@sy/unified-login": "1.0.29", + "@sy/vue3-renderer-adapter": "workspace:*", "@vben/access": "workspace:*", "@vben/common-ui": "workspace:*", "@vben/constants": "workspace:*", diff --git a/apps/platform/src/router/routes/modules/acl.ts b/apps/platform/src/router/routes/modules/acl.ts index 52bf736..4a71980 100644 --- a/apps/platform/src/router/routes/modules/acl.ts +++ b/apps/platform/src/router/routes/modules/acl.ts @@ -1,5 +1,9 @@ import type { RouteRecordRaw } from 'vue-router'; +import { h } from 'vue'; + +import RendererAdapter from '@sy/vue3-renderer-adapter'; + import { VITE_RENDERER_URL } from '#/constants'; import { LOW_CODE_APPLICATION_ID, @@ -25,18 +29,15 @@ const routes: Array = [ title: '权限列表', keepAlive: true, icon: 'ant-design:list', - app: { + }, + component: () => + h(RendererAdapter, { url: VITE_RENDERER_URL, name: 'y-code-platform-project-list', - // sync: true, - // alive: true, - // degrade: true, applicationId: LOW_CODE_APPLICATION_ID, projectId: LOW_CODE_PROJECT_ID, fileId: '1hsd0407hf', - }, - }, - component: () => import('#/components/renderer-adapter/index.vue'), + }), }, ], }, diff --git a/apps/platform/src/router/routes/modules/application.ts b/apps/platform/src/router/routes/modules/application.ts index e5c43c2..9cd8508 100644 --- a/apps/platform/src/router/routes/modules/application.ts +++ b/apps/platform/src/router/routes/modules/application.ts @@ -1,5 +1,9 @@ import type { RouteRecordRaw } from 'vue-router'; +import { h } from 'vue'; + +import RendererAdapter from '@sy/vue3-renderer-adapter'; + import { VITE_RENDERER_URL } from '#/constants'; // 微前端路由 @@ -19,20 +23,17 @@ const routes: Array = [ name: `${moduleName}-list`, meta: { title: '应用列表', - keepAlive: true, + keepAlive: false, icon: 'ant-design:list', - app: { + }, + component: () => + h(RendererAdapter, { url: VITE_RENDERER_URL, name: 'y-code-platform-application-list', - // sync: true, - // alive: true, - // degrade: true, applicationId: 0, projectId: 4, fileId: 'b91n1y9yr', - }, - }, - component: () => import('#/components/renderer-adapter/index.vue'), + }), }, ], }, diff --git a/apps/platform/src/router/routes/modules/micro.ts b/apps/platform/src/router/routes/modules/micro.ts index 58b4409..abca419 100644 --- a/apps/platform/src/router/routes/modules/micro.ts +++ b/apps/platform/src/router/routes/modules/micro.ts @@ -1,5 +1,9 @@ import type { RouteRecordRaw } from 'vue-router'; +import { h } from 'vue'; + +import RendererAdapter from '@sy/vue3-renderer-adapter'; + import { VITE_DESIGNER_URL, VITE_V1_URL } from '#/constants'; const moduleName = 'micro'; @@ -18,18 +22,15 @@ const routes: Array = [ name: `${moduleName}-designer`, meta: { title: '低代码编辑器', - keepAlive: true, + keepAlive: false, icon: 'ant-design:edit-outlined', - app: { + }, + component: () => + h(RendererAdapter, { url: VITE_DESIGNER_URL, name: 'y-code-designer', projectId: 4, - sync: true, - alive: true, - degrade: true, - }, - }, - component: () => import('#/components/renderer-adapter/index.vue'), + }), }, { path: 'y-code-v1', @@ -47,7 +48,14 @@ const routes: Array = [ degrade: true, }, }, - component: () => import('#/components/renderer-adapter/index.vue'), + component: () => + h(RendererAdapter, { + url: VITE_V1_URL, + name: 'y-code-v1', + // sync: true, + // alive: true, + degrade: true, + }), }, ], }, diff --git a/apps/platform/src/router/routes/modules/project.ts b/apps/platform/src/router/routes/modules/project.ts index cd3eaa2..368571a 100644 --- a/apps/platform/src/router/routes/modules/project.ts +++ b/apps/platform/src/router/routes/modules/project.ts @@ -1,5 +1,9 @@ import type { RouteRecordRaw } from 'vue-router'; +import { h } from 'vue'; + +import RendererAdapter from '@sy/vue3-renderer-adapter'; + import { VITE_RENDERER_URL } from '#/constants'; import { LOW_CODE_APPLICATION_ID, @@ -25,39 +29,32 @@ const routes: Array = [ title: '项目列表', keepAlive: true, icon: 'ant-design:list', - app: { + }, + component: () => + h(RendererAdapter, { url: VITE_RENDERER_URL, name: 'y-code-platform-project-list', - // sync: true, - // alive: true, - // degrade: true, applicationId: LOW_CODE_APPLICATION_ID, projectId: LOW_CODE_PROJECT_ID, fileId: '4g4mz6qi8u', - }, - }, - component: () => import('#/components/renderer-adapter/index.vue'), + }), }, { path: 'file', name: `${moduleName}-file`, meta: { title: 'dsl 文件列表', - keepAlive: true, + keepAlive: false, icon: 'ant-design:file', - app: { + }, + component: () => + h(RendererAdapter, { url: VITE_RENDERER_URL, name: 'y-code-platform-project-file', - // sync: true, - // alive: true, - // degrade: true, applicationId: LOW_CODE_APPLICATION_ID, projectId: LOW_CODE_PROJECT_ID, - // cspell:disable-next-line fileId: '7pftwojzu', - }, - }, - component: () => import('#/components/renderer-adapter/index.vue'), + }), }, ], }, diff --git a/apps/platform/src/router/routes/modules/static-file.ts b/apps/platform/src/router/routes/modules/static-file.ts index 513b419..6cdce9f 100644 --- a/apps/platform/src/router/routes/modules/static-file.ts +++ b/apps/platform/src/router/routes/modules/static-file.ts @@ -1,5 +1,9 @@ import type { RouteRecordRaw } from 'vue-router'; +import { h } from 'vue'; + +import RendererAdapter from '@sy/vue3-renderer-adapter'; + import { VITE_RENDERER_URL } from '#/constants'; import { LOW_CODE_APPLICATION_ID, @@ -25,15 +29,15 @@ const routes: Array = [ title: '静态文件列表', keepAlive: false, icon: 'ant-design:file', - app: { + }, + component: () => + h(RendererAdapter, { url: VITE_RENDERER_URL, name: 'y-code-platform-application-list', applicationId: LOW_CODE_APPLICATION_ID, projectId: LOW_CODE_PROJECT_ID, fileId: '7pfr394d6', - }, - }, - component: () => import('#/components/renderer-adapter/index.vue'), + }), }, ], }, diff --git a/apps/platform/turbo.json b/apps/platform/turbo.json new file mode 100644 index 0000000..785db10 --- /dev/null +++ b/apps/platform/turbo.json @@ -0,0 +1,27 @@ +{ + "$schema": "https://turbo.build/schema.json", + "ui": "tui", + "globalDependencies": ["pnpm-lock.yaml"], + "globalEnv": ["NODE_ENV"], + "tasks": { + "build": { + "dependsOn": ["@sy/vue3-renderer-adapter#build", "^build"], + "outputs": ["dist/**"] + }, + "preview": { + "dependsOn": ["@sy/vue3-renderer-adapter#build", "^build"], + "outputs": ["dist/**"] + }, + "build:analyze": { + "dependsOn": ["@sy/vue3-renderer-adapter#build", "^build"], + "outputs": ["dist/**"] + }, + "dev": { + "dependsOn": ["@sy/vue3-renderer-adapter#build"], + "outputs": [], + "cache": false, + "persistent": true + } + }, + "extends": ["//"] +} diff --git a/apps/renderer/src/App.vue b/apps/renderer/src/App.vue index 79befc5..955e8af 100644 --- a/apps/renderer/src/App.vue +++ b/apps/renderer/src/App.vue @@ -47,6 +47,7 @@ const { data: file, isFetching } = useQuery({ req.headers.set('Authorization', `Bearer ${model.accessToken}`); return req; }); + console.log('import.meta.env.NODE_ENV', import.meta.env.NODE_ENV); const { provider, onReady } = createProvider({ nodeEnv: import.meta.env.NODE_ENV, service: lowCodeService, diff --git a/apps/y-code-v1/package.json b/apps/y-code-v1/package.json index 9fd00aa..d080205 100644 --- a/apps/y-code-v1/package.json +++ b/apps/y-code-v1/package.json @@ -26,12 +26,11 @@ "pinia": "catalog:", "vue": "catalog:", "vue-grid-layout": "^3.0.0-beta1", - "vue-router": "catalog:", - "wujie-vue3": "^1.0.25" + "vue-router": "catalog:" }, "devDependencies": { - "@farmfe/cli": "^1.0.4", - "@farmfe/core": "^1.6.7", + "@farmfe/cli": "catalog:", + "@farmfe/core": "catalog:", "@rushstack/eslint-patch": "^1.10.5", "@tsconfig/node20": "^20.1.4", "@types/node": "^20.17.17", diff --git a/packages/effects/common-ui/src/ui/about/about.vue b/packages/effects/common-ui/src/ui/about/about.vue index c2d5983..ac4f1c6 100644 --- a/packages/effects/common-ui/src/ui/about/about.vue +++ b/packages/effects/common-ui/src/ui/about/about.vue @@ -52,7 +52,7 @@ const { devDependencies = {}, // homepage, // license, - // version, + version, // vite inject-metadata 插件注入的全局变量 } = __VBEN_ADMIN_METADATA__ || {}; diff --git a/packages/renderer-adapter/vue3/package.json b/packages/renderer-adapter/vue3/package.json new file mode 100644 index 0000000..be54bfa --- /dev/null +++ b/packages/renderer-adapter/vue3/package.json @@ -0,0 +1,39 @@ +{ + "name": "@sy/vue3-renderer-adapter", + "version": "1.0.0-alpha.1", + "description": "vue3 renderer adapter", + "private": true, + "type": "module", + "scripts": { + "build": "vite build" + }, + "alias": { + "#": "./src" + }, + "files": [ + "dist" + ], + "main": "./dist/index.cjs", + "module": "./dist/index.js", + "unpkg": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/types/index.d.ts", + "import": "./dist/index.mjs", + "require": "./dist/index.cjs", + "default": "./dist/index.mjs" + } + }, + "dependencies": { + "postmate": "catalog:", + "vue": "catalog:" + }, + "devDependencies": { + "@farmfe/cli": "catalog:", + "@farmfe/core": "catalog:", + "@types/postmate": "catalog:", + "@vitejs/plugin-vue": "catalog:", + "vite-plugin-dts": "catalog:" + } +} diff --git a/packages/renderer-adapter/vue3/src/adapter.vue b/packages/renderer-adapter/vue3/src/adapter.vue new file mode 100644 index 0000000..a4f1676 --- /dev/null +++ b/packages/renderer-adapter/vue3/src/adapter.vue @@ -0,0 +1,55 @@ + + + diff --git a/packages/renderer-adapter/vue3/src/index.ts b/packages/renderer-adapter/vue3/src/index.ts new file mode 100644 index 0000000..8e94574 --- /dev/null +++ b/packages/renderer-adapter/vue3/src/index.ts @@ -0,0 +1 @@ +export { default } from './adapter.vue'; diff --git a/packages/renderer-adapter/vue3/tsconfig.json b/packages/renderer-adapter/vue3/tsconfig.json new file mode 100644 index 0000000..c88ac3b --- /dev/null +++ b/packages/renderer-adapter/vue3/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "target": "ESNext", + "jsx": "preserve", + "jsxFactory": "h", + "jsxFragmentFactory": "Fragment", + "lib": ["ESNext", "DOM", "DOM.Iterable"], + "baseUrl": ".", + "module": "ESNext", + "moduleResolution": "Node", + "paths": { + "@/*": ["src/*"] + }, + "resolveJsonModule": true, + "types": ["vite/client"], + "strict": true, + "useUnknownInCatchVariables": false, + "declaration": true, + "declarationDir": "dist/types", + "outDir": "dist", + "sourceMap": true, + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "skipLibCheck": true + }, + "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/renderer-adapter/vue3/vite.config.ts b/packages/renderer-adapter/vue3/vite.config.ts new file mode 100644 index 0000000..0b98961 --- /dev/null +++ b/packages/renderer-adapter/vue3/vite.config.ts @@ -0,0 +1,68 @@ +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +import vue from '@vitejs/plugin-vue'; +import { defineConfig } from 'vite'; +import dts from 'vite-plugin-dts'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); + +export default defineConfig({ + build: { + cssCodeSplit: true, + lib: { + entry: path.resolve(__dirname, 'src/index.ts'), + fileName: (format) => { + switch (format) { + case 'cjs': { + return 'index.cjs'; + } + case 'es': { + return 'index.mjs'; + } + case 'umd': { + return 'index.js'; + } + default: { + return `index.${format}.js`; + } + } + }, + formats: ['es', 'cjs', 'umd'], + name: 'RendererAdapter', + }, + outDir: 'dist', + rollupOptions: { + external: ['vue'], + output: { + assetFileNames: (assetInfo) => { + if (assetInfo.name === 'style.css') return 'assets/[name][extname]'; + return 'assets/[name]-[hash][extname]'; + }, + globals: { + vue: 'Vue', + }, + }, + }, + sourcemap: true, + }, + css: { + extract: false, + modules: { + localsConvention: 'camelCaseOnly', + scopeBehaviour: 'local', + }, + }, + plugins: [ + vue({ + css: { + injectCss: true, + }, + }), + dts({ + insertTypesEntry: true, + outDir: 'dist/types', + staticImport: true, + }), + ], +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5caf37c..5da1d07 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,9 +27,15 @@ catalogs: '@eslint/js': specifier: ^9.22.0 version: 9.22.0 + '@farmfe/cli': + specifier: ^1.0.4 + version: 1.0.4 + '@farmfe/core': + specifier: ^1.6.7 + version: 1.6.7 '@iconify/json': specifier: ^2.2.314 - version: 2.2.315 + version: 2.2.316 '@iconify/tailwind': specifier: ^1.2.0 version: 1.2.0 @@ -149,7 +155,7 @@ catalogs: version: 10.4.21 axios: specifier: ^1.8.2 - version: 1.8.2 + version: 1.8.3 axios-mock-adapter: specifier: ^2.1.0 version: 2.1.0 @@ -651,7 +657,7 @@ importers: version: 0.10.12(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2)) axios: specifier: ^1.8.1 - version: 1.8.2(debug@4.4.0) + version: 1.8.3(debug@4.4.0) element-plus: specifier: ^2.9.4 version: 2.9.6(vue@3.5.13(typescript@5.8.2)) @@ -728,7 +734,7 @@ importers: devDependencies: '@nolebase/vitepress-plugin-git-changelog': specifier: 'catalog:' - version: 2.15.1(typescript@5.8.2)(vitepress@1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.2)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2)) + version: 2.15.1(typescript@5.8.2)(vitepress@1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.3)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2)) '@vben/vite-config': specifier: workspace:* version: link:../../internal/vite-config @@ -737,7 +743,7 @@ importers: version: 0.5.3(vite-plugin-pwa@0.21.1(vite@5.4.14(@types/node@22.13.10)(less@4.2.2)(sass@1.85.1)(terser@5.39.0))(workbox-build@7.3.0(@types/babel__core@7.20.5))(workbox-window@7.3.0)) vitepress: specifier: 'catalog:' - version: 1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.2)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2) + version: 1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.3)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2) vue: specifier: ^3.5.13 version: 3.5.13(typescript@5.8.2) @@ -747,6 +753,9 @@ importers: '@sy/unified-login': specifier: 1.0.29 version: 1.0.29(vue@3.5.13(typescript@5.8.2)) + '@sy/vue3-renderer-adapter': + specifier: workspace:* + version: link:../../packages/renderer-adapter/vue3 '@vben/access': specifier: workspace:* version: link:../../packages/effects/access @@ -794,7 +803,7 @@ importers: version: 12.8.2(typescript@5.8.2) axios: specifier: 'catalog:' - version: 1.8.2(debug@4.4.0) + version: 1.8.3(debug@4.4.0) dayjs: specifier: 'catalog:' version: 1.11.13 @@ -864,7 +873,7 @@ importers: version: 0.10.12(typescript@5.8.2)(vue@3.5.13(typescript@5.8.2)) axios: specifier: 'catalog:' - version: 1.8.2(debug@4.4.0) + version: 1.8.3(debug@4.4.0) core-js: specifier: ^3.40.0 version: 3.41.0 @@ -928,7 +937,7 @@ importers: version: 4.2.6(vue@3.5.13(typescript@5.8.2)) axios: specifier: 'catalog:' - version: 1.8.2(debug@4.4.0) + version: 1.8.3(debug@4.4.0) core-js: specifier: ^3.40.0 version: 3.41.0 @@ -956,15 +965,12 @@ importers: vue-router: specifier: 'catalog:' version: 4.5.0(vue@3.5.13(typescript@5.8.2)) - wujie-vue3: - specifier: ^1.0.25 - version: 1.0.25(vue@3.5.13(typescript@5.8.2)) devDependencies: '@farmfe/cli': - specifier: ^1.0.4 + specifier: 'catalog:' version: 1.0.4 '@farmfe/core': - specifier: ^1.6.7 + specifier: 'catalog:' version: 1.6.7 '@rushstack/eslint-patch': specifier: ^1.10.5 @@ -1210,7 +1216,7 @@ importers: dependencies: '@iconify/json': specifier: 'catalog:' - version: 2.2.315 + version: 2.2.316 '@iconify/tailwind': specifier: 'catalog:' version: 1.2.0 @@ -1679,7 +1685,7 @@ importers: version: 12.8.2(typescript@5.8.2) '@vueuse/integrations': specifier: 'catalog:' - version: 12.8.2(async-validator@4.2.5)(axios@1.8.2)(change-case@5.4.4)(focus-trap@7.6.4)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.6)(typescript@5.8.2) + version: 12.8.2(async-validator@4.2.5)(axios@1.8.3)(change-case@5.4.4)(focus-trap@7.6.4)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.6)(typescript@5.8.2) qrcode: specifier: 'catalog:' version: 1.5.4 @@ -1851,11 +1857,11 @@ importers: version: link:../../utils axios: specifier: 'catalog:' - version: 1.8.2(debug@4.4.0) + version: 1.8.3(debug@4.4.0) devDependencies: axios-mock-adapter: specifier: 'catalog:' - version: 2.1.0(axios@1.8.2) + version: 2.1.0(axios@1.8.3) packages/icons: dependencies: @@ -1887,6 +1893,31 @@ importers: specifier: workspace:* version: link:../@core/base/typings + packages/renderer-adapter/vue3: + dependencies: + postmate: + specifier: 'catalog:' + version: 1.5.2 + vue: + specifier: ^3.5.13 + version: 3.5.13(typescript@5.8.2) + devDependencies: + '@farmfe/cli': + specifier: 'catalog:' + version: 1.0.4 + '@farmfe/core': + specifier: 'catalog:' + version: 1.6.7 + '@types/postmate': + specifier: 'catalog:' + version: 1.5.4 + '@vitejs/plugin-vue': + specifier: 'catalog:' + version: 5.2.1(vite@6.2.1(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.8.2)) + vite-plugin-dts: + specifier: 'catalog:' + version: 4.5.3(@types/node@22.13.10)(rollup@4.35.0)(typescript@5.8.2)(vite@6.2.1(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) + packages/stores: dependencies: '@vben-core/preferences': @@ -3948,8 +3979,8 @@ packages: '@iconify-json/vscode-icons@1.2.16': resolution: {integrity: sha512-hstc2yVq2UJ6v6FrgjftzXRvphGZBsKxvSeXoFLP1Hgx89TPZKrGE5SV6vqsoeIlLYaQ7OZbXmAoVGroTfGmVQ==} - '@iconify/json@2.2.315': - resolution: {integrity: sha512-ST+F6ZF+IpKm2eaABWftJ4stWbB8pcEd9Q5bshW8hcIW/kcvzwit3fI/5x3tFFscWUCxHGNU3JNVMtNlodHweQ==} + '@iconify/json@2.2.316': + resolution: {integrity: sha512-nVBinEhlXrX7ZDNNjiR6pN06SmB/SzqxgpR+DkuNSMglC+/awrBiuF3RUwoCkJ3cDTK9aa86JJoKnIPFXSqo6g==} '@iconify/tailwind@1.2.0': resolution: {integrity: sha512-KgpIHWOTcRYw1XcoUqyNSrmYyfLLqZYu3AmP8zdfLk0F5TqRO8YerhlvlQmGfn7rJXgPeZN569xPAJnJ53zZxA==} @@ -5911,8 +5942,8 @@ packages: peerDependencies: axios: '>= 0.17.0' - axios@1.8.2: - resolution: {integrity: sha512-ls4GYBm5aig9vWx8AWDSGLpnpDQRtWAfrjU+EuytuODrFBkqesN2RkOQCBzrA1RQNHw1SmRMSDDDSwzNAYQ6Rg==} + axios@1.8.3: + resolution: {integrity: sha512-iP4DebzoNlP/YN2dpwCgb8zoCmhtkajzS48JvwmkSkXvPI3DHc7m+XYL5tGnSlJtR6nImXZmdCuN5aP8dh1d8A==} b4a@1.6.7: resolution: {integrity: sha512-OnAYlL5b7LEkALw87fUVafQw5rVR9RjwGd4KUwNQ6DrrNmaVaUCgLipfVlzrPQ4tWOR9P0IXGNOx50jYCCdSJg==} @@ -12833,14 +12864,6 @@ packages: utf-8-validate: optional: true - wujie-vue3@1.0.25: - resolution: {integrity: sha512-4yOdI+SluU/+eAh/KXvECdUUG/3bHRbBp1Hooq1/rl4HvlotO2QyPY8UyUlBz3Q0byDQcARaSbItHdnmIf1CIA==} - peerDependencies: - vue: ^3.5.13 - - wujie@1.0.25: - resolution: {integrity: sha512-V9UtKYqs5Dop8ZgxYAySkavwC9Sc15EvzlbSD8N96VFwOD0vct0N1j0S1SLXkzruhooYEeAzlPNyt8gCBPcMKA==} - xdg-basedir@5.1.0: resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} engines: {node: '>=12'} @@ -15398,7 +15421,7 @@ snapshots: dependencies: '@iconify/types': 2.0.0 - '@iconify/json@2.2.315': + '@iconify/json@2.2.316': dependencies: '@iconify/types': 2.0.0 pathe: 1.1.2 @@ -15798,19 +15821,19 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 - '@nolebase/ui@2.15.1(typescript@5.8.2)(vitepress@1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.2)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2))': + '@nolebase/ui@2.15.1(typescript@5.8.2)(vitepress@1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.3)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2))': dependencies: '@iconify-json/octicon': 1.2.5 less: 4.2.2 - vitepress: 1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.2)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2) + vitepress: 1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.3)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2) vue: 3.5.13(typescript@5.8.2) transitivePeerDependencies: - typescript - '@nolebase/vitepress-plugin-git-changelog@2.15.1(typescript@5.8.2)(vitepress@1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.2)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2))': + '@nolebase/vitepress-plugin-git-changelog@2.15.1(typescript@5.8.2)(vitepress@1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.3)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2))': dependencies: '@iconify-json/octicon': 1.2.5 - '@nolebase/ui': 2.15.1(typescript@5.8.2)(vitepress@1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.2)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2)) + '@nolebase/ui': 2.15.1(typescript@5.8.2)(vitepress@1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.3)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2)) colorette: 2.0.20 date-fns: 4.1.0 defu: 6.1.4 @@ -15820,7 +15843,7 @@ snapshots: gray-matter: 4.0.3 less: 4.2.2 uncrypto: 0.1.3 - vitepress: 1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.2)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2) + vitepress: 1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.3)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2) transitivePeerDependencies: - typescript @@ -17348,7 +17371,7 @@ snapshots: dependencies: '@types/fs-extra': 11.0.4 '@vtj/base': 0.10.1 - axios: 1.8.2(debug@4.4.0) + axios: 1.8.3(debug@4.4.0) fs-extra: 11.3.0 transitivePeerDependencies: - debug @@ -17647,14 +17670,14 @@ snapshots: - '@vue/composition-api' - vue - '@vueuse/integrations@12.8.2(async-validator@4.2.5)(axios@1.8.2)(change-case@5.4.4)(focus-trap@7.6.4)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.6)(typescript@5.8.2)': + '@vueuse/integrations@12.8.2(async-validator@4.2.5)(axios@1.8.3)(change-case@5.4.4)(focus-trap@7.6.4)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.6)(typescript@5.8.2)': dependencies: '@vueuse/core': 12.8.2(typescript@5.8.2) '@vueuse/shared': 12.8.2(typescript@5.8.2) vue: 3.5.13(typescript@5.8.2) optionalDependencies: async-validator: 4.2.5 - axios: 1.8.2(debug@4.4.0) + axios: 1.8.3(debug@4.4.0) change-case: 5.4.4 focus-trap: 7.6.4 nprogress: 0.2.0 @@ -18015,13 +18038,13 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 - axios-mock-adapter@2.1.0(axios@1.8.2): + axios-mock-adapter@2.1.0(axios@1.8.3): dependencies: - axios: 1.8.2(debug@4.4.0) + axios: 1.8.3(debug@4.4.0) fast-deep-equal: 3.1.3 is-buffer: 2.0.5 - axios@1.8.2(debug@4.4.0): + axios@1.8.3(debug@4.4.0): dependencies: follow-redirects: 1.15.9(debug@4.4.0) form-data: 4.0.2 @@ -19118,7 +19141,7 @@ snapshots: dependencies: is-arguments: 1.2.0 is-date-object: 1.1.0 - is-regex: 1.1.4 + is-regex: 1.2.1 object-is: 1.1.6 object-keys: 1.1.1 regexp.prototype.flags: 1.5.4 @@ -25309,7 +25332,7 @@ snapshots: vite-plugin-mkcert@1.17.7(vite@6.2.1(@types/node@20.17.24)(jiti@2.4.2)(less@4.2.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)): dependencies: - axios: 1.8.2(debug@4.4.0) + axios: 1.8.3(debug@4.4.0) debug: 4.4.0(supports-color@9.4.0) picocolors: 1.1.1 vite: 6.2.1(@types/node@20.17.24)(jiti@2.4.2)(less@4.2.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) @@ -25318,7 +25341,7 @@ snapshots: vite-plugin-mkcert@1.17.7(vite@6.2.1(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)): dependencies: - axios: 1.8.2(debug@4.4.0) + axios: 1.8.3(debug@4.4.0) debug: 4.4.0(supports-color@9.4.0) picocolors: 1.1.1 vite: 6.2.1(@types/node@22.13.10)(jiti@2.4.2)(less@4.2.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) @@ -25475,7 +25498,7 @@ snapshots: transitivePeerDependencies: - supports-color - vitepress@1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.2)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2): + vitepress@1.6.3(@algolia/client-search@5.21.0)(@types/node@22.13.10)(async-validator@4.2.5)(axios@1.8.3)(change-case@5.4.4)(less@4.2.2)(nprogress@0.2.0)(postcss@8.5.3)(qrcode@1.5.4)(sass@1.85.1)(search-insights@2.17.3)(sortablejs@1.15.6)(terser@5.39.0)(typescript@5.8.2): dependencies: '@docsearch/css': 3.8.2 '@docsearch/js': 3.8.2(@algolia/client-search@5.21.0)(search-insights@2.17.3) @@ -25488,7 +25511,7 @@ snapshots: '@vue/devtools-api': 7.7.2 '@vue/shared': 3.5.13 '@vueuse/core': 12.8.2(typescript@5.8.2) - '@vueuse/integrations': 12.8.2(async-validator@4.2.5)(axios@1.8.2)(change-case@5.4.4)(focus-trap@7.6.4)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.6)(typescript@5.8.2) + '@vueuse/integrations': 12.8.2(async-validator@4.2.5)(axios@1.8.3)(change-case@5.4.4)(focus-trap@7.6.4)(nprogress@0.2.0)(qrcode@1.5.4)(sortablejs@1.15.6)(typescript@5.8.2) focus-trap: 7.6.4 mark.js: 8.11.1 minisearch: 7.1.2 @@ -25986,15 +26009,6 @@ snapshots: ws@8.18.1: {} - wujie-vue3@1.0.25(vue@3.5.13(typescript@5.8.2)): - dependencies: - vue: 3.5.13(typescript@5.8.2) - wujie: 1.0.25 - - wujie@1.0.25: - dependencies: - '@babel/runtime': 7.26.10 - xdg-basedir@5.1.0: {} xe-utils@3.7.4: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 4a36038..042666d 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,6 +2,7 @@ packages: - internal/* - internal/lint-configs/* - packages/* + - packages/renderer-adapter/* - packages/@core/base/* - packages/@core/ui-kit/* - packages/@core/forward/* @@ -62,6 +63,8 @@ catalog: '@vueuse/core': ^12.8.2 '@vueuse/motion': ^2.2.6 '@vueuse/integrations': ^12.8.2 + '@farmfe/cli': ^1.0.4 + '@farmfe/core': ^1.6.7 ant-design-vue: ^4.2.6 archiver: ^7.0.1 autoprefixer: ^10.4.20 diff --git a/vben-admin.code-workspace b/vben-admin.code-workspace index 440cedf..3708644 100644 --- a/vben-admin.code-workspace +++ b/vben-admin.code-workspace @@ -2,171 +2,171 @@ "folders": [ { "name": "@sy/y-code-designer", - "path": "apps/designer", + "path": "apps/designer" }, { "name": "@sy/y-code-platform", - "path": "apps/platform", + "path": "apps/platform" }, { "name": "@sy/y-code-renderer", - "path": "apps/renderer", + "path": "apps/renderer" }, { "name": "@sy/low-code-y-code-v1", - "path": "apps/y-code-v1", + "path": "apps/y-code-v1" }, { "name": "@sy/y-code-docs", - "path": "docs", + "path": "apps/docs" }, { "name": "@vben/commitlint-config", - "path": "internal/lint-configs/commitlint-config", + "path": "internal/lint-configs/commitlint-config" }, { "name": "@vben/eslint-config", - "path": "internal/lint-configs/eslint-config", + "path": "internal/lint-configs/eslint-config" }, { "name": "@vben/prettier-config", - "path": "internal/lint-configs/prettier-config", + "path": "internal/lint-configs/prettier-config" }, { "name": "@vben/stylelint-config", - "path": "internal/lint-configs/stylelint-config", + "path": "internal/lint-configs/stylelint-config" }, { "name": "@vben/node-utils", - "path": "internal/node-utils", + "path": "internal/node-utils" }, { "name": "@vben/tailwind-config", - "path": "internal/tailwind-config", + "path": "internal/tailwind-config" }, { "name": "@vben/tsconfig", - "path": "internal/tsconfig", + "path": "internal/tsconfig" }, { "name": "@vben/vite-config", - "path": "internal/vite-config", + "path": "internal/vite-config" }, { "name": "@vben-core/design", - "path": "packages/@core/base/design", + "path": "packages/@core/base/design" }, { "name": "@vben-core/icons", - "path": "packages/@core/base/icons", + "path": "packages/@core/base/icons" }, { "name": "@vben-core/shared", - "path": "packages/@core/base/shared", + "path": "packages/@core/base/shared" }, { "name": "@vben-core/typings", - "path": "packages/@core/base/typings", + "path": "packages/@core/base/typings" }, { "name": "@vben-core/composables", - "path": "packages/@core/composables", + "path": "packages/@core/composables" }, { "name": "@vben-core/preferences", - "path": "packages/@core/preferences", + "path": "packages/@core/preferences" }, { "name": "@vben-core/form-ui", - "path": "packages/@core/ui-kit/form-ui", + "path": "packages/@core/ui-kit/form-ui" }, { "name": "@vben-core/layout-ui", - "path": "packages/@core/ui-kit/layout-ui", + "path": "packages/@core/ui-kit/layout-ui" }, { "name": "@vben-core/menu-ui", - "path": "packages/@core/ui-kit/menu-ui", + "path": "packages/@core/ui-kit/menu-ui" }, { "name": "@vben-core/popup-ui", - "path": "packages/@core/ui-kit/popup-ui", + "path": "packages/@core/ui-kit/popup-ui" }, { "name": "@vben-core/shadcn-ui", - "path": "packages/@core/ui-kit/shadcn-ui", + "path": "packages/@core/ui-kit/shadcn-ui" }, { "name": "@vben-core/tabs-ui", - "path": "packages/@core/ui-kit/tabs-ui", + "path": "packages/@core/ui-kit/tabs-ui" }, { "name": "@vben/constants", - "path": "packages/constants", + "path": "packages/constants" }, { "name": "@vben/access", - "path": "packages/effects/access", + "path": "packages/effects/access" }, { "name": "@vben/common-ui", - "path": "packages/effects/common-ui", + "path": "packages/effects/common-ui" }, { "name": "@vben/hooks", - "path": "packages/effects/hooks", + "path": "packages/effects/hooks" }, { "name": "@vben/layouts", - "path": "packages/effects/layouts", + "path": "packages/effects/layouts" }, { "name": "@vben/plugins", - "path": "packages/effects/plugins", + "path": "packages/effects/plugins" }, { "name": "@vben/request", - "path": "packages/effects/request", + "path": "packages/effects/request" }, { "name": "@vben/icons", - "path": "packages/icons", + "path": "packages/icons" }, { "name": "@vben/locales", - "path": "packages/locales", + "path": "packages/locales" }, { "name": "@vben/preferences", - "path": "packages/preferences", + "path": "packages/preferences" }, { "name": "@vben/stores", - "path": "packages/stores", + "path": "packages/stores" }, { "name": "@vben/styles", - "path": "packages/styles", + "path": "packages/styles" }, { "name": "@vben/types", - "path": "packages/types", + "path": "packages/types" }, { "name": "@vben/utils", - "path": "packages/utils", + "path": "packages/utils" }, { "name": "@sy/web-vitals", - "path": "packages/web-vitals", + "path": "packages/web-vitals" }, { "name": "@vben/turbo-run", - "path": "scripts/turbo-run", + "path": "scripts/turbo-run" }, { "name": "@vben/vsh", - "path": "scripts/vsh", - }, - ], + "path": "scripts/vsh" + } + ] }