refactor: devcontainer
Some checks failed
CI/CD Pipeline / playwright (push) Successful in 2m40s
CI/CD Pipeline / build-and-deploy (push) Successful in 1m55s
测试最新依赖 / build-and-test (push) Successful in 1m30s
测试最新依赖 / playwright (push) Failing after 2m12s

This commit is contained in:
严浩
2025-11-23 00:00:26 +08:00
parent 4a5ae8d2de
commit 814130af34
9 changed files with 2912 additions and 2470 deletions

View File

@@ -10,12 +10,10 @@
"ANTHROPIC_AUTH_TOKEN": "${localEnv:ANTHROPIC_AUTH_TOKEN}", "ANTHROPIC_AUTH_TOKEN": "${localEnv:ANTHROPIC_AUTH_TOKEN}",
"ANTHROPIC_BASE_URL": "${localEnv:ANTHROPIC_BASE_URL}", "ANTHROPIC_BASE_URL": "${localEnv:ANTHROPIC_BASE_URL}",
"GEMINI_API_KEY": "${localEnv:GEMINI_API_KEY}", "GEMINI_API_KEY": "${localEnv:GEMINI_API_KEY}",
"GOOGLE_GEMINI_BASE_URL": "${localEnv:GOOGLE_GEMINI_BASE_URL}", "GOOGLE_GEMINI_BASE_URL": "${localEnv:GOOGLE_GEMINI_BASE_URL}"
"PATH": "${containerEnv:PATH}:${containerWorkspaceFolder}/node_modules/.bin:${containerEnv:HOME}/.bun/bin:${containerEnv:HOME}/.bun/bin/bun-node-fallback-bin"
}, },
"containerEnv": { "containerEnv": {
"HOME": "/home/usr_vscode", "NODE_OPTIONS": "--max-old-space-size=4096",
// "NODE_OPTIONS": "--max-old-space-size=4096",
"TZ": "${localEnv:TZ:Asia/Shanghai}" "TZ": "${localEnv:TZ:Asia/Shanghai}"
}, },
"customizations": { "customizations": {
@@ -55,88 +53,23 @@
// * 尽管使用了“/.*/”,但有些还是会失败,因为有几个错误的默认值: // * 尽管使用了“/.*/”,但有些还是会失败,因为有几个错误的默认值:
// * https://github.com/microsoft/vscode/issues/266651#issuecomment-3292581459 // * https://github.com/microsoft/vscode/issues/266651#issuecomment-3292581459
"chat.tools.terminal.ignoreDefaultAutoApproveRules": true, "chat.tools.terminal.ignoreDefaultAutoApproveRules": true,
"tasks": { "tasks": { "version": "2.0.0", "tasks": [] },
"version": "2.0.0", "terminal.integrated.defaultProfile.linux": "zsh"
"tasks": [
{
"type": "npm",
"script": "dev",
"label": "🚀 Dev: Run on Folder Open",
"runOptions": {
"runOn": "folderOpen"
},
"isBackground": true,
"presentation": {
"panel": "dedicated"
}
}
]
},
// https://stackoverflow.com/questions/75708866/vscode-dev-container-fails-to-load-ms-vscode-js-debug-extension-correctly
// https://davidwesst.com/blog/missing-bootloader-in-vscode-devcontainer/
/**
* autoAttachFilter NODE_OPTIONS bootloader.js --require
* --max-old-space-size
* NODE_OPTIONS= --require /home/.../bootloader.js --max-old-space-size=4096--max-old-space-size=4096
*
* Error: illegal value for flag --max-old-space-size=4096--max-old-space-size=4096 of type size_t
* "disabled"
*/
// "debug.javascript.autoAttachFilter": "disabled",
"terminal.integrated.defaultProfile.linux": "💲zsh",
"terminal.integrated.profiles.linux": {
"💲zsh": {
"path": "zsh",
"icon": "terminal-cmd",
"overrideName": true,
"color": "terminal.ansiGreen"
}
}
} }
} }
}, },
"mounts": [ "mounts": [
{ // 不挂载还可能会遇到:`Cannot run macOS (Mach-O) executable in Docker: Exec format error`
// 不挂载可能会遇到:`Cannot run macOS (Mach-O) executable in Docker: Exec format error` "source=${localWorkspaceFolderBasename}-node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume",
"type": "volume", "source=${localWorkspaceFolder}/.devcontainer/lifecycle-scripts.d,target=/usr/local/etc/lifecycle-scripts.d,type=bind,consistency=delegated"
"source": "${localWorkspaceFolderBasename}-node_modules",
"target": "${containerWorkspaceFolder}/node_modules"
},
{
"type": "volume",
"source": "devcontainer-pnpm-store",
"target": "/home/usr_vscode/.pnpm-store"
},
{
"type": "volume",
"source": "devcontainer-bun-install-cache",
"target": "/home/usr_vscode/.bun/install/cache"
// rm -rf ~/.bun/install/cache/*
},
{
"type": "bind",
"source": "${localWorkspaceFolder}/.devcontainer/onCreateCommand.d",
"target": "/usr/local/etc/onCreateCommand.d"
}
], ],
/** "workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/${localWorkspaceFolderBasename},type=bind,consistency=delegated",
* "initializeCommand": "docker pull ghcr.io/yanhao98/h-devcontainer:main;",
1. initializeCommand () "onCreateCommand": "/usr/local/bin/run-lifecycle-scripts.sh onCreateCommand",
2. "updateContentCommand": "/usr/local/bin/run-lifecycle-scripts.sh updateContentCommand",
3. onCreateCommand () "postCreateCommand": "/usr/local/bin/run-lifecycle-scripts.sh postCreateCommand",
4. updateContentCommand () "postStartCommand": "/usr/local/bin/run-lifecycle-scripts.sh postStartCommand",
5. postCreateCommand () "postAttachCommand": "/usr/local/bin/run-lifecycle-scripts.sh postAttachCommand",
6.
7. postStartCommand ()
8. VS Code
9. postAttachCommand ()
*/
"initializeCommand": "echo '↘️ 准备创建容器...'; docker pull ghcr.io/yanhao98/h-devcontainer:main;",
"onCreateCommand": "echo '↘️ 容器首次创建!'; /usr/local/bin/onCreateCommand.sh",
"updateContentCommand": "echo '↘️ 容器内容已更新!'; zsh -c 'time pnpm install;'",
"postCreateCommand": "echo '↘️ 容器已创建!';",
"postStartCommand": "echo '↘️ 容器启动了!'",
"postAttachCommand": "echo '↘️ VS Code 已附加到容器!'; zsh -c 'source ~/.zshrc; echo \"$(date +%Y-%m-%dT%H:%M:%S%z) - Welcome to your Dev Container!\"';",
"waitFor": "updateContentCommand", "waitFor": "updateContentCommand",
"remoteUser": "usr_vscode" "remoteUser": "usr_vscode"
} }

View File

@@ -0,0 +1,14 @@
#!/bin/zsh -eu
# 打印带有颜色的欢迎信息
echo -e "\033[1;32m↘ 容器首次创建!\033[0m"
# 修复权限问题(比如 node_modules 目录)
sudo chown -R $(whoami):$(whoami) /workspaces || true
# 调用内置命令 (这些命令在 _build-context/builtin-scripts 目录中的脚本中定义)
h-setup-locale
h-setup-zsh
h-setup-bun-bin
h-setup-ai-tools
h-setup-pnpm-bin

View File

@@ -0,0 +1,13 @@
#!/bin/bash -eu
# 容器内容更新时的消息和依赖安装
echo '↘️ 容器内容已更新!'
# 安装依赖
if command -v pnpm >/dev/null 2>&1; then
# 跳过: The modules directory at "/workspaces/h-devcontainers/node_modules" will be removed and reinstalled from scratch. Proceed? (Y/n) ·
time pnpm install --config.confirmModulesPurge=false
else
echo '❌错误: pnpm 未安装'
exit 0
fi

View File

@@ -1,8 +0,0 @@
#!/bin/zsh -eu
# 修复 node_modules 权限问题:
sudo chown -R $(whoami):$(whoami) node_modules || true
h-setup-locale
h-setup-zsh
h-setup-bun

660
auto-imports.d.ts vendored
View File

@@ -6,336 +6,336 @@
// biome-ignore lint: disable // biome-ignore lint: disable
export {} export {}
declare global { declare global {
const ConfirmationService: typeof import('utils4u/primevue')['ConfirmationService'] const ConfirmationService: typeof import('utils4u/primevue').ConfirmationService
const DialogService: typeof import('utils4u/primevue')['DialogService'] const DialogService: typeof import('utils4u/primevue').DialogService
const EffectScope: typeof import('vue')['EffectScope'] const EffectScope: typeof import('vue').EffectScope
const ToastService: typeof import('utils4u/primevue')['ToastService'] const ToastService: typeof import('utils4u/primevue').ToastService
const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate'] const acceptHMRUpdate: typeof import('pinia').acceptHMRUpdate
const arrayToTree: typeof import('utils4u/array')['arrayToTree'] const arrayToTree: typeof import('utils4u/array').arrayToTree
const asyncComputed: typeof import('@vueuse/core')['asyncComputed'] const asyncComputed: typeof import('@vueuse/core').asyncComputed
const autoResetRef: typeof import('@vueuse/core')['autoResetRef'] const autoResetRef: typeof import('@vueuse/core').autoResetRef
const computed: typeof import('vue')['computed'] const computed: typeof import('vue').computed
const computedAsync: typeof import('@vueuse/core')['computedAsync'] const computedAsync: typeof import('@vueuse/core').computedAsync
const computedEager: typeof import('@vueuse/core')['computedEager'] const computedEager: typeof import('@vueuse/core').computedEager
const computedInject: typeof import('@vueuse/core')['computedInject'] const computedInject: typeof import('@vueuse/core').computedInject
const computedWithControl: typeof import('@vueuse/core')['computedWithControl'] const computedWithControl: typeof import('@vueuse/core').computedWithControl
const consola: typeof import('consola/browser')['consola'] const consola: typeof import('consola/browser').consola
const controlledComputed: typeof import('@vueuse/core')['controlledComputed'] const controlledComputed: typeof import('@vueuse/core').controlledComputed
const controlledRef: typeof import('@vueuse/core')['controlledRef'] const controlledRef: typeof import('@vueuse/core').controlledRef
const convertFileToBase64: typeof import('utils4u/browser')['convertFileToBase64'] const convertFileToBase64: typeof import('utils4u/browser').convertFileToBase64
const createApp: typeof import('vue')['createApp'] const createApp: typeof import('vue').createApp
const createEventHook: typeof import('@vueuse/core')['createEventHook'] const createEventHook: typeof import('@vueuse/core').createEventHook
const createGlobalState: typeof import('@vueuse/core')['createGlobalState'] const createGlobalState: typeof import('@vueuse/core').createGlobalState
const createInjectionState: typeof import('@vueuse/core')['createInjectionState'] const createInjectionState: typeof import('@vueuse/core').createInjectionState
const createLogGuard: typeof import('utils4u/vue-router')['createLogGuard'] const createLogGuard: typeof import('utils4u/vue-router').createLogGuard
const createNProgressGuard: typeof import('utils4u/vue-router')['createNProgressGuard'] const createNProgressGuard: typeof import('utils4u/vue-router').createNProgressGuard
const createPinia: typeof import('pinia')['createPinia'] const createPinia: typeof import('pinia').createPinia
const createReactiveFn: typeof import('@vueuse/core')['createReactiveFn'] const createReactiveFn: typeof import('@vueuse/core').createReactiveFn
const createRef: typeof import('@vueuse/core')['createRef'] const createRef: typeof import('@vueuse/core').createRef
const createReusableTemplate: typeof import('@vueuse/core')['createReusableTemplate'] const createReusableTemplate: typeof import('@vueuse/core').createReusableTemplate
const createSharedComposable: typeof import('@vueuse/core')['createSharedComposable'] const createSharedComposable: typeof import('@vueuse/core').createSharedComposable
const createStackGuard: typeof import('utils4u/vue-router')['createStackGuard'] const createStackGuard: typeof import('utils4u/vue-router').createStackGuard
const createTemplatePromise: typeof import('@vueuse/core')['createTemplatePromise'] const createTemplatePromise: typeof import('@vueuse/core').createTemplatePromise
const createUnrefFn: typeof import('@vueuse/core')['createUnrefFn'] const createUnrefFn: typeof import('@vueuse/core').createUnrefFn
const customRef: typeof import('vue')['customRef'] const customRef: typeof import('vue').customRef
const debouncedRef: typeof import('@vueuse/core')['debouncedRef'] const debouncedRef: typeof import('@vueuse/core').debouncedRef
const debouncedWatch: typeof import('@vueuse/core')['debouncedWatch'] const debouncedWatch: typeof import('@vueuse/core').debouncedWatch
const deepFreeze: typeof import('deep-freeze-es6')['default'] const deepFreeze: typeof import('deep-freeze-es6').default
const defineAsyncComponent: typeof import('vue')['defineAsyncComponent'] const defineAsyncComponent: typeof import('vue').defineAsyncComponent
const defineComponent: typeof import('vue')['defineComponent'] const defineComponent: typeof import('vue').defineComponent
const defineStore: typeof import('pinia')['defineStore'] const defineStore: typeof import('pinia').defineStore
const eagerComputed: typeof import('@vueuse/core')['eagerComputed'] const eagerComputed: typeof import('@vueuse/core').eagerComputed
const effectScope: typeof import('vue')['effectScope'] const effectScope: typeof import('vue').effectScope
const extendRef: typeof import('@vueuse/core')['extendRef'] const extendRef: typeof import('@vueuse/core').extendRef
const getActivePinia: typeof import('pinia')['getActivePinia'] const getActivePinia: typeof import('pinia').getActivePinia
const getCurrentInstance: typeof import('vue')['getCurrentInstance'] const getCurrentInstance: typeof import('vue').getCurrentInstance
const getCurrentScope: typeof import('vue')['getCurrentScope'] const getCurrentScope: typeof import('vue').getCurrentScope
const getCurrentWatcher: typeof import('vue')['getCurrentWatcher'] const getCurrentWatcher: typeof import('vue').getCurrentWatcher
const h: typeof import('vue')['h'] const h: typeof import('vue').h
const i18nInstance: typeof import('./src/locales-utils/i18n-auto-imports')['i18nInstance'] const i18nInstance: typeof import('./src/locales-utils/i18n-auto-imports').i18nInstance
const i18nRouteMessages: typeof import('./src/locales-utils/route-messages/route-messages-auto-imports')['i18nRouteMessages'] const i18nRouteMessages: typeof import('./src/locales-utils/route-messages/route-messages-auto-imports').i18nRouteMessages
const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch'] const ignorableWatch: typeof import('@vueuse/core').ignorableWatch
const inject: typeof import('vue')['inject'] const inject: typeof import('vue').inject
const injectLocal: typeof import('@vueuse/core')['injectLocal'] const injectLocal: typeof import('@vueuse/core').injectLocal
const isDefined: typeof import('@vueuse/core')['isDefined'] const isDefined: typeof import('@vueuse/core').isDefined
const isProxy: typeof import('vue')['isProxy'] const isProxy: typeof import('vue').isProxy
const isReactive: typeof import('vue')['isReactive'] const isReactive: typeof import('vue').isReactive
const isReadonly: typeof import('vue')['isReadonly'] const isReadonly: typeof import('vue').isReadonly
const isRef: typeof import('vue')['isRef'] const isRef: typeof import('vue').isRef
const isShallow: typeof import('vue')['isShallow'] const isShallow: typeof import('vue').isShallow
const makeDestructurable: typeof import('@vueuse/core')['makeDestructurable'] const makeDestructurable: typeof import('@vueuse/core').makeDestructurable
const manualResetRef: typeof import('@vueuse/core')['manualResetRef'] const manualResetRef: typeof import('@vueuse/core').manualResetRef
const mapActions: typeof import('pinia')['mapActions'] const mapActions: typeof import('pinia').mapActions
const mapGetters: typeof import('pinia')['mapGetters'] const mapGetters: typeof import('pinia').mapGetters
const mapState: typeof import('pinia')['mapState'] const mapState: typeof import('pinia').mapState
const mapStores: typeof import('pinia')['mapStores'] const mapStores: typeof import('pinia').mapStores
const mapWritableState: typeof import('pinia')['mapWritableState'] const mapWritableState: typeof import('pinia').mapWritableState
const markRaw: typeof import('vue')['markRaw'] const markRaw: typeof import('vue').markRaw
const nextTick: typeof import('vue')['nextTick'] const nextTick: typeof import('vue').nextTick
const onActivated: typeof import('vue')['onActivated'] const onActivated: typeof import('vue').onActivated
const onBeforeMount: typeof import('vue')['onBeforeMount'] const onBeforeMount: typeof import('vue').onBeforeMount
const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave'] const onBeforeRouteLeave: typeof import('vue-router').onBeforeRouteLeave
const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate'] const onBeforeRouteUpdate: typeof import('vue-router').onBeforeRouteUpdate
const onBeforeUnmount: typeof import('vue')['onBeforeUnmount'] const onBeforeUnmount: typeof import('vue').onBeforeUnmount
const onBeforeUpdate: typeof import('vue')['onBeforeUpdate'] const onBeforeUpdate: typeof import('vue').onBeforeUpdate
const onClickOutside: typeof import('@vueuse/core')['onClickOutside'] const onClickOutside: typeof import('@vueuse/core').onClickOutside
const onDeactivated: typeof import('vue')['onDeactivated'] const onDeactivated: typeof import('vue').onDeactivated
const onElementRemoval: typeof import('@vueuse/core')['onElementRemoval'] const onElementRemoval: typeof import('@vueuse/core').onElementRemoval
const onErrorCaptured: typeof import('vue')['onErrorCaptured'] const onErrorCaptured: typeof import('vue').onErrorCaptured
const onKeyStroke: typeof import('@vueuse/core')['onKeyStroke'] const onKeyStroke: typeof import('@vueuse/core').onKeyStroke
const onLongPress: typeof import('@vueuse/core')['onLongPress'] const onLongPress: typeof import('@vueuse/core').onLongPress
const onMounted: typeof import('vue')['onMounted'] const onMounted: typeof import('vue').onMounted
const onRenderTracked: typeof import('vue')['onRenderTracked'] const onRenderTracked: typeof import('vue').onRenderTracked
const onRenderTriggered: typeof import('vue')['onRenderTriggered'] const onRenderTriggered: typeof import('vue').onRenderTriggered
const onScopeDispose: typeof import('vue')['onScopeDispose'] const onScopeDispose: typeof import('vue').onScopeDispose
const onServerPrefetch: typeof import('vue')['onServerPrefetch'] const onServerPrefetch: typeof import('vue').onServerPrefetch
const onStartTyping: typeof import('@vueuse/core')['onStartTyping'] const onStartTyping: typeof import('@vueuse/core').onStartTyping
const onUnmounted: typeof import('vue')['onUnmounted'] const onUnmounted: typeof import('vue').onUnmounted
const onUpdated: typeof import('vue')['onUpdated'] const onUpdated: typeof import('vue').onUpdated
const onWatcherCleanup: typeof import('vue')['onWatcherCleanup'] const onWatcherCleanup: typeof import('vue').onWatcherCleanup
const pausableWatch: typeof import('@vueuse/core')['pausableWatch'] const pausableWatch: typeof import('@vueuse/core').pausableWatch
const provide: typeof import('vue')['provide'] const provide: typeof import('vue').provide
const provideLocal: typeof import('@vueuse/core')['provideLocal'] const provideLocal: typeof import('@vueuse/core').provideLocal
const reactify: typeof import('@vueuse/core')['reactify'] const reactify: typeof import('@vueuse/core').reactify
const reactifyObject: typeof import('@vueuse/core')['reactifyObject'] const reactifyObject: typeof import('@vueuse/core').reactifyObject
const reactive: typeof import('vue')['reactive'] const reactive: typeof import('vue').reactive
const reactiveComputed: typeof import('@vueuse/core')['reactiveComputed'] const reactiveComputed: typeof import('@vueuse/core').reactiveComputed
const reactiveOmit: typeof import('@vueuse/core')['reactiveOmit'] const reactiveOmit: typeof import('@vueuse/core').reactiveOmit
const reactivePick: typeof import('@vueuse/core')['reactivePick'] const reactivePick: typeof import('@vueuse/core').reactivePick
const readonly: typeof import('vue')['readonly'] const readonly: typeof import('vue').readonly
const ref: typeof import('vue')['ref'] const ref: typeof import('vue').ref
const refAutoReset: typeof import('@vueuse/core')['refAutoReset'] const refAutoReset: typeof import('@vueuse/core').refAutoReset
const refDebounced: typeof import('@vueuse/core')['refDebounced'] const refDebounced: typeof import('@vueuse/core').refDebounced
const refDefault: typeof import('@vueuse/core')['refDefault'] const refDefault: typeof import('@vueuse/core').refDefault
const refManualReset: typeof import('@vueuse/core')['refManualReset'] const refManualReset: typeof import('@vueuse/core').refManualReset
const refThrottled: typeof import('@vueuse/core')['refThrottled'] const refThrottled: typeof import('@vueuse/core').refThrottled
const refWithControl: typeof import('@vueuse/core')['refWithControl'] const refWithControl: typeof import('@vueuse/core').refWithControl
const resolveComponent: typeof import('vue')['resolveComponent'] const resolveComponent: typeof import('vue').resolveComponent
const resolveRef: typeof import('@vueuse/core')['resolveRef'] const resolveRef: typeof import('@vueuse/core').resolveRef
const routeI18nInstance: typeof import('./src/locales-utils/i18n-auto-imports')['routeI18nInstance'] const routeI18nInstance: typeof import('./src/locales-utils/i18n-auto-imports').routeI18nInstance
const routeI18nT: typeof import('./src/locales-utils/i18n-auto-imports')['routeI18nT'] const routeI18nT: typeof import('./src/locales-utils/i18n-auto-imports').routeI18nT
const setActivePinia: typeof import('pinia')['setActivePinia'] const setActivePinia: typeof import('pinia').setActivePinia
const setMapStoreSuffix: typeof import('pinia')['setMapStoreSuffix'] const setMapStoreSuffix: typeof import('pinia').setMapStoreSuffix
const setViewportCSSVars: typeof import('utils4u/browser')['setViewportCSSVars'] const setViewportCSSVars: typeof import('utils4u/browser').setViewportCSSVars
const shallowReactive: typeof import('vue')['shallowReactive'] const shallowReactive: typeof import('vue').shallowReactive
const shallowReadonly: typeof import('vue')['shallowReadonly'] const shallowReadonly: typeof import('vue').shallowReadonly
const shallowRef: typeof import('vue')['shallowRef'] const shallowRef: typeof import('vue').shallowRef
const showOpenFilePicker: typeof import('utils4u/browser')['showOpenFilePicker'] const showOpenFilePicker: typeof import('utils4u/browser').showOpenFilePicker
const storeToRefs: typeof import('pinia')['storeToRefs'] const storeToRefs: typeof import('pinia').storeToRefs
const syncRef: typeof import('@vueuse/core')['syncRef'] const syncRef: typeof import('@vueuse/core').syncRef
const syncRefs: typeof import('@vueuse/core')['syncRefs'] const syncRefs: typeof import('@vueuse/core').syncRefs
const templateRef: typeof import('@vueuse/core')['templateRef'] const templateRef: typeof import('@vueuse/core').templateRef
const throttledRef: typeof import('@vueuse/core')['throttledRef'] const throttledRef: typeof import('@vueuse/core').throttledRef
const throttledWatch: typeof import('@vueuse/core')['throttledWatch'] const throttledWatch: typeof import('@vueuse/core').throttledWatch
const toRaw: typeof import('vue')['toRaw'] const toRaw: typeof import('vue').toRaw
const toReactive: typeof import('@vueuse/core')['toReactive'] const toReactive: typeof import('@vueuse/core').toReactive
const toRef: typeof import('vue')['toRef'] const toRef: typeof import('vue').toRef
const toRefs: typeof import('vue')['toRefs'] const toRefs: typeof import('vue').toRefs
const toValue: typeof import('vue')['toValue'] const toValue: typeof import('vue').toValue
const triggerRef: typeof import('vue')['triggerRef'] const triggerRef: typeof import('vue').triggerRef
const tryOnBeforeMount: typeof import('@vueuse/core')['tryOnBeforeMount'] const tryOnBeforeMount: typeof import('@vueuse/core').tryOnBeforeMount
const tryOnBeforeUnmount: typeof import('@vueuse/core')['tryOnBeforeUnmount'] const tryOnBeforeUnmount: typeof import('@vueuse/core').tryOnBeforeUnmount
const tryOnMounted: typeof import('@vueuse/core')['tryOnMounted'] const tryOnMounted: typeof import('@vueuse/core').tryOnMounted
const tryOnScopeDispose: typeof import('@vueuse/core')['tryOnScopeDispose'] const tryOnScopeDispose: typeof import('@vueuse/core').tryOnScopeDispose
const tryOnUnmounted: typeof import('@vueuse/core')['tryOnUnmounted'] const tryOnUnmounted: typeof import('@vueuse/core').tryOnUnmounted
const unref: typeof import('vue')['unref'] const unref: typeof import('vue').unref
const unrefElement: typeof import('@vueuse/core')['unrefElement'] const unrefElement: typeof import('@vueuse/core').unrefElement
const until: typeof import('@vueuse/core')['until'] const until: typeof import('@vueuse/core').until
const useActiveElement: typeof import('@vueuse/core')['useActiveElement'] const useActiveElement: typeof import('@vueuse/core').useActiveElement
const useAnimate: typeof import('@vueuse/core')['useAnimate'] const useAnimate: typeof import('@vueuse/core').useAnimate
const useAppStore: typeof import('./src/stores/app-store-auto-imports')['useAppStore'] const useAppStore: typeof import('./src/stores/app-store-auto-imports').useAppStore
const useArrayDifference: typeof import('@vueuse/core')['useArrayDifference'] const useArrayDifference: typeof import('@vueuse/core').useArrayDifference
const useArrayEvery: typeof import('@vueuse/core')['useArrayEvery'] const useArrayEvery: typeof import('@vueuse/core').useArrayEvery
const useArrayFilter: typeof import('@vueuse/core')['useArrayFilter'] const useArrayFilter: typeof import('@vueuse/core').useArrayFilter
const useArrayFind: typeof import('@vueuse/core')['useArrayFind'] const useArrayFind: typeof import('@vueuse/core').useArrayFind
const useArrayFindIndex: typeof import('@vueuse/core')['useArrayFindIndex'] const useArrayFindIndex: typeof import('@vueuse/core').useArrayFindIndex
const useArrayFindLast: typeof import('@vueuse/core')['useArrayFindLast'] const useArrayFindLast: typeof import('@vueuse/core').useArrayFindLast
const useArrayIncludes: typeof import('@vueuse/core')['useArrayIncludes'] const useArrayIncludes: typeof import('@vueuse/core').useArrayIncludes
const useArrayJoin: typeof import('@vueuse/core')['useArrayJoin'] const useArrayJoin: typeof import('@vueuse/core').useArrayJoin
const useArrayMap: typeof import('@vueuse/core')['useArrayMap'] const useArrayMap: typeof import('@vueuse/core').useArrayMap
const useArrayReduce: typeof import('@vueuse/core')['useArrayReduce'] const useArrayReduce: typeof import('@vueuse/core').useArrayReduce
const useArraySome: typeof import('@vueuse/core')['useArraySome'] const useArraySome: typeof import('@vueuse/core').useArraySome
const useArrayUnique: typeof import('@vueuse/core')['useArrayUnique'] const useArrayUnique: typeof import('@vueuse/core').useArrayUnique
const useAsyncQueue: typeof import('@vueuse/core')['useAsyncQueue'] const useAsyncQueue: typeof import('@vueuse/core').useAsyncQueue
const useAsyncState: typeof import('@vueuse/core')['useAsyncState'] const useAsyncState: typeof import('@vueuse/core').useAsyncState
const useAttrs: typeof import('vue')['useAttrs'] const useAttrs: typeof import('vue').useAttrs
const useAuthStore: typeof import('./src/stores/auth-store-auto-imports')['useAuthStore'] const useAuthStore: typeof import('./src/stores/auth-store-auto-imports').useAuthStore
const useBase64: typeof import('@vueuse/core')['useBase64'] const useBase64: typeof import('@vueuse/core').useBase64
const useBattery: typeof import('@vueuse/core')['useBattery'] const useBattery: typeof import('@vueuse/core').useBattery
const useBluetooth: typeof import('@vueuse/core')['useBluetooth'] const useBluetooth: typeof import('@vueuse/core').useBluetooth
const useBreakpoints: typeof import('@vueuse/core')['useBreakpoints'] const useBreakpoints: typeof import('@vueuse/core').useBreakpoints
const useBroadcastChannel: typeof import('@vueuse/core')['useBroadcastChannel'] const useBroadcastChannel: typeof import('@vueuse/core').useBroadcastChannel
const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation'] const useBrowserLocation: typeof import('@vueuse/core').useBrowserLocation
const useCached: typeof import('@vueuse/core')['useCached'] const useCached: typeof import('@vueuse/core').useCached
const useClipboard: typeof import('@vueuse/core')['useClipboard'] const useClipboard: typeof import('@vueuse/core').useClipboard
const useClipboardItems: typeof import('@vueuse/core')['useClipboardItems'] const useClipboardItems: typeof import('@vueuse/core').useClipboardItems
const useCloned: typeof import('@vueuse/core')['useCloned'] const useCloned: typeof import('@vueuse/core').useCloned
const useColorMode: typeof import('@vueuse/core')['useColorMode'] const useColorMode: typeof import('@vueuse/core').useColorMode
const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog'] const useConfirmDialog: typeof import('@vueuse/core').useConfirmDialog
const useCountdown: typeof import('@vueuse/core')['useCountdown'] const useCountdown: typeof import('@vueuse/core').useCountdown
const useCounter: typeof import('@vueuse/core')['useCounter'] const useCounter: typeof import('@vueuse/core').useCounter
const useCssModule: typeof import('vue')['useCssModule'] const useCssModule: typeof import('vue').useCssModule
const useCssVar: typeof import('@vueuse/core')['useCssVar'] const useCssVar: typeof import('@vueuse/core').useCssVar
const useCssVars: typeof import('vue')['useCssVars'] const useCssVars: typeof import('vue').useCssVars
const useCurrentElement: typeof import('@vueuse/core')['useCurrentElement'] const useCurrentElement: typeof import('@vueuse/core').useCurrentElement
const useCycleList: typeof import('@vueuse/core')['useCycleList'] const useCycleList: typeof import('@vueuse/core').useCycleList
const useDark: typeof import('@vueuse/core')['useDark'] const useDark: typeof import('@vueuse/core').useDark
const useDateFormat: typeof import('@vueuse/core')['useDateFormat'] const useDateFormat: typeof import('@vueuse/core').useDateFormat
const useDebounce: typeof import('@vueuse/core')['useDebounce'] const useDebounce: typeof import('@vueuse/core').useDebounce
const useDebounceFn: typeof import('@vueuse/core')['useDebounceFn'] const useDebounceFn: typeof import('@vueuse/core').useDebounceFn
const useDebouncedRefHistory: typeof import('@vueuse/core')['useDebouncedRefHistory'] const useDebouncedRefHistory: typeof import('@vueuse/core').useDebouncedRefHistory
const useDeviceMotion: typeof import('@vueuse/core')['useDeviceMotion'] const useDeviceMotion: typeof import('@vueuse/core').useDeviceMotion
const useDeviceOrientation: typeof import('@vueuse/core')['useDeviceOrientation'] const useDeviceOrientation: typeof import('@vueuse/core').useDeviceOrientation
const useDevicePixelRatio: typeof import('@vueuse/core')['useDevicePixelRatio'] const useDevicePixelRatio: typeof import('@vueuse/core').useDevicePixelRatio
const useDevicesList: typeof import('@vueuse/core')['useDevicesList'] const useDevicesList: typeof import('@vueuse/core').useDevicesList
const useDialog: typeof import('naive-ui')['useDialog'] const useDialog: typeof import('naive-ui').useDialog
const useDisplayMedia: typeof import('@vueuse/core')['useDisplayMedia'] const useDisplayMedia: typeof import('@vueuse/core').useDisplayMedia
const useDocumentVisibility: typeof import('@vueuse/core')['useDocumentVisibility'] const useDocumentVisibility: typeof import('@vueuse/core').useDocumentVisibility
const useDraggable: typeof import('@vueuse/core')['useDraggable'] const useDraggable: typeof import('@vueuse/core').useDraggable
const useDropZone: typeof import('@vueuse/core')['useDropZone'] const useDropZone: typeof import('@vueuse/core').useDropZone
const useElementBounding: typeof import('@vueuse/core')['useElementBounding'] const useElementBounding: typeof import('@vueuse/core').useElementBounding
const useElementByPoint: typeof import('@vueuse/core')['useElementByPoint'] const useElementByPoint: typeof import('@vueuse/core').useElementByPoint
const useElementHover: typeof import('@vueuse/core')['useElementHover'] const useElementHover: typeof import('@vueuse/core').useElementHover
const useElementSize: typeof import('@vueuse/core')['useElementSize'] const useElementSize: typeof import('@vueuse/core').useElementSize
const useElementVisibility: typeof import('@vueuse/core')['useElementVisibility'] const useElementVisibility: typeof import('@vueuse/core').useElementVisibility
const useEventBus: typeof import('@vueuse/core')['useEventBus'] const useEventBus: typeof import('@vueuse/core').useEventBus
const useEventListener: typeof import('@vueuse/core')['useEventListener'] const useEventListener: typeof import('@vueuse/core').useEventListener
const useEventSource: typeof import('@vueuse/core')['useEventSource'] const useEventSource: typeof import('@vueuse/core').useEventSource
const useEyeDropper: typeof import('@vueuse/core')['useEyeDropper'] const useEyeDropper: typeof import('@vueuse/core').useEyeDropper
const useFavicon: typeof import('@vueuse/core')['useFavicon'] const useFavicon: typeof import('@vueuse/core').useFavicon
const useFetch: typeof import('@vueuse/core')['useFetch'] const useFetch: typeof import('@vueuse/core').useFetch
const useFileDialog: typeof import('@vueuse/core')['useFileDialog'] const useFileDialog: typeof import('@vueuse/core').useFileDialog
const useFileSystemAccess: typeof import('@vueuse/core')['useFileSystemAccess'] const useFileSystemAccess: typeof import('@vueuse/core').useFileSystemAccess
const useFocus: typeof import('@vueuse/core')['useFocus'] const useFocus: typeof import('@vueuse/core').useFocus
const useFocusWithin: typeof import('@vueuse/core')['useFocusWithin'] const useFocusWithin: typeof import('@vueuse/core').useFocusWithin
const useFps: typeof import('@vueuse/core')['useFps'] const useFps: typeof import('@vueuse/core').useFps
const useFullscreen: typeof import('@vueuse/core')['useFullscreen'] const useFullscreen: typeof import('@vueuse/core').useFullscreen
const useGamepad: typeof import('@vueuse/core')['useGamepad'] const useGamepad: typeof import('@vueuse/core').useGamepad
const useGeolocation: typeof import('@vueuse/core')['useGeolocation'] const useGeolocation: typeof import('@vueuse/core').useGeolocation
const useI18n: typeof import('vue-i18n')['useI18n'] const useI18n: typeof import('vue-i18n').useI18n
const useId: typeof import('vue')['useId'] const useId: typeof import('vue').useId
const useIdle: typeof import('@vueuse/core')['useIdle'] const useIdle: typeof import('@vueuse/core').useIdle
const useImage: typeof import('@vueuse/core')['useImage'] const useImage: typeof import('@vueuse/core').useImage
const useInfiniteScroll: typeof import('@vueuse/core')['useInfiniteScroll'] const useInfiniteScroll: typeof import('@vueuse/core').useInfiniteScroll
const useIntersectionObserver: typeof import('@vueuse/core')['useIntersectionObserver'] const useIntersectionObserver: typeof import('@vueuse/core').useIntersectionObserver
const useInterval: typeof import('@vueuse/core')['useInterval'] const useInterval: typeof import('@vueuse/core').useInterval
const useIntervalFn: typeof import('@vueuse/core')['useIntervalFn'] const useIntervalFn: typeof import('@vueuse/core').useIntervalFn
const useKeyModifier: typeof import('@vueuse/core')['useKeyModifier'] const useKeyModifier: typeof import('@vueuse/core').useKeyModifier
const useLastChanged: typeof import('@vueuse/core')['useLastChanged'] const useLastChanged: typeof import('@vueuse/core').useLastChanged
const useLink: typeof import('vue-router/auto')['useLink'] const useLink: typeof import('vue-router/auto').useLink
const useLoadingBar: typeof import('naive-ui')['useLoadingBar'] const useLoadingBar: typeof import('naive-ui').useLoadingBar
const useLocalStorage: typeof import('@vueuse/core')['useLocalStorage'] const useLocalStorage: typeof import('@vueuse/core').useLocalStorage
const useMagicKeys: typeof import('@vueuse/core')['useMagicKeys'] const useMagicKeys: typeof import('@vueuse/core').useMagicKeys
const useManualRefHistory: typeof import('@vueuse/core')['useManualRefHistory'] const useManualRefHistory: typeof import('@vueuse/core').useManualRefHistory
const useMediaControls: typeof import('@vueuse/core')['useMediaControls'] const useMediaControls: typeof import('@vueuse/core').useMediaControls
const useMediaQuery: typeof import('@vueuse/core')['useMediaQuery'] const useMediaQuery: typeof import('@vueuse/core').useMediaQuery
const useMemoize: typeof import('@vueuse/core')['useMemoize'] const useMemoize: typeof import('@vueuse/core').useMemoize
const useMemory: typeof import('@vueuse/core')['useMemory'] const useMemory: typeof import('@vueuse/core').useMemory
const useMessage: typeof import('naive-ui')['useMessage'] const useMessage: typeof import('naive-ui').useMessage
const useMetaLayoutsNMenuOptions: typeof import('./src/composables/useMetaLayoutsMenuOptions')['useMetaLayoutsNMenuOptions'] const useMetaLayoutsNMenuOptions: typeof import('./src/composables/useMetaLayoutsMenuOptions').useMetaLayoutsNMenuOptions
const useModal: typeof import('naive-ui')['useModal'] const useModal: typeof import('naive-ui').useModal
const useModel: typeof import('vue')['useModel'] const useModel: typeof import('vue').useModel
const useMounted: typeof import('@vueuse/core')['useMounted'] const useMounted: typeof import('@vueuse/core').useMounted
const useMouse: typeof import('@vueuse/core')['useMouse'] const useMouse: typeof import('@vueuse/core').useMouse
const useMouseInElement: typeof import('@vueuse/core')['useMouseInElement'] const useMouseInElement: typeof import('@vueuse/core').useMouseInElement
const useMousePressed: typeof import('@vueuse/core')['useMousePressed'] const useMousePressed: typeof import('@vueuse/core').useMousePressed
const useMutationObserver: typeof import('@vueuse/core')['useMutationObserver'] const useMutationObserver: typeof import('@vueuse/core').useMutationObserver
const useNavigatorLanguage: typeof import('@vueuse/core')['useNavigatorLanguage'] const useNavigatorLanguage: typeof import('@vueuse/core').useNavigatorLanguage
const useNetwork: typeof import('@vueuse/core')['useNetwork'] const useNetwork: typeof import('@vueuse/core').useNetwork
const useNotification: typeof import('naive-ui')['useNotification'] const useNotification: typeof import('naive-ui').useNotification
const useNow: typeof import('@vueuse/core')['useNow'] const useNow: typeof import('@vueuse/core').useNow
const useObjectUrl: typeof import('@vueuse/core')['useObjectUrl'] const useObjectUrl: typeof import('@vueuse/core').useObjectUrl
const useOffsetPagination: typeof import('@vueuse/core')['useOffsetPagination'] const useOffsetPagination: typeof import('@vueuse/core').useOffsetPagination
const useOnline: typeof import('@vueuse/core')['useOnline'] const useOnline: typeof import('@vueuse/core').useOnline
const usePageLeave: typeof import('@vueuse/core')['usePageLeave'] const usePageLeave: typeof import('@vueuse/core').usePageLeave
const useParallax: typeof import('@vueuse/core')['useParallax'] const useParallax: typeof import('@vueuse/core').useParallax
const useParentElement: typeof import('@vueuse/core')['useParentElement'] const useParentElement: typeof import('@vueuse/core').useParentElement
const usePerformanceObserver: typeof import('@vueuse/core')['usePerformanceObserver'] const usePerformanceObserver: typeof import('@vueuse/core').usePerformanceObserver
const usePermission: typeof import('@vueuse/core')['usePermission'] const usePermission: typeof import('@vueuse/core').usePermission
const usePointer: typeof import('@vueuse/core')['usePointer'] const usePointer: typeof import('@vueuse/core').usePointer
const usePointerLock: typeof import('@vueuse/core')['usePointerLock'] const usePointerLock: typeof import('@vueuse/core').usePointerLock
const usePointerSwipe: typeof import('@vueuse/core')['usePointerSwipe'] const usePointerSwipe: typeof import('@vueuse/core').usePointerSwipe
const usePreferredColorScheme: typeof import('@vueuse/core')['usePreferredColorScheme'] const usePreferredColorScheme: typeof import('@vueuse/core').usePreferredColorScheme
const usePreferredContrast: typeof import('@vueuse/core')['usePreferredContrast'] const usePreferredContrast: typeof import('@vueuse/core').usePreferredContrast
const usePreferredDark: typeof import('@vueuse/core')['usePreferredDark'] const usePreferredDark: typeof import('@vueuse/core').usePreferredDark
const usePreferredLanguages: typeof import('@vueuse/core')['usePreferredLanguages'] const usePreferredLanguages: typeof import('@vueuse/core').usePreferredLanguages
const usePreferredReducedMotion: typeof import('@vueuse/core')['usePreferredReducedMotion'] const usePreferredReducedMotion: typeof import('@vueuse/core').usePreferredReducedMotion
const usePreferredReducedTransparency: typeof import('@vueuse/core')['usePreferredReducedTransparency'] const usePreferredReducedTransparency: typeof import('@vueuse/core').usePreferredReducedTransparency
const usePrevious: typeof import('@vueuse/core')['usePrevious'] const usePrevious: typeof import('@vueuse/core').usePrevious
const usePrimevueDialogRef: typeof import('utils4u/primevue')['usePrimevueDialogRef'] const usePrimevueDialogRef: typeof import('utils4u/primevue').usePrimevueDialogRef
const useRafFn: typeof import('@vueuse/core')['useRafFn'] const useRafFn: typeof import('@vueuse/core').useRafFn
const useRefHistory: typeof import('@vueuse/core')['useRefHistory'] const useRefHistory: typeof import('@vueuse/core').useRefHistory
const useRefs: typeof import('utils4u/vue-use')['useRefs'] const useRefs: typeof import('utils4u/vue-use').useRefs
const useResizeObserver: typeof import('@vueuse/core')['useResizeObserver'] const useResizeObserver: typeof import('@vueuse/core').useResizeObserver
const useRoute: typeof import('vue-router')['useRoute'] const useRoute: typeof import('vue-router').useRoute
const useRouter: typeof import('vue-router')['useRouter'] const useRouter: typeof import('vue-router').useRouter
const useSSRWidth: typeof import('@vueuse/core')['useSSRWidth'] const useSSRWidth: typeof import('@vueuse/core').useSSRWidth
const useScreenOrientation: typeof import('@vueuse/core')['useScreenOrientation'] const useScreenOrientation: typeof import('@vueuse/core').useScreenOrientation
const useScreenSafeArea: typeof import('@vueuse/core')['useScreenSafeArea'] const useScreenSafeArea: typeof import('@vueuse/core').useScreenSafeArea
const useScriptTag: typeof import('@vueuse/core')['useScriptTag'] const useScriptTag: typeof import('@vueuse/core').useScriptTag
const useScroll: typeof import('@vueuse/core')['useScroll'] const useScroll: typeof import('@vueuse/core').useScroll
const useScrollLock: typeof import('@vueuse/core')['useScrollLock'] const useScrollLock: typeof import('@vueuse/core').useScrollLock
const useSessionStorage: typeof import('@vueuse/core')['useSessionStorage'] const useSessionStorage: typeof import('@vueuse/core').useSessionStorage
const useShare: typeof import('@vueuse/core')['useShare'] const useShare: typeof import('@vueuse/core').useShare
const useSlots: typeof import('vue')['useSlots'] const useSlots: typeof import('vue').useSlots
const useSorted: typeof import('@vueuse/core')['useSorted'] const useSorted: typeof import('@vueuse/core').useSorted
const useSpeechRecognition: typeof import('@vueuse/core')['useSpeechRecognition'] const useSpeechRecognition: typeof import('@vueuse/core').useSpeechRecognition
const useSpeechSynthesis: typeof import('@vueuse/core')['useSpeechSynthesis'] const useSpeechSynthesis: typeof import('@vueuse/core').useSpeechSynthesis
const useStepper: typeof import('@vueuse/core')['useStepper'] const useStepper: typeof import('@vueuse/core').useStepper
const useStorage: typeof import('@vueuse/core')['useStorage'] const useStorage: typeof import('@vueuse/core').useStorage
const useStorageAsync: typeof import('@vueuse/core')['useStorageAsync'] const useStorageAsync: typeof import('@vueuse/core').useStorageAsync
const useStyleTag: typeof import('@vueuse/core')['useStyleTag'] const useStyleTag: typeof import('@vueuse/core').useStyleTag
const useSupported: typeof import('@vueuse/core')['useSupported'] const useSupported: typeof import('@vueuse/core').useSupported
const useSwipe: typeof import('@vueuse/core')['useSwipe'] const useSwipe: typeof import('@vueuse/core').useSwipe
const useTemplateRef: typeof import('vue')['useTemplateRef'] const useTemplateRef: typeof import('vue').useTemplateRef
const useTemplateRefsList: typeof import('@vueuse/core')['useTemplateRefsList'] const useTemplateRefsList: typeof import('@vueuse/core').useTemplateRefsList
const useTextDirection: typeof import('@vueuse/core')['useTextDirection'] const useTextDirection: typeof import('@vueuse/core').useTextDirection
const useTextSelection: typeof import('@vueuse/core')['useTextSelection'] const useTextSelection: typeof import('@vueuse/core').useTextSelection
const useTextareaAutosize: typeof import('@vueuse/core')['useTextareaAutosize'] const useTextareaAutosize: typeof import('@vueuse/core').useTextareaAutosize
const useThrottle: typeof import('@vueuse/core')['useThrottle'] const useThrottle: typeof import('@vueuse/core').useThrottle
const useThrottleFn: typeof import('@vueuse/core')['useThrottleFn'] const useThrottleFn: typeof import('@vueuse/core').useThrottleFn
const useThrottledRefHistory: typeof import('@vueuse/core')['useThrottledRefHistory'] const useThrottledRefHistory: typeof import('@vueuse/core').useThrottledRefHistory
const useTimeAgo: typeof import('@vueuse/core')['useTimeAgo'] const useTimeAgo: typeof import('@vueuse/core').useTimeAgo
const useTimeAgoIntl: typeof import('@vueuse/core')['useTimeAgoIntl'] const useTimeAgoIntl: typeof import('@vueuse/core').useTimeAgoIntl
const useTimeout: typeof import('@vueuse/core')['useTimeout'] const useTimeout: typeof import('@vueuse/core').useTimeout
const useTimeoutFn: typeof import('@vueuse/core')['useTimeoutFn'] const useTimeoutFn: typeof import('@vueuse/core').useTimeoutFn
const useTimeoutPoll: typeof import('@vueuse/core')['useTimeoutPoll'] const useTimeoutPoll: typeof import('@vueuse/core').useTimeoutPoll
const useTimestamp: typeof import('@vueuse/core')['useTimestamp'] const useTimestamp: typeof import('@vueuse/core').useTimestamp
const useTitle: typeof import('@vueuse/core')['useTitle'] const useTitle: typeof import('@vueuse/core').useTitle
const useToNumber: typeof import('@vueuse/core')['useToNumber'] const useToNumber: typeof import('@vueuse/core').useToNumber
const useToString: typeof import('@vueuse/core')['useToString'] const useToString: typeof import('@vueuse/core').useToString
const useToggle: typeof import('@vueuse/core')['useToggle'] const useToggle: typeof import('@vueuse/core').useToggle
const useTransition: typeof import('@vueuse/core')['useTransition'] const useTransition: typeof import('@vueuse/core').useTransition
const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams'] const useUrlSearchParams: typeof import('@vueuse/core').useUrlSearchParams
const useUserMedia: typeof import('@vueuse/core')['useUserMedia'] const useUserMedia: typeof import('@vueuse/core').useUserMedia
const useVModel: typeof import('@vueuse/core')['useVModel'] const useVModel: typeof import('@vueuse/core').useVModel
const useVModels: typeof import('@vueuse/core')['useVModels'] const useVModels: typeof import('@vueuse/core').useVModels
const useVibrate: typeof import('@vueuse/core')['useVibrate'] const useVibrate: typeof import('@vueuse/core').useVibrate
const useVirtualList: typeof import('@vueuse/core')['useVirtualList'] const useVirtualList: typeof import('@vueuse/core').useVirtualList
const useWakeLock: typeof import('@vueuse/core')['useWakeLock'] const useWakeLock: typeof import('@vueuse/core').useWakeLock
const useWebNotification: typeof import('@vueuse/core')['useWebNotification'] const useWebNotification: typeof import('@vueuse/core').useWebNotification
const useWebSocket: typeof import('@vueuse/core')['useWebSocket'] const useWebSocket: typeof import('@vueuse/core').useWebSocket
const useWebWorker: typeof import('@vueuse/core')['useWebWorker'] const useWebWorker: typeof import('@vueuse/core').useWebWorker
const useWebWorkerFn: typeof import('@vueuse/core')['useWebWorkerFn'] const useWebWorkerFn: typeof import('@vueuse/core').useWebWorkerFn
const useWindowFocus: typeof import('@vueuse/core')['useWindowFocus'] const useWindowFocus: typeof import('@vueuse/core').useWindowFocus
const useWindowScroll: typeof import('@vueuse/core')['useWindowScroll'] const useWindowScroll: typeof import('@vueuse/core').useWindowScroll
const useWindowSize: typeof import('@vueuse/core')['useWindowSize'] const useWindowSize: typeof import('@vueuse/core').useWindowSize
const watch: typeof import('vue')['watch'] const watch: typeof import('vue').watch
const watchArray: typeof import('@vueuse/core')['watchArray'] const watchArray: typeof import('@vueuse/core').watchArray
const watchAtMost: typeof import('@vueuse/core')['watchAtMost'] const watchAtMost: typeof import('@vueuse/core').watchAtMost
const watchDebounced: typeof import('@vueuse/core')['watchDebounced'] const watchDebounced: typeof import('@vueuse/core').watchDebounced
const watchDeep: typeof import('@vueuse/core')['watchDeep'] const watchDeep: typeof import('@vueuse/core').watchDeep
const watchEffect: typeof import('vue')['watchEffect'] const watchEffect: typeof import('vue').watchEffect
const watchIgnorable: typeof import('@vueuse/core')['watchIgnorable'] const watchIgnorable: typeof import('@vueuse/core').watchIgnorable
const watchImmediate: typeof import('@vueuse/core')['watchImmediate'] const watchImmediate: typeof import('@vueuse/core').watchImmediate
const watchOnce: typeof import('@vueuse/core')['watchOnce'] const watchOnce: typeof import('@vueuse/core').watchOnce
const watchPausable: typeof import('@vueuse/core')['watchPausable'] const watchPausable: typeof import('@vueuse/core').watchPausable
const watchPostEffect: typeof import('vue')['watchPostEffect'] const watchPostEffect: typeof import('vue').watchPostEffect
const watchSyncEffect: typeof import('vue')['watchSyncEffect'] const watchSyncEffect: typeof import('vue').watchSyncEffect
const watchThrottled: typeof import('@vueuse/core')['watchThrottled'] const watchThrottled: typeof import('@vueuse/core').watchThrottled
const watchTriggerable: typeof import('@vueuse/core')['watchTriggerable'] const watchTriggerable: typeof import('@vueuse/core').watchTriggerable
const watchWithFilter: typeof import('@vueuse/core')['watchWithFilter'] const watchWithFilter: typeof import('@vueuse/core').watchWithFilter
const whenever: typeof import('@vueuse/core')['whenever'] const whenever: typeof import('@vueuse/core').whenever
} }
// for type re-export // for type re-export
declare global { declare global {

View File

@@ -1,5 +1,5 @@
{ {
"packageManager": "pnpm@10.20.0", "packageManager": "pnpm@10.23.0",
"name": "vue-ts-example-2025", "name": "vue-ts-example-2025",
"version": "0.0.0", "version": "0.0.0",
"private": true, "private": true,
@@ -8,7 +8,7 @@
"devEngines": { "devEngines": {
"runtime": { "runtime": {
"name": "node", "name": "node",
"version": "^24.11.0", "version": "^24.11.1",
"onFail": "download" "onFail": "download"
} }
}, },
@@ -54,108 +54,108 @@
] ]
}, },
"dependencies": { "dependencies": {
"@commitlint/cli": "^20.0.0", "@commitlint/cli": "^20.1.0",
"@commitlint/config-conventional": "^20.0.0", "@commitlint/config-conventional": "^20.0.0",
"@formkit/auto-animate": "^0.9.0", "@formkit/auto-animate": "^0.9.0",
"@pinia/colada": "^0.17.4", "@pinia/colada": "^0.17.8",
"@primeuix/themes": "^1.2.3", "@primeuix/themes": "^1.2.5",
"@sa/materials": "workspace:*", "@sa/materials": "workspace:*",
"@unhead/vue": "^2.0.14", "@unhead/vue": "^2.0.19",
"@vueuse/core": "^14.0.0", "@vueuse/core": "^14.0.0",
"highlight.js": "^11.11.1", "highlight.js": "^11.11.1",
"jsonc-eslint-parser": "^2.4.1", "jsonc-eslint-parser": "^2.4.1",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"naive-ui": "^2.43.1", "naive-ui": "^2.43.2",
"pinia": "^3.0.3", "pinia": "^3.0.4",
"primeicons": "^7.0.0", "primeicons": "^7.0.0",
"primelocale": "^2.1.7", "primelocale": "^2.2.2",
"primevue": "^4.3.9", "primevue": "^4.4.1",
"ts-enum-util": "^4.1.0", "ts-enum-util": "^4.1.0",
"utils4u": "^4.2.3", "utils4u": "^4.2.3",
"vue": "^3.5.21", "vue": "^3.5.24",
"vue-i18n": "^11.1.12", "vue-i18n": "^11.2.1",
"vue-memoize-dict": "^1.1.3", "vue-memoize-dict": "^1.1.3",
"vue-router": "^4.6.3" "vue-router": "^4.6.3"
}, },
"devDependencies": { "devDependencies": {
"@cloudflare/vite-plugin": "^1.13.2", "@cloudflare/vite-plugin": "^1.15.2",
"@commitlint/types": "^20.0.0", "@commitlint/types": "^20.0.0",
"@iconify-json/carbon": "^1.2.13", "@iconify-json/carbon": "^1.2.14",
"@iconify-json/clarity": "^1.2.4", "@iconify-json/clarity": "^1.2.4",
"@iconify-json/line-md": "^1.2.11", "@iconify-json/line-md": "^1.2.11",
"@iconify-json/material-symbols": "^1.2.42", "@iconify-json/material-symbols": "^1.2.47",
"@intlify/eslint-plugin-vue-i18n": "^4.1.0", "@intlify/eslint-plugin-vue-i18n": "^4.1.0",
"@intlify/unplugin-vue-i18n": "^11.0.0", "@intlify/unplugin-vue-i18n": "^11.0.1",
"@playwright/test": "^1.55.0", "@playwright/test": "^1.56.1",
"@prettier/plugin-oxc": "^0.0.4", "@prettier/plugin-oxc": "^0.0.5",
"@primevue/auto-import-resolver": "^4.3.9", "@primevue/auto-import-resolver": "^4.4.1",
"@primevue/metadata": "^4.3.9", "@primevue/metadata": "^4.4.1",
"@stylelint-types/stylelint-order": "^7.0.0", "@stylelint-types/stylelint-order": "^7.0.0",
"@stylelint-types/stylelint-scss": "^6.11.0", "@stylelint-types/stylelint-scss": "^6.11.0",
"@stylistic/eslint-plugin": "^5.5.0", "@stylistic/eslint-plugin": "^5.6.1",
"@tsconfig/node22": "^22.0.2", "@tsconfig/node22": "^22.0.5",
"@types/html-minifier-terser": "^7.0.2", "@types/html-minifier-terser": "^7.0.2",
"@types/jsdom": "^27.0.0", "@types/jsdom": "^27.0.0",
"@types/lodash-es": "^4.17.12", "@types/lodash-es": "^4.17.12",
"@types/node": "^22.18.1", "@types/node": "^24.10.1",
"@vant/auto-import-resolver": "^1.3.0", "@vant/auto-import-resolver": "^1.3.0",
"@vitejs/plugin-vue": "^6.0.1", "@vitejs/plugin-vue": "^6.0.2",
"@vitejs/plugin-vue-jsx": "^5.1.1", "@vitejs/plugin-vue-jsx": "^5.1.2",
"@vitest/eslint-plugin": "^1.3.9", "@vitest/eslint-plugin": "^1.4.3",
"@vue/eslint-config-prettier": "^10.2.0", "@vue/eslint-config-prettier": "^10.2.0",
"@vue/eslint-config-typescript": "^14.6.0", "@vue/eslint-config-typescript": "^14.6.0",
"@vue/test-utils": "^2.4.6", "@vue/test-utils": "^2.4.6",
"@vue/tsconfig": "^0.8.1", "@vue/tsconfig": "^0.8.1",
"consola": "^3.4.2", "consola": "^3.4.2",
"eslint": "^9.35.0", "eslint": "^9.39.1",
"eslint-plugin-import": "^2.32.0", "eslint-plugin-import": "^2.32.0",
"eslint-plugin-jsonc": "^2.21.0", "eslint-plugin-jsonc": "^2.21.0",
"eslint-plugin-oxlint": "~1.23.0", "eslint-plugin-oxlint": "~1.29.0",
"eslint-plugin-playwright": "^2.2.2", "eslint-plugin-playwright": "^2.3.0",
"eslint-plugin-vue": "~10.5.0", "eslint-plugin-vue": "~10.6.0",
"happy-dom": "^20.0.1", "happy-dom": "^20.0.10",
"html-minifier-terser": "^7.2.0", "html-minifier-terser": "^7.2.0",
"husky": "^9.1.7", "husky": "^9.1.7",
"jsdom": "^27.0.0", "jsdom": "^27.2.0",
"lint-staged": "^16.1.6", "lint-staged": "^16.2.7",
"npm-run-all2": "^8.0.4", "npm-run-all2": "^8.0.4",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"oxlint": "~1.23.0", "oxlint": "~1.29.0",
"postcss-html": "^1.8.0", "postcss-html": "^1.8.0",
"prettier": "3.6.2", "prettier": "3.6.2",
"rollup": "^4.52.5", "rollup": "^4.53.3",
"sass-embedded": "^1.93.2", "sass-embedded": "^1.93.3",
"sharp": "^0.34.4", "sharp": "^0.34.5",
"stylelint": "^16.25.0", "stylelint": "^16.26.0",
"stylelint-config-recess-order": "^7.3.0", "stylelint-config-recess-order": "^7.4.0",
"stylelint-config-standard": "^39.0.1", "stylelint-config-standard": "^39.0.1",
"stylelint-config-standard-scss": "^16.0.0", "stylelint-config-standard-scss": "^16.0.0",
"stylelint-config-standard-vue": "^1.0.0", "stylelint-config-standard-vue": "^1.0.0",
"stylelint-define-config": "^16.24.0", "stylelint-define-config": "^16.24.0",
"svgo": "^4.0.0", "svgo": "^4.0.0",
"tinyglobby": "^0.2.15", "tinyglobby": "^0.2.15",
"type-fest": "^5.1.0", "type-fest": "^5.2.0",
"typescript": "~5.9.2", "typescript": "~5.9.3",
"unocss": "^66.5.1", "unocss": "^66.5.9",
"unocss-preset-animations": "^1.2.1", "unocss-preset-animations": "^1.3.0",
"unplugin-auto-import": "^20.1.0", "unplugin-auto-import": "^20.2.0",
"unplugin-icons": "^22.2.0", "unplugin-icons": "^22.5.0",
"unplugin-vue-components": "^30.0.0", "unplugin-vue-components": "^30.0.0",
"unplugin-vue-markdown": "^29.2.0", "unplugin-vue-markdown": "^29.2.0",
"unplugin-vue-router": "^0.17.0", "unplugin-vue-router": "^0.17.1",
"vite": "^7.1.5", "vite": "^7.2.4",
"vite-plugin-checker": "^0.11.0", "vite-plugin-checker": "^0.11.0",
"vite-plugin-fake-server": "^2.2.0", "vite-plugin-fake-server": "^2.2.2",
"vite-plugin-image-optimizer": "^2.0.2", "vite-plugin-image-optimizer": "^2.0.3",
"vite-plugin-vue-devtools": "^8.0.1", "vite-plugin-vue-devtools": "^8.0.5",
"vite-plugin-vue-meta-layouts": "^0.6.1", "vite-plugin-vue-meta-layouts": "^0.6.1",
"vite-plugin-webfont-dl": "^3.11.1", "vite-plugin-webfont-dl": "^3.11.1",
"vitest": "^4.0.0", "vitest": "^4.0.13",
"vue-component-type-helpers": "^3.1.2", "vue-component-type-helpers": "^3.1.4",
"vue-i18n-extract": "^2.0.7", "vue-i18n-extract": "^2.0.7",
"vue-macros": "3.1.1", "vue-macros": "3.1.1",
"vue-tsc": "^3.1.0", "vue-tsc": "^3.1.4",
"wrangler": "^4.37.1" "wrangler": "^4.50.0"
}, },
"overrides": { "overrides": {
"vue-tsc": "$vue-tsc" "vue-tsc": "$vue-tsc"

3091
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff