feat: 修改了布局,基本框架ok

main
cc 2025-05-10 15:00:03 +08:00
parent e9a5ba74d9
commit 2c10b56c3a
11 changed files with 560 additions and 60 deletions

View File

@ -26,6 +26,7 @@
"#/*": "./src/*" "#/*": "./src/*"
}, },
"dependencies": { "dependencies": {
"@types/node": "catalog:",
"@vben/access": "workspace:*", "@vben/access": "workspace:*",
"@vben/common-ui": "workspace:*", "@vben/common-ui": "workspace:*",
"@vben/constants": "workspace:*", "@vben/constants": "workspace:*",
@ -44,6 +45,9 @@
"dayjs": "catalog:", "dayjs": "catalog:",
"element-plus": "catalog:", "element-plus": "catalog:",
"pinia": "catalog:", "pinia": "catalog:",
"toml": "^3.0.0",
"ts-node": "^10.9.2",
"typescript": "catalog:",
"vue": "catalog:", "vue": "catalog:",
"vue-router": "catalog:" "vue-router": "catalog:"
}, },

View File

@ -1,5 +1,3 @@
import { baseRequestClient, requestClient } from '#/api/request';
/** /**
* *
*/ */
@ -11,14 +9,18 @@ import { baseRequestClient, requestClient } from '#/api/request';
* accessToken * accessToken
*/ */
export async function refreshTokenApi() { export async function refreshTokenApi() {
return baseRequestClient.post<AuthApi.RefreshTokenResult>('/auth/refresh', { return {
withCredentials: true, data: 'admin',
}); };
// return baseRequestClient.post<AuthApi.RefreshTokenResult>('/auth/refresh', {
// withCredentials: true,
// });
} }
/** /**
* *
*/ */
export async function getAccessCodesApi() { export async function getAccessCodesApi() {
return requestClient.get<string[]>('/auth/codes'); return [];
// return req.get<string[]>('/auth/codes');
} }

View File

@ -44,3 +44,5 @@ export async function loginApi(data: AuthApi.LoginParams) {
export async function logoutApi() { export async function logoutApi() {
return cdcmRequestClient.post('/auth/logout', {}); return cdcmRequestClient.post('/auth/logout', {});
} }
// 通用请求函数

View File

@ -1,10 +1,13 @@
import type { UserInfo } from '@vben/types'; import type { UserInfo } from '@vben/types';
import { requestClient } from '#/api/request';
/** /**
* *
*/ */
export async function getUserInfoApi() { export async function getUserInfoApi() {
return requestClient.get<UserInfo>('/user/info'); const userInfo: UserInfo = {} as UserInfo;
userInfo.realName = 'admin';
userInfo.homePath = '/detail';
userInfo.roles = ['admin'];
return userInfo;
// return requestClient.get<UserInfo>('/user/info');
} }

View File

@ -0,0 +1,136 @@
#################################################模板通过接口##################################################
[TemplateQuerySupportType]
code = 52001
desc = "查询模板支持的类型"
[TemplatePointQuerySupportType]
code = 52002
desc = "查询模板点位支持的数据类型"
[TemplatePointQuerySupportAccess]
code = 52003
desc = "查询模板点位支持的权限类型"
[DriverQuerySupportType]
code = 52004
desc = "查询驱动支持的类型"
#################################################模板管理接口##################################################
[TemplateQueryPage]
code = 52011
desc = "查询所有模板"
[TemplateCreate]
code = 52012
desc = "创建模板"
[TemplateUpdate]
code = 52013
desc = "更新模板"
[TemplateDelete]
code = 52014
desc = "删除模板"
[TemplateQuery]
code = 52015
desc = "查询模板"
#################################################模板点位接口##################################################
[PointQueryAll]
code = 52021
desc = "查询所有模板点位"
[PointCreate]
code = 52022
desc = "创建模板点位"
[PointUpdate]
code = 52023
desc = "更新模板点位"
[PointDelete]
code = 52024
desc = "删除模板点位"
#################################################驱动管理接口##################################################
[DriverQueryPage]
code = 52201
desc = "查询模板点位"
[DriverCreate]
code = 52202
desc = "创建驱动"
[DriverUpdate]
code = 52203
desc = "更新驱动"
[DriverDelete]
code = 52204
desc = "删除驱动"
[DriverQuery]
code = 52205
desc = "查询驱动"
[DriverQueryStatus]
code = 52206
desc = "查询驱动状态"
[DriverStart]
code = 52207
desc = "启动驱动"
[DriverStop]
code = 52208
desc = "停止驱动"
[DriverTemplateQuery]
code = 52209
desc = "查询驱动模板"
#################################################设备管理接口##################################################
[DeviceQueryAll]
code = 52301
desc = "查询所有设备"
[DeviceCreate]
code = 52302
desc = "创建设备"
[DeviceUpdate]
code = 52303
desc = "更新设备"
[DeviceDelete]
code = 52304
desc = "删除设备"
#################################################历史记录接口##################################################
[HistoryQueryConfig]
code = 52401
desc = "查询历史记录配置"
[HistoryUpdateConfig]
code = 52402
desc = "更新历史记录配置"
[HistoryQuery]
code = 52403
desc = "查询历史记录"
[HistoryClear]
code = 52404
desc = "清除历史记录"
[HistoryExport]
code = 52405
desc = "导出历史记录"

View File

@ -0,0 +1,237 @@
[Success]
code = 0
desc = "请求成功"
[BadRequest]
code = 24400
desc = "请求错误"
[UnprocessableEntity]#ok
code = 24422
desc = "请求参数异常"
[TooManyRequests] #ok
code = 24429
desc = "请求过于频繁"
# 240xx - 通用异常
[InvalidActionNum] #ok
code = 24001
desc = "请求动作无效"
# 245xx - 数据库操作异常
[DataQueryError]
code = 24501
desc = "数据查询异常"
[DataSaveError]
code = 24502
desc = "数据保存异常"
[DataDeleteError]
code = 24503
desc = "数据删除异常"
[DataUpdateError]
code = 24504
desc = "数据更新异常"
# 246xx - 用户异常
[UserNotFound]
code = 24601
desc = "用户不存在"
[UserAlreadyExist]
code = 24602
desc = "用户已存在"
[UserPasswordError]
code = 24603
desc = "用户密码错误"
[UserNotLogin]
code = 24604
desc = "用户未登录"
[TokenGenerateError]
code = 24611
desc = "token生成失败"
[TokenEmpty]
code = 24612
desc = "token为空"
[TokenParseError]
code = 24613
desc = "token解析失败"
[TokenInvalid] #ok
code = 24614
desc = "token失效"
[TokenExpired]
code = 24615
desc = "token已过期"
[TokenFormatError]
code = 24616
desc = "token格式无效"
[TokenClearError]
code = 24617
desc = "token清空失败"
[InvalidTemplateType]
code = 52001
desc = "无效的模板类型"
[InvalidTemplateName]
code = 52002
desc = "无效的模板名称"
[TemplateCreateError]#ok
code = 52003
desc = "模板创建失败"
[TemplateUpdateError]#ok
code = 52004
desc = "模板更新失败"
[TemplateQueryError]#ok
code = 52005
desc = "模板查询失败"
[TemplateDeleteError]#ok
code = 52006
desc = "模板删除失败"
[PointCreateError]
code = 52007
desc = "点位创建失败"
[PointUpdateError]
code = 52008
desc = "点位更新失败"
[PointQueryError]
code = 52009
desc = "点位查询失败"
[PointDeleteError]
code = 52010
desc = "点位删除失败"
[InvalidDriverType]
code = 52101
desc = "无效的驱动类型"
[InvalidDriverName]
code = 52102
desc = "无效的驱动名称"
[DriverCreateError]
code = 52103
desc = "驱动创建失败"
[DriverUpdateError]
code = 52104
desc = "驱动更新失败"
[DriverQueryError]#ok
code = 52105
desc = "驱动查询失败"
[DriverDeleteError]
code = 52106
desc = "驱动删除失败"
[DriverStartError]
code = 52107
desc = "驱动启动失败"
[DriverStopError]
code = 52108
desc = "驱动停止失败"
[DriverWriteError]
code = 52109
desc = "驱动写入失败"
[InvalidDeviceType]
code = 52201
desc = "无效的设备类型"
[InvalidDeviceName]
code = 52202
desc = "无效的设备名称"
[DeviceCreateError]
code = 52203
desc = "设备创建失败"
[DeviceUpdateError]
code = 52204
desc = "设备更新失败"
[DeviceQueryError]
code = 52205
desc = "设备查询失败"
[DeviceDeleteError]
code = 52206
desc = "设备删除失败"
[Unauthorized]
code = 401
desc = "未授权访问"
[Continue]
code = 100
desc = "继续请求"
[Created]
code = 201
desc = "资源已创建"
[Accepted]
code = 202
desc = "请求已接受但未处理完成"
[NoContent]
code = 204
desc = "请求成功但无返回内容"
[MovedPermanently]
code = 301
desc = "资源已永久移动"
[Found]
code = 302
desc = "资源临时移动"
[NotModified]
code = 304
desc = "资源未修改(缓存有效)"
[Forbidden]
code = 403
desc = "禁止访问"
[MethodNotAllowed]
code = 405
desc = "请求方法不允许"
[Conflict]
code = 409
desc = "请求冲突"
[InternalServerError]
code = 500
desc = "服务器内部错误"

View File

@ -14,6 +14,7 @@ const logo = computed(() => preferences.logo.source);
page-description="数据采集网关" page-description="数据采集网关"
page-title="CDCM" page-title="CDCM"
:copyright="false" :copyright="false"
:toolbar="false"
> >
<!-- 自定义工具栏 --> <!-- 自定义工具栏 -->
<!-- <template #toolbar></template> --> <!-- <template #toolbar></template> -->

View File

@ -4,9 +4,7 @@ import type { NotificationItem } from '@vben/layouts';
import { computed, ref, watch } from 'vue'; import { computed, ref, watch } from 'vue';
import { AuthenticationLoginExpiredModal } from '@vben/common-ui'; import { AuthenticationLoginExpiredModal } from '@vben/common-ui';
import { VBEN_DOC_URL, VBEN_GITHUB_URL } from '@vben/constants';
import { useWatermark } from '@vben/hooks'; import { useWatermark } from '@vben/hooks';
import { BookOpenText, CircleHelp, MdiGithub } from '@vben/icons';
import { import {
BasicLayout, BasicLayout,
LockScreen, LockScreen,
@ -15,9 +13,7 @@ import {
} from '@vben/layouts'; } from '@vben/layouts';
import { preferences } from '@vben/preferences'; import { preferences } from '@vben/preferences';
import { useAccessStore, useUserStore } from '@vben/stores'; import { useAccessStore, useUserStore } from '@vben/stores';
import { openWindow } from '@vben/utils';
import { $t } from '#/locales';
import { useAuthStore } from '#/store'; import { useAuthStore } from '#/store';
import LoginForm from '#/views/_core/authentication/login.vue'; import LoginForm from '#/views/_core/authentication/login.vue';
@ -60,36 +56,6 @@ const showDot = computed(() =>
notifications.value.some((item) => !item.isRead), notifications.value.some((item) => !item.isRead),
); );
const menus = computed(() => [
{
handler: () => {
openWindow(VBEN_DOC_URL, {
target: '_blank',
});
},
icon: BookOpenText,
text: $t('ui.widgets.document'),
},
{
handler: () => {
openWindow(VBEN_GITHUB_URL, {
target: '_blank',
});
},
icon: MdiGithub,
text: 'GitHub',
},
{
handler: () => {
openWindow(`${VBEN_GITHUB_URL}/issues`, {
target: '_blank',
});
},
icon: CircleHelp,
text: $t('ui.widgets.qa'),
},
]);
const avatar = computed(() => { const avatar = computed(() => {
return userStore.userInfo?.avatar ?? preferences.app.defaultAvatar; return userStore.userInfo?.avatar ?? preferences.app.defaultAvatar;
}); });
@ -127,10 +93,9 @@ watch(
<template #user-dropdown> <template #user-dropdown>
<UserDropdown <UserDropdown
:avatar :avatar
:menus
:text="userStore.userInfo?.realName" :text="userStore.userInfo?.realName"
description="ann.vben@gmail.com" description="数据采集网关"
tag-text="Pro" tag-text="管理员"
@logout="handleLogout" @logout="handleLogout"
/> />
</template> </template>

View File

@ -8,7 +8,36 @@ import { defineOverridesPreferences } from '@vben/preferences';
export const overridesPreferences = defineOverridesPreferences({ export const overridesPreferences = defineOverridesPreferences({
// overrides // overrides
app: { app: {
// name: import.meta.env.VITE_APP_TITLE, layout: 'header-sidebar-nav',
name: import.meta.env.VITE_APP_TITLE, name: import.meta.env.VITE_APP_TITLE,
enableCheckUpdates: false,
enablePreferences: false,
},
copyright: {
companyName: '口哨智控',
companySiteLink: 'https://www.cose.com',
date: '2025',
enable: false,
},
sidebar: {
width: 180,
},
tabbar: {
enable: false,
showMaximize: false,
showMore: false,
wheelable: false,
},
widget: {
fullscreen: false,
globalSearch: false,
languageToggle: false,
notification: false,
refresh: false,
sidebarToggle: false,
},
theme: {
builtinType: 'violet',
colorPrimary: 'hsl(245 82% 67%)',
}, },
}); });

View File

@ -33,9 +33,9 @@ export const useAuthStore = defineStore('auth', () => {
) { ) {
// // 异步处理用户登录操作并获取 accessToken // // 异步处理用户登录操作并获取 accessToken
const userInfo: UserInfo = {} as UserInfo; const userInfo: UserInfo = {} as UserInfo;
userInfo.realName = params.username; userInfo.realName = 'admin';
userInfo.homePath = '/detail'; userInfo.homePath = '/detail';
// userInfo.roles = ['admin']; userInfo.roles = ['admin'];
try { try {
loginLoading.value = true; loginLoading.value = true;

View File

@ -567,7 +567,7 @@ importers:
version: 6.0.1 version: 6.0.1
tailwindcss: tailwindcss:
specifier: 'catalog:' specifier: 'catalog:'
version: 3.4.17 version: 3.4.17(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
turbo: turbo:
specifier: 'catalog:' specifier: 'catalog:'
version: 2.5.2 version: 2.5.2
@ -592,6 +592,9 @@ importers:
apps/web-ele: apps/web-ele:
dependencies: dependencies:
'@types/node':
specifier: 'catalog:'
version: 22.15.3
'@vben/access': '@vben/access':
specifier: workspace:* specifier: workspace:*
version: link:../../packages/effects/access version: link:../../packages/effects/access
@ -646,6 +649,15 @@ importers:
pinia: pinia:
specifier: ^3.0.2 specifier: ^3.0.2
version: 3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) version: 3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))
toml:
specifier: ^3.0.0
version: 3.0.0
ts-node:
specifier: ^10.9.2
version: 10.9.2(@types/node@22.15.3)(typescript@5.8.3)
typescript:
specifier: 'catalog:'
version: 5.8.3
vue: vue:
specifier: ^3.5.13 specifier: ^3.5.13
version: 3.5.13(typescript@5.8.3) version: 3.5.13(typescript@5.8.3)
@ -858,7 +870,7 @@ importers:
version: 0.0.0-insiders.565cd3e(postcss@8.5.3) version: 0.0.0-insiders.565cd3e(postcss@8.5.3)
'@tailwindcss/typography': '@tailwindcss/typography':
specifier: 'catalog:' specifier: 'catalog:'
version: 0.5.16(tailwindcss@3.4.17) version: 0.5.16(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)))
autoprefixer: autoprefixer:
specifier: 'catalog:' specifier: 'catalog:'
version: 10.4.21(postcss@8.5.3) version: 10.4.21(postcss@8.5.3)
@ -879,10 +891,10 @@ importers:
version: 10.1.6(postcss@8.5.3) version: 10.1.6(postcss@8.5.3)
tailwindcss: tailwindcss:
specifier: 'catalog:' specifier: 'catalog:'
version: 3.4.17 version: 3.4.17(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
tailwindcss-animate: tailwindcss-animate:
specifier: 'catalog:' specifier: 'catalog:'
version: 1.0.7(tailwindcss@3.4.17) version: 1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)))
devDependencies: devDependencies:
'@types/postcss-import': '@types/postcss-import':
specifier: 'catalog:' specifier: 'catalog:'
@ -2595,6 +2607,10 @@ packages:
resolution: {integrity: sha512-EATITl9WlmOuhdlUluHlYXCV7LFPuSw9CZ4gejPpjyDwQJUQg4ktHVNfy3hJ5I3h4SEiW0GWd68Gd61McmTO2A==} resolution: {integrity: sha512-EATITl9WlmOuhdlUluHlYXCV7LFPuSw9CZ4gejPpjyDwQJUQg4ktHVNfy3hJ5I3h4SEiW0GWd68Gd61McmTO2A==}
engines: {node: '>=18.0'} engines: {node: '>=18.0'}
'@cspotcode/source-map-support@0.8.1':
resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==}
engines: {node: '>=12'}
'@csstools/cascade-layer-name-parser@2.0.4': '@csstools/cascade-layer-name-parser@2.0.4':
resolution: {integrity: sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA==} resolution: {integrity: sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA==}
engines: {node: '>=18'} engines: {node: '>=18'}
@ -3223,6 +3239,9 @@ packages:
'@jridgewell/trace-mapping@0.3.25': '@jridgewell/trace-mapping@0.3.25':
resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
'@jridgewell/trace-mapping@0.3.9':
resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==}
'@jspm/generator@2.5.1': '@jspm/generator@2.5.1':
resolution: {integrity: sha512-Y0R/S48f7IDQCvhtZ1rOQAqtvgMbMu07JepqH5s6BEeRNxyuOmU6O+FSiMmIRQoJ8P7skCMSzBbiZ1B82gZkSw==} resolution: {integrity: sha512-Y0R/S48f7IDQCvhtZ1rOQAqtvgMbMu07JepqH5s6BEeRNxyuOmU6O+FSiMmIRQoJ8P7skCMSzBbiZ1B82gZkSw==}
@ -3809,6 +3828,18 @@ packages:
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
engines: {node: '>=10.13.0'} engines: {node: '>=10.13.0'}
'@tsconfig/node10@1.0.11':
resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
'@tsconfig/node12@1.0.11':
resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==}
'@tsconfig/node14@1.0.3':
resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==}
'@tsconfig/node16@1.0.4':
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
'@tybys/wasm-util@0.9.0': '@tybys/wasm-util@0.9.0':
resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==}
@ -4413,6 +4444,10 @@ packages:
peerDependencies: peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
acorn-walk@8.3.4:
resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
engines: {node: '>=0.4.0'}
acorn@8.14.1: acorn@8.14.1:
resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==}
engines: {node: '>=0.4.0'} engines: {node: '>=0.4.0'}
@ -4522,6 +4557,9 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
deprecated: This package is no longer supported. deprecated: This package is no longer supported.
arg@4.1.3:
resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
arg@5.0.2: arg@5.0.2:
resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
@ -5124,6 +5162,9 @@ packages:
resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==}
engines: {node: '>= 14'} engines: {node: '>= 14'}
create-require@1.1.1:
resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==}
cron-parser@4.9.0: cron-parser@4.9.0:
resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==} resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==}
engines: {node: '>=12.0.0'} engines: {node: '>=12.0.0'}
@ -5485,6 +5526,10 @@ packages:
didyoumean@1.2.2: didyoumean@1.2.2:
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
diff@4.0.2:
resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
engines: {node: '>=0.3.1'}
dijkstrajs@1.0.3: dijkstrajs@1.0.3:
resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==}
@ -7281,6 +7326,9 @@ packages:
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
engines: {node: '>=8'} engines: {node: '>=8'}
make-error@1.3.6:
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
make-fetch-happen@8.0.14: make-fetch-happen@8.0.14:
resolution: {integrity: sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==} resolution: {integrity: sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
@ -9509,6 +9557,20 @@ packages:
ts-interface-checker@0.1.13: ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
ts-node@10.9.2:
resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
hasBin: true
peerDependencies:
'@swc/core': '>=1.2.50'
'@swc/wasm': '>=1.2.50'
'@types/node': '*'
typescript: '>=2.7'
peerDependenciesMeta:
'@swc/core':
optional: true
'@swc/wasm':
optional: true
tslib@1.14.1: tslib@1.14.1:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
@ -9814,6 +9876,9 @@ packages:
resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==}
hasBin: true hasBin: true
v8-compile-cache-lib@3.0.1:
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
validate-npm-package-license@3.0.4: validate-npm-package-license@3.0.4:
resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
@ -10263,6 +10328,10 @@ packages:
yauzl@2.10.0: yauzl@2.10.0:
resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
yn@3.1.1:
resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==}
engines: {node: '>=6'}
yocto-queue@0.1.0: yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'} engines: {node: '>=10'}
@ -11555,6 +11624,10 @@ snapshots:
'@cspell/url@8.19.3': {} '@cspell/url@8.19.3': {}
'@cspotcode/source-map-support@0.8.1':
dependencies:
'@jridgewell/trace-mapping': 0.3.9
'@csstools/cascade-layer-name-parser@2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': '@csstools/cascade-layer-name-parser@2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)':
dependencies: dependencies:
'@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3)
@ -12141,6 +12214,11 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2 '@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/sourcemap-codec': 1.5.0
'@jridgewell/trace-mapping@0.3.9':
dependencies:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.0
'@jspm/generator@2.5.1': '@jspm/generator@2.5.1':
dependencies: dependencies:
'@babel/core': 7.26.10 '@babel/core': 7.26.10
@ -12783,13 +12861,13 @@ snapshots:
postcss: 8.5.3 postcss: 8.5.3
postcss-nested: 5.0.6(postcss@8.5.3) postcss-nested: 5.0.6(postcss@8.5.3)
'@tailwindcss/typography@0.5.16(tailwindcss@3.4.17)': '@tailwindcss/typography@0.5.16(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)))':
dependencies: dependencies:
lodash.castarray: 4.4.0 lodash.castarray: 4.4.0
lodash.isplainobject: 4.0.6 lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2 lodash.merge: 4.6.2
postcss-selector-parser: 6.0.10 postcss-selector-parser: 6.0.10
tailwindcss: 3.4.17 tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
'@tanstack/store@0.7.0': {} '@tanstack/store@0.7.0': {}
@ -12810,6 +12888,14 @@ snapshots:
'@trysound/sax@0.2.0': {} '@trysound/sax@0.2.0': {}
'@tsconfig/node10@1.0.11': {}
'@tsconfig/node12@1.0.11': {}
'@tsconfig/node14@1.0.3': {}
'@tsconfig/node16@1.0.4': {}
'@tybys/wasm-util@0.9.0': '@tybys/wasm-util@0.9.0':
dependencies: dependencies:
tslib: 2.8.1 tslib: 2.8.1
@ -13554,6 +13640,10 @@ snapshots:
dependencies: dependencies:
acorn: 8.14.1 acorn: 8.14.1
acorn-walk@8.3.4:
dependencies:
acorn: 8.14.1
acorn@8.14.1: {} acorn@8.14.1: {}
agent-base@6.0.2: agent-base@6.0.2:
@ -13669,6 +13759,8 @@ snapshots:
delegates: 1.0.0 delegates: 1.0.0
readable-stream: 3.6.2 readable-stream: 3.6.2
arg@4.1.3: {}
arg@5.0.2: {} arg@5.0.2: {}
argparse@1.0.10: argparse@1.0.10:
@ -14322,6 +14414,8 @@ snapshots:
crc-32: 1.2.2 crc-32: 1.2.2
readable-stream: 4.7.0 readable-stream: 4.7.0
create-require@1.1.1: {}
cron-parser@4.9.0: cron-parser@4.9.0:
dependencies: dependencies:
luxon: 3.6.1 luxon: 3.6.1
@ -14720,6 +14814,8 @@ snapshots:
didyoumean@1.2.2: {} didyoumean@1.2.2: {}
diff@4.0.2: {}
dijkstrajs@1.0.3: {} dijkstrajs@1.0.3: {}
dir-glob@3.0.1: dir-glob@3.0.1:
@ -16691,6 +16787,8 @@ snapshots:
dependencies: dependencies:
semver: 6.3.1 semver: 6.3.1
make-error@1.3.6: {}
make-fetch-happen@8.0.14: make-fetch-happen@8.0.14:
dependencies: dependencies:
agentkeepalive: 4.6.0 agentkeepalive: 4.6.0
@ -17627,12 +17725,13 @@ snapshots:
'@csstools/utilities': 2.0.0(postcss@8.5.3) '@csstools/utilities': 2.0.0(postcss@8.5.3)
postcss: 8.5.3 postcss: 8.5.3
postcss-load-config@4.0.2(postcss@8.5.3): postcss-load-config@4.0.2(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)):
dependencies: dependencies:
lilconfig: 3.1.3 lilconfig: 3.1.3
yaml: 2.7.1 yaml: 2.7.1
optionalDependencies: optionalDependencies:
postcss: 8.5.3 postcss: 8.5.3
ts-node: 10.9.2(@types/node@22.15.3)(typescript@5.8.3)
postcss-logical@8.1.0(postcss@8.5.3): postcss-logical@8.1.0(postcss@8.5.3):
dependencies: dependencies:
@ -18929,11 +19028,11 @@ snapshots:
tailwind-merge@2.6.0: {} tailwind-merge@2.6.0: {}
tailwindcss-animate@1.0.7(tailwindcss@3.4.17): tailwindcss-animate@1.0.7(tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))):
dependencies: dependencies:
tailwindcss: 3.4.17 tailwindcss: 3.4.17(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
tailwindcss@3.4.17: tailwindcss@3.4.17(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3)):
dependencies: dependencies:
'@alloc/quick-lru': 5.2.0 '@alloc/quick-lru': 5.2.0
arg: 5.0.2 arg: 5.0.2
@ -18952,7 +19051,7 @@ snapshots:
postcss: 8.5.3 postcss: 8.5.3
postcss-import: 15.1.0(postcss@8.5.3) postcss-import: 15.1.0(postcss@8.5.3)
postcss-js: 4.0.1(postcss@8.5.3) postcss-js: 4.0.1(postcss@8.5.3)
postcss-load-config: 4.0.2(postcss@8.5.3) postcss-load-config: 4.0.2(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3))
postcss-nested: 6.2.0(postcss@8.5.3) postcss-nested: 6.2.0(postcss@8.5.3)
postcss-selector-parser: 6.1.2 postcss-selector-parser: 6.1.2
resolve: 1.22.10 resolve: 1.22.10
@ -19083,6 +19182,24 @@ snapshots:
ts-interface-checker@0.1.13: {} ts-interface-checker@0.1.13: {}
ts-node@10.9.2(@types/node@22.15.3)(typescript@5.8.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 22.15.3
acorn: 8.14.1
acorn-walk: 8.3.4
arg: 4.1.3
create-require: 1.1.1
diff: 4.0.2
make-error: 1.3.6
typescript: 5.8.3
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
tslib@1.14.1: {} tslib@1.14.1: {}
tslib@2.3.0: {} tslib@2.3.0: {}
@ -19412,6 +19529,8 @@ snapshots:
uuid@11.1.0: {} uuid@11.1.0: {}
v8-compile-cache-lib@3.0.1: {}
validate-npm-package-license@3.0.4: validate-npm-package-license@3.0.4:
dependencies: dependencies:
spdx-correct: 3.2.0 spdx-correct: 3.2.0
@ -20030,6 +20149,8 @@ snapshots:
buffer-crc32: 0.2.13 buffer-crc32: 0.2.13
fd-slicer: 1.1.0 fd-slicer: 1.1.0
yn@3.1.1: {}
yocto-queue@0.1.0: {} yocto-queue@0.1.0: {}
yocto-queue@1.2.1: {} yocto-queue@1.2.1: {}