chore: 最重要的 file 增删改查添加成功

This commit is contained in:
wangxuefeng 2025-03-01 10:42:49 +08:00
parent 384ea1f547
commit 50fed4a7dc
9 changed files with 384 additions and 50 deletions

View File

@ -0,0 +1,91 @@
{
"globals": {
"Component": true,
"ComponentPublicInstance": true,
"ComputedRef": true,
"DirectiveBinding": true,
"EffectScope": true,
"ExtractDefaultPropTypes": true,
"ExtractPropTypes": true,
"ExtractPublicPropTypes": true,
"InjectionKey": true,
"MaybeRef": true,
"MaybeRefOrGetter": true,
"PropType": true,
"Ref": true,
"VNode": true,
"WritableComputedRef": true,
"acceptHMRUpdate": true,
"computed": true,
"createApp": true,
"createPinia": true,
"customRef": true,
"defineAsyncComponent": true,
"defineComponent": true,
"defineStore": true,
"effectScope": true,
"getActivePinia": true,
"getCurrentInstance": true,
"getCurrentScope": true,
"h": true,
"inject": true,
"isProxy": true,
"isReactive": true,
"isReadonly": true,
"isRef": true,
"mapActions": true,
"mapGetters": true,
"mapState": true,
"mapStores": true,
"mapWritableState": true,
"markRaw": true,
"nextTick": true,
"onActivated": true,
"onBeforeMount": true,
"onBeforeRouteLeave": true,
"onBeforeRouteUpdate": true,
"onBeforeUnmount": true,
"onBeforeUpdate": true,
"onDeactivated": true,
"onErrorCaptured": true,
"onMounted": true,
"onRenderTracked": true,
"onRenderTriggered": true,
"onScopeDispose": true,
"onServerPrefetch": true,
"onUnmounted": true,
"onUpdated": true,
"onWatcherCleanup": true,
"provide": true,
"reactive": true,
"readonly": true,
"ref": true,
"resolveComponent": true,
"setActivePinia": true,
"setMapStoreSuffix": true,
"shallowReactive": true,
"shallowReadonly": true,
"shallowRef": true,
"storeToRefs": true,
"toRaw": true,
"toRef": true,
"toRefs": true,
"toValue": true,
"triggerRef": true,
"unref": true,
"useAttrs": true,
"useCssModule": true,
"useCssVars": true,
"useId": true,
"useLink": true,
"useModel": true,
"useRoute": true,
"useRouter": true,
"useSlots": true,
"useTemplateRef": true,
"watch": true,
"watchEffect": true,
"watchPostEffect": true,
"watchSyncEffect": true
}
}

View File

@ -30,6 +30,9 @@
"axios": "^1.8.1",
"element-plus": "^2.9.4",
"licia-es": "^1.46.0",
"pinia": "^3.0.1",
"pinia-plugin-persistedstate": "^4.2.0",
"unplugin-auto-import": "^19.1.1",
"vue": "~3.5.13",
"vue-router": "~4.5.0"
},

88
apps/designer/src/auto-imports.d.ts vendored Normal file
View File

@ -0,0 +1,88 @@
/* eslint-disable */
/* prettier-ignore */
// @ts-nocheck
// noinspection JSUnusedGlobalSymbols
// Generated by unplugin-auto-import
// biome-ignore lint: disable
export {}
declare global {
const EffectScope: typeof import('vue')['EffectScope']
const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate']
const computed: typeof import('vue')['computed']
const createApp: typeof import('vue')['createApp']
const createPinia: typeof import('pinia')['createPinia']
const customRef: typeof import('vue')['customRef']
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
const defineComponent: typeof import('vue')['defineComponent']
const defineStore: typeof import('pinia')['defineStore']
const effectScope: typeof import('vue')['effectScope']
const getActivePinia: typeof import('pinia')['getActivePinia']
const getCurrentInstance: typeof import('vue')['getCurrentInstance']
const getCurrentScope: typeof import('vue')['getCurrentScope']
const h: typeof import('vue')['h']
const inject: typeof import('vue')['inject']
const isProxy: typeof import('vue')['isProxy']
const isReactive: typeof import('vue')['isReactive']
const isReadonly: typeof import('vue')['isReadonly']
const isRef: typeof import('vue')['isRef']
const mapActions: typeof import('pinia')['mapActions']
const mapGetters: typeof import('pinia')['mapGetters']
const mapState: typeof import('pinia')['mapState']
const mapStores: typeof import('pinia')['mapStores']
const mapWritableState: typeof import('pinia')['mapWritableState']
const markRaw: typeof import('vue')['markRaw']
const nextTick: typeof import('vue')['nextTick']
const onActivated: typeof import('vue')['onActivated']
const onBeforeMount: typeof import('vue')['onBeforeMount']
const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave']
const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate']
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
const onDeactivated: typeof import('vue')['onDeactivated']
const onErrorCaptured: typeof import('vue')['onErrorCaptured']
const onMounted: typeof import('vue')['onMounted']
const onRenderTracked: typeof import('vue')['onRenderTracked']
const onRenderTriggered: typeof import('vue')['onRenderTriggered']
const onScopeDispose: typeof import('vue')['onScopeDispose']
const onServerPrefetch: typeof import('vue')['onServerPrefetch']
const onUnmounted: typeof import('vue')['onUnmounted']
const onUpdated: typeof import('vue')['onUpdated']
const onWatcherCleanup: typeof import('vue')['onWatcherCleanup']
const provide: typeof import('vue')['provide']
const reactive: typeof import('vue')['reactive']
const readonly: typeof import('vue')['readonly']
const ref: typeof import('vue')['ref']
const resolveComponent: typeof import('vue')['resolveComponent']
const setActivePinia: typeof import('pinia')['setActivePinia']
const setMapStoreSuffix: typeof import('pinia')['setMapStoreSuffix']
const shallowReactive: typeof import('vue')['shallowReactive']
const shallowReadonly: typeof import('vue')['shallowReadonly']
const shallowRef: typeof import('vue')['shallowRef']
const storeToRefs: typeof import('pinia')['storeToRefs']
const toRaw: typeof import('vue')['toRaw']
const toRef: typeof import('vue')['toRef']
const toRefs: typeof import('vue')['toRefs']
const toValue: typeof import('vue')['toValue']
const triggerRef: typeof import('vue')['triggerRef']
const unref: typeof import('vue')['unref']
const useAttrs: typeof import('vue')['useAttrs']
const useCssModule: typeof import('vue')['useCssModule']
const useCssVars: typeof import('vue')['useCssVars']
const useId: typeof import('vue')['useId']
const useLink: typeof import('vue-router')['useLink']
const useModel: typeof import('vue')['useModel']
const useRoute: typeof import('vue-router')['useRoute']
const useRouter: typeof import('vue-router')['useRouter']
const useSlots: typeof import('vue')['useSlots']
const useTemplateRef: typeof import('vue')['useTemplateRef']
const watch: typeof import('vue')['watch']
const watchEffect: typeof import('vue')['watchEffect']
const watchPostEffect: typeof import('vue')['watchPostEffect']
const watchSyncEffect: typeof import('vue')['watchSyncEffect']
}
// for type re-export
declare global {
// @ts-ignore
export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
import('vue')
}

View File

@ -1,5 +1,6 @@
import { type BlockSchema } from '@vtj/core';
import instance from './instance';
import { fi } from 'element-plus/es/locale/index.mjs';
export type LowCodeFileSchema = {
project_id: number;
@ -7,6 +8,7 @@ export type LowCodeFileSchema = {
active: boolean;
dsl: BlockSchema;
file_path?: string;
file_id?: string;
};
function transformFile(file: LowCodeFileSchema): LowCodeFileSchema {
@ -16,7 +18,8 @@ function transformFile(file: LowCodeFileSchema): LowCodeFileSchema {
active: file.active,
// @ts-ignore
dsl: JSON.stringify(file.dsl),
file_path: file.file_path
file_path: file.file_path,
file_id: file.file_id
};
}
@ -27,10 +30,7 @@ export const getFileList = async () => {
export const getFile = async (id: string) => {
const response = await instance.get(`/api/v1/files/${id}`);
return {
...response.data,
dsl: JSON.parse(response.data.dsl)
};
return response.data;
};
export const createFile = async (data: LowCodeFileSchema) => {
@ -39,7 +39,10 @@ export const createFile = async (data: LowCodeFileSchema) => {
};
export const updateFile = async (id: string, data: LowCodeFileSchema) => {
const response = await instance.put(`/api/v1/files/${id}`, data);
const response = await instance.put(
`/api/v1/files/${id}`,
transformFile(data)
);
return response.data;
};

View File

@ -1,7 +1,20 @@
import { createApp } from 'vue';
import { createPersistedState } from 'pinia-plugin-persistedstate';
import router from './router';
import App from './App.vue';
import './style/index.scss';
import { pinia } from './store';
// 添加持久化插件
pinia.use(
createPersistedState({
auto: true, // 自动持久化所有 store
storage: localStorage
})
);
const app = createApp(App);
app.use(router);
app.use(pinia);
app.mount('#app');

View File

@ -18,6 +18,7 @@ import {
createFile,
updateFile as updateLowCodeFile,
getFile as getLowCodeFile,
deleteFile as deleteLowCodeFile,
type LowCodeFileSchema
} from '@/io';
import { isNumeric } from 'licia-es';
@ -89,52 +90,34 @@ export class StorageService extends BaseService {
}
public async saveFile(file: BlockSchema): Promise<boolean> {
// console.log('file', file);
// const ACTION = {
// CREATE: 'create',
// UPDATE: 'update'
// };
// const action = isNumeric(file.id) ? ACTION.UPDATE : ACTION.CREATE;
// console.log('action', action);
// console.log('saveFile', file);
// if (action === ACTION.CREATE) {
// const newFile: LowCodeFileSchema = {
// project_id: 2,
// publish: false,
// active: true,
// dsl: file
// };
// Reflect.deleteProperty(newFile, 'id');
// const res = await createFile(newFile);
// console.log('saveFile-res', res);
// }
console.log('saveFile', file);
if (file.id) {
const existFile = await getLowCodeFile(file.id);
console.log('existFile', existFile);
if (existFile) {
if (existFile.file_id) {
console.log('updateFile', file, existFile);
await updateLowCodeFile(file.id, {
...existFile,
dsl: file
});
} else {
console.log('createFile', file);
await createFile({
project_id: 2,
publish: false,
active: true,
dsl: file
dsl: file,
file_id: file.id
});
}
}
// storage.save(`file_${file.id}`, file);
return Promise.resolve(true);
}
public async getFile(id: string): Promise<BlockSchema> {
const dsl = storage.get(`file_${id}`);
console.log('getFile', id, dsl);
const lowCodeFile = await getLowCodeFile(id);
console.log('lowCodeFile', lowCodeFile);
console.log('getFile', lowCodeFile);
if (lowCodeFile.dsl) {
return Promise.resolve(lowCodeFile.dsl as BlockSchema);
} else {
@ -142,10 +125,14 @@ export class StorageService extends BaseService {
}
}
public removeFile(id: string): Promise<boolean> {
public async removeFile(id: string): Promise<boolean> {
storage.remove(`file_${id}`);
console.log('removeFile', id);
// return Promise.resolve(true);
return deleteLowCodeFile(id).then((res) => {
console.log('removeFile-res', res);
return Promise.resolve(true);
});
}
public saveHistory(history: HistorySchema): Promise<boolean> {

View File

@ -0,0 +1,67 @@
import { ref, computed } from 'vue';
import axios from 'axios';
import { createPinia, defineStore } from 'pinia';
// 创建 pinia 实例
export const pinia = createPinia();
// 用户模块 store
export const useUserStore = defineStore('user', () => {
// 状态定义
const token = ref<string>(localStorage.getItem('token') || '');
const userProfile = ref<null>(null);
// getter 计算属性
const isLoggedIn = computed(() => !!token.value);
// 同步 action
const setToken = (newToken: string) => {
token.value = newToken;
localStorage.setItem('token', newToken);
};
// 异步 action
const fetchProfile = async () => {
const { data } = await axios.get('/api/user/profile');
userProfile.value = data;
};
// 清理方法
const logout = () => {
token.value = '';
userProfile.value = null;
localStorage.removeItem('token');
};
return {
token,
userProfile,
isLoggedIn,
setToken,
fetchProfile,
logout
};
});
// 应用配置 store
export const useAppStore = defineStore('app', () => {
const theme = ref<'light' | 'dark'>('light');
const sidebarCollapsed = ref(false);
// 持久化配置
const persist = {
paths: ['theme', 'sidebarCollapsed'],
storage: localStorage
};
const toggleTheme = () => {
theme.value = theme.value === 'light' ? 'dark' : 'light';
};
return {
theme,
sidebarCollapsed,
toggleTheme,
persist
};
});

View File

@ -4,10 +4,31 @@ import { createDevTools } from '@vtj/local';
import http2Proxy from '@sy/vite-plugin-http2-proxy';
import proxy from './proxy.config';
import mkcert from 'vite-plugin-mkcert';
import AutoImport from 'unplugin-auto-import/vite';
const config = createViteConfig({
proxy,
plugins: [createDevTools(), http2Proxy(), mkcert()]
plugins: [
createDevTools(),
http2Proxy(),
mkcert(),
AutoImport({
imports: [
'vue',
'pinia',
'vue-router',
{
from: 'pinia',
imports: ['storeToRefs', 'defineStore'],
type: true
}
],
dts: 'src/auto-imports.d.ts', // 生成类型声明文件
eslintrc: {
enabled: true // 生成 eslint 配置
}
})
]
});
export default defineConfig({

93
pnpm-lock.yaml generated
View File

@ -137,6 +137,15 @@ importers:
licia-es:
specifier: ^1.46.0
version: 1.46.0
pinia:
specifier: ^3.0.1
version: 3.0.1(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))
pinia-plugin-persistedstate:
specifier: ^4.2.0
version: 4.2.0(magicast@0.3.5)(pinia@3.0.1(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)))
unplugin-auto-import:
specifier: ^19.1.1
version: 19.1.1(@nuxt/kit@3.15.4(magicast@0.3.5))(@vueuse/core@12.5.0(typescript@5.7.3))
vue:
specifier: ~3.5.13
version: 3.5.13(typescript@5.7.3)
@ -149,7 +158,7 @@ importers:
version: link:../../packages/vite-plugin-http2-proxy
'@vtj/cli':
specifier: ^0.10.1
version: 0.10.1(@types/less@3.0.8)(jiti@2.4.2)(less@4.2.2)(msw@2.7.3(@types/node@22.12.0)(typescript@5.7.3))(rollup@3.29.5)(vue@3.5.13(typescript@5.7.3))(yaml@2.6.1)
version: 0.10.1(@nuxt/kit@3.15.4(magicast@0.3.5))(@types/less@3.0.8)(jiti@2.4.2)(less@4.2.2)(msw@2.7.3(@types/node@22.12.0)(typescript@5.7.3))(rollup@3.29.5)(vue@3.5.13(typescript@5.7.3))(yaml@2.6.1)
vite:
specifier: ^6.2.0
version: 6.2.0(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1)
@ -3697,6 +3706,9 @@ packages:
'@vue/devtools-api@6.6.4':
resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==}
'@vue/devtools-api@7.7.2':
resolution: {integrity: sha512-1syn558KhyN+chO5SjlZIwJ8bV/bQ1nOVTG66t2RbG66ZGekyiYNmRO7X9BJCXQqPsFHlnksqvPhce2qpzxFnA==}
'@vue/devtools-core@7.7.2':
resolution: {integrity: sha512-lexREWj1lKi91Tblr38ntSsy6CvI8ba7u+jmwh2yruib/ltLUcsIzEjCnrkh1yYGGIKXbAuYV2tOG10fGDB9OQ==}
peerDependencies:
@ -6909,10 +6921,6 @@ packages:
resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==}
engines: {node: '>=14'}
local-pkg@1.0.0:
resolution: {integrity: sha512-bbgPw/wmroJsil/GgL4qjDzs5YLTBMQ99weRsok1XCDccQeehbHA/I1oRvk2NPtr7KGZgT/Y5tPRnAtMqeG2Kg==}
engines: {node: '>=14'}
local-pkg@1.1.0:
resolution: {integrity: sha512-xbZBuX6gYIWrlLmZG43aAVer4ocntYO09vPy9lxd6Ns8DnR4U7N+IIeDkubinqFOHHzoMlPxTxwo0jhE7oYjAw==}
engines: {node: '>=14'}
@ -7953,6 +7961,15 @@ packages:
typescript:
optional: true
pinia@3.0.1:
resolution: {integrity: sha512-WXglsDzztOTH6IfcJ99ltYZin2mY8XZCXujkYWVIJlBjqsP6ST7zw+Aarh63E1cDVYeyUcPCxPHzJpEOmzB6Wg==}
peerDependencies:
typescript: '>=4.4.4'
vue: ^2.7.0 || ^3.5.11
peerDependenciesMeta:
typescript:
optional: true
pkg-conf@2.1.0:
resolution: {integrity: sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==}
engines: {node: '>=4'}
@ -9538,6 +9555,18 @@ packages:
resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
engines: {node: '>= 0.8'}
unplugin-auto-import@19.1.1:
resolution: {integrity: sha512-sCGZZrSR1Bc8RfN8Q0RUDxXtC20rdAt7UB4lDyq8MNtKVHiXXh+5af6Nz4JRp9Q+7HjnbgQfQox0TkEymjdUAQ==}
engines: {node: '>=14'}
peerDependencies:
'@nuxt/kit': ^3.2.2
'@vueuse/core': '*'
peerDependenciesMeta:
'@nuxt/kit':
optional: true
'@vueuse/core':
optional: true
unplugin-element-plus@0.9.1:
resolution: {integrity: sha512-TtQ7bj82gM1Hw5A+LmG/oFrvYb6L0BqhxVUl7djMiicvk7LjdUiP70QhTKaBY/tiFR9NJCIPYSmw4naCuhK7Hg==}
engines: {node: '>=18.12.0'}
@ -12288,7 +12317,7 @@ snapshots:
debug: 4.4.0
globals: 15.15.0
kolorist: 1.8.0
local-pkg: 1.0.0
local-pkg: 1.1.0
mlly: 1.7.4
transitivePeerDependencies:
- supports-color
@ -13946,7 +13975,7 @@ snapshots:
- typescript
- vue
'@vtj/cli@0.10.1(@types/less@3.0.8)(jiti@2.4.2)(less@4.2.2)(msw@2.7.3(@types/node@22.12.0)(typescript@5.7.3))(rollup@3.29.5)(vue@3.5.13(typescript@5.7.3))(yaml@2.6.1)':
'@vtj/cli@0.10.1(@nuxt/kit@3.15.4(magicast@0.3.5))(@types/less@3.0.8)(jiti@2.4.2)(less@4.2.2)(msw@2.7.3(@types/node@22.12.0)(typescript@5.7.3))(rollup@3.29.5)(vue@3.5.13(typescript@5.7.3))(yaml@2.6.1)':
dependencies:
'@babel/core': 7.26.9
'@babel/preset-env': 7.26.9(@babel/core@7.26.9)
@ -13979,7 +14008,7 @@ snapshots:
vite-plugin-cdn-import: 1.0.1(rollup@3.29.5)(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1))
vite-plugin-dts: 4.5.1(@types/node@22.12.0)(rollup@3.29.5)(typescript@5.7.3)(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1))
vite-plugin-node-polyfills: 0.23.0(rollup@3.29.5)(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1))
vite-plugin-vue-devtools: 7.7.2(rollup@3.29.5)(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3))
vite-plugin-vue-devtools: 7.7.2(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@3.29.5)(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3))
vite-plugin-vue-style-bundler: 1.0.9(@types/less@3.0.8)(@vitejs/plugin-vue@5.2.1(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3)))(less@4.2.2)(sass@1.83.4)(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3))
vitest: 3.0.7(@types/node@22.12.0)(jiti@2.4.2)(jsdom@26.0.0)(less@4.2.2)(msw@2.7.3(@types/node@22.12.0)(typescript@5.7.3))(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1)
vue-tsc: 2.2.4(typescript@5.7.3)
@ -14205,6 +14234,10 @@ snapshots:
'@vue/devtools-api@6.6.4': {}
'@vue/devtools-api@7.7.2':
dependencies:
'@vue/devtools-kit': 7.7.2
'@vue/devtools-core@7.7.2(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3))':
dependencies:
'@vue/devtools-kit': 7.7.2
@ -18108,11 +18141,6 @@ snapshots:
mlly: 1.7.4
pkg-types: 1.3.1
local-pkg@1.0.0:
dependencies:
mlly: 1.7.4
pkg-types: 1.3.1
local-pkg@1.1.0:
dependencies:
mlly: 1.7.4
@ -19108,6 +19136,18 @@ snapshots:
- magicast
- supports-color
pinia-plugin-persistedstate@4.2.0(magicast@0.3.5)(pinia@3.0.1(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))):
dependencies:
'@nuxt/kit': 3.15.4(magicast@0.3.5)
deep-pick-omit: 1.2.1
defu: 6.1.4
destr: 2.0.3
optionalDependencies:
pinia: 3.0.1(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))
transitivePeerDependencies:
- magicast
- supports-color
pinia@2.2.8(typescript@5.6.3)(vue@3.5.13(typescript@5.6.3)):
dependencies:
'@vue/devtools-api': 6.6.4
@ -19126,6 +19166,13 @@ snapshots:
transitivePeerDependencies:
- '@vue/composition-api'
pinia@3.0.1(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)):
dependencies:
'@vue/devtools-api': 7.7.2
vue: 3.5.13(typescript@5.7.3)
optionalDependencies:
typescript: 5.7.3
pkg-conf@2.1.0:
dependencies:
find-up: 2.1.0
@ -20943,6 +20990,18 @@ snapshots:
unpipe@1.0.0: {}
unplugin-auto-import@19.1.1(@nuxt/kit@3.15.4(magicast@0.3.5))(@vueuse/core@12.5.0(typescript@5.7.3)):
dependencies:
local-pkg: 1.1.0
magic-string: 0.30.17
picomatch: 4.0.2
unimport: 4.1.2
unplugin: 2.2.0
unplugin-utils: 0.2.4
optionalDependencies:
'@nuxt/kit': 3.15.4(magicast@0.3.5)
'@vueuse/core': 12.5.0(typescript@5.7.3)
unplugin-element-plus@0.9.1:
dependencies:
es-module-lexer: 1.6.0
@ -21156,7 +21215,7 @@ snapshots:
magic-string: 0.25.9
vite: 6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1)
vite-plugin-inspect@0.8.9(rollup@3.29.5)(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1)):
vite-plugin-inspect@0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@3.29.5)(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.4(rollup@3.29.5)
@ -21168,6 +21227,8 @@ snapshots:
picocolors: 1.1.1
sirv: 3.0.1
vite: 6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1)
optionalDependencies:
'@nuxt/kit': 3.15.4(magicast@0.3.5)
transitivePeerDependencies:
- rollup
- supports-color
@ -21243,7 +21304,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
vite-plugin-vue-devtools@7.7.2(rollup@3.29.5)(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3)):
vite-plugin-vue-devtools@7.7.2(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@3.29.5)(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3)):
dependencies:
'@vue/devtools-core': 7.7.2(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.3))
'@vue/devtools-kit': 7.7.2
@ -21251,7 +21312,7 @@ snapshots:
execa: 9.5.2
sirv: 3.0.1
vite: 6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1)
vite-plugin-inspect: 0.8.9(rollup@3.29.5)(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1))
vite-plugin-inspect: 0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@3.29.5)(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1))
vite-plugin-vue-inspector: 5.3.1(vite@6.0.11(@types/node@22.12.0)(jiti@2.4.2)(less@4.2.2)(sass@1.83.4)(terser@5.37.0)(yaml@2.6.1))
transitivePeerDependencies:
- '@nuxt/kit'