From 4cbc985dab97d1a980981e725db9b311dcae9e3b Mon Sep 17 00:00:00 2001 From: Arlo Date: Sun, 17 Mar 2024 15:02:39 +0800 Subject: [PATCH] feat: applet package (#283) --- package.json | 3 +- packages/applet/index.d.ts | 1 + packages/applet/package.json | 43 ++ .../src/components/basic/DevToolsHeader.vue | 24 + .../applet/src/components/basic/Empty.vue | 8 + .../src/components/basic/SelectiveList.vue | 24 + .../src/components/basic/ToggleExpanded.vue | 14 + .../src/components/state/ChildStateViewer.vue | 23 + .../src/components/state/RootStateViewer.vue | 70 +++ .../src/components/state/StateFieldEditor.vue | 165 ++++++ .../state/StateFieldInputEditor.vue | 92 ++++ .../src/components/state/StateFieldViewer.vue | 267 +++++++++ .../applet/src/composables/connect-state.ts | 47 ++ packages/applet/src/composables/hover.ts | 31 ++ .../applet/src/composables/state-editor.ts | 91 +++ .../applet/src/composables/toggle-expanded.ts | 30 + .../applet/src/composables/virtual-router.ts | 36 ++ packages/applet/src/index.ts | 5 + .../src/pinia/components/DevToolsLogo.vue | 6 + packages/applet/src/pinia/components/Home.vue | 55 ++ .../src/pinia/components/store/Index.vue | 97 ++++ .../pinia/components/timeline/EventList.vue | 45 ++ .../src/pinia/components/timeline/Index.vue | 103 ++++ packages/applet/src/pinia/index.ts | 5 + packages/applet/src/pinia/index.vue | 38 ++ packages/applet/src/styles/base.css | 50 ++ packages/applet/src/utils/date.ts | 6 + packages/applet/src/utils/index.ts | 1 + packages/applet/tsconfig.json | 17 + packages/applet/uno.config.ts | 61 ++ packages/applet/vite.config.ts | 48 ++ packages/client/src/constants/tab.ts | 3 +- .../src/core/component/tree/walker.ts | 1 + packages/playground/applet/index.html | 14 + packages/playground/applet/package.json | 25 + .../playground/applet/public/color-scheme.js | 6 + packages/playground/applet/src/App.vue | 14 + packages/playground/applet/src/main.ts | 8 + packages/playground/applet/src/style.css | 33 ++ packages/playground/applet/uno.config.ts | 20 + packages/playground/applet/vite.config.ts | 26 + pnpm-lock.yaml | 520 +++++++++++------- tsconfig.json | 2 +- 43 files changed, 1970 insertions(+), 208 deletions(-) create mode 100644 packages/applet/index.d.ts create mode 100644 packages/applet/package.json create mode 100644 packages/applet/src/components/basic/DevToolsHeader.vue create mode 100644 packages/applet/src/components/basic/Empty.vue create mode 100644 packages/applet/src/components/basic/SelectiveList.vue create mode 100644 packages/applet/src/components/basic/ToggleExpanded.vue create mode 100644 packages/applet/src/components/state/ChildStateViewer.vue create mode 100644 packages/applet/src/components/state/RootStateViewer.vue create mode 100644 packages/applet/src/components/state/StateFieldEditor.vue create mode 100644 packages/applet/src/components/state/StateFieldInputEditor.vue create mode 100644 packages/applet/src/components/state/StateFieldViewer.vue create mode 100644 packages/applet/src/composables/connect-state.ts create mode 100644 packages/applet/src/composables/hover.ts create mode 100644 packages/applet/src/composables/state-editor.ts create mode 100644 packages/applet/src/composables/toggle-expanded.ts create mode 100644 packages/applet/src/composables/virtual-router.ts create mode 100644 packages/applet/src/index.ts create mode 100644 packages/applet/src/pinia/components/DevToolsLogo.vue create mode 100644 packages/applet/src/pinia/components/Home.vue create mode 100644 packages/applet/src/pinia/components/store/Index.vue create mode 100644 packages/applet/src/pinia/components/timeline/EventList.vue create mode 100644 packages/applet/src/pinia/components/timeline/Index.vue create mode 100644 packages/applet/src/pinia/index.ts create mode 100644 packages/applet/src/pinia/index.vue create mode 100644 packages/applet/src/styles/base.css create mode 100644 packages/applet/src/utils/date.ts create mode 100644 packages/applet/src/utils/index.ts create mode 100644 packages/applet/tsconfig.json create mode 100644 packages/applet/uno.config.ts create mode 100644 packages/applet/vite.config.ts create mode 100644 packages/playground/applet/index.html create mode 100644 packages/playground/applet/package.json create mode 100644 packages/playground/applet/public/color-scheme.js create mode 100644 packages/playground/applet/src/App.vue create mode 100644 packages/playground/applet/src/main.ts create mode 100644 packages/playground/applet/src/style.css create mode 100644 packages/playground/applet/uno.config.ts create mode 100644 packages/playground/applet/vite.config.ts diff --git a/package.json b/package.json index ee736bf0..a2c6c23d 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "dev:browser-extension": "turbo dev --filter=./packages/browser-extension", "dev:ui-story": "turbo dev --filter=./packages/ui-story", "prepare:type": "turbo prepare:type --filter='./packages/*'", - "dev": "NODE_OPTIONS=\"--max-old-space-size=8192\" nr prepare:type && nr build:ui && turbo stub", + "dev": "NODE_OPTIONS=\"--max-old-space-size=8192\" nr prepare:type && nr build:ui && turbo stub --concurrency 20", "build": "turbo build", "lint": "eslint .", "lint:fix": "eslint . --fix", @@ -84,6 +84,7 @@ "eslint": "npm:eslint-ts-patch@8.55.0-1", "eslint-plugin-format": "^0.1.0", "eslint-ts-patch": "8.55.0-1", + "execa": "^8.0.1", "fast-glob": "^3.3.2", "fs-extra": "^11.2.0", "jsdom": "^24.0.0", diff --git a/packages/applet/index.d.ts b/packages/applet/index.d.ts new file mode 100644 index 00000000..3091b721 --- /dev/null +++ b/packages/applet/index.d.ts @@ -0,0 +1 @@ +export * from './src/index' diff --git a/packages/applet/package.json b/packages/applet/package.json new file mode 100644 index 00000000..a82cac41 --- /dev/null +++ b/packages/applet/package.json @@ -0,0 +1,43 @@ +{ + "name": "@vue/devtools-applet", + "type": "module", + "version": "7.0.17", + "author": "webfansplz", + "license": "MIT", + "exports": { + ".": { + "import": "./dist/index.js", + "require": "./dist/index.cjs" + }, + "./style.css": "./dist/index.css" + }, + "main": "./dist/index.cjs", + "module": "./dist/index.js", + "files": [ + "**.d.ts", + "dist" + ], + "scripts": { + "build": "vite build && pnpm types", + "prepare:type": "pnpm types", + "stub": "vite build --watch", + "types": "vue-tsc --declaration --emitDeclarationOnly -p ./tsconfig.json" + }, + "peerDependencies": { + "vue": "^3.0.0" + }, + "dependencies": { + "@vue/devtools-core": "workspace:^", + "@vue/devtools-kit": "workspace:^", + "@vue/devtools-shared": "workspace:^", + "@vue/devtools-ui": "workspace:^", + "perfect-debounce": "^1.0.0", + "splitpanes": "^3.1.5" + }, + "devDependencies": { + "unplugin-vue": "^5.0.3", + "vue": "^3.4.15", + "vue-router": "^4.2.5", + "vue-tsc": "^1.8.27" + } +} diff --git a/packages/applet/src/components/basic/DevToolsHeader.vue b/packages/applet/src/components/basic/DevToolsHeader.vue new file mode 100644 index 00000000..2287202e --- /dev/null +++ b/packages/applet/src/components/basic/DevToolsHeader.vue @@ -0,0 +1,24 @@ + + + diff --git a/packages/applet/src/components/basic/Empty.vue b/packages/applet/src/components/basic/Empty.vue new file mode 100644 index 00000000..4be2518f --- /dev/null +++ b/packages/applet/src/components/basic/Empty.vue @@ -0,0 +1,8 @@ + diff --git a/packages/applet/src/components/basic/SelectiveList.vue b/packages/applet/src/components/basic/SelectiveList.vue new file mode 100644 index 00000000..0b8e7009 --- /dev/null +++ b/packages/applet/src/components/basic/SelectiveList.vue @@ -0,0 +1,24 @@ + + + diff --git a/packages/applet/src/components/basic/ToggleExpanded.vue b/packages/applet/src/components/basic/ToggleExpanded.vue new file mode 100644 index 00000000..d813f4ef --- /dev/null +++ b/packages/applet/src/components/basic/ToggleExpanded.vue @@ -0,0 +1,14 @@ + + + diff --git a/packages/applet/src/components/state/ChildStateViewer.vue b/packages/applet/src/components/state/ChildStateViewer.vue new file mode 100644 index 00000000..983b4979 --- /dev/null +++ b/packages/applet/src/components/state/ChildStateViewer.vue @@ -0,0 +1,23 @@ + + + diff --git a/packages/applet/src/components/state/RootStateViewer.vue b/packages/applet/src/components/state/RootStateViewer.vue new file mode 100644 index 00000000..56f4ed7d --- /dev/null +++ b/packages/applet/src/components/state/RootStateViewer.vue @@ -0,0 +1,70 @@ + + + diff --git a/packages/applet/src/components/state/StateFieldEditor.vue b/packages/applet/src/components/state/StateFieldEditor.vue new file mode 100644 index 00000000..16132cf6 --- /dev/null +++ b/packages/applet/src/components/state/StateFieldEditor.vue @@ -0,0 +1,165 @@ + + + diff --git a/packages/applet/src/components/state/StateFieldInputEditor.vue b/packages/applet/src/components/state/StateFieldInputEditor.vue new file mode 100644 index 00000000..c666fc22 --- /dev/null +++ b/packages/applet/src/components/state/StateFieldInputEditor.vue @@ -0,0 +1,92 @@ + + + diff --git a/packages/applet/src/components/state/StateFieldViewer.vue b/packages/applet/src/components/state/StateFieldViewer.vue new file mode 100644 index 00000000..138e4162 --- /dev/null +++ b/packages/applet/src/components/state/StateFieldViewer.vue @@ -0,0 +1,267 @@ + + + + + diff --git a/packages/applet/src/composables/connect-state.ts b/packages/applet/src/composables/connect-state.ts new file mode 100644 index 00000000..3d0a43c1 --- /dev/null +++ b/packages/applet/src/composables/connect-state.ts @@ -0,0 +1,47 @@ +import { getDevToolsState, onDevToolsStateUpdated } from '@vue/devtools-core' +import type { ComputedRef, InjectionKey } from 'vue' +import { computed, inject, provide, ref, watch } from 'vue' + +const VueDevToolsConnectStateSymbol: InjectionKey> = Symbol('VueDevToolsConnectStateSymbol') + +export function createDevToolsConnectStateContext() { + const appConnected = ref(false) + const clientConnected = ref(false) + const connected = computed(() => appConnected.value && clientConnected.value) + + getDevToolsState().then((data) => { + appConnected.value = data!.connected + clientConnected.value = data!.clientConnected + }) + + onDevToolsStateUpdated((data) => { + appConnected.value = data.connected + clientConnected.value = data.clientConnected + }) + + provide(VueDevToolsConnectStateSymbol, connected) + + return { + connected, + } +} + +export function useDevToolsConnectState() { + return inject(VueDevToolsConnectStateSymbol, ref(false)) +} + +export function onDevToolsClientConnected(callback: () => void) { + const connected = useDevToolsConnectState() + + if (connected.value) { + callback() + } + else { + const stop = watch(connected, (value) => { + if (value) { + stop() + callback() + } + }) + } +} diff --git a/packages/applet/src/composables/hover.ts b/packages/applet/src/composables/hover.ts new file mode 100644 index 00000000..b9e18556 --- /dev/null +++ b/packages/applet/src/composables/hover.ts @@ -0,0 +1,31 @@ +import { useEventListener } from '@vueuse/core' +import type { MaybeRefOrGetter } from '@vueuse/core' +import { ref } from 'vue' + +export interface UseHoverOptions { + enter?: () => void + leave?: () => void + initial?: boolean +} + +export function useHover(el: MaybeRefOrGetter, options: UseHoverOptions = {}) { + const { + enter = () => { }, + leave = () => { }, + initial = false, + } = options + const isHovering = ref(initial) + + useEventListener(el, 'mouseenter', () => { + isHovering.value = true + enter() + }) + useEventListener(el, 'mouseleave', () => { + isHovering.value = false + leave() + }) + + return { + isHovering, + } +} diff --git a/packages/applet/src/composables/state-editor.ts b/packages/applet/src/composables/state-editor.ts new file mode 100644 index 00000000..8f771bf6 --- /dev/null +++ b/packages/applet/src/composables/state-editor.ts @@ -0,0 +1,91 @@ +import type { InjectionKey, Ref } from 'vue' +import { inject, provide, ref } from 'vue' + +interface StateEditorContext { + nodeId: string + inspectorId: string + disableEdit: boolean +} +const StateEditorSymbolKey: InjectionKey> = Symbol('StateEditorSymbol') + +export function createStateEditorContext(initial: StateEditorContext) { + const context = ref(initial) + provide(StateEditorSymbolKey, context) + return { + context, + } +} + +export function useStateEditorContext() { + const context = inject(StateEditorSymbolKey)! + return context +} + +export type EditorInputValidType = 'number' | 'string' | 'object' | 'null' +export type EditorAddNewPropType = 'object' | 'array' + +export function useStateEditor() { + const editingText = ref('') + const editingType = ref('string') + const editing = ref(false) + + const state = useStateEditorContext() + + return { + editingText, + editing, + toggleEditing(t?: EditorInputValidType) { + if (t) + editingType.value = t + editing.value = !editing.value + }, + editingType, + nodeId: state.value.nodeId, + } +} + +function getNextAvailableKey(type: EditorAddNewPropType, data: any) { + if (type === 'array') { + const len = (data as any[]).length + return len + } + const prefix = 'newProp' + let i = 1 + while (true) { + const key = `${prefix}${i}` + if (!data[key]) + return key + i++ + } +} + +export function useStateEditorDrafting() { + const draftingNewProp = ref({ + enable: false, + key: '', + value: 'undefined', + }) + + function addNewProp(type: EditorAddNewPropType, data: any) { + const key = getNextAvailableKey(type, data) + draftingNewProp.value = { + enable: true, + key: key.toString(), + value: 'undefined', + } + } + + function resetDrafting() { + draftingNewProp.value = { + enable: false, + key: '', + value: 'undefined', + } + } + + return { + addNewProp, + resetDrafting, + draftingNewProp, + } +} diff --git a/packages/applet/src/composables/toggle-expanded.ts b/packages/applet/src/composables/toggle-expanded.ts new file mode 100644 index 00000000..129cb453 --- /dev/null +++ b/packages/applet/src/composables/toggle-expanded.ts @@ -0,0 +1,30 @@ +import type { Ref } from 'vue' +import { inject, provide, ref } from 'vue' + +export function createExpandedContext() { + const expanded = ref([]) + + provide>(`state-expanded`, expanded) + + return { + expanded, + } +} + +export function useToggleExpanded() { + const expanded = inject>(`state-expaned`, ref([]))! + + function toggleExpanded(key: string) { + const index = expanded.value.indexOf(key) + if (index === -1) + expanded.value.push(key) + + else + expanded.value.splice(index, 1) + } + + return { + expanded, + toggleExpanded, + } +} diff --git a/packages/applet/src/composables/virtual-router.ts b/packages/applet/src/composables/virtual-router.ts new file mode 100644 index 00000000..84dd3ada --- /dev/null +++ b/packages/applet/src/composables/virtual-router.ts @@ -0,0 +1,36 @@ +import type { Component, InjectionKey, Ref } from 'vue' +import { computed, defineComponent, h, inject, provide, ref } from 'vue' + +const VirtualRouteKey: InjectionKey> = Symbol('VirtualRouteKey') + +export function registerVirtualRouter(routes: { path: string, component: Component }[]) { + const route = ref<{ path: string }>({ + path: '/', + }) + const routePath = computed(() => route.value.path) + + const VirtualRouterView = defineComponent({ + setup() { + return () => { + const route = routes.find(route => route.path === routePath.value) + if (route) + return h(route.component) + + return null + } + }, + }) + + provide(VirtualRouteKey, route) + return { VirtualRouterView } +} + +export function useVirtualRouter() { + const route = inject(VirtualRouteKey)! + + return { + push(path: string) { + route.value.path = path + }, + } +} diff --git a/packages/applet/src/index.ts b/packages/applet/src/index.ts new file mode 100644 index 00000000..7b23213a --- /dev/null +++ b/packages/applet/src/index.ts @@ -0,0 +1,5 @@ +import 'uno.css' +import '@unocss/reset/tailwind.css' +import './styles/base.css' + +export * from './pinia' diff --git a/packages/applet/src/pinia/components/DevToolsLogo.vue b/packages/applet/src/pinia/components/DevToolsLogo.vue new file mode 100644 index 00000000..2fa18435 --- /dev/null +++ b/packages/applet/src/pinia/components/DevToolsLogo.vue @@ -0,0 +1,6 @@ + diff --git a/packages/applet/src/pinia/components/Home.vue b/packages/applet/src/pinia/components/Home.vue new file mode 100644 index 00000000..f35ad767 --- /dev/null +++ b/packages/applet/src/pinia/components/Home.vue @@ -0,0 +1,55 @@ + + + diff --git a/packages/applet/src/pinia/components/store/Index.vue b/packages/applet/src/pinia/components/store/Index.vue new file mode 100644 index 00000000..6a55e029 --- /dev/null +++ b/packages/applet/src/pinia/components/store/Index.vue @@ -0,0 +1,97 @@ + + + diff --git a/packages/applet/src/pinia/components/timeline/EventList.vue b/packages/applet/src/pinia/components/timeline/EventList.vue new file mode 100644 index 00000000..9d568b7e --- /dev/null +++ b/packages/applet/src/pinia/components/timeline/EventList.vue @@ -0,0 +1,45 @@ + + + diff --git a/packages/applet/src/pinia/components/timeline/Index.vue b/packages/applet/src/pinia/components/timeline/Index.vue new file mode 100644 index 00000000..94fe0cff --- /dev/null +++ b/packages/applet/src/pinia/components/timeline/Index.vue @@ -0,0 +1,103 @@ + + + diff --git a/packages/applet/src/pinia/index.ts b/packages/applet/src/pinia/index.ts new file mode 100644 index 00000000..ea3f7a23 --- /dev/null +++ b/packages/applet/src/pinia/index.ts @@ -0,0 +1,5 @@ +import Pinia from './index.vue' + +export { + Pinia, +} diff --git a/packages/applet/src/pinia/index.vue b/packages/applet/src/pinia/index.vue new file mode 100644 index 00000000..699980bf --- /dev/null +++ b/packages/applet/src/pinia/index.vue @@ -0,0 +1,38 @@ + + + diff --git a/packages/applet/src/styles/base.css b/packages/applet/src/styles/base.css new file mode 100644 index 00000000..490d8f9a --- /dev/null +++ b/packages/applet/src/styles/base.css @@ -0,0 +1,50 @@ +@import 'splitpanes/dist/splitpanes.css'; + +/* Splitpanes */ +.splitpanes__splitter { + position: relative; +} +.splitpanes__splitter:before { + position: absolute; + left: 0; + top: 0; + transition: 0.2s ease; + content: ''; + transition: opacity 0.4s; + z-index: 1; +} +.splitpanes__splitter:hover:before { + background: #8881; + opacity: 1; +} +.splitpanes--vertical > .splitpanes__splitter { + min-width: 0 !important; + width: 0 !important; + /* @apply border-r border-base; */ +} +.splitpanes--horizontal > .splitpanes__splitter { + min-height: 0 !important; + height: 0 !important; + --uno: border-t border-base; +} +.splitpanes--vertical > .splitpanes__splitter:before { + left: -5px; + right: -4px; + height: 100%; +} +.splitpanes--horizontal > .splitpanes__splitter:before { + top: -5px; + bottom: -4px; + width: 100%; +} + +.no-scrollbar::-webkit-scrollbar { + display: none; + width: 0 !important; + height: 0 !important; +} + +.no-scrollbar { + /* Support Firefox */ + scrollbar-width: none; +} diff --git a/packages/applet/src/utils/date.ts b/packages/applet/src/utils/date.ts new file mode 100644 index 00000000..50744099 --- /dev/null +++ b/packages/applet/src/utils/date.ts @@ -0,0 +1,6 @@ +export type TimeFormat = 'ms' | 'default' + +export function formatTime(timestamp: string | number | Date, format?: TimeFormat) { + const date = new Date(timestamp) + return `${date.toString().match(/\d\d:\d\d:\d\d/)![0]}${format === 'ms' ? `.${String(date.getMilliseconds()).padStart(3, '0')}` : ''}` +} diff --git a/packages/applet/src/utils/index.ts b/packages/applet/src/utils/index.ts new file mode 100644 index 00000000..edf1e3ce --- /dev/null +++ b/packages/applet/src/utils/index.ts @@ -0,0 +1 @@ +export * from './date' diff --git a/packages/applet/tsconfig.json b/packages/applet/tsconfig.json new file mode 100644 index 00000000..25e637ee --- /dev/null +++ b/packages/applet/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "target": "esnext", + "lib": ["esnext", "dom"], + "module": "esnext", + "paths": { + "~/*": ["./src/*"] + }, + "types": [ + "vite/client" + ], + "outDir": "./dist", + "skipLibCheck": true + }, + "include": ["**/*.vue", "**/*.d.ts", "**/*.ts"] +} diff --git a/packages/applet/uno.config.ts b/packages/applet/uno.config.ts new file mode 100644 index 00000000..46cb866e --- /dev/null +++ b/packages/applet/uno.config.ts @@ -0,0 +1,61 @@ +import { defineConfig, mergeConfigs, presetAttributify, presetIcons, presetTypography, presetUno, transformerDirectives, transformerVariantGroup } from 'unocss' +import { unoConfig } from '@vue/devtools-ui/theme' + +export default defineConfig(mergeConfigs([unoConfig, { + transformers: [transformerVariantGroup(), transformerDirectives()], + presets: [ + presetUno(), + presetAttributify(), + presetTypography(), + presetIcons({ + prefix: ['i-', ''], + collections: {}, + cdn: 'https://esm.sh/', + scale: 1.2, + extraProperties: { + 'display': 'inline-block', + 'vertical-align': 'middle', + }, + }), + ], + theme: { + fontFamily: { + 'state-field': 'Roboto Mono, Menlo, Consolas, monospace', + }, + }, + variants: [ + { + name: '@active', + match(matcher) { + if (!matcher.startsWith('@active')) + return matcher + + return { + matcher: matcher.slice(8), + selector: s => `${s}.active`, + } + }, + }, + ], + shortcuts: [{ + // general + 'bg-base': 'bg-white dark:bg-black', + 'text-base': 'text-black dark:text-white', + 'bg-active': 'bg-gray:5', + 'border-base': 'border-gray/20', + 'transition-base': 'transition-all duration-200', + + // selective list + 'selectable-item': 'flex items-center px-2 py-1 rounded cursor-pointer hover:bg-primary-200 dark:(hover:bg-gray-800) @active:(text-white bg-primary-600 hover:(text-white bg-primary-600))', + + // state + 'string-state-type': 'text-#e74c3c dark:(text-#c41a16)', + 'literal-state-type': 'text-#03c dark:(text-#997fff)', + 'boolean-state-type': 'text-#27ae60 dark:(text-#abebc6)', + }, [/^theme-card-(\w+)$/, $ => `p2 flex gap2 border border-base bg-base items-center rounded min-w-40 min-h-25 justify-center transition-all saturate-0 op50 shadow hover:(op100 bg-${$[1]}/10 text-${$[1]}6 saturate-100)`]], + safelist: [ + 'string-state-type', + 'literal-state-type', + 'boolean-state-type', + ], +}])) as any diff --git a/packages/applet/vite.config.ts b/packages/applet/vite.config.ts new file mode 100644 index 00000000..63b9a08b --- /dev/null +++ b/packages/applet/vite.config.ts @@ -0,0 +1,48 @@ +import { join, resolve } from 'node:path' +import Vue from '@vitejs/plugin-vue' +import Unocss from 'unocss/vite' +import fse from 'fs-extra' + +const argv = process.argv.slice(2) +const enableWatch = argv.includes('--watch') + +export default { + resolve: { + alias: { + '~/': `${resolve(__dirname)}/src/`, + }, + }, + plugins: [ + Unocss(), + Vue(), + { + name: 'move-dts', + apply: 'build', + enforce: 'post', + closeBundle() { + // copy + const targetDir = resolve(__dirname, './dist') + + fse.copySync('./index.d.ts', join(targetDir, './index.d.ts')) + }, + }, + ], + build: { + emptyOutDir: !enableWatch, + lib: { + entry: resolve(__dirname, './src/index.ts'), + name: 'devtoolsApplet', + fileName: ext => `index.${ext === 'es' ? 'js' : ext}`, + formats: ['es', 'cjs'], + }, + rollupOptions: { + external: ['vue'], + output: { + assetFileNames: 'index.[ext]', + globals: { + vue: 'Vue', + }, + }, + }, + }, +} diff --git a/packages/client/src/constants/tab.ts b/packages/client/src/constants/tab.ts index d581f937..8dce0719 100644 --- a/packages/client/src/constants/tab.ts +++ b/packages/client/src/constants/tab.ts @@ -50,12 +50,13 @@ export const builtinTab: [string, ModuleBuiltinTab[]][] = [ title: 'Router', }, { - icon: 'i-icon-park-outline:pineapple', + icon: 'i-logos-pinia', name: 'pinia', order: -100, path: 'pinia', title: 'Pinia', }, + { icon: 'i-carbon-language', name: 'i18n', diff --git a/packages/devtools-kit/src/core/component/tree/walker.ts b/packages/devtools-kit/src/core/component/tree/walker.ts index 0f2dbfcc..b6cddf4e 100644 --- a/packages/devtools-kit/src/core/component/tree/walker.ts +++ b/packages/devtools-kit/src/core/component/tree/walker.ts @@ -250,6 +250,7 @@ export class ComponentWalker { } private getKeepAliveCachedInstances(instance: VueAppInstance): VueAppInstance[] { + // @ts-expect-error skip type check return Array.from(instance.__v_cache.values()).map((vnode: VNode) => vnode.component).filter(Boolean) as VueAppInstance[] } } diff --git a/packages/playground/applet/index.html b/packages/playground/applet/index.html new file mode 100644 index 00000000..e9aa9d87 --- /dev/null +++ b/packages/playground/applet/index.html @@ -0,0 +1,14 @@ + + + + + + + Vue DevTools Basic Playground + + + +
+ + + diff --git a/packages/playground/applet/package.json b/packages/playground/applet/package.json new file mode 100644 index 00000000..6f32364a --- /dev/null +++ b/packages/playground/applet/package.json @@ -0,0 +1,25 @@ +{ + "name": "playground-applet", + "private": true, + "scripts": { + "dev": "vite" + }, + "dependencies": { + "@vueuse/core": "^10.7.2", + "pinia": "^2.1.7", + "unplugin-auto-import": "^0.17.5", + "vue": "^3.4.15", + "vue-router": "^4.2.5" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.0.3", + "@vue/devtools-applet": "workspace:*", + "@vue/devtools-kit": "workspace:*", + "sass": "^1.70.0", + "serve": "^14.2.1", + "typescript": "^5.3.3", + "vite": "^5.0.12", + "vite-plugin-inspect": "^0.8.3", + "vite-plugin-vue-devtools": "workspace:*" + } +} diff --git a/packages/playground/applet/public/color-scheme.js b/packages/playground/applet/public/color-scheme.js new file mode 100644 index 00000000..b1c179a0 --- /dev/null +++ b/packages/playground/applet/public/color-scheme.js @@ -0,0 +1,6 @@ +(function () { + const prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches + const setting = localStorage.getItem('color-schema') || 'auto' + if (setting === 'dark' || (prefersDark && setting !== 'light')) + document.documentElement.classList.toggle('dark', true) +})() diff --git a/packages/playground/applet/src/App.vue b/packages/playground/applet/src/App.vue new file mode 100644 index 00000000..69f17b12 --- /dev/null +++ b/packages/playground/applet/src/App.vue @@ -0,0 +1,14 @@ + + + diff --git a/packages/playground/applet/src/main.ts b/packages/playground/applet/src/main.ts new file mode 100644 index 00000000..4f663754 --- /dev/null +++ b/packages/playground/applet/src/main.ts @@ -0,0 +1,8 @@ +import App from './App.vue' + +import './style.css' +import 'uno.css' +import '@vue/devtools-applet/style.css' + +const app = createApp(App) +app.mount('#app') diff --git a/packages/playground/applet/src/style.css b/packages/playground/applet/src/style.css new file mode 100644 index 00000000..85741222 --- /dev/null +++ b/packages/playground/applet/src/style.css @@ -0,0 +1,33 @@ +:root { + font-family: Inter, Avenir, Helvetica, Arial, sans-serif; + font-size: 16px; + line-height: 24px; + font-weight: 400; + + /* color-scheme: light dark; */ + /* color: rgba(255, 255, 255, 0.87); */ + /* background-color: #242424; */ + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-text-size-adjust: 100%; +} + +html { + --at-apply: font-sans; + overflow-y: scroll; + overscroll-behavior: none; + -ms-overflow-style: none; /* IE and Edge */ + scrollbar-width: none; /* Firefox */ +} + +html.dark { + color-scheme: dark; +} + +body { + font-size: 16px; + /* font-family: 'Roboto Mono, Menlo, Consolas, monospace'; */ +} diff --git a/packages/playground/applet/uno.config.ts b/packages/playground/applet/uno.config.ts new file mode 100644 index 00000000..b1d9fa57 --- /dev/null +++ b/packages/playground/applet/uno.config.ts @@ -0,0 +1,20 @@ +import { + defineConfig, + presetAttributify, + presetTypography, + presetUno, + transformerDirectives, + transformerVariantGroup, +} from 'unocss' + +export default defineConfig({ + presets: [ + presetUno(), + presetAttributify(), + presetTypography(), + ], + transformers: [ + transformerDirectives(), + transformerVariantGroup(), + ], +}) diff --git a/packages/playground/applet/vite.config.ts b/packages/playground/applet/vite.config.ts new file mode 100644 index 00000000..b4776ea4 --- /dev/null +++ b/packages/playground/applet/vite.config.ts @@ -0,0 +1,26 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +import VueDevtools from 'vite-plugin-vue-devtools' +import Unocss from 'unocss/vite' +import AutoImport from 'unplugin-auto-import/vite' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + VueDevtools(), + Unocss(), + AutoImport({ + imports: [ + 'vue', + 'vue-router', + '@vueuse/core', + ], + ignore: ['h'], + }), + ], + server: { + port: 3000, + }, +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a4da6ef0..f8a997d4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -28,7 +28,7 @@ importers: version: 11.0.4 '@types/node': specifier: ^20.11.25 - version: 20.11.25 + version: 20.11.26 '@unocss/eslint-plugin': specifier: ^0.58.5 version: 0.58.5(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) @@ -62,6 +62,9 @@ importers: eslint-ts-patch: specifier: 8.55.0-1 version: 8.55.0-1 + execa: + specifier: ^8.0.1 + version: 8.0.1 fast-glob: specifier: ^3.3.2 version: 3.3.2 @@ -115,13 +118,13 @@ importers: version: 2.0.0(typescript@5.4.2) unocss: specifier: ^0.58.5 - version: 0.58.5(postcss@8.4.35)(rollup@3.28.1)(vite@5.1.5) + version: 0.58.5(postcss@8.4.35)(rollup@3.28.1)(vite@5.1.6) vite: specifier: ^5.1.5 - version: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + version: 5.1.6(@types/node@20.11.26)(sass@1.71.1) vitest: specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.25)(jsdom@24.0.0) + version: 1.3.1(@types/node@20.11.26)(jsdom@24.0.0) vue: specifier: ^3.4.21 version: 3.4.21(typescript@5.4.2) @@ -139,11 +142,45 @@ importers: version: 0.26.0(rollup@3.28.1)(vue@3.4.21) vitepress: specifier: 1.0.0-rc.45 - version: 1.0.0-rc.45(@algolia/client-search@4.22.0)(@types/node@20.11.25)(postcss@8.4.35)(search-insights@2.13.0)(typescript@5.4.2) + version: 1.0.0-rc.45(@algolia/client-search@4.22.0)(@types/node@20.11.26)(postcss@8.4.35)(search-insights@2.13.0)(typescript@5.4.2) vue: specifier: ^3.4.21 version: 3.4.21(typescript@5.4.2) + packages/applet: + dependencies: + '@vue/devtools-core': + specifier: workspace:^ + version: link:../core + '@vue/devtools-kit': + specifier: workspace:^ + version: link:../devtools-kit + '@vue/devtools-shared': + specifier: workspace:^ + version: link:../shared + '@vue/devtools-ui': + specifier: workspace:^ + version: link:../ui + perfect-debounce: + specifier: ^1.0.0 + version: 1.0.0 + splitpanes: + specifier: ^3.1.5 + version: 3.1.5 + devDependencies: + unplugin-vue: + specifier: ^5.0.3 + version: 5.0.3(vite@5.1.6)(vue@3.4.21) + vue: + specifier: ^3.4.15 + version: 3.4.21(typescript@5.4.2) + vue-router: + specifier: ^4.2.5 + version: 4.3.0(vue@3.4.21) + vue-tsc: + specifier: ^1.8.27 + version: 1.8.27(typescript@5.4.2) + packages/browser-extension: dependencies: '@vue/devtools-core': @@ -155,7 +192,7 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.5)(vue@3.4.21) + version: 5.0.4(vite@5.1.6)(vue@3.4.21) vue: specifier: ^3.4.21 version: 3.4.21(typescript@5.4.2) @@ -206,7 +243,7 @@ importers: version: 9.1.9(@egjs/hammerjs@2.0.17)(component-emitter@1.3.1)(keycharm@0.4.0)(uuid@9.0.1)(vis-data@7.1.9)(vis-util@5.0.7) vite-hot-client: specifier: ^0.2.3 - version: 0.2.3(vite@5.1.5) + version: 0.2.3(vite@5.1.6) vue-router: specifier: ^4.3.0 version: 4.3.0(vue@3.4.21) @@ -219,7 +256,7 @@ importers: version: 2.2.191 '@types/node': specifier: ^20.11.25 - version: 20.11.25 + version: 20.11.26 '@types/splitpanes': specifier: ^2.2.6 version: 2.2.6 @@ -231,10 +268,10 @@ importers: version: 0.58.5 '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.5)(vue@3.4.21) + version: 5.0.4(vite@5.1.6)(vue@3.4.21) '@vitejs/plugin-vue-jsx': specifier: ^3.1.0 - version: 3.1.0(vite@5.1.5)(vue@3.4.21) + version: 3.1.0(vite@5.1.6)(vue@3.4.21) dayjs: specifier: ^1.11.10 version: 1.11.10 @@ -255,10 +292,10 @@ importers: version: 2.10.0 unocss: specifier: ^0.58.5 - version: 0.58.5(postcss@8.4.35)(rollup@3.28.1)(vite@5.1.5) + version: 0.58.5(postcss@8.4.35)(rollup@3.28.1)(vite@5.1.6) unplugin: specifier: ^1.9.0 - version: 1.9.0 + version: 1.10.0 unplugin-auto-import: specifier: ^0.17.5 version: 0.17.5(@vueuse/core@10.9.0)(rollup@3.28.1) @@ -267,7 +304,7 @@ importers: version: 0.26.0(rollup@3.28.1)(vue@3.4.21) vite: specifier: ^5.1.5 - version: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + version: 5.1.6(@types/node@20.11.26)(sass@1.71.1) vue: specifier: ^3.4.21 version: 3.4.21(typescript@5.4.2) @@ -291,7 +328,7 @@ importers: version: 1.1.2 vite-hot-client: specifier: ^0.2.3 - version: 0.2.3(vite@5.1.5) + version: 0.2.3(vite@5.1.6) devDependencies: vue: specifier: ^3.4.21 @@ -350,7 +387,7 @@ importers: version: link:../shared electron: specifier: ^29.1.1 - version: 29.1.1 + version: 29.1.2 execa: specifier: ^8.0.1 version: 8.0.1 @@ -372,7 +409,7 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.5)(vue@3.4.21) + version: 5.0.4(vite@5.1.6)(vue@3.4.21) tsx: specifier: ^4.7.1 version: 4.7.1 @@ -406,20 +443,66 @@ importers: version: 2.2.191 '@types/node': specifier: ^20.11.25 - version: 20.11.25 + version: 20.11.26 '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.5)(vue@3.4.21) + version: 5.0.4(vite@5.1.6)(vue@3.4.21) sass: specifier: ^1.71.1 version: 1.71.1 vite: specifier: ^5.1.5 - version: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + version: 5.1.6(@types/node@20.11.26)(sass@1.71.1) vue: specifier: ^3.4.21 version: 3.4.21(typescript@5.4.2) + packages/playground/applet: + dependencies: + '@vueuse/core': + specifier: ^10.7.2 + version: 10.9.0(vue@3.4.21) + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.4.2)(vue@3.4.21) + unplugin-auto-import: + specifier: ^0.17.5 + version: 0.17.5(@vueuse/core@10.9.0)(rollup@3.28.1) + vue: + specifier: ^3.4.15 + version: 3.4.21(typescript@5.4.2) + vue-router: + specifier: ^4.2.5 + version: 4.3.0(vue@3.4.21) + devDependencies: + '@vitejs/plugin-vue': + specifier: ^5.0.3 + version: 5.0.4(vite@5.1.6)(vue@3.4.21) + '@vue/devtools-applet': + specifier: workspace:* + version: link:../../applet + '@vue/devtools-kit': + specifier: workspace:* + version: link:../../devtools-kit + sass: + specifier: ^1.70.0 + version: 1.71.1 + serve: + specifier: ^14.2.1 + version: 14.2.1 + typescript: + specifier: ^5.3.3 + version: 5.4.2 + vite: + specifier: ^5.0.12 + version: 5.1.6(@types/node@20.11.26)(sass@1.71.1) + vite-plugin-inspect: + specifier: ^0.8.3 + version: 0.8.3(rollup@3.28.1)(vite@5.1.6) + vite-plugin-vue-devtools: + specifier: workspace:* + version: link:../../vite + packages/playground/basic: dependencies: '@vueuse/core': @@ -440,7 +523,7 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.5)(vue@3.4.21) + version: 5.0.4(vite@5.1.6)(vue@3.4.21) '@vue/devtools': specifier: workspace:^ version: link:../../devtools @@ -455,10 +538,10 @@ importers: version: 5.4.2 vite: specifier: ^5.1.5 - version: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + version: 5.1.6(@types/node@20.11.26)(sass@1.71.1) vite-plugin-inspect: specifier: ^0.8.3 - version: 0.8.3(rollup@3.28.1)(vite@5.1.5) + version: 0.8.3(rollup@3.28.1)(vite@5.1.6) vite-plugin-vue-devtools: specifier: workspace:* version: link:../../vite @@ -483,7 +566,7 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.5)(vue@3.4.21) + version: 5.0.4(vite@5.1.6)(vue@3.4.21) sass: specifier: ^1.71.1 version: 1.71.1 @@ -495,10 +578,10 @@ importers: version: 5.4.2 vite: specifier: ^5.1.5 - version: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + version: 5.1.6(@types/node@20.11.26)(sass@1.71.1) vite-plugin-inspect: specifier: ^0.8.3 - version: 0.8.3(rollup@3.28.1)(vite@5.1.5) + version: 0.8.3(rollup@3.28.1)(vite@5.1.6) vite-plugin-vue-devtools: specifier: workspace:* version: link:../../vite @@ -520,13 +603,13 @@ importers: devDependencies: '@types/node': specifier: ^20.11.25 - version: 20.11.25 + version: 20.11.26 '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.5)(vue@3.4.21) + version: 5.0.4(vite@5.1.6)(vue@3.4.21) '@vue-termui/cli': specifier: '*' - version: 0.0.17(@types/node@20.11.25)(vite-plugin-vue-termui@0.0.12)(vite@5.1.5)(vue-termui@0.0.19) + version: 0.0.17(@types/node@20.11.26)(vite-plugin-vue-termui@0.0.12)(vite@5.1.6)(vue-termui@0.0.19) '@vue/compiler-sfc': specifier: ^3.4.21 version: 3.4.21 @@ -541,7 +624,7 @@ importers: version: 0.26.0(rollup@3.28.1)(vue@3.4.21) vite: specifier: ^5.1.5 - version: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + version: 5.1.6(@types/node@20.11.26)(sass@1.71.1) vite-plugin-vue-termui: specifier: '*' version: 0.0.12(@vitejs/plugin-vue@5.0.4)(unplugin-auto-import@0.17.5)(unplugin-vue-components@0.26.0)(vue-termui@0.0.19)(vue@3.4.21) @@ -559,20 +642,20 @@ importers: version: 10.9.0(vue@3.4.21) unocss: specifier: ^0.58.5 - version: 0.58.5(postcss@8.4.35)(rollup@3.28.1)(vite@5.1.5) + version: 0.58.5(postcss@8.4.35)(rollup@3.28.1)(vite@5.1.6) vue: specifier: ^3.4.21 version: 3.4.21(typescript@5.4.2) devDependencies: '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.5)(vue@3.4.21) + version: 5.0.4(vite@5.1.6)(vue@3.4.21) typescript: specifier: ^5.4.2 version: 5.4.2 vite: specifier: ^5.1.5 - version: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + version: 5.1.6(@types/node@20.11.26)(sass@1.71.1) vue-tsc: specifier: ^1.8.27 version: 1.8.27(typescript@5.4.2) @@ -622,7 +705,7 @@ importers: devDependencies: '@types/node': specifier: ^20.11.25 - version: 20.11.25 + version: 20.11.26 packages/ui: dependencies: @@ -647,28 +730,28 @@ importers: devDependencies: '@histoire/plugin-vue': specifier: ^0.17.12 - version: 0.17.12(histoire@0.17.9)(vite@5.1.5)(vue@3.4.21) + version: 0.17.12(histoire@0.17.9)(vite@5.1.6)(vue@3.4.21) '@types/node': specifier: ^20.11.25 - version: 20.11.25 + version: 20.11.26 '@unocss/reset': specifier: ^0.58.5 version: 0.58.5 '@vitejs/plugin-vue': specifier: ^5.0.4 - version: 5.0.4(vite@5.1.5)(vue@3.4.21) + version: 5.0.4(vite@5.1.6)(vue@3.4.21) floating-vue: specifier: 5.2.2 version: 5.2.2(vue@3.4.21) histoire: specifier: ^0.17.9 - version: 0.17.9(@types/node@20.11.25)(vite@5.1.5) + version: 0.17.9(@types/node@20.11.26)(vite@5.1.6) unocss: specifier: ^0.58.5 - version: 0.58.5(postcss@8.4.35)(rollup@3.28.1)(vite@5.1.5) + version: 0.58.5(postcss@8.4.35)(rollup@3.28.1)(vite@5.1.6) vite-plugin-dts: specifier: ^3.7.3 - version: 3.7.3(@types/node@20.11.25)(rollup@3.28.1)(typescript@5.4.2)(vite@5.1.5) + version: 3.7.3(@types/node@20.11.26)(rollup@3.28.1)(typescript@5.4.2)(vite@5.1.6) packages/vite: dependencies: @@ -689,17 +772,17 @@ importers: version: 2.0.4 vite: specifier: ^3.1.0 || ^4.0.0-0 || ^5.0.0-0 - version: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + version: 5.1.6(@types/node@20.11.26)(sass@1.71.1) vite-plugin-inspect: specifier: ^0.8.3 - version: 0.8.3(rollup@3.28.1)(vite@5.1.5) + version: 0.8.3(rollup@3.28.1)(vite@5.1.6) vite-plugin-vue-inspector: specifier: ^4.0.2 - version: 4.0.2(vite@5.1.5) + version: 4.0.2(vite@5.1.6) devDependencies: '@types/node': specifier: ^20.11.25 - version: 20.11.25 + version: 20.11.26 fast-glob: specifier: ^3.3.2 version: 3.3.2 @@ -922,8 +1005,8 @@ packages: '@eslint-types/typescript-eslint': 7.0.2 '@eslint-types/unicorn': 51.0.1 '@stylistic/eslint-plugin': 1.6.3(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) - '@typescript-eslint/eslint-plugin': 7.1.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) - '@typescript-eslint/parser': 7.1.1(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) + '@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@7.2.0)(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) + '@typescript-eslint/parser': 7.2.0(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) '@unocss/eslint-plugin': 0.58.5(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) eslint: /eslint-ts-patch@8.55.0-1 eslint-config-flat-gitignore: 0.1.3 @@ -931,7 +1014,7 @@ packages: eslint-plugin-antfu: 2.1.2(eslint-ts-patch@8.55.0-1) eslint-plugin-eslint-comments: 3.2.0(eslint-ts-patch@8.55.0-1) eslint-plugin-format: 0.1.0(eslint-ts-patch@8.55.0-1) - eslint-plugin-i: 2.29.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.55.0-1) + eslint-plugin-i: 2.29.1(@typescript-eslint/parser@7.2.0)(eslint-ts-patch@8.55.0-1) eslint-plugin-jsdoc: 48.2.0(eslint-ts-patch@8.55.0-1) eslint-plugin-jsonc: 2.13.0(eslint-ts-patch@8.55.0-1) eslint-plugin-markdown: 3.0.1(eslint-ts-patch@8.55.0-1) @@ -940,8 +1023,8 @@ packages: eslint-plugin-perfectionist: 2.5.0(eslint-ts-patch@8.55.0-1)(typescript@5.4.2)(vue-eslint-parser@9.4.2) eslint-plugin-toml: 0.9.2(eslint-ts-patch@8.55.0-1) eslint-plugin-unicorn: 51.0.1(eslint-ts-patch@8.55.0-1) - eslint-plugin-unused-imports: 3.1.0(@typescript-eslint/eslint-plugin@7.1.1)(eslint-ts-patch@8.55.0-1) - eslint-plugin-vitest: 0.3.22(@typescript-eslint/eslint-plugin@7.1.1)(eslint-ts-patch@8.55.0-1)(typescript@5.4.2)(vitest@1.3.1) + eslint-plugin-unused-imports: 3.1.0(@typescript-eslint/eslint-plugin@7.2.0)(eslint-ts-patch@8.55.0-1) + eslint-plugin-vitest: 0.3.22(@typescript-eslint/eslint-plugin@7.2.0)(eslint-ts-patch@8.55.0-1)(typescript@5.4.2)(vitest@1.3.1) eslint-plugin-vue: 9.22.0(eslint-ts-patch@8.55.0-1) eslint-plugin-yml: 1.12.2(eslint-ts-patch@8.55.0-1) eslint-processor-vue-blocks: 0.1.1(@vue/compiler-sfc@3.4.21)(eslint-ts-patch@8.55.0-1) @@ -2905,11 +2988,11 @@ packages: '@hapi/hoek': 9.3.0 dev: true - /@histoire/app@0.17.9(vite@5.1.5): + /@histoire/app@0.17.9(vite@5.1.6): resolution: {integrity: sha512-JoSGbsoo1/JY5TtTiMBUSPllIEJLvC6jHIGruvwPG/cJ3niqa3EyEMOsOWtcu+xjtx1uETgL9Yj5RJMJjC+OBA==} dependencies: - '@histoire/controls': 0.17.9(vite@5.1.5) - '@histoire/shared': 0.17.10(vite@5.1.5) + '@histoire/controls': 0.17.9(vite@5.1.6) + '@histoire/shared': 0.17.10(vite@5.1.6) '@histoire/vendors': 0.17.8 '@types/flexsearch': 0.7.6 flexsearch: 0.7.21 @@ -2918,7 +3001,7 @@ packages: - vite dev: true - /@histoire/controls@0.17.9(vite@5.1.5): + /@histoire/controls@0.17.9(vite@5.1.6): resolution: {integrity: sha512-1f1cE1NZ2emzGMRnGfAb/gCKDtBT3bUZzj3aAcDmhm3MA2Vy5tGYSb9j+KuTTj7+exhOrKefmedr9a0q1/5g2w==} dependencies: '@codemirror/commands': 6.3.2 @@ -2928,24 +3011,24 @@ packages: '@codemirror/state': 6.3.2 '@codemirror/theme-one-dark': 6.1.2 '@codemirror/view': 6.22.1 - '@histoire/shared': 0.17.10(vite@5.1.5) + '@histoire/shared': 0.17.10(vite@5.1.6) '@histoire/vendors': 0.17.8 transitivePeerDependencies: - vite dev: true - /@histoire/plugin-vue@0.17.12(histoire@0.17.9)(vite@5.1.5)(vue@3.4.21): + /@histoire/plugin-vue@0.17.12(histoire@0.17.9)(vite@5.1.6)(vue@3.4.21): resolution: {integrity: sha512-mpx2uwHq/qemnX+ARQtDR3M9kIt1y4kBCmzBkOquhJTp61mtHMu4hZKSzzQpQWA2QxEyuuwpaNiU7Mlms13EaQ==} peerDependencies: histoire: ^0.17.9 vue: ^3.2.47 dependencies: - '@histoire/controls': 0.17.9(vite@5.1.5) - '@histoire/shared': 0.17.10(vite@5.1.5) + '@histoire/controls': 0.17.9(vite@5.1.6) + '@histoire/shared': 0.17.10(vite@5.1.6) '@histoire/vendors': 0.17.8 change-case: 4.1.2 globby: 13.2.2 - histoire: 0.17.9(@types/node@20.11.25)(vite@5.1.5) + histoire: 0.17.9(@types/node@20.11.26)(vite@5.1.6) launch-editor: 2.6.1 pathe: 1.1.2 vue: 3.4.21(typescript@5.4.2) @@ -2953,7 +3036,7 @@ packages: - vite dev: true - /@histoire/shared@0.17.10(vite@5.1.5): + /@histoire/shared@0.17.10(vite@5.1.6): resolution: {integrity: sha512-8hzk/WKASrYfaJ+UtR6Mv7aZlP8IZvQ5POoHAi+JvHMJTtzCXZeuL0qdQAXg0zdk3vWIH20oSl6N8hZE1AP7yA==} peerDependencies: vite: ^2.9.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 @@ -2964,7 +3047,7 @@ packages: chokidar: 3.6.0 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) dev: true /@histoire/vendors@0.17.8: @@ -3102,24 +3185,24 @@ packages: '@lezer/common': 1.1.1 dev: true - /@microsoft/api-extractor-model@7.28.3(@types/node@20.11.25): + /@microsoft/api-extractor-model@7.28.3(@types/node@20.11.26): resolution: {integrity: sha512-wT/kB2oDbdZXITyDh2SQLzaWwTOFbV326fP0pUwNW00WeliARs0qjmXBWmGWardEzp2U3/axkO3Lboqun6vrig==} dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.62.0(@types/node@20.11.25) + '@rushstack/node-core-library': 3.62.0(@types/node@20.11.26) transitivePeerDependencies: - '@types/node' dev: true - /@microsoft/api-extractor@7.39.0(@types/node@20.11.25): + /@microsoft/api-extractor@7.39.0(@types/node@20.11.26): resolution: {integrity: sha512-PuXxzadgnvp+wdeZFPonssRAj/EW4Gm4s75TXzPk09h3wJ8RS3x7typf95B4vwZRrPTQBGopdUl+/vHvlPdAcg==} hasBin: true dependencies: - '@microsoft/api-extractor-model': 7.28.3(@types/node@20.11.25) + '@microsoft/api-extractor-model': 7.28.3(@types/node@20.11.26) '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - '@rushstack/node-core-library': 3.62.0(@types/node@20.11.25) + '@rushstack/node-core-library': 3.62.0(@types/node@20.11.26) '@rushstack/rig-package': 0.5.1 '@rushstack/ts-command-line': 4.17.1 colors: 1.2.5 @@ -3475,7 +3558,7 @@ packages: requiresBuild: true optional: true - /@rushstack/node-core-library@3.62.0(@types/node@20.11.25): + /@rushstack/node-core-library@3.62.0(@types/node@20.11.26): resolution: {integrity: sha512-88aJn2h8UpSvdwuDXBv1/v1heM6GnBf3RjEy6ZPP7UnzHNCqOHA2Ut+ScYUbXcqIdfew9JlTAe3g+cnX9xQ/Aw==} peerDependencies: '@types/node': '*' @@ -3483,7 +3566,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 colors: 1.2.5 fs-extra: 7.0.1 import-lazy: 4.0.0 @@ -3723,13 +3806,13 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: true /@types/bonjour@3.5.13: resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: true /@types/cacheable-request@6.0.3: @@ -3737,7 +3820,7 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 - '@types/node': 20.11.25 + '@types/node': 20.11.26 '@types/responselike': 1.0.3 dev: false @@ -3752,13 +3835,13 @@ packages: resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: '@types/express-serve-static-core': 4.17.41 - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: true /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: true /@types/cookie@0.4.1: @@ -3768,7 +3851,7 @@ packages: /@types/cors@2.8.17: resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: false /@types/degit@2.8.6: @@ -3795,7 +3878,7 @@ packages: /@types/express-serve-static-core@4.17.41: resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 '@types/qs': 6.9.11 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -3828,13 +3911,13 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: true /@types/fs-extra@9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: true /@types/hammerjs@2.0.45: @@ -3860,7 +3943,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: true /@types/json-schema@7.0.15: @@ -3870,13 +3953,13 @@ packages: /@types/jsonfile@6.1.4: resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: true /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: false /@types/linkify-it@3.0.5: @@ -3922,11 +4005,11 @@ packages: /@types/node-forge@1.3.11: resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: true - /@types/node@20.11.25: - resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} + /@types/node@20.11.26: + resolution: {integrity: sha512-YwOMmyhNnAWijOBQweOJnQPl068Oqd4K3OFbTc6AHJwzweUwwWG3GIFY74OKks2PJUDkQPeddOQES9mLn1CTEQ==} dependencies: undici-types: 5.26.5 @@ -3953,7 +4036,7 @@ packages: /@types/responselike@1.0.3: resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: false /@types/retry@0.12.0: @@ -3968,7 +4051,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: true /@types/serve-index@1.9.4: @@ -3982,13 +4065,13 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: true /@types/sockjs@0.3.36: resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: true /@types/speakingurl@13.0.6: @@ -4011,22 +4094,22 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: true /@types/yauzl@2.10.3: resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} requiresBuild: true dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 dev: false optional: true /@types/yoga-layout@1.9.2: resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} - /@typescript-eslint/eslint-plugin@7.1.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.55.0-1)(typescript@5.4.2): - resolution: {integrity: sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==} + /@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0)(eslint-ts-patch@8.55.0-1)(typescript@5.4.2): + resolution: {integrity: sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -4037,11 +4120,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.1.1(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/type-utils': 7.1.1(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) - '@typescript-eslint/utils': 7.1.1(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) - '@typescript-eslint/visitor-keys': 7.1.1 + '@typescript-eslint/parser': 7.2.0(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/type-utils': 7.2.0(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) + '@typescript-eslint/utils': 7.2.0(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.2.0 debug: 4.3.4 eslint: /eslint-ts-patch@8.55.0-1 graphemer: 1.4.0 @@ -4054,8 +4137,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.1.1(eslint-ts-patch@8.55.0-1)(typescript@5.4.2): - resolution: {integrity: sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==} + /@typescript-eslint/parser@7.2.0(eslint-ts-patch@8.55.0-1)(typescript@5.4.2): + resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 @@ -4064,10 +4147,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) - '@typescript-eslint/visitor-keys': 7.1.1 + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.2) + '@typescript-eslint/visitor-keys': 7.2.0 debug: 4.3.4 eslint: /eslint-ts-patch@8.55.0-1 typescript: 5.4.2 @@ -4083,16 +4166,16 @@ packages: '@typescript-eslint/visitor-keys': 6.21.0 dev: true - /@typescript-eslint/scope-manager@7.1.1: - resolution: {integrity: sha512-cirZpA8bJMRb4WZ+rO6+mnOJrGFDd38WoXCEI57+CYBqta8Yc8aJym2i7vyqLL1vVYljgw0X27axkUXz32T8TA==} + /@typescript-eslint/scope-manager@7.2.0: + resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/visitor-keys': 7.1.1 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/visitor-keys': 7.2.0 dev: true - /@typescript-eslint/type-utils@7.1.1(eslint-ts-patch@8.55.0-1)(typescript@5.4.2): - resolution: {integrity: sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==} + /@typescript-eslint/type-utils@7.2.0(eslint-ts-patch@8.55.0-1)(typescript@5.4.2): + resolution: {integrity: sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 @@ -4101,8 +4184,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) - '@typescript-eslint/utils': 7.1.1(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.2) + '@typescript-eslint/utils': 7.2.0(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) debug: 4.3.4 eslint: /eslint-ts-patch@8.55.0-1 ts-api-utils: 1.0.3(typescript@5.4.2) @@ -4116,8 +4199,8 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/types@7.1.1: - resolution: {integrity: sha512-KhewzrlRMrgeKm1U9bh2z5aoL4s7K3tK5DwHDn8MHv0yQfWFz/0ZR6trrIHHa5CsF83j/GgHqzdbzCXJ3crx0Q==} + /@typescript-eslint/types@7.2.0: + resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} engines: {node: ^16.0.0 || >=18.0.0} dev: true @@ -4143,8 +4226,8 @@ packages: - supports-color dev: true - /@typescript-eslint/typescript-estree@7.1.1(typescript@5.4.2): - resolution: {integrity: sha512-9ZOncVSfr+sMXVxxca2OJOPagRwT0u/UHikM2Rd6L/aB+kL/QAuTnsv6MeXtjzCJYb8PzrXarypSGIPx3Jemxw==} + /@typescript-eslint/typescript-estree@7.2.0(typescript@5.4.2): + resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -4152,8 +4235,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/visitor-keys': 7.1.1 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/visitor-keys': 7.2.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -4184,8 +4267,8 @@ packages: - typescript dev: true - /@typescript-eslint/utils@7.1.1(eslint-ts-patch@8.55.0-1)(typescript@5.4.2): - resolution: {integrity: sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==} + /@typescript-eslint/utils@7.2.0(eslint-ts-patch@8.55.0-1)(typescript@5.4.2): + resolution: {integrity: sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 @@ -4193,9 +4276,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint-ts-patch@8.55.0-1) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.4.2) + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.2) eslint: /eslint-ts-patch@8.55.0-1 semver: 7.6.0 transitivePeerDependencies: @@ -4211,11 +4294,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@typescript-eslint/visitor-keys@7.1.1: - resolution: {integrity: sha512-yTdHDQxY7cSoCcAtiBzVzxleJhkGB9NncSIyMYe2+OGON1ZsP9zOPws/Pqgopa65jvknOjlk/w7ulPlZ78PiLQ==} + /@typescript-eslint/visitor-keys@7.2.0: + resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/types': 7.2.0 eslint-visitor-keys: 3.4.3 dev: true @@ -4223,7 +4306,7 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@unocss/astro@0.58.5(rollup@3.28.1)(vite@5.1.5): + /@unocss/astro@0.58.5(rollup@3.28.1)(vite@5.1.6): resolution: {integrity: sha512-LtuVnj8oFAK9663OVhQO8KpdJFiOyyPsYfnOZlDCOFK3gHb/2WMrzdBwr1w8LoQF3bDedkFMKirVF7gWjyZiaw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -4233,8 +4316,8 @@ packages: dependencies: '@unocss/core': 0.58.5 '@unocss/reset': 0.58.5 - '@unocss/vite': 0.58.5(rollup@3.28.1)(vite@5.1.5) - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + '@unocss/vite': 0.58.5(rollup@3.28.1)(vite@5.1.6) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) transitivePeerDependencies: - rollup @@ -4417,7 +4500,7 @@ packages: dependencies: '@unocss/core': 0.58.5 - /@unocss/vite@0.58.5(rollup@3.28.1)(vite@5.1.5): + /@unocss/vite@0.58.5(rollup@3.28.1)(vite@5.1.6): resolution: {integrity: sha512-p4o1XNX1rvjmoUqSSdua8XyWNg/d+YUChDd2L/xEty+6j2qv0wUaohs3UQ87vWlv632/UmgdX+2MbrgtqthCtw==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 @@ -4432,11 +4515,11 @@ packages: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.7 - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) transitivePeerDependencies: - rollup - /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.5)(vue@3.4.21): + /@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.6)(vue@3.4.21): resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -4446,20 +4529,20 @@ packages: '@babel/core': 7.24.0 '@babel/plugin-transform-typescript': 7.23.5(@babel/core@7.24.0) '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.24.0) - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) vue: 3.4.21(typescript@5.4.2) transitivePeerDependencies: - supports-color dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.1.5)(vue@3.4.21): + /@vitejs/plugin-vue@5.0.4(vite@5.1.6)(vue@3.4.21): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) vue: 3.4.21(typescript@5.4.2) dev: true @@ -4521,7 +4604,7 @@ packages: path-browserify: 1.0.1 dev: true - /@vue-termui/cli@0.0.17(@types/node@20.11.25)(vite-plugin-vue-termui@0.0.12)(vite@5.1.5)(vue-termui@0.0.19): + /@vue-termui/cli@0.0.17(@types/node@20.11.26)(vite-plugin-vue-termui@0.0.12)(vite@5.1.6)(vue-termui@0.0.19): resolution: {integrity: sha512-VkY7OVb/UVhHMP6exAwidnb+HgC1/PHdvXJxXrpTOparNI59sD6ByLv5F3MDcx6mCKbkMVAE5P1syTFF88vJNg==} engines: {node: '>=14.0.0'} hasBin: true @@ -4531,8 +4614,8 @@ packages: vue-termui: '>=0.0.14' dependencies: picocolors: 1.0.0 - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) - vite-node: 0.24.5(@types/node@20.11.25) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) + vite-node: 0.24.5(@types/node@20.11.26) vite-plugin-vue-termui: 0.0.12(@vitejs/plugin-vue@5.0.4)(unplugin-auto-import@0.17.5)(unplugin-vue-components@0.26.0)(vue-termui@0.0.19)(vue@3.4.21) vue-termui: 0.0.19(@vue/runtime-core@3.4.21) ws: 8.16.0 @@ -5059,29 +5142,29 @@ packages: /@vue/devtools-api@6.5.1: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} - /@vue/devtools-api@7.0.14: + /@vue/devtools-api@7.0.14(vue@3.4.21): resolution: {integrity: sha512-TluWR9qZ6aO11bwtYK8+fzXxBqLfsE0mWZz1q/EQBmO9k82Cm6deieLwNNXjNFJz7xutazoia5Qa+zTYkPPOfw==} dependencies: - '@vue/devtools-kit': 7.0.14 + '@vue/devtools-kit': 7.0.17(vue@3.4.21) + transitivePeerDependencies: + - vue dev: true - /@vue/devtools-kit@7.0.14: - resolution: {integrity: sha512-wAAJazr4hI0aVRpgWOCVPw+NzMQdthhnprHHIg4njp1MkKrpCNGQ7MtQbZF1AltAA7xpMCGyyt+0kYH0FqTiPg==} + /@vue/devtools-kit@7.0.17(vue@3.4.21): + resolution: {integrity: sha512-znPLSOoTP3RnR9fvkq5M+nnpEA+WocybzOo5ID73vYkE0/n0VcfU8Ld0j4AHQjV/omTdAzh6QLpPlUYdIHXg+w==} + peerDependencies: + vue: ^3.0.0 dependencies: - '@vue/devtools-schema': 7.0.14 - '@vue/devtools-shared': 7.0.14 + '@vue/devtools-shared': 7.0.17 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 + vue: 3.4.21(typescript@5.4.2) dev: true - /@vue/devtools-schema@7.0.14: - resolution: {integrity: sha512-tpUeCLVrdHX+KzWMLTAwx/vAPFbo6jAUi7sr6Q+0mBIqIVSSIxNr5wEhegiFvYva+OtDeM2OrT+f7/X/5bvZNg==} - dev: true - - /@vue/devtools-shared@7.0.14: - resolution: {integrity: sha512-79RP1NDakBVWou9rDpVnT1WMjTbL1lJKm6YEOodjQ0dq5ehf0wsRbeYDhgAlnjehWRzTq5GAYFBFUPYBs0/QpA==} + /@vue/devtools-shared@7.0.17: + resolution: {integrity: sha512-QNg2TMQBFFffRbTKE9NjytXBywGR77p2UMi/gJ0ow58S+1jkAvL8ikU/JnSs9ePvsVtspHX32m2cdfe4DJ4ygw==} dependencies: rfdc: 1.3.1 dev: true @@ -7381,14 +7464,14 @@ packages: /electron-to-chromium@1.4.609: resolution: {integrity: sha512-ihiCP7PJmjoGNuLpl7TjNA8pCQWu09vGyjlPYw1Rqww4gvNuCcmvl+44G+2QyJ6S2K4o+wbTS++Xz0YN8Q9ERw==} - /electron@29.1.1: - resolution: {integrity: sha512-cXN15NgCi7MkzGo5/23ZQbii+0UfhmUiDjACunmzcUofYCjF42XhFbL7JZnwgI0qtBCCeJU8qZNZt9lU91gUFw==} + /electron@29.1.2: + resolution: {integrity: sha512-f1JZpUeeTH+UESdYOxnnfyf4hUUVlAFFRsaawIgYIlibEOiZOxJ0UILm7htv+yrQ51+V86yJRi8miyP7vjIULw==} engines: {node: '>= 12.20.55'} hasBin: true requiresBuild: true dependencies: '@electron/get': 2.0.3 - '@types/node': 20.11.25 + '@types/node': 20.11.26 extract-zip: 2.0.1 transitivePeerDependencies: - supports-color @@ -7457,7 +7540,7 @@ packages: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 - '@types/node': 20.11.25 + '@types/node': 20.11.26 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -7875,7 +7958,7 @@ packages: eslint: /eslint-ts-patch@8.55.0-1 dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint-ts-patch@8.55.0-1): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-ts-patch@8.55.0-1): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -7896,7 +7979,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.1.1(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) + '@typescript-eslint/parser': 7.2.0(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) debug: 3.2.7 eslint: /eslint-ts-patch@8.55.0-1 eslint-import-resolver-node: 0.3.9 @@ -7954,7 +8037,7 @@ packages: synckit: 0.8.8 dev: true - /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.55.0-1): + /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.2.0)(eslint-ts-patch@8.55.0-1): resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} engines: {node: '>=12'} peerDependencies: @@ -7964,7 +8047,7 @@ packages: doctrine: 3.0.0 eslint: /eslint-ts-patch@8.55.0-1 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint-ts-patch@8.55.0-1) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint-ts-patch@8.55.0-1) get-tsconfig: 4.7.2 is-glob: 4.0.3 minimatch: 3.1.2 @@ -8119,7 +8202,7 @@ packages: - supports-color dev: true - /eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@7.1.1)(eslint-ts-patch@8.55.0-1): + /eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@7.2.0)(eslint-ts-patch@8.55.0-1): resolution: {integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -8129,12 +8212,12 @@ packages: '@typescript-eslint/eslint-plugin': optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.1.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) + '@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@7.2.0)(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) eslint: /eslint-ts-patch@8.55.0-1 eslint-rule-composer: 0.3.0 dev: true - /eslint-plugin-vitest@0.3.22(@typescript-eslint/eslint-plugin@7.1.1)(eslint-ts-patch@8.55.0-1)(typescript@5.4.2)(vitest@1.3.1): + /eslint-plugin-vitest@0.3.22(@typescript-eslint/eslint-plugin@7.2.0)(eslint-ts-patch@8.55.0-1)(typescript@5.4.2)(vitest@1.3.1): resolution: {integrity: sha512-atkFGQ7aVgcuSeSMDqnyevIyUpfBPMnosksgEPrKE7Y8xQlqG/5z2IQ6UDau05zXaaFv7Iz8uzqvIuKshjZ0Zw==} engines: {node: ^18.0.0 || >= 20.0.0} peerDependencies: @@ -8147,10 +8230,10 @@ packages: vitest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.1.1(@typescript-eslint/parser@7.1.1)(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) + '@typescript-eslint/eslint-plugin': 7.2.0(@typescript-eslint/parser@7.2.0)(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) '@typescript-eslint/utils': 6.21.0(eslint-ts-patch@8.55.0-1)(typescript@5.4.2) eslint: /eslint-ts-patch@8.55.0-1 - vitest: 1.3.1(@types/node@20.11.25)(jsdom@24.0.0) + vitest: 1.3.1(@types/node@20.11.26)(jsdom@24.0.0) transitivePeerDependencies: - supports-color - typescript @@ -9145,16 +9228,16 @@ packages: resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} dev: true - /histoire@0.17.9(@types/node@20.11.25)(vite@5.1.5): + /histoire@0.17.9(@types/node@20.11.26)(vite@5.1.6): resolution: {integrity: sha512-z5Jb9QwbOw0TKvpkU0v7+CxJG6hIljIKMhWXzOfteteRZGDFElpTEwbr5/8EdPI6VTdF/k76fqZ07nmS9YdUvA==} hasBin: true peerDependencies: vite: ^2.9.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 dependencies: '@akryum/tinypool': 0.3.1 - '@histoire/app': 0.17.9(vite@5.1.5) - '@histoire/controls': 0.17.9(vite@5.1.5) - '@histoire/shared': 0.17.10(vite@5.1.5) + '@histoire/app': 0.17.9(vite@5.1.6) + '@histoire/controls': 0.17.9(vite@5.1.6) + '@histoire/shared': 0.17.10(vite@5.1.6) '@histoire/vendors': 0.17.8 '@types/flexsearch': 0.7.6 '@types/markdown-it': 12.2.3 @@ -9181,8 +9264,8 @@ packages: sade: 1.8.1 shiki-es: 0.2.0 sirv: 2.0.4 - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) - vite-node: 0.34.6(@types/node@20.11.25) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) + vite-node: 0.34.6(@types/node@20.11.26) transitivePeerDependencies: - '@types/node' - bufferutil @@ -9762,7 +9845,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -9771,7 +9854,7 @@ packages: resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -13838,7 +13921,7 @@ packages: pkg-types: 1.0.3 scule: 1.1.1 strip-literal: 1.3.0 - unplugin: 1.9.0 + unplugin: 1.10.0 transitivePeerDependencies: - rollup @@ -13875,7 +13958,7 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - /unocss@0.58.5(postcss@8.4.35)(rollup@3.28.1)(vite@5.1.5): + /unocss@0.58.5(postcss@8.4.35)(rollup@3.28.1)(vite@5.1.6): resolution: {integrity: sha512-0g4P6jLgRRNnhscxw7nQ9RHGrKJ1UPPiHPet+YT3TXUcmy4mTiYgo9+kGQf5bjyrzsELJ10cT6Qz2y6g9Tls4g==} engines: {node: '>=14'} peerDependencies: @@ -13887,7 +13970,7 @@ packages: vite: optional: true dependencies: - '@unocss/astro': 0.58.5(rollup@3.28.1)(vite@5.1.5) + '@unocss/astro': 0.58.5(rollup@3.28.1)(vite@5.1.6) '@unocss/cli': 0.58.5(rollup@3.28.1) '@unocss/core': 0.58.5 '@unocss/extractor-arbitrary-variants': 0.58.5 @@ -13906,8 +13989,8 @@ packages: '@unocss/transformer-compile-class': 0.58.5 '@unocss/transformer-directives': 0.58.5 '@unocss/transformer-variant-group': 0.58.5 - '@unocss/vite': 0.58.5(rollup@3.28.1)(vite@5.1.5) - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + '@unocss/vite': 0.58.5(rollup@3.28.1)(vite@5.1.6) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) transitivePeerDependencies: - postcss - rollup @@ -13938,7 +14021,7 @@ packages: magic-string: 0.30.7 minimatch: 9.0.3 unimport: 3.7.1(rollup@3.28.1) - unplugin: 1.9.0 + unplugin: 1.10.0 transitivePeerDependencies: - rollup @@ -13964,15 +14047,33 @@ packages: magic-string: 0.30.7 minimatch: 9.0.3 resolve: 1.22.8 - unplugin: 1.9.0 + unplugin: 1.10.0 vue: 3.4.21(typescript@5.4.2) transitivePeerDependencies: - rollup - supports-color dev: true - /unplugin@1.9.0: - resolution: {integrity: sha512-14PslvMY3gNbXnQtNIRB566Q057L5Fe7f5LDEamxVi0QQVxoz5hrveBwwZLcKyHtZ09ysmipxRRj5Lv+BGz2Iw==} + /unplugin-vue@5.0.3(vite@5.1.6)(vue@3.4.21): + resolution: {integrity: sha512-enBx4kGBM5f43ElT7mJDmXFFFLG5mjZG78MbAUwicS+i2H/ceemJPfBXqgt9fcmAlaXlCKkIpvmiCIb1F/6tfA==} + engines: {node: '>=18.0.0'} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + peerDependenciesMeta: + vite: + optional: true + dependencies: + debug: 4.3.4 + unplugin: 1.7.1 + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) + vue: 3.4.21(typescript@5.4.2) + transitivePeerDependencies: + - supports-color + dev: true + + /unplugin@1.10.0: + resolution: {integrity: sha512-CuZtvvO8ua2Wl+9q2jEaqH6m3DoQ38N7pvBYQbbaeNlWGvK2l6GHiKi29aIHDPoSxdUzQ7Unevf1/ugil5X6Pg==} engines: {node: '>=14.0.0'} dependencies: acorn: 8.11.3 @@ -13980,6 +14081,15 @@ packages: webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 + /unplugin@1.7.1: + resolution: {integrity: sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==} + dependencies: + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 + dev: true + /untyped@1.4.0: resolution: {integrity: sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==} hasBin: true @@ -14122,15 +14232,15 @@ packages: component-emitter: 1.3.1 dev: false - /vite-hot-client@0.2.3(vite@5.1.5): + /vite-hot-client@0.2.3(vite@5.1.6): resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} peerDependencies: vite: ^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 dependencies: - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) dev: false - /vite-node@0.24.5(@types/node@20.11.25): + /vite-node@0.24.5(@types/node@20.11.26): resolution: {integrity: sha512-+xnJaYu1i+2eCsycRO2QF1vxne13b2nL6nF+O8EzdF/X+ohPujysjwij3ZbX3AZ+j8HWYzjlRlKPdlHVyaNzwQ==} engines: {node: '>=v14.16.0'} hasBin: true @@ -14138,7 +14248,7 @@ packages: debug: 4.3.4 mlly: 0.5.17 pathe: 0.2.0 - vite: 3.2.7(@types/node@20.11.25) + vite: 3.2.7(@types/node@20.11.26) transitivePeerDependencies: - '@types/node' - less @@ -14149,7 +14259,7 @@ packages: - terser dev: true - /vite-node@0.34.6(@types/node@20.11.25): + /vite-node@0.34.6(@types/node@20.11.26): resolution: {integrity: sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==} engines: {node: '>=v14.18.0'} hasBin: true @@ -14159,7 +14269,7 @@ packages: mlly: 1.5.0 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) transitivePeerDependencies: - '@types/node' - less @@ -14171,7 +14281,7 @@ packages: - terser dev: true - /vite-node@1.3.1(@types/node@20.11.25): + /vite-node@1.3.1(@types/node@20.11.26): resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -14180,7 +14290,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) transitivePeerDependencies: - '@types/node' - less @@ -14192,7 +14302,7 @@ packages: - terser dev: true - /vite-plugin-dts@3.7.3(@types/node@20.11.25)(rollup@3.28.1)(typescript@5.4.2)(vite@5.1.5): + /vite-plugin-dts@3.7.3(@types/node@20.11.26)(rollup@3.28.1)(typescript@5.4.2)(vite@5.1.6): resolution: {integrity: sha512-26eTlBYdpjRLWCsTJebM8vkCieE+p9gP3raf+ecDnzzK5E3FG6VE1wcy55OkRpfWWVlVvKkYFe6uvRHYWx7Nog==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -14202,13 +14312,13 @@ packages: vite: optional: true dependencies: - '@microsoft/api-extractor': 7.39.0(@types/node@20.11.25) + '@microsoft/api-extractor': 7.39.0(@types/node@20.11.26) '@rollup/pluginutils': 5.1.0(rollup@3.28.1) '@vue/language-core': 1.8.27(typescript@5.4.2) debug: 4.3.4 kolorist: 1.8.0 typescript: 5.4.2 - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) vue-tsc: 1.8.27(typescript@5.4.2) transitivePeerDependencies: - '@types/node' @@ -14216,7 +14326,7 @@ packages: - supports-color dev: true - /vite-plugin-inspect@0.8.3(rollup@3.28.1)(vite@5.1.5): + /vite-plugin-inspect@0.8.3(rollup@3.28.1)(vite@5.1.6): resolution: {integrity: sha512-SBVzOIdP/kwe6hjkt7LSW4D0+REqqe58AumcnCfRNw4Kt3mbS9pEBkch+nupu2PBxv2tQi69EQHQ1ZA1vgB/Og==} engines: {node: '>=14'} peerDependencies: @@ -14235,12 +14345,12 @@ packages: perfect-debounce: 1.0.0 picocolors: 1.0.0 sirv: 2.0.4 - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) transitivePeerDependencies: - rollup - supports-color - /vite-plugin-vue-inspector@4.0.2(vite@5.1.5): + /vite-plugin-vue-inspector@4.0.2(vite@5.1.6): resolution: {integrity: sha512-KPvLEuafPG13T7JJuQbSm5PwSxKFnVS965+MP1we2xGw9BPkkc/+LPix5MMWenpKWqtjr0ws8THrR+KuoDC8hg==} peerDependencies: vite: ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 @@ -14254,7 +14364,7 @@ packages: '@vue/compiler-dom': 3.4.21 kolorist: 1.8.0 magic-string: 0.30.7 - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) transitivePeerDependencies: - supports-color dev: false @@ -14268,14 +14378,14 @@ packages: vue: ^3.2.25 vue-termui: '>=0.0.18' dependencies: - '@vitejs/plugin-vue': 5.0.4(vite@5.1.5)(vue@3.4.21) + '@vitejs/plugin-vue': 5.0.4(vite@5.1.6)(vue@3.4.21) unplugin-auto-import: 0.17.5(@vueuse/core@10.9.0)(rollup@3.28.1) unplugin-vue-components: 0.26.0(rollup@3.28.1)(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) vue-termui: 0.0.19(@vue/runtime-core@3.4.21) dev: true - /vite@3.2.7(@types/node@20.11.25): + /vite@3.2.7(@types/node@20.11.26): resolution: {integrity: sha512-29pdXjk49xAP0QBr0xXqu2s5jiQIXNvE/xwd0vUizYT2Hzqe4BksNNoWllFVXJf4eLZ+UlVQmXfB4lWrc+t18g==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -14300,7 +14410,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 esbuild: 0.15.18 postcss: 8.4.35 resolve: 1.22.8 @@ -14309,8 +14419,8 @@ packages: fsevents: 2.3.3 dev: true - /vite@5.1.5(@types/node@20.11.25)(sass@1.71.1): - resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} + /vite@5.1.6(@types/node@20.11.26)(sass@1.71.1): + resolution: {integrity: sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -14337,7 +14447,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 esbuild: 0.19.10 postcss: 8.4.35 rollup: 4.7.0 @@ -14345,7 +14455,7 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitepress@1.0.0-rc.45(@algolia/client-search@4.22.0)(@types/node@20.11.25)(postcss@8.4.35)(search-insights@2.13.0)(typescript@5.4.2): + /vitepress@1.0.0-rc.45(@algolia/client-search@4.22.0)(@types/node@20.11.26)(postcss@8.4.35)(search-insights@2.13.0)(typescript@5.4.2): resolution: {integrity: sha512-/OiYsu5UKpQKA2c0BAZkfyywjfauDjvXyv6Mo4Ra57m5n4Bxg1HgUGoth1CLH2vwUbR/BHvDA9zOM0RDvgeSVQ==} hasBin: true peerDependencies: @@ -14362,8 +14472,8 @@ packages: '@shikijs/core': 1.1.7 '@shikijs/transformers': 1.1.5 '@types/markdown-it': 13.0.7 - '@vitejs/plugin-vue': 5.0.4(vite@5.1.5)(vue@3.4.21) - '@vue/devtools-api': 7.0.14 + '@vitejs/plugin-vue': 5.0.4(vite@5.1.6)(vue@3.4.21) + '@vue/devtools-api': 7.0.14(vue@3.4.21) '@vueuse/core': 10.9.0(vue@3.4.21) '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21) focus-trap: 7.5.4 @@ -14371,7 +14481,7 @@ packages: minisearch: 6.3.0 postcss: 8.4.35 shiki: 1.1.7 - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) vue: 3.4.21(typescript@5.4.2) transitivePeerDependencies: - '@algolia/client-search' @@ -14401,7 +14511,7 @@ packages: - universal-cookie dev: true - /vitest@1.3.1(@types/node@20.11.25)(jsdom@24.0.0): + /vitest@1.3.1(@types/node@20.11.26)(jsdom@24.0.0): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -14426,7 +14536,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 '@vitest/expect': 1.3.1 '@vitest/runner': 1.3.1 '@vitest/snapshot': 1.3.1 @@ -14445,8 +14555,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 - vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1) - vite-node: 1.3.1(@types/node@20.11.25) + vite: 5.1.6(@types/node@20.11.26)(sass@1.71.1) + vite-node: 1.3.1(@types/node@20.11.26) why-is-node-running: 2.2.2 transitivePeerDependencies: - less diff --git a/tsconfig.json b/tsconfig.json index c52febcf..8948d65e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,7 +11,7 @@ "@vue/devtools-kit": ["./packages/devtools-kit/src/index.ts"], "@vue/devtools-ui": ["./packages/ui/src/index.ts"], "@vue/devtools-ui/theme": ["./packages/ui/theme/index.ts"], - "@vue/devtools-vite": ["./packages/vite/src/index.ts"] + "@vue/devtools-applet": ["./packages/applet/src/index.ts"] }, "resolveJsonModule": true, "types": [