chore: update deps

pull/48/MERGE
vben 2024-06-01 22:17:52 +08:00
parent c531f0c154
commit f7b97e8a83
47 changed files with 569 additions and 322 deletions

View File

@ -2,13 +2,12 @@ import type { ExRouteRecordRaw, MenuRecordRaw } from '@vben/types';
import type { RouteRecordRaw, Router } from 'vue-router';
import { LOGIN_PATH } from '@vben/constants';
import { useAccessStore } from '@vben/stores';
import { filterTree, mapTree, traverseTreeValues } from '@vben/utils';
import { dynamicRoutes } from '../routes';
import { dynamicRoutes } from '@/router/routes';
// 登录页面路由 path
const LOGIN_ROUTE_PATH = '/auth/login';
// 不需要权限的页面白名单
const WHITE_ROUTE_NAMES = new Set<string>([]);
@ -29,14 +28,15 @@ function configAccessGuard(router: Router) {
}
// 白名单路由列表检查
// TODO: 不是很需要,通过 ignoreAccess 也可以做到,考虑删除
if (WHITE_ROUTE_NAMES.has(to.name as string)) {
return true;
}
// 没有访问权限,跳转登录页面
if (to.fullPath !== LOGIN_ROUTE_PATH) {
if (to.fullPath !== LOGIN_PATH) {
return {
path: LOGIN_ROUTE_PATH,
path: LOGIN_PATH,
// 如不需要,直接删除 query
query: { redirect: encodeURIComponent(to.fullPath) },
// 携带当前跳转的页面,登录后重新跳转该页面

View File

@ -12,9 +12,11 @@ import { configAccessGuard } from './access';
* @param router
*/
function configCommonGuard(router: Router) {
// 记录已经加载的页面
const loadedPaths = new Set<string>();
router.beforeEach(async (to) => {
// 页面加载进度条
if (preference.pageProgress) {
startProgress();
}
@ -25,6 +27,8 @@ function configCommonGuard(router: Router) {
router.afterEach((to) => {
// 记录页面是否加载,如果已经加载,后续的页面切换动画等效果不在重复执行
loadedPaths.add(to.path);
// 关闭页面加载进度条
if (preference.pageProgress) {
stopProgress();
}

View File

@ -2,9 +2,12 @@ import type { RouteRecordRaw } from 'vue-router';
import { AuthPageLayout } from '@/layouts';
import { Fallback } from '@vben/common-ui';
import { $t } from '@vben/locales';
/** 静态路由列表,访问这些页面可以不需要权限 */
const builtinRoutes: RouteRecordRaw[] = [
import Login from '@/views/_essential/authentication/login.vue';
/** 基本路由,这些路由是必须存在的 */
const essentialRoutes: RouteRecordRaw[] = [
{
component: AuthPageLayout,
meta: {
@ -16,46 +19,50 @@ const builtinRoutes: RouteRecordRaw[] = [
{
name: 'Login',
path: 'login',
component: () => import('@/views/authentication/login.vue'),
component: Login,
meta: {
ignoreAccess: true,
title: 'Login',
title: $t('page.login'),
},
},
{
name: 'CodeLogin',
path: 'code-login',
component: () => import('@/views/authentication/code-login.vue'),
component: () =>
import('@/views/_essential/authentication/code-login.vue'),
meta: {
ignoreAccess: true,
title: 'CodeLogin',
title: $t('page.code-login'),
},
},
{
name: 'QrCodeLogin',
path: 'qrcode-login',
component: () => import('@/views/authentication/qrcode-login.vue'),
component: () =>
import('@/views/_essential/authentication/qrcode-login.vue'),
meta: {
ignoreAccess: true,
title: 'QrCodeLogin',
title: $t('page.qrcode-login'),
},
},
{
name: 'ForgetPassword',
path: 'forget-password',
component: () => import('@/views/authentication/forget-password.vue'),
component: () =>
import('@/views/_essential/authentication/forget-password.vue'),
meta: {
ignoreAccess: true,
title: 'ForgetPassword',
title: $t('page.forget-password'),
},
},
{
name: 'Register',
path: 'register',
component: () => import('@/views/authentication/register.vue'),
component: () =>
import('@/views/_essential/authentication/register.vue'),
meta: {
ignoreAccess: true,
title: 'Register',
title: $t('page.register'),
},
},
],
@ -67,6 +74,7 @@ const builtinRoutes: RouteRecordRaw[] = [
hideInBreadcrumb: true,
hideInMenu: true,
hideInTab: true,
ignoreAccess: true,
title: 'Fallback',
},
name: 'Fallback',
@ -74,4 +82,4 @@ const builtinRoutes: RouteRecordRaw[] = [
},
];
export { builtinRoutes };
export { essentialRoutes };

View File

@ -1,36 +1,15 @@
import type { RouteRecordRaw } from 'vue-router';
import { BasicLayout } from '@/layouts';
import { builtinRoutes } from './builtin';
import { essentialRoutes } from './_essential';
import { nestedRoutes } from './modules/nested';
import { outsideRoutes } from './modules/outside';
import { rootRoutes } from './modules/root';
import { vbenRoutes } from './modules/vben';
/** 动态路由 */
const dynamicRoutes: RouteRecordRaw[] = [
// 根路由
{
component: BasicLayout,
meta: {
hideChildrenInMenu: true,
title: '首页',
},
name: 'Home',
path: '/',
redirect: '/welcome',
children: [
{
name: 'Welcome',
path: '/welcome',
component: () => import('@/views/dashboard/index.vue'),
meta: {
affixTab: true,
title: 'Welcome',
},
},
],
},
...rootRoutes,
...nestedRoutes,
...outsideRoutes,
...vbenRoutes,
@ -40,6 +19,6 @@ const dynamicRoutes: RouteRecordRaw[] = [
const externalRoutes: RouteRecordRaw[] = [];
/** 静态路由列表,访问这些页面可以不需要权限 */
const staticRoutes: RouteRecordRaw[] = [...builtinRoutes];
const staticRoutes: RouteRecordRaw[] = [...essentialRoutes];
export { dynamicRoutes, externalRoutes, staticRoutes };

View File

@ -0,0 +1,29 @@
import type { RouteRecordRaw } from 'vue-router';
import { BasicLayout } from '@/layouts';
const rootRoutes: RouteRecordRaw[] = [
{
component: BasicLayout,
meta: {
hideChildrenInMenu: true,
title: '首页',
},
name: 'Home',
path: '/',
redirect: '/welcome',
children: [
{
name: 'Welcome',
path: '/welcome',
component: () => import('@/views/dashboard/index.vue'),
meta: {
affixTab: true,
title: 'Welcome',
},
},
],
},
];
export { rootRoutes };

View File

@ -0,0 +1,3 @@
# \_essential
此目录包含应用程序正常运行所需的基本视图。这些视图是应用程序布局中使用的视图。

View File

@ -41,7 +41,7 @@
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-i": "^2.29.1",
"eslint-plugin-jsdoc": "^48.2.6",
"eslint-plugin-jsdoc": "^48.2.7",
"eslint-plugin-jsonc": "^2.16.0",
"eslint-plugin-n": "^17.7.0",
"eslint-plugin-no-only-tests": "^3.1.0",

View File

@ -0,0 +1,28 @@
import type { Linter } from 'eslint';
export async function disableds(): Promise<Linter.FlatConfig[]> {
return [
{
files: ['**/__tests__/**/*.?([cm])[jt]s?(x)'],
name: 'disables/test',
rules: {
'@typescript-eslint/ban-ts-comment': 'off',
'no-console': 'off',
},
},
{
files: ['**/*.d.ts'],
name: 'disables/dts',
rules: {
'@typescript-eslint/triple-slash-reference': 'off',
},
},
{
files: ['**/*.js', '**/*.mjs', '**/*.cjs'],
name: 'disables/js',
rules: {
'@typescript-eslint/explicit-module-boundary-types': 'off',
},
},
];
}

View File

@ -19,7 +19,6 @@ export async function ignores(): Promise<Linter.FlatConfig[]> {
'**/tmp',
'**/.tmp',
'**/.history',
'**/.vitepress/cache',
'**/.nuxt',
'**/.next',
'**/.vercel',
@ -33,6 +32,9 @@ export async function ignores(): Promise<Linter.FlatConfig[]> {
'**/*.min.*',
'**/LICENSE*',
'**/__snapshots__',
'**/*.snap',
'**/fixtures/**',
'**/.vitepress/cache/**',
'**/auto-import?(s).d.ts',
'**/components.d.ts',
'**/vite.config.mts.*',

View File

@ -1,5 +1,6 @@
export * from './command';
export * from './comments';
export * from './disableds';
export * from './ignores';
export * from './import';
export * from './javascript';

View File

@ -3,6 +3,7 @@ import type { Linter } from 'eslint';
import {
command,
comments,
disableds,
ignores,
importPluginConfig,
javascript,
@ -35,6 +36,7 @@ async function defineConfig(config: FlatConfig[] = []) {
prettier(),
typescript(),
jsonc(),
disableds(),
importPluginConfig(),
node(),
perfectionist(),

View File

@ -32,6 +32,6 @@
},
"dependencies": {
"prettier": "^3.2.5",
"prettier-plugin-tailwindcss": "^0.5.14"
"prettier-plugin-tailwindcss": "^0.6.0"
}
}

View File

@ -45,7 +45,7 @@
"./*": "./*"
},
"dependencies": {
"@iconify/json": "^2.2.214",
"@iconify/json": "^2.2.215",
"@iconify/tailwind": "^1.1.1",
"@tailwindcss/forms": "^0.5.7",
"@tailwindcss/nesting": "0.0.0-insiders.565cd3e",

View File

@ -20,6 +20,6 @@
],
"dependencies": {
"@vben/types": "workspace:*",
"vite": "5.2.11"
"vite": "6.0.0-alpha.17"
}
}

View File

@ -42,13 +42,13 @@
"@types/html-minifier-terser": "^7.0.2",
"@vben/node-utils": "workspace:*",
"@vitejs/plugin-vue": "^5.0.4",
"@vitejs/plugin-vue-jsx": "^3.1.0",
"@vitejs/plugin-vue-jsx": "^4.0.0",
"dayjs": "^1.11.11",
"dotenv": "^16.4.5",
"rollup-plugin-visualizer": "^5.12.0",
"sass": "^1.77.2",
"sass": "^1.77.4",
"unplugin-turbo-console": "^1.8.6",
"vite": "5.2.11",
"vite": "6.0.0-alpha.17",
"vite-plugin-compression": "^0.5.1",
"vite-plugin-dts": "^3.9.1",
"vite-plugin-html": "^3.2.2",

View File

@ -46,8 +46,8 @@
"devDependencies": {
"@changesets/cli": "^2.27.5",
"@ls-lint/ls-lint": "^2.2.3",
"@types/jsdom": "^21.1.6",
"@types/node": "^20.12.12",
"@types/jsdom": "^21.1.7",
"@types/node": "^20.12.13",
"@vben/commitlint-config": "workspace:*",
"@vben/eslint-config": "workspace:*",
"@vben/lint-staged-config": "workspace:*",
@ -67,7 +67,7 @@
"turbo": "^1.13.3",
"typescript": "^5.4.5",
"unbuild": "^2.0.0",
"vite": "5.2.11",
"vite": "6.0.0-alpha.17",
"vitest": "^2.0.0-beta.3",
"vue-tsc": "^2.0.19"
},
@ -75,7 +75,7 @@
"node": ">=18.7.0",
"pnpm": ">=8.5.0"
},
"packageManager": "pnpm@9.1.3",
"packageManager": "pnpm@9.1.4",
"pnpm": {
"overrides": {
"@ctrl/tinycolor": "4.1.0",

View File

@ -61,6 +61,8 @@ interface Preference {
footerFixed: boolean;
/** 页脚是否可见 */
footerVisible: boolean;
/** 顶栏是否隐藏 */
headerHidden: boolean;
/** header显示模式 */
headerMode: LayoutHeaderMode;
/** 顶栏是否可见 */
@ -103,6 +105,8 @@ interface Preference {
sideExpandOnHover: boolean;
/** 侧边栏扩展区域是否折叠 */
sideExtraCollapse: boolean;
/** 侧边栏是否隐藏 */
sideHidden: boolean;
/** 侧边栏是否可见 */
sideVisible: boolean;
/** 侧边栏宽度 */

View File

@ -112,7 +112,7 @@ function handleOpenMenu() {
<template>
<header
:style="style"
class="border-border top-0 flex w-full flex-[0_0_auto] items-center border-b"
class="border-border top-0 flex w-full flex-[0_0_auto] items-center border-b transition-[margin-top] duration-200"
>
<div v-if="slots.logo" :style="logoStyle">
<slot name="logo"></slot>

View File

@ -136,11 +136,11 @@ const style = computed((): CSSProperties => {
});
const extraStyle = computed((): CSSProperties => {
const { extraBackgroundColor, extraWidth, width, zIndex } = props;
const { extraBackgroundColor, extraWidth, show, width, zIndex } = props;
return {
backgroundColor: extraBackgroundColor,
left: `${width}px`,
width: extraVisible.value ? `${extraWidth}px` : 0,
width: extraVisible.value && show ? `${extraWidth}px` : 0,
zIndex,
};
});
@ -156,9 +156,6 @@ const extraTitleStyle = computed((): CSSProperties => {
const contentWidthStyle = computed((): CSSProperties => {
const { collapseWidth, fixedExtra, isSideMixed, mixedWidth } = props;
if (isSideMixed && fixedExtra) {
// if (!extraVisible.value) {
// return {};
// }
return { width: `${collapse.value ? collapseWidth : mixedWidth}px` };
}
return {};
@ -204,14 +201,6 @@ watchEffect(() => {
extraVisible.value = props.fixedExtra ? true : extraVisible.value;
});
// onClickOutside(asideRef, (event) => {
// const { fixedExtra, width } = props;
// // aside
// if (!fixedExtra && event.clientX >= width && extraVisible.value) {
// extraVisible.value = false;
// }
// });
function calcMenuWidthStyle(isHiddenDom: boolean): CSSProperties {
const { backgroundColor, extraWidth, fixedExtra, isSideMixed, show, width } =
props;
@ -294,6 +283,7 @@ function handleScroll(event: Event) {
v-if="isSideMixed"
ref="asideRef"
:class="e('extra')"
class="transition-[width] duration-200"
:style="extraStyle"
>
<SideCollapseButton

View File

@ -77,6 +77,11 @@ interface VbenLayoutProps {
* @default 10
*/
headerHeightOffset?: number;
/**
*
* @default false
*/
headerHidden?: boolean;
/**
* header
* @default 'fixed'
@ -117,6 +122,11 @@ interface VbenLayoutProps {
* @default 48
*/
sideCollapseWidth?: number;
/**
*
* @default false
*/
sideHidden?: boolean;
/**
*
* @default false

View File

@ -33,6 +33,7 @@ const props = withDefaults(defineProps<Props>(), {
// headerBackgroundColor: 'hsl(var(--color-background))',
headerHeight: 50,
headerHeightOffset: 10,
headerHidden: false,
headerMode: 'fixed',
headerVisible: true,
@ -41,6 +42,7 @@ const props = withDefaults(defineProps<Props>(), {
sideCollapseShowTitle: false,
// sideCollapse: false,
sideCollapseWidth: 60,
sideHidden: false,
sideMixedWidth: 80,
sideSemiDark: true,
sideTheme: 'dark',
@ -68,7 +70,7 @@ const { y: mouseY } = useMouse({ type: 'client' });
// sidehover
const sideExpandOnHovering = ref(false);
const sideHidden = ref(false);
// const sideHidden = ref(false);
const headerIsHidden = ref(false);
const realLayout = computed(() => {
@ -104,11 +106,11 @@ const isHeaderAuto = computed(() => props.headerMode === 'auto');
* header区域高度
*/
const getHeaderHeight = computed(() => {
const { headerHeight, headerHeightOffset, headerVisible } = props;
const { headerHeight, headerHeightOffset } = props;
if (!headerVisible) {
return 0;
}
// if (!headerVisible) {
// return 0;
// }
// 10
const offset = isMixedNav.value || isHeaderNav.value ? headerHeightOffset : 0;
@ -118,7 +120,7 @@ const getHeaderHeight = computed(() => {
const headerWrapperHeight = computed(() => {
let height = 0;
if (props.headerVisible) {
if (props.headerVisible && !props.headerHidden) {
height += getHeaderHeight.value;
}
if (props.tabsVisible) {
@ -154,12 +156,16 @@ const sidePaddingTop = computed(() => {
* 动态获取侧边宽度
*/
const getSideWidth = computed(() => {
const { isMobile, sideMixedWidth, sideWidth } = props;
const { isMobile, sideHidden, sideMixedWidth, sideWidth } = props;
let width = 0;
if (sideHidden) {
return width;
}
if (
!sideVisibleState.value ||
(sideHidden.value && !isSideMixedNav.value && !isMixedNav.value)
(sideHidden && !isSideMixedNav.value && !isMixedNav.value)
) {
return width;
}
@ -190,6 +196,9 @@ const isSideMode = computed(() =>
);
const showSide = computed(() => {
// if (isMixedNav.value && !props.sideHidden) {
// return false;
// }
return isSideMode.value && sideVisible.value;
});
@ -441,7 +450,7 @@ function handleClickMask() {
function handleToggleMenu() {
// sideVisible.value = !sideVisible.value;
sideHidden.value = !sideHidden.value;
// sideHidden.value = !sideHidden.value;
}
function handleOpenMenu() {
@ -452,7 +461,7 @@ function handleOpenMenu() {
<template>
<div class="relative flex min-h-full w-full">
<slot name="preference"></slot>
<slot name="back-top"></slot>
<slot name="floating-button-group"></slot>
<LayoutSide
v-if="sideVisibleState"
v-model:collapse="sideCollapse"
@ -498,13 +507,13 @@ function handleOpenMenu() {
>
<div
:style="headerWrapperStyle"
class="overflow-hidden transition-all duration-200 ease-in-out"
class="overflow-hidden transition-all duration-200"
>
<LayoutHeader
v-if="headerVisible"
:full-width="!isSideMode"
:height="getHeaderHeight"
:show="!fullContent"
:show="!fullContent && !headerHidden"
:side-hidden="sideHidden"
:show-toggle-btn="showHeaderToggleButton"
:width="mainStyle.width"
@ -531,7 +540,7 @@ function handleOpenMenu() {
<!-- </div> -->
<LayoutContent
class="transition-[margin-top] duration-300 ease-in"
class="transition-[margin-top] duration-200"
:style="contentStyle"
:content-compact="contentCompact"
:content-compact-width="contentCompactWidth"

View File

@ -14,6 +14,7 @@ defineOptions({ name: 'BackTop' });
const props = withDefaults(defineProps<Props>(), {
bottom: 40,
isGroup: false,
right: 40,
target: '',
visibilityHeight: 200,
@ -31,7 +32,7 @@ const { handleClick, visible } = useBackTop(props);
<VbenButton
v-if="visible"
:style="backTopStyle"
class="bg-accent fixed bottom-5 right-5 h-10 w-10 rounded-full"
class="bg-accent data fixed bottom-10 right-5 h-10 w-10 rounded-full"
size="icon"
variant="icon"
@click="handleClick"

View File

@ -31,6 +31,7 @@ export const backtopProps = {
export interface BacktopProps {
bottom?: number;
isGroup?: boolean;
right?: number;
target?: string;
visibilityHeight?: number;

View File

@ -0,0 +1,46 @@
<script setup>
import { ref } from 'vue';
const isMenuOpen = ref(false);
const menuItems = ref(['1', '2', '3', '4']);
const toggleMenu = () => {
isMenuOpen.value = !isMenuOpen.value;
};
const handleMenuItemClick = (_item) => {
// console.log(111, item);
};
</script>
<template>
<div class="fixed bottom-5 right-5 flex flex-col-reverse items-center gap-2">
<button
class="flex h-12 w-12 items-center justify-center rounded-full bg-blue-500 text-xl text-white transition-transform duration-300"
:class="{ 'rotate-45': isMenuOpen }"
@click="toggleMenu"
>
</button>
<div
class="absolute bottom-16 right-0 flex flex-col-reverse gap-2 transition-all duration-300"
:class="{
'visible translate-y-0 opacity-100': isMenuOpen,
'invisible translate-y-2 opacity-0': !isMenuOpen,
}"
>
<button
v-for="(item, index) in menuItems"
:key="index"
class="flex h-12 w-12 items-center justify-center rounded-full bg-blue-500 text-xl text-white"
@click="handleMenuItemClick(item)"
>
{{ item }}
</button>
</div>
</div>
</template>
<style scoped>
/* 可以在这里添加任何需要的额外样式 */
</style>

View File

@ -0,0 +1 @@
export { default as VbenFloatingButtonGroup } from './floating-button-group.vue';

View File

@ -7,6 +7,7 @@ export * from './button';
export * from './checkbox';
export * from './context-menu';
export * from './dropdown-menu';
export * from './floating-button-group';
export * from './full-screen';
export * from './hover-card';
export * from './icon';

View File

@ -1,8 +1,6 @@
<script setup lang="ts">
import { computed } from 'vue';
import { VbenAvatar } from '../avatar';
interface Props {
/**
* Logo 图标 alt
@ -42,7 +40,7 @@ const props = withDefaults(defineProps<Props>(), {
alt: 'Vben',
collapse: false,
href: 'javascript:void 0',
logoSize: 32,
logoSize: 36,
src: '',
text: '',
theme: 'light',
@ -59,13 +57,12 @@ const logoClass = computed(() => {
class="flex h-full items-center gap-2 overflow-hidden px-3 font-semibold leading-normal transition-all duration-500"
:class="$attrs.class"
>
<VbenAvatar
<img
v-if="src"
:src="src"
:alt="alt"
:height="logoSize"
:width="logoSize"
class="relative size-9 rounded-none bg-transparent"
class="relative rounded-none bg-transparent"
/>
<span
v-if="!collapse"

View File

@ -33,6 +33,7 @@
opacity: 0;
transform: translateX(30px) skewX(-30deg);
}
/*
.breadcrumb-transition-move,
.breadcrumb-transition-enter-active {

View File

@ -1,6 +1,10 @@
<script lang="ts" setup>
import { VbenAdminLayout } from '@vben-core/layout-ui';
import { VbenBackTop, VbenLogo } from '@vben-core/shadcn-ui';
import {
VbenBackTop,
// VbenFloatingButtonGroup,
VbenLogo,
} from '@vben-core/shadcn-ui';
import { mapTree } from '@vben-core/toolkit';
import { MenuRecordRaw } from '@vben-core/typings';
@ -107,9 +111,11 @@ function wrapperMenus(menus: MenuRecordRaw[]) {
:footer-fixed="preference.footerFixed"
:side-semi-dark="preference.semiDarkMenu"
:side-theme="theme"
:side-hidden="preference.sideHidden"
:side-visible="sideVisible"
:footer-visible="preference.footerVisible"
:header-visible="preference.headerVisible"
:header-hidden="preference.headerHidden"
:side-width="preference.sideWidth"
:tabs-visible="preference.tabsVisible"
:side-expand-on-hover="preference.sideExpandOnHover"
@ -131,8 +137,9 @@ function wrapperMenus(menus: MenuRecordRaw[]) {
<PreferenceWidget />
</template>
<template #back-top>
<template #floating-button-group>
<VbenBackTop />
<!-- <VbenFloatingButtonGroup /> -->
</template>
<!-- logo -->

View File

@ -17,8 +17,8 @@ const menus = computed(() => {
function handleScreenChange(screen: boolean) {
updatePreference({
headerVisible: !screen,
sideVisible: !screen,
headerHidden: !!screen,
sideHidden: !!screen,
});
}
</script>
@ -27,7 +27,7 @@ function handleScreenChange(screen: boolean) {
<div class="flex-center h-full">
<TabsMore :menus="menus" />
<TabsScreen
:screen="!preference.headerVisible && !preference.sideVisible"
:screen="preference.sideHidden && preference.sideHidden"
@change="handleScreenChange"
@update:screen="handleScreenChange"
/>

View File

@ -0,0 +1,11 @@
/**
* @zh_CN url
*/
const LOGIN_PATH = '/auth/login';
/**
* @zh_CN
*/
const LOGIN_NAME = 'Login';
export { LOGIN_NAME, LOGIN_PATH };

View File

@ -1 +1,2 @@
export * from './_essential';
export * from './vben';

View File

@ -1 +1,6 @@
export const VBEN_GITHUB_URL = 'https://github.com/vbenjs/vue-vben-admin';
/**
* @zh_CN GITHUB
*/
const VBEN_GITHUB_URL = 'https://github.com/vbenjs/vue-vben-admin';
export { VBEN_GITHUB_URL };

View File

@ -38,6 +38,59 @@ search:
no-recent: No recent searches
recent: Recent
authentication:
layout-title: Plug-and-play backend system
layout-desc: Efficient, versatile frontend template
login-success: Login successful
login-success-desc: Welcome back
welcome-back: Welcome Back
login-subtitle: Enter your account details to manage your projects
username: Username
password: Password
username-tip: Username is required
password-tip: Password is required
account-tip: Don't have an account yet?
create-an-account: Create an account
create-account: Create account
already-account: Already have an account?
remember-me: Remember Me
sign-up: Sign Up
sign-up-subtitle: Make managing your applications simple and fun
comfirm-password: Comfirm Password
comfirm-password-tip: The passwords entered twice do not match
sign-up-agree: I agree to
sign-up-privacy-policy: Privacy-policy
sign-up-terms: Terms
sign-up-agree-tip: Please agree to the Privacy Policy and Terms
go-login: Login instead
password-strength: Use 8 or more characters with a mix of letters, numbers & symbols
forget-password: Forget Password?
forget-password-subtitle: Enter your email and we'll send you instructions to reset your password
email-tip: Email is required
send-reset-link: Send Reset Link
email: Email
qrcode-subtitle: Please scan the QR code to log in on your mobile device
qrcode-prompt: Scanning the code to complete the login
qrcode-login: QR Login
code-subtitle: Please enter your phone number to start managing your projects
code: Security code
code-tip: Security code is required
mobile: Mobile
mobile-login: Mobile Login
mobile-tip: Mobile is required
send-code: Get Security code
send-text: "Reacquire in {0}s"
third-party-login: Or continue with
page:
about: About
document: Document
login: Login
register: Register
code-login: Code Login
qrcode-login: Qrcode Login
forget-password: Forget Password
preference:
preferences: Preferences
preferences-subtitle: Customize Preferences & Preview in Real Time
@ -111,51 +164,3 @@ preference:
footer-visible: Display Footer
logo-visible: Display Logo
reset-tip: The data has changed, click to reset
authentication:
layout-title: Plug-and-play backend system
layout-desc: Efficient, versatile frontend template
login-success: Login successful
login-success-desc: Welcome back
welcome-back: Welcome Back
login-subtitle: Enter your account details to manage your projects
username: Username
password: Password
username-tip: Username is required
password-tip: Password is required
account-tip: Don't have an account yet?
create-an-account: Create an account
create-account: Create account
already-account: Already have an account?
remember-me: Remember Me
sign-up: Sign Up
sign-up-subtitle: Make managing your applications simple and fun
comfirm-password: Comfirm Password
comfirm-password-tip: The passwords entered twice do not match
sign-up-agree: I agree to
sign-up-privacy-policy: Privacy-policy
sign-up-terms: Terms
sign-up-agree-tip: Please agree to the Privacy Policy and Terms
go-login: Login instead
password-strength: Use 8 or more characters with a mix of letters, numbers & symbols
forget-password: Forget Password?
forget-password-subtitle: Enter your email and we'll send you instructions to reset your password
email-tip: Email is required
send-reset-link: Send Reset Link
email: Email
qrcode-subtitle: Please scan the QR code to log in on your mobile device
qrcode-prompt: Scanning the code to complete the login
qrcode-login: QR Login
code-subtitle: Please enter your phone number to start managing your projects
code: Security code
code-tip: Security code is required
mobile: Mobile
mobile-login: Mobile Login
mobile-tip: Mobile is required
send-code: Get Security code
send-text: "Reacquire in {0}s"
third-party-login: Or continue with
page:
about: About
document: Document

View File

@ -37,6 +37,59 @@ search:
no-recent: 没有搜索历史
recent: 搜索历史
authentication:
layout-title: 开箱即用的大型中后台管理系统
layout-desc: 工程化、高性能、跨组件库的前端模版
login-success: 登录成功
login-success-desc: 欢迎回来
welcome-back: 欢迎回来
login-subtitle: 请输入您的帐户信息以开始管理您的项目
username: 账号
password: 密码
username-tip: 请输入用户名
password-tip: 请输入用户名
remember-me: 记住账号
create-an-account: 创建一个账号
create-account: 创建账号
already-account: 已经有账号了?
account-tip: 还没有账号?
sign-up: 注册
sign-up-subtitle: 让您的应用程序管理变得简单而有趣
comfirm-password: 确认密码
comfirm-password-tip: 两次输入的密码不一致
sign-up-agree: 我同意
sign-up-privacy-policy: 隐私政策
sign-up-terms: 条款
sign-up-agree-tip: 请同意隐私政策和条款
go-login: 去登录
password-strength: 使用 8 个或更多字符,混合字母、数字和符号
forget-password: 忘记密码?
forget-password-subtitle: 输入您的电子邮件,我们将向您发送重置密码的连接
email-tip: 请输入邮箱
send-reset-link: 发送重置链接
email: 邮箱
qrcode-subtitle: 请用手机扫描二维码登录
qrcode-prompt: 扫码后点击 '确认',即可完成登录
qrcode-login: 扫码登录
code-subtitle: 请输入您的手机号码以开始管理您的项目
code: 验证码
code-tip: 请输入验证码
mobile: 手机号码
mobile-login: 手机号登录
mobile-tip: 请输入手机号码
send-code: 获取验证码
send-text: "{0}秒后重新获取"
third-party-login: 其他登录方式
page:
about: 关于
document: 文档
login: 登陆
register: 注册
code-login: 验证码登陆
qrcode-login: 二维码登陆
forget-password: 忘记密码
preference:
preferences: 偏好设置
preferences-subtitle: 自定义偏好设置 & 实时预览
@ -110,51 +163,3 @@ preference:
footer-fixed: 固定在底部
logo-visible: 显示 Logo
reset-tip: 数据有变化,点击可进行重置
authentication:
layout-title: 开箱即用的大型中后台管理系统
layout-desc: 工程化、高性能、跨组件库的前端模版
login-success: 登录成功
login-success-desc: 欢迎回来
welcome-back: 欢迎回来
login-subtitle: 请输入您的帐户信息以开始管理您的项目
username: 账号
password: 密码
username-tip: 请输入用户名
password-tip: 请输入用户名
remember-me: 记住账号
create-an-account: 创建一个账号
create-account: 创建账号
already-account: 已经有账号了?
account-tip: 还没有账号?
sign-up: 注册
sign-up-subtitle: 让您的应用程序管理变得简单而有趣
comfirm-password: 确认密码
comfirm-password-tip: 两次输入的密码不一致
sign-up-agree: 我同意
sign-up-privacy-policy: 隐私政策
sign-up-terms: 条款
sign-up-agree-tip: 请同意隐私政策和条款
go-login: 去登录
password-strength: 使用 8 个或更多字符,混合字母、数字和符号
forget-password: 忘记密码?
forget-password-subtitle: 输入您的电子邮件,我们将向您发送重置密码的连接
email-tip: 请输入邮箱
send-reset-link: 发送重置链接
email: 邮箱
qrcode-subtitle: 请用手机扫描二维码登录
qrcode-prompt: 扫码后点击 '确认',即可完成登录
qrcode-login: 扫码登录
code-subtitle: 请输入您的手机号码以开始管理您的项目
code: 验证码
code-tip: 请输入验证码
mobile: 手机号码
mobile-login: 手机号登录
mobile-tip: 请输入手机号码
send-code: 获取验证码
send-text: "{0}秒后重新获取"
third-party-login: 其他登录方式
page:
about: 关于
document: 文档

View File

@ -15,17 +15,18 @@ const defaultPreference: Preference = {
contentCompact: 'wide',
copyright: 'Copyright © 2024 Vben Admin PRO',
defaultAvatar:
'https://cdn.jsdelivr.net/gh/vbenjs/vben-cdn-static@0.1.2/vben-admin/pro-avatar.webp',
'https://cdn.jsdelivr.net/npm/@vbenjs/static-source@0.1.0/source/avatar-v1.webp',
dynamicTitle: true,
footerFixed: true,
footerVisible: true,
headerHidden: false,
headerMode: 'fixed',
headerVisible: true,
isMobile: false,
keepAlive: true,
layout: 'side-nav',
locale: 'zh-CN',
logo: 'https://cdn.jsdelivr.net/gh/vbenjs/vben-cdn-static@0.1.2/vben-admin/admin-logo.png',
logo: 'https://cdn.jsdelivr.net/npm/@vbenjs/static-source@0.1.0/source/logo-v1.webp',
logoVisible: true,
navigationAccordion: true,
navigationSplit: true,
@ -40,6 +41,7 @@ const defaultPreference: Preference = {
sideCollapseShowTitle: true,
sideExpandOnHover: true,
sideExtraCollapse: true,
sideHidden: false,
sideVisible: true,
sideWidth: 240,
tabsIcon: true,

View File

@ -20,11 +20,11 @@ importers:
specifier: ^2.2.3
version: 2.2.3
'@types/jsdom':
specifier: ^21.1.6
version: 21.1.6
specifier: ^21.1.7
version: 21.1.7
'@types/node':
specifier: ^20.12.12
version: 20.12.12
specifier: ^20.12.13
version: 20.12.13
'@vben/commitlint-config':
specifier: workspace:*
version: link:internal/lint-configs/commitlint-config
@ -81,13 +81,13 @@ importers:
version: 5.4.5
unbuild:
specifier: ^2.0.0
version: 2.0.0(sass@1.77.2)(typescript@5.4.5)(vue-tsc@2.0.19(typescript@5.4.5))
version: 2.0.0(sass@1.77.4)(typescript@5.4.5)(vue-tsc@2.0.19(typescript@5.4.5))
vite:
specifier: 5.2.11
version: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
specifier: 6.0.0-alpha.17
version: 6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
vitest:
specifier: ^2.0.0-beta.3
version: 2.0.0-beta.3(@types/node@20.12.12)(jsdom@24.1.0)(sass@1.77.2)(terser@5.31.0)
version: 2.0.0-beta.3(@types/node@20.12.13)(jsdom@24.1.0)(sass@1.77.4)(terser@5.31.0)
vue-tsc:
specifier: ^2.0.19
version: 2.0.19(typescript@5.4.5)
@ -148,13 +148,13 @@ importers:
devDependencies:
vite-plugin-mock:
specifier: ^3.0.2
version: 3.0.2(esbuild@0.20.2)(mockjs@1.1.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))
version: 3.0.2(esbuild@0.20.2)(mockjs@1.1.0)(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))
internal/lint-configs/commitlint-config:
dependencies:
'@commitlint/cli':
specifier: ^19.3.0
version: 19.3.0(@types/node@20.12.12)(typescript@5.4.5)
version: 19.3.0(@types/node@20.12.13)(typescript@5.4.5)
'@commitlint/config-conventional':
specifier: ^19.2.2
version: 19.2.2
@ -199,8 +199,8 @@ importers:
specifier: ^2.29.1
version: 2.29.1(@typescript-eslint/parser@7.11.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)
eslint-plugin-jsdoc:
specifier: ^48.2.6
version: 48.2.6(eslint@8.57.0)
specifier: ^48.2.7
version: 48.2.7(eslint@8.57.0)
eslint-plugin-jsonc:
specifier: ^2.16.0
version: 2.16.0(eslint@8.57.0)
@ -227,7 +227,7 @@ importers:
version: 4.0.0(@typescript-eslint/eslint-plugin@7.11.0(@typescript-eslint/parser@7.11.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)
eslint-plugin-vitest:
specifier: ^0.5.4
version: 0.5.4(@typescript-eslint/eslint-plugin@7.11.0(@typescript-eslint/parser@7.11.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)(vitest@2.0.0-beta.3(@types/node@20.12.12)(jsdom@24.1.0)(sass@1.77.2)(terser@5.31.0))
version: 0.5.4(@typescript-eslint/eslint-plugin@7.11.0(@typescript-eslint/parser@7.11.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)(vitest@2.0.0-beta.3(@types/node@20.12.13)(jsdom@24.1.0)(sass@1.77.4)(terser@5.31.0))
eslint-plugin-vue:
specifier: ^9.26.0
version: 9.26.0(eslint@8.57.0)
@ -253,8 +253,8 @@ importers:
specifier: ^3.2.5
version: 3.2.5
prettier-plugin-tailwindcss:
specifier: ^0.5.14
version: 0.5.14(prettier@3.2.5)
specifier: ^0.6.0
version: 0.6.0(prettier@3.2.5)
internal/lint-configs/stylelint-config:
dependencies:
@ -332,8 +332,8 @@ importers:
internal/tailwind-config:
dependencies:
'@iconify/json':
specifier: ^2.2.214
version: 2.2.214
specifier: ^2.2.215
version: 2.2.215
'@iconify/tailwind':
specifier: ^1.1.1
version: 1.1.1
@ -384,8 +384,8 @@ importers:
specifier: workspace:*
version: link:../../packages/types
vite:
specifier: 5.2.11
version: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
specifier: 6.0.0-alpha.17
version: 6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
internal/vite-config:
dependencies:
@ -406,10 +406,10 @@ importers:
version: 2.0.2
vite-plugin-lib-inject-css:
specifier: ^2.1.1
version: 2.1.1(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))
version: 2.1.1(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))
vite-plugin-vue-devtools:
specifier: ^7.2.1
version: 7.2.1(rollup@4.18.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))
version: 7.2.1(rollup@4.18.0)(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))
devDependencies:
'@types/html-minifier-terser':
specifier: ^7.0.2
@ -419,10 +419,10 @@ importers:
version: link:../node-utils
'@vitejs/plugin-vue':
specifier: ^5.0.4
version: 5.0.4(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))
version: 5.0.4(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))
'@vitejs/plugin-vue-jsx':
specifier: ^3.1.0
version: 3.1.0(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))
specifier: ^4.0.0
version: 4.0.0(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))
dayjs:
specifier: ^1.11.11
version: 1.11.11
@ -433,26 +433,26 @@ importers:
specifier: ^5.12.0
version: 5.12.0(rollup@4.18.0)
sass:
specifier: ^1.77.2
version: 1.77.2
specifier: ^1.77.4
version: 1.77.4
unplugin-turbo-console:
specifier: ^1.8.6
version: 1.8.6(esbuild@0.20.2)(rollup@4.18.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))
version: 1.8.6(esbuild@0.20.2)(rollup@4.18.0)(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))
vite:
specifier: 5.2.11
version: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
specifier: 6.0.0-alpha.17
version: 6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
vite-plugin-compression:
specifier: ^0.5.1
version: 0.5.1(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))
version: 0.5.1(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))
vite-plugin-dts:
specifier: ^3.9.1
version: 3.9.1(@types/node@20.12.12)(rollup@4.18.0)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))
version: 3.9.1(@types/node@20.12.13)(rollup@4.18.0)(typescript@5.4.5)(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))
vite-plugin-html:
specifier: ^3.2.2
version: 3.2.2(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))
version: 3.2.2(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))
vite-plugin-mock:
specifier: ^3.0.2
version: 3.0.2(esbuild@0.20.2)(mockjs@1.1.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))
version: 3.0.2(esbuild@0.20.2)(mockjs@1.1.0)(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))
packages/@vben-core/shared/chche: {}
@ -812,7 +812,7 @@ importers:
devDependencies:
vitepress:
specifier: ^1.2.2
version: 1.2.2(@algolia/client-search@4.23.3)(@types/node@20.12.12)(async-validator@4.2.5)(axios@1.7.2)(nprogress@0.2.0)(postcss@8.4.38)(qrcode@1.5.3)(sass@1.77.2)(search-insights@2.14.0)(terser@5.31.0)(typescript@5.4.5)
version: 1.2.2(@algolia/client-search@4.23.3)(@types/node@20.12.13)(async-validator@4.2.5)(axios@1.7.2)(nprogress@0.2.0)(postcss@8.4.38)(qrcode@1.5.3)(sass@1.77.4)(search-insights@2.14.0)(terser@5.31.0)(typescript@5.4.5)
vue:
specifier: 3.4.27
version: 3.4.27(typescript@5.4.5)
@ -1596,6 +1596,10 @@ packages:
resolution: {integrity: sha512-Q1CnsQrytI3TlCB1IVWXWeqUIPGVEKGaE7IbVdt13Nq/3i0JESAkQQERrfiQkmlpijl+++qyqPgaS31Bvc1jRQ==}
engines: {node: '>=16'}
'@es-joy/jsdoccomment@0.43.1':
resolution: {integrity: sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==}
engines: {node: '>=16'}
'@esbuild/aix-ppc64@0.19.12':
resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
engines: {node: '>=12'}
@ -1924,8 +1928,8 @@ packages:
'@humanwhocodes/object-schema@2.0.3':
resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
'@iconify/json@2.2.214':
resolution: {integrity: sha512-EVdAczIPBz1gcXVSHrEe0vBl6x4lcG7Dw95tO0o/h2SPTXKigEvV1cufe8yFFNuBHKqv/n1XTwqCZX0ontKTtw==}
'@iconify/json@2.2.215':
resolution: {integrity: sha512-uXEk3uB5pqNQmYw004lDQwaRVHbNKTDvHkOI0x24QvOGPqhQ+CbcWUlT/fOnwcjwPjsHxeAgUpwKz84sh0jpDg==}
'@iconify/tailwind@1.1.1':
resolution: {integrity: sha512-4mmA//qjZigv7D4KlqcVSYTqfRIJzyts2/lSCAJfCL0rVMIE76+ifJnaE5jxCo1+nYGBF8FsFo0qFOs+sX4EnA==}
@ -2360,8 +2364,8 @@ packages:
'@types/js-cookie@3.0.6':
resolution: {integrity: sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==}
'@types/jsdom@21.1.6':
resolution: {integrity: sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==}
'@types/jsdom@21.1.7':
resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==}
'@types/json-schema@7.0.15':
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
@ -2393,6 +2397,9 @@ packages:
'@types/node@20.12.12':
resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==}
'@types/node@20.12.13':
resolution: {integrity: sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==}
'@types/normalize-package-data@2.4.4':
resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
@ -2487,11 +2494,11 @@ packages:
'@ungap/structured-clone@1.2.0':
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
'@vitejs/plugin-vue-jsx@3.1.0':
resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==}
engines: {node: ^14.18.0 || >=16.0.0}
'@vitejs/plugin-vue-jsx@4.0.0':
resolution: {integrity: sha512-A+6wL2AdQhDsLsDnY+2v4rRDI1HLJGIMc97a8FURO9tqKsH5QvjWrzsa5DH3NlZsM742W2wODl2fF+bfcTWtXw==}
engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
vite: ^4.0.0 || ^5.0.0
vite: ^5.0.0
vue: 3.4.27
'@vitejs/plugin-vue@5.0.4':
@ -3750,8 +3757,8 @@ packages:
peerDependencies:
eslint: ^7.2.0 || ^8
eslint-plugin-jsdoc@48.2.6:
resolution: {integrity: sha512-GNk9jtpYmoEVeD/U6yYYmd6T8vSOoPs7CL8ZeX85iD8P3qifDdLQGze6+cw9boobDthmYnnxvIoHrhuSffj09g==}
eslint-plugin-jsdoc@48.2.7:
resolution: {integrity: sha512-fYj3roTnkFL9OFFTB129rico8lerC5G8Vp2ZW9SjO9RNWG0exVvI+i/Y8Bpm1ufjR0uvT38xtoab/U0Hp8Ybog==}
engines: {node: '>=18'}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
@ -5881,8 +5888,8 @@ packages:
resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
engines: {node: '>=6.0.0'}
prettier-plugin-tailwindcss@0.5.14:
resolution: {integrity: sha512-Puaz+wPUAhFp8Lo9HuciYKM2Y2XExESjeT+9NQoVFXZsPPnc9VYss2SpxdQ6vbatmt8/4+SN0oe0I1cPDABg9Q==}
prettier-plugin-tailwindcss@0.6.0:
resolution: {integrity: sha512-l5F3iG54XbOq/2DOPP/YA+c6VE3/qXrcBccntq2v7PSxtEc+J6SwsuTyDHxoFK1+jAlcU/hECBfzn6MON6ENBg==}
engines: {node: '>=14.21.3'}
peerDependencies:
'@ianvs/prettier-plugin-sort-imports': '*'
@ -6239,8 +6246,8 @@ packages:
safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
sass@1.77.2:
resolution: {integrity: sha512-eb4GZt1C3avsX3heBNlrc7I09nyT00IUuo4eFhAbeXWU2fvA7oXI53SxODVAA+zgZCk9aunAZgO+losjR3fAwA==}
sass@1.77.4:
resolution: {integrity: sha512-vcF3Ckow6g939GMA4PeU7b2K/9FALXk2KF9J87txdHzXbUF9XRQRwSxcAs/fGaTnJeBFd7UoV22j3lzMLdM0Pw==}
engines: {node: '>=14.0.0'}
hasBin: true
@ -7077,6 +7084,34 @@ packages:
terser:
optional: true
vite@6.0.0-alpha.17:
resolution: {integrity: sha512-zWeYzZLJ1zesnCeUXA39hSJtXSkgaYl3dPaBis4aFBy1PwvbAbYcNeGt40XJdmqwEdm0aoIy8b7H6Hy29FiIwA==}
engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
'@types/node': ^18.0.0 || >=20.0.0
less: '*'
lightningcss: ^1.21.0
sass: '*'
stylus: '*'
sugarss: '*'
terser: ^5.4.0
peerDependenciesMeta:
'@types/node':
optional: true
less:
optional: true
lightningcss:
optional: true
sass:
optional: true
stylus:
optional: true
sugarss:
optional: true
terser:
optional: true
vitepress@1.2.2:
resolution: {integrity: sha512-uZ3nXR5NY4nYj3RJWCo5jev9qlNZAQo5SUXu1U0QSUx84cUm/o7hCTDVjZ4njVSVui+PsV1oAbdQOg8ygbaf4w==}
hasBin: true
@ -7976,11 +8011,11 @@ snapshots:
human-id: 1.0.2
prettier: 2.8.8
'@commitlint/cli@19.3.0(@types/node@20.12.12)(typescript@5.4.5)':
'@commitlint/cli@19.3.0(@types/node@20.12.13)(typescript@5.4.5)':
dependencies:
'@commitlint/format': 19.3.0
'@commitlint/lint': 19.2.2
'@commitlint/load': 19.2.0(@types/node@20.12.12)(typescript@5.4.5)
'@commitlint/load': 19.2.0(@types/node@20.12.13)(typescript@5.4.5)
'@commitlint/read': 19.2.1
'@commitlint/types': 19.0.3
execa: 8.0.1
@ -8027,7 +8062,7 @@ snapshots:
'@commitlint/rules': 19.0.3
'@commitlint/types': 19.0.3
'@commitlint/load@19.2.0(@types/node@20.12.12)(typescript@5.4.5)':
'@commitlint/load@19.2.0(@types/node@20.12.13)(typescript@5.4.5)':
dependencies:
'@commitlint/config-validator': 19.0.3
'@commitlint/execute-rule': 19.0.0
@ -8035,7 +8070,7 @@ snapshots:
'@commitlint/types': 19.0.3
chalk: 5.3.0
cosmiconfig: 9.0.0(typescript@5.4.5)
cosmiconfig-typescript-loader: 5.0.0(@types/node@20.12.12)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5)
cosmiconfig-typescript-loader: 5.0.0(@types/node@20.12.13)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5)
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
lodash.uniq: 4.5.0
@ -8358,6 +8393,15 @@ snapshots:
esquery: 1.5.0
jsdoc-type-pratt-parser: 4.0.0
'@es-joy/jsdoccomment@0.43.1':
dependencies:
'@types/eslint': 8.56.10
'@types/estree': 1.0.5
'@typescript-eslint/types': 7.11.0
comment-parser: 1.4.1
esquery: 1.5.0
jsdoc-type-pratt-parser: 4.0.0
'@esbuild/aix-ppc64@0.19.12':
optional: true
@ -8569,7 +8613,7 @@ snapshots:
'@humanwhocodes/object-schema@2.0.3': {}
'@iconify/json@2.2.214':
'@iconify/json@2.2.215':
dependencies:
'@iconify/types': 2.0.0
pathe: 1.1.2
@ -8734,23 +8778,23 @@ snapshots:
jju: 1.4.0
read-yaml-file: 1.1.0
'@microsoft/api-extractor-model@7.28.13(@types/node@20.12.12)':
'@microsoft/api-extractor-model@7.28.13(@types/node@20.12.13)':
dependencies:
'@microsoft/tsdoc': 0.14.2
'@microsoft/tsdoc-config': 0.16.2
'@rushstack/node-core-library': 4.0.2(@types/node@20.12.12)
'@rushstack/node-core-library': 4.0.2(@types/node@20.12.13)
transitivePeerDependencies:
- '@types/node'
'@microsoft/api-extractor@7.43.0(@types/node@20.12.12)':
'@microsoft/api-extractor@7.43.0(@types/node@20.12.13)':
dependencies:
'@microsoft/api-extractor-model': 7.28.13(@types/node@20.12.12)
'@microsoft/api-extractor-model': 7.28.13(@types/node@20.12.13)
'@microsoft/tsdoc': 0.14.2
'@microsoft/tsdoc-config': 0.16.2
'@rushstack/node-core-library': 4.0.2(@types/node@20.12.12)
'@rushstack/node-core-library': 4.0.2(@types/node@20.12.13)
'@rushstack/rig-package': 0.5.2
'@rushstack/terminal': 0.10.0(@types/node@20.12.12)
'@rushstack/ts-command-line': 4.19.1(@types/node@20.12.12)
'@rushstack/terminal': 0.10.0(@types/node@20.12.13)
'@rushstack/ts-command-line': 4.19.1(@types/node@20.12.13)
lodash: 4.17.21
minimatch: 3.0.8
resolve: 1.22.8
@ -8926,7 +8970,7 @@ snapshots:
'@rollup/rollup-win32-x64-msvc@4.18.0':
optional: true
'@rushstack/node-core-library@4.0.2(@types/node@20.12.12)':
'@rushstack/node-core-library@4.0.2(@types/node@20.12.13)':
dependencies:
fs-extra: 7.0.1
import-lazy: 4.0.0
@ -8935,23 +8979,23 @@ snapshots:
semver: 7.5.4
z-schema: 5.0.5
optionalDependencies:
'@types/node': 20.12.12
'@types/node': 20.12.13
'@rushstack/rig-package@0.5.2':
dependencies:
resolve: 1.22.8
strip-json-comments: 3.1.1
'@rushstack/terminal@0.10.0(@types/node@20.12.12)':
'@rushstack/terminal@0.10.0(@types/node@20.12.13)':
dependencies:
'@rushstack/node-core-library': 4.0.2(@types/node@20.12.12)
'@rushstack/node-core-library': 4.0.2(@types/node@20.12.13)
supports-color: 8.1.1
optionalDependencies:
'@types/node': 20.12.12
'@types/node': 20.12.13
'@rushstack/ts-command-line@4.19.1(@types/node@20.12.12)':
'@rushstack/ts-command-line@4.19.1(@types/node@20.12.13)':
dependencies:
'@rushstack/terminal': 0.10.0(@types/node@20.12.12)
'@rushstack/terminal': 0.10.0(@types/node@20.12.13)
'@types/argparse': 1.0.38
argparse: 1.0.10
string-argv: 0.3.2
@ -9029,7 +9073,7 @@ snapshots:
'@types/conventional-commits-parser@5.0.0':
dependencies:
'@types/node': 20.12.12
'@types/node': 20.12.13
'@types/eslint@8.56.10':
dependencies:
@ -9041,7 +9085,7 @@ snapshots:
'@types/fs-extra@11.0.4':
dependencies:
'@types/jsonfile': 6.1.4
'@types/node': 20.12.12
'@types/node': 20.12.13
'@types/html-minifier-terser@7.0.2': {}
@ -9049,9 +9093,9 @@ snapshots:
'@types/js-cookie@3.0.6': {}
'@types/jsdom@21.1.6':
'@types/jsdom@21.1.7':
dependencies:
'@types/node': 20.12.12
'@types/node': 20.12.13
'@types/tough-cookie': 4.0.5
parse5: 7.1.2
@ -9059,7 +9103,7 @@ snapshots:
'@types/jsonfile@6.1.4':
dependencies:
'@types/node': 20.12.12
'@types/node': 20.12.13
'@types/linkify-it@5.0.0': {}
@ -9084,6 +9128,10 @@ snapshots:
dependencies:
undici-types: 5.26.5
'@types/node@20.12.13':
dependencies:
undici-types: 5.26.5
'@types/normalize-package-data@2.4.4': {}
'@types/nprogress@0.2.3': {}
@ -9193,19 +9241,24 @@ snapshots:
'@ungap/structured-clone@1.2.0': {}
'@vitejs/plugin-vue-jsx@3.1.0(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))':
'@vitejs/plugin-vue-jsx@4.0.0(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))':
dependencies:
'@babel/core': 7.24.6
'@babel/plugin-transform-typescript': 7.24.6(@babel/core@7.24.6)
'@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.24.6)
vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite: 6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
vue: 3.4.27(typescript@5.4.5)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))':
'@vitejs/plugin-vue@5.0.4(vite@5.2.11(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))':
dependencies:
vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite: 5.2.11(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
vue: 3.4.27(typescript@5.4.5)
'@vitejs/plugin-vue@5.0.4(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))':
dependencies:
vite: 6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
vue: 3.4.27(typescript@5.4.5)
'@vitest/expect@2.0.0-beta.3':
@ -9330,14 +9383,14 @@ snapshots:
transitivePeerDependencies:
- vue
'@vue/devtools-core@7.2.1(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))':
'@vue/devtools-core@7.2.1(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))':
dependencies:
'@vue/devtools-kit': 7.2.1(vue@3.4.27(typescript@5.4.5))
'@vue/devtools-shared': 7.2.1
mitt: 3.0.1
nanoid: 3.3.7
pathe: 1.1.2
vite-hot-client: 0.2.3(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))
vite-hot-client: 0.2.3(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))
transitivePeerDependencies:
- vite
- vue
@ -10035,9 +10088,9 @@ snapshots:
core-js@3.37.1: {}
cosmiconfig-typescript-loader@5.0.0(@types/node@20.12.12)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5):
cosmiconfig-typescript-loader@5.0.0(@types/node@20.12.13)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5):
dependencies:
'@types/node': 20.12.12
'@types/node': 20.12.13
cosmiconfig: 9.0.0(typescript@5.4.5)
jiti: 1.21.0
typescript: 5.4.5
@ -10681,9 +10734,9 @@ snapshots:
- eslint-import-resolver-webpack
- supports-color
eslint-plugin-jsdoc@48.2.6(eslint@8.57.0):
eslint-plugin-jsdoc@48.2.7(eslint@8.57.0):
dependencies:
'@es-joy/jsdoccomment': 0.43.0
'@es-joy/jsdoccomment': 0.43.1
are-docs-informative: 0.0.2
comment-parser: 1.4.1
debug: 4.3.4
@ -10782,13 +10835,13 @@ snapshots:
optionalDependencies:
'@typescript-eslint/eslint-plugin': 7.11.0(@typescript-eslint/parser@7.11.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@7.11.0(@typescript-eslint/parser@7.11.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)(vitest@2.0.0-beta.3(@types/node@20.12.12)(jsdom@24.1.0)(sass@1.77.2)(terser@5.31.0)):
eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@7.11.0(@typescript-eslint/parser@7.11.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)(vitest@2.0.0-beta.3(@types/node@20.12.13)(jsdom@24.1.0)(sass@1.77.4)(terser@5.31.0)):
dependencies:
'@typescript-eslint/utils': 7.11.0(eslint@8.57.0)(typescript@5.4.5)
eslint: 8.57.0
optionalDependencies:
'@typescript-eslint/eslint-plugin': 7.11.0(@typescript-eslint/parser@7.11.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
vitest: 2.0.0-beta.3(@types/node@20.12.12)(jsdom@24.1.0)(sass@1.77.2)(terser@5.31.0)
vitest: 2.0.0-beta.3(@types/node@20.12.13)(jsdom@24.1.0)(sass@1.77.4)(terser@5.31.0)
transitivePeerDependencies:
- supports-color
- typescript
@ -12074,7 +12127,7 @@ snapshots:
mkdirp@1.0.4: {}
mkdist@1.5.1(sass@1.77.2)(typescript@5.4.5)(vue-tsc@2.0.19(typescript@5.4.5)):
mkdist@1.5.1(sass@1.77.4)(typescript@5.4.5)(vue-tsc@2.0.19(typescript@5.4.5)):
dependencies:
autoprefixer: 10.4.19(postcss@8.4.38)
citty: 0.1.6
@ -12092,7 +12145,7 @@ snapshots:
postcss-nested: 6.0.1(postcss@8.4.38)
semver: 7.6.2
optionalDependencies:
sass: 1.77.2
sass: 1.77.4
typescript: 5.4.5
vue-tsc: 2.0.19(typescript@5.4.5)
@ -12892,7 +12945,7 @@ snapshots:
dependencies:
fast-diff: 1.3.0
prettier-plugin-tailwindcss@0.5.14(prettier@3.2.5):
prettier-plugin-tailwindcss@0.6.0(prettier@3.2.5):
dependencies:
prettier: 3.2.5
@ -13204,7 +13257,7 @@ snapshots:
safer-buffer@2.1.2: {}
sass@1.77.2:
sass@1.77.4:
dependencies:
chokidar: 3.6.0
immutable: 4.3.6
@ -13889,7 +13942,7 @@ snapshots:
has-symbols: 1.0.3
which-boxed-primitive: 1.0.2
unbuild@2.0.0(sass@1.77.2)(typescript@5.4.5)(vue-tsc@2.0.19(typescript@5.4.5)):
unbuild@2.0.0(sass@1.77.4)(typescript@5.4.5)(vue-tsc@2.0.19(typescript@5.4.5)):
dependencies:
'@rollup/plugin-alias': 5.1.0(rollup@3.29.4)
'@rollup/plugin-commonjs': 25.0.8(rollup@3.29.4)
@ -13906,7 +13959,7 @@ snapshots:
hookable: 5.5.3
jiti: 1.21.0
magic-string: 0.30.10
mkdist: 1.5.1(sass@1.77.2)(typescript@5.4.5)(vue-tsc@2.0.19(typescript@5.4.5))
mkdist: 1.5.1(sass@1.77.4)(typescript@5.4.5)(vue-tsc@2.0.19(typescript@5.4.5))
mlly: 1.7.0
pathe: 1.1.2
pkg-types: 1.1.1
@ -13962,7 +14015,7 @@ snapshots:
unpipe@1.0.0: {}
unplugin-turbo-console@1.8.6(esbuild@0.20.2)(rollup@4.18.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5)):
unplugin-turbo-console@1.8.6(esbuild@0.20.2)(rollup@4.18.0)(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5)):
dependencies:
'@rollup/pluginutils': 5.1.0(rollup@4.18.0)
ast-kit: 0.12.1
@ -13975,7 +14028,7 @@ snapshots:
optionalDependencies:
esbuild: 0.20.2
rollup: 4.18.0
vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite: 6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
vue: 3.4.27(typescript@5.4.5)
transitivePeerDependencies:
- uWebSockets.js
@ -14040,17 +14093,17 @@ snapshots:
validator@13.12.0: {}
vite-hot-client@0.2.3(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)):
vite-hot-client@0.2.3(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)):
dependencies:
vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite: 6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
vite-node@2.0.0-beta.3(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0):
vite-node@2.0.0-beta.3(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0):
dependencies:
cac: 6.7.14
debug: 4.3.4
pathe: 1.1.2
picocolors: 1.0.1
vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite: 5.2.11(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
transitivePeerDependencies:
- '@types/node'
- less
@ -14061,18 +14114,18 @@ snapshots:
- supports-color
- terser
vite-plugin-compression@0.5.1(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)):
vite-plugin-compression@0.5.1(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)):
dependencies:
chalk: 4.1.2
debug: 4.3.4
fs-extra: 10.1.0
vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite: 6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
transitivePeerDependencies:
- supports-color
vite-plugin-dts@3.9.1(@types/node@20.12.12)(rollup@4.18.0)(typescript@5.4.5)(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)):
vite-plugin-dts@3.9.1(@types/node@20.12.13)(rollup@4.18.0)(typescript@5.4.5)(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)):
dependencies:
'@microsoft/api-extractor': 7.43.0(@types/node@20.12.12)
'@microsoft/api-extractor': 7.43.0(@types/node@20.12.13)
'@rollup/pluginutils': 5.1.0(rollup@4.18.0)
'@vue/language-core': 1.8.27(typescript@5.4.5)
debug: 4.3.4
@ -14081,13 +14134,13 @@ snapshots:
typescript: 5.4.5
vue-tsc: 1.8.27(typescript@5.4.5)
optionalDependencies:
vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite: 6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
transitivePeerDependencies:
- '@types/node'
- rollup
- supports-color
vite-plugin-html@3.2.2(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)):
vite-plugin-html@3.2.2(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)):
dependencies:
'@rollup/pluginutils': 4.2.1
colorette: 2.0.20
@ -14101,9 +14154,9 @@ snapshots:
html-minifier-terser: 6.1.0
node-html-parser: 5.4.2
pathe: 0.2.0
vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite: 6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
vite-plugin-inspect@0.8.4(rollup@4.18.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)):
vite-plugin-inspect@0.8.4(rollup@4.18.0)(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)):
dependencies:
'@antfu/utils': 0.7.8
'@rollup/pluginutils': 5.1.0(rollup@4.18.0)
@ -14114,19 +14167,19 @@ snapshots:
perfect-debounce: 1.0.0
picocolors: 1.0.1
sirv: 2.0.4
vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite: 6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
transitivePeerDependencies:
- rollup
- supports-color
vite-plugin-lib-inject-css@2.1.1(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)):
vite-plugin-lib-inject-css@2.1.1(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)):
dependencies:
'@ast-grep/napi': 0.22.4
magic-string: 0.30.10
picocolors: 1.0.1
vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite: 6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
vite-plugin-mock@3.0.2(esbuild@0.20.2)(mockjs@1.1.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)):
vite-plugin-mock@3.0.2(esbuild@0.20.2)(mockjs@1.1.0)(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)):
dependencies:
bundle-require: 4.1.0(esbuild@0.20.2)
chokidar: 3.6.0
@ -14137,27 +14190,27 @@ snapshots:
mockjs: 1.1.0
path-to-regexp: 6.2.2
picocolors: 1.0.1
vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite: 6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
transitivePeerDependencies:
- supports-color
vite-plugin-vue-devtools@7.2.1(rollup@4.18.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5)):
vite-plugin-vue-devtools@7.2.1(rollup@4.18.0)(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5)):
dependencies:
'@vue/devtools-core': 7.2.1(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))
'@vue/devtools-core': 7.2.1(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))
'@vue/devtools-kit': 7.2.1(vue@3.4.27(typescript@5.4.5))
'@vue/devtools-shared': 7.2.1
execa: 8.0.1
sirv: 2.0.4
vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite-plugin-inspect: 0.8.4(rollup@4.18.0)(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))
vite-plugin-vue-inspector: 5.1.2(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))
vite: 6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
vite-plugin-inspect: 0.8.4(rollup@4.18.0)(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))
vite-plugin-vue-inspector: 5.1.2(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))
transitivePeerDependencies:
- '@nuxt/kit'
- rollup
- supports-color
- vue
vite-plugin-vue-inspector@5.1.2(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)):
vite-plugin-vue-inspector@5.1.2(vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)):
dependencies:
'@babel/core': 7.24.6
'@babel/plugin-proposal-decorators': 7.24.6(@babel/core@7.24.6)
@ -14168,29 +14221,40 @@ snapshots:
'@vue/compiler-dom': 3.4.27
kolorist: 1.8.0
magic-string: 0.30.10
vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite: 6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
transitivePeerDependencies:
- supports-color
vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0):
vite@5.2.11(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0):
dependencies:
esbuild: 0.20.2
postcss: 8.4.38
rollup: 4.18.0
optionalDependencies:
'@types/node': 20.12.12
'@types/node': 20.12.13
fsevents: 2.3.3
sass: 1.77.2
sass: 1.77.4
terser: 5.31.0
vitepress@1.2.2(@algolia/client-search@4.23.3)(@types/node@20.12.12)(async-validator@4.2.5)(axios@1.7.2)(nprogress@0.2.0)(postcss@8.4.38)(qrcode@1.5.3)(sass@1.77.2)(search-insights@2.14.0)(terser@5.31.0)(typescript@5.4.5):
vite@6.0.0-alpha.17(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0):
dependencies:
esbuild: 0.20.2
postcss: 8.4.38
rollup: 4.18.0
optionalDependencies:
'@types/node': 20.12.13
fsevents: 2.3.3
sass: 1.77.4
terser: 5.31.0
vitepress@1.2.2(@algolia/client-search@4.23.3)(@types/node@20.12.13)(async-validator@4.2.5)(axios@1.7.2)(nprogress@0.2.0)(postcss@8.4.38)(qrcode@1.5.3)(sass@1.77.4)(search-insights@2.14.0)(terser@5.31.0)(typescript@5.4.5):
dependencies:
'@docsearch/css': 3.6.0
'@docsearch/js': 3.6.0(@algolia/client-search@4.23.3)(search-insights@2.14.0)
'@shikijs/core': 1.6.1
'@shikijs/transformers': 1.6.1
'@types/markdown-it': 14.1.1
'@vitejs/plugin-vue': 5.0.4(vite@5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))
'@vitejs/plugin-vue': 5.0.4(vite@5.2.11(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0))(vue@3.4.27(typescript@5.4.5))
'@vue/devtools-api': 7.2.1(vue@3.4.27(typescript@5.4.5))
'@vue/shared': 3.4.27
'@vueuse/core': 10.10.0(vue@3.4.27(typescript@5.4.5))
@ -14199,7 +14263,7 @@ snapshots:
mark.js: 8.11.1
minisearch: 6.3.0
shiki: 1.6.1
vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite: 5.2.11(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
vue: 3.4.27(typescript@5.4.5)
optionalDependencies:
postcss: 8.4.38
@ -14230,7 +14294,7 @@ snapshots:
- typescript
- universal-cookie
vitest@2.0.0-beta.3(@types/node@20.12.12)(jsdom@24.1.0)(sass@1.77.2)(terser@5.31.0):
vitest@2.0.0-beta.3(@types/node@20.12.13)(jsdom@24.1.0)(sass@1.77.4)(terser@5.31.0):
dependencies:
'@vitest/expect': 2.0.0-beta.3
'@vitest/runner': 2.0.0-beta.3
@ -14246,11 +14310,11 @@ snapshots:
std-env: 3.7.0
tinybench: 2.8.0
tinypool: 0.9.0
vite: 5.2.11(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite-node: 2.0.0-beta.3(@types/node@20.12.12)(sass@1.77.2)(terser@5.31.0)
vite: 5.2.11(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
vite-node: 2.0.0-beta.3(@types/node@20.12.13)(sass@1.77.4)(terser@5.31.0)
why-is-node-running: 2.2.2
optionalDependencies:
'@types/node': 20.12.12
'@types/node': 20.12.13
jsdom: 24.1.0
transitivePeerDependencies:
- less

28
scripts/update-dependencies Executable file
View File

@ -0,0 +1,28 @@
// #!/bin/bash
// #/ Usage: script/update-dependencies
// #/ Create a branch to update a dependency.
// # Delete update-dependencies branch if it exists
// if git branch | grep -q "update-dependencies"; then
// echo "Deleting update-dependencies branch 🗑"
// git branch -D update-dependencies
// echo "Branch deleted 🎉"
// fi
// # Create update-dependencies branch
// echo "Creating update-dependencies branch 🌱"
// git checkout -b update-dependencies
// echo "Branch created 🎉"
// # Update dependencies in package.json
// echo "Updating dependencies in package.json 📦"
// pnpm update --interactive --recursive --latest
// # Clean up pnpm-lock.yaml file and install dependencies
// script/clean && pnpm install
// # Git operations
// git add -A
// git commit -am "chore: update dependencies 📦"
// git push origin update-dependencies
// gh pr create --fill
// echo "Dependencies updated 🎉"

View File

@ -15,7 +15,6 @@ async function runLint({ format }: LintCommandOptions) {
await $`stylelint "**/*.{vue,css,less.scss}" --cache --fix`;
await $`eslint . --cache --fix`;
await $`prettier . --write --cache`;
// await $`vsh publint --check`;
return;
}
@ -24,7 +23,6 @@ async function runLint({ format }: LintCommandOptions) {
// $`ls-lint`,
$`prettier . --ignore-unknown --check --cache`,
$`stylelint "**/*.{vue,css,less.scss}" --cache`,
// $`vsh publint --check`,
]);
}

View File

@ -25,6 +25,10 @@
"cache": false,
"persistent": true
},
"typecheck": {}
"typecheck": {
"outputs": [],
"outputMode": "errors-only"
// "outputMode": "new-only"
}
}
}