From ce6812bf32fa754993e12a01563e967acc2d6262 Mon Sep 17 00:00:00 2001 From: AmberWing <63614345+lunarythia@users.noreply.github.com> Date: Wed, 1 Apr 2026 10:45:49 -0700 Subject: [PATCH 1/7] greetings.ts: po'antaandan troposnui --- apps/vdn-static/src/i18n/greeting.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/vdn-static/src/i18n/greeting.ts b/apps/vdn-static/src/i18n/greeting.ts index 577d5ef..02d667b 100644 --- a/apps/vdn-static/src/i18n/greeting.ts +++ b/apps/vdn-static/src/i18n/greeting.ts @@ -98,4 +98,10 @@ export const GREETINGS = [ author: "Luna", lang: "viossa", }, + { + title: "Braatullaca viossa.net:an!", + subtitle: "Afto Zeplas viossja je ! Braaleraca Viossa au nintendoca !", + author: "Lunakot", + lang: "viossa", + }, ] as const satisfies Greeting[]; From 198803ce1f8ebce90489a3af2954c15ab446716b Mon Sep 17 00:00:00 2001 From: TheEnamur Date: Fri, 17 Apr 2026 15:44:23 -0400 Subject: [PATCH 2/7] Add files via upload Spanish version of VDN --- apps/vdn-static/src/assets/locale/es_LA.ftl | 78 +++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 apps/vdn-static/src/assets/locale/es_LA.ftl diff --git a/apps/vdn-static/src/assets/locale/es_LA.ftl b/apps/vdn-static/src/assets/locale/es_LA.ftl new file mode 100644 index 0000000..0e1efe3 --- /dev/null +++ b/apps/vdn-static/src/assets/locale/es_LA.ftl @@ -0,0 +1,78 @@ +localeName = "Español" +vilanticLangs-viossa = "Viossa" +vilanticLangs-wodox = "Wodoch" +vilanticLangs-minemiaha = "Minemiaha" +navbar-whatIsViossa = "¿Qué es Viossa?" +navbar-resources = "Recursos" +navbar-kotoba = "Kotoba" +home-sections-whatIsViossa-title = "¿Qué es Viossa?" +home-sections-whatIsViossa-body = "Viossa es una lengua pidgin artificial que fue creada en comunidad para simular la formación de idiomas pidgin naturales. Viossa se caracteriza por no tener ningn estandár, por lo que cada hablante desarrolla su propio idiolecto. La pronunciación y la ortografía pueden variar mucho y cumplen un rol importante en la autoexpresión. Viossa se enseña y aprende únicamente por inmersión. Las traducciones están prohibidas en el proceso de aprendizaje." +home-sections-historyOfViossa-title = "Historia del Viossa" +home-sections-historyOfViossa-body = "Viossa nació como un grupo de Skype en 2014, el cual fue creado por miembros del subreddit r/conlangs como un experimento para simular la formación de un idioma pidgin. Un pidgin es una lengua simple que surge por medio del contacto entre grupos sin una lengua en común. A diferencia de la mayoría de pidgins, que están formados a partir de dos o tres lenguas contribuyentes, Viossa tiene raíces en un gran número de idiomas diversos. Esto se debe a que mucha gente alrededor del mundo se unió para aportar al vocabulario de Viossa." +home-sections-community-title = "Comunidad" +home-sections-community-body = "La diversidad cultural de sus miembros y la integración de tradiciones de muchas partes del mundo le dan a la comunidad de Viossa una riqueza y valor únicos. La filosofía de su enseñanza promueve la inmersión lingüística y se opone al prescriptivismo, lo que resulta en una cultura tan diversa como el idioma en sí y sus hablantes. Para muchos, sus idiolectos son fundamentales para su forma de expresarse y su identidad. La naturaleza particular de Viossa y la ausencia de significados rígidos en él lo hacen ideal para actividades creativas como escribir poemas o canciones." +home-images-viossaFlag-alt = "Bandera del idioma Viossa" +resources-title = "Recursos de aprendizaje" +resources-resources-discord-title = "Servidor de Discord" +resources-resources-discord-subtitle = "¡Aquí es donde ocurre la mayor parte de la acción! ¡Únetenos!" +resources-resources-discord-desc = "Viossa Diskordserver (VDS) fue fundado en 2016 como sucesor del chat original de Viossa en Skype. Desde entonces ha superado los 6.000 miembros. ¡Lee las reglas con ayuda de los botones y luego únete al servidor!" +resources-resources-discord-buttons-join-label = "Unirse" +resources-resources-discord-buttons-rules-label = "Reglas" +resources-images-discordLogo-alt = "Logo de Discord" +kotoba-title = "Búsqueda independiente de tropos" +kotoba-searchHelp = "Introduce un término abajo para buscar sin importar el tropos" +discord-rulesPage-title = "Las reglas del servidor de Discord" +discord-rulesPage-overview-title = "Descripción general" +discord-rulesPage-overview-help = "Haz click en cualquier regla para ver detalles." +discord-rulesPage-rules-noTranslation-overview-text = md "¡Nada de traducciones! No traduzcas nada de/a Viossa dentro del servidor a excepción de las Grandes Cuatro (¡puedes aprender sin ellas en modo difícil!)" +discord-rulesPage-rules-noTranslation-overview-subtext = md -- +discord-rulesPage-rules-noTranslation-section-header = "Regla { $ruleNumber }: Nada de traducciones" +discord-rulesPage-rules-noTranslation-section-body = md + "No traducimos nada en la enseñanza y aprendizaje de Viossa. En cambio, utilizamos imágenes, diagramas, videollamadas y otros métodos para conectar las palabras con sus significados." + "Está permitido traducir las siguientes cuatro palabras en el servidor. Si quieres un reto más difícil, no reveles el texto:" + "*TODO - big 4*" + "Permitimos también, fuera del proceso de aprendizaje, las traducciones artísticas (como aquellas de canciones, libros o poemas) así como las académicas (como aquellas utilizadas en investigaciones formales). En ambos casos, estas excepciones dependen de que dichas traducciones sean presentadas en el lugar adecuado. Por favor pregúntanos si no tienes certeza de dónde ponerlas." + "Además, no intentes replicar ni compartir ningún material de aprendizaje basado en la traducción en el servidor, y tampoco convenzas a los demás miembros de hacer esto." +discord-rulesPage-rules-lfsv-overview-text = md "Si se entiende, es Viossa." +discord-rulesPage-rules-lfsv-overview-subtext = md -- +discord-rulesPage-rules-lfsv-section-header = "Regla { $ruleNumber }: Si se entiende, es Viossa" +discord-rulesPage-rules-lfsv-section-body = md + "Lo único que se requiere para hablar Viossa es que los demás hablantes te entiendan. No hay formas correctas ni erróneas de hablar o escribir ni hay un estándar global." + "No obstante, Viossa es un proyecto colaborativo: los miembros deben procurar darse a entender por los demás y a su vez esforzarse para entender a otros." +discord-rulesPage-rules-viossaOnlyChats-overview-text = md "Sólo se puede hablar Viossa en los canales de la categoría Viossa Only (Sólo Viossa)" +discord-rulesPage-rules-viossaOnlyChats-overview-subtext = md -- +discord-rulesPage-rules-viossaOnlyChats-section-header = "Regla { $ruleNumber }: Canales en Viossa Only (Sólo Viossa)" +discord-rulesPage-rules-viossaOnlyChats-section-body = md + "No se permiten otros idiomas en los canales de la categoría Viossa Only. Si tienes que guiar a alguien en el proceso de aprendizaje y no puedes hacerlo en Viossa, dirígete a **#meta**" + "Sin embargo, esto no quiere decir que no puedas usar Viossa en los demás canales. ¡Háblalo donde quieras!" +discord-rulesPage-rules-sfw-overview-text = md "Este servidor es SFW. Se prohíbe el contenido violento, gore o sexualmente explícito." +discord-rulesPage-rules-sfw-overview-subtext = md -- +discord-rulesPage-rules-sfw-section-header = "Regla { $ruleNumber }: SFW" +discord-rulesPage-rules-sfw-section-body = md + "Si a un moderador no le gusta lo que mandaste, te lo va a informar; mira [la regla 6](internal.replace:#rule-6). Esto es un servidor público; piensa antes de enviar algo." +discord-rulesPage-rules-respectOthers-overview-text = md "No se permite el discurso de odio. Hay que respetarse unos a otros." +discord-rulesPage-rules-respectOthers-overview-subtext = md -- +discord-rulesPage-rules-respectOthers-section-header = "Rule { $ruleNumber }: Trata a los demás con respeto" +discord-rulesPage-rules-respectOthers-section-body = md + "Hay que respetarse unos a otros. No son bienvenidos el discurso de odio, la discriminación ni el apoyo a la violencia dentro o fuera del servidor. Ésta es una comunidad internacional, amigable y LGBTQ+." +discord-rulesPage-rules-respectStaff-overview-text = md "Respeta las decisiones del staff (**@Yewald** y **@Yewaldnen**)." +discord-rulesPage-rules-respectStaff-overview-subtext = md -- +discord-rulesPage-rules-respectStaff-section-header = "Regla { $ruleNumber }: Respeta las decisiones del staff" +discord-rulesPage-rules-respectStaff-section-body = md + "Los miembros del staff (los Yewald al igual que los Yewaldnen) tienen la última palabra y pueden kickear, banear o silenciar miembros o cambiar sus permisos de acceso para garantizar que este entorno se mantenga seguro y para priorizar la integridad de la comunidad de Viossa." + "Siempre se tendrán en cuenta las apelaciones y puedes mandar un MD a cualquier Yewald o abrir un ticket con este comando de YAGPDB /tickets si consideras que un moderador actuó de forma inapropiada." + "Si has sido baneado, habrá instrucciones para apelar esta sanción, pero reflexiona a profundidad sobre el motivo del baneo antes de apelarlo." +discord-rulesPage-rules-controversialTopics-overview-text = md "Las discusiones sobre temas controversiales (política, guerra, entre otros) deben ser dirigidas al canal **#polite**, el cual requiere el rol **@Ike** (que sólo es accesible para los **@Viossadjin** y **@mellandjin**) para ser visto." +discord-rulesPage-rules-controversialTopics-overview-subtext = md "**#feels-and-advice** es para hablar abiertamente de tus sentimientos, pero ponemos el límite en las ideaciones suicidas o violentas. Éstas son cadenas de pensamiento que deben ser manejadas por un terapeuta y no son chistes. No pertenecen aquí por su seriedad." +discord-rulesPage-rules-controversialTopics-section-header = "Regla { $ruleNumber }: #polite e ike" +discord-rulesPage-rules-controversialTopics-section-body = md + "La vida está llena de situaciones complicadas y todos tenemos la necesidad de hablar de ellas. La categoría ike brinda el acceso a un grupo opcional de canales donde se permiten las discusiones de temas pesados, sensibles y potencialmente polémicos con la condición de que los usuarios sean especialmente respetuosos entre sí durante dichas discusiones. Al aceptar el rol ike estás de acuerdo con esta regla y fomentas que los demás hagan lo mismo." + "# Desahogarse vs pedir ayuda" + "A veces uno quiere expresar sus problemas para ser visto y otras veces necesita ayuda para resolverlos. Si estás abierto a uno y no al otro, te sugerimos comunicar esto en la conversación para recibir el tipo de respuesta más adecuado para ti." + "# Violencia y autolesiones" + "A pesar de que se permite hablar de las autolesiones (con el uso apropiado y claro de advertencias de contenido), este servidor no es un recurso de emergencia para la salud mental y no sustituye la ayuda profesional. Pedirle consejos a otros para encontrar apoyo o recursos fuera del servidor está bien, pero pedirles que te tranquilicen en medio de una crisis es inapropiado." + "No debes usar este espacio para:" + "- expresar intenciones o deseos de lastimarte a ti mismo o a alguien más" + "- pedir que te ayuden a evitar lastimarte a ti mismo o a alguien más" + "Al cruzar estos límites estás pidiéndole a los miembros del servidor (incluyendo a los moderadores y al dueño) que cumplan un rol para el cual no han sido entrenados ni equipados. Bajo la discreción de los moderadores esto puede no ser tolerado y resultar en una advertencia, un tiempo fuera, la eliminación del rol **@ike** o la expulsión del servidor." + "Si tienes problemas con pensamientos de esta naturaleza, pero no estás en peligro inmediato, considera buscar asesoramiento. Si estás pasando por una crisis inmediata, llama al **988** (en los Estados Unidos), al **999** (en el Reino Unido) o busca un número de emergencia adecuado para ti. Aquí hay una lista de recursos por país: [](external.new:https://blog.opencounseling.com/suicide-hotlines/)" From adccf7f979c638fa29775d4fd444f53a603ff195 Mon Sep 17 00:00:00 2001 From: TheEnamur Date: Fri, 17 Apr 2026 16:03:31 -0400 Subject: [PATCH 3/7] Update es_LA.ftl Historia del Viossa -> Historia de Viossa --- apps/vdn-static/src/assets/locale/es_LA.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/vdn-static/src/assets/locale/es_LA.ftl b/apps/vdn-static/src/assets/locale/es_LA.ftl index 0e1efe3..7154dee 100644 --- a/apps/vdn-static/src/assets/locale/es_LA.ftl +++ b/apps/vdn-static/src/assets/locale/es_LA.ftl @@ -7,7 +7,7 @@ navbar-resources = "Recursos" navbar-kotoba = "Kotoba" home-sections-whatIsViossa-title = "¿Qué es Viossa?" home-sections-whatIsViossa-body = "Viossa es una lengua pidgin artificial que fue creada en comunidad para simular la formación de idiomas pidgin naturales. Viossa se caracteriza por no tener ningn estandár, por lo que cada hablante desarrolla su propio idiolecto. La pronunciación y la ortografía pueden variar mucho y cumplen un rol importante en la autoexpresión. Viossa se enseña y aprende únicamente por inmersión. Las traducciones están prohibidas en el proceso de aprendizaje." -home-sections-historyOfViossa-title = "Historia del Viossa" +home-sections-historyOfViossa-title = "Historia de Viossa" home-sections-historyOfViossa-body = "Viossa nació como un grupo de Skype en 2014, el cual fue creado por miembros del subreddit r/conlangs como un experimento para simular la formación de un idioma pidgin. Un pidgin es una lengua simple que surge por medio del contacto entre grupos sin una lengua en común. A diferencia de la mayoría de pidgins, que están formados a partir de dos o tres lenguas contribuyentes, Viossa tiene raíces en un gran número de idiomas diversos. Esto se debe a que mucha gente alrededor del mundo se unió para aportar al vocabulario de Viossa." home-sections-community-title = "Comunidad" home-sections-community-body = "La diversidad cultural de sus miembros y la integración de tradiciones de muchas partes del mundo le dan a la comunidad de Viossa una riqueza y valor únicos. La filosofía de su enseñanza promueve la inmersión lingüística y se opone al prescriptivismo, lo que resulta en una cultura tan diversa como el idioma en sí y sus hablantes. Para muchos, sus idiolectos son fundamentales para su forma de expresarse y su identidad. La naturaleza particular de Viossa y la ausencia de significados rígidos en él lo hacen ideal para actividades creativas como escribir poemas o canciones." From 2c63701152d4bdbb0e69ef57e9e1916589e09bd5 Mon Sep 17 00:00:00 2001 From: Benjamin Singleton <19498453+tetrogem@users.noreply.github.com> Date: Fri, 17 Apr 2026 20:18:41 -0500 Subject: [PATCH 4/7] Added typescript to workspace devdeps, removed no unused var rules from tsconfig, made i18n not use top-level await, upgraded packages/made sure they were on compatible versions --- apps/vdn-static/package.json | 8 +- apps/vdn-static/src/i18n/index.ts | 90 ++-- apps/vdn-static/src/main.ts | 5 +- apps/vdn-static/src/typed-router.d.ts | 87 ++- apps/vdn-static/tsconfig.app.json | 55 +- package.json | 3 +- pnpm-lock.yaml | 732 +++++++++++++++----------- 7 files changed, 591 insertions(+), 389 deletions(-) diff --git a/apps/vdn-static/package.json b/apps/vdn-static/package.json index 8bd09d9..5d35406 100644 --- a/apps/vdn-static/package.json +++ b/apps/vdn-static/package.json @@ -18,9 +18,8 @@ "axios": "^1.11.0", "bulma": "^1.0.4", "tailwindcss": "^4.1.6", - "vue": "^3.5.13", "vue-i18n": "^11.1.3", - "vue-router": "^4.5.1" + "vue-router": "^5.0.4" }, "devDependencies": { "@eslint/js": "^9.39.2", @@ -34,10 +33,11 @@ "sass": "^1.87.0", "typescript": "~5.8.3", "typescript-eslint": "^8.55.0", - "unplugin-vue-router": "^0.12.0", + "unplugin-vue-router": "^0.19.2", "vite": "^6.3.5", + "vue": "^3.5.32", "vue-eslint-parser": "^10.2.0", - "vue-tsc": "^2.2.8" + "vue-tsc": "^3.2.6" }, "packageManager": "pnpm@10.11.0" } diff --git a/apps/vdn-static/src/i18n/index.ts b/apps/vdn-static/src/i18n/index.ts index 9a11504..f3906d3 100644 --- a/apps/vdn-static/src/i18n/index.ts +++ b/apps/vdn-static/src/i18n/index.ts @@ -13,6 +13,7 @@ import vpVlFtlSrc from "@/assets/locale/vp_VL.ftl"; import wpVlFtlSrc from "@/assets/locale/wp_VL.ftl"; import type { FluentBundle } from "@fluent/bundle"; import { compileLocale } from "@/vi18n-lib/compile"; +import type { ComputedRef } from "vue"; export const LOCALE_IDS = ["en-US", "vp-VL", "wp-VL"] as const; @@ -143,42 +144,71 @@ function deepReadonly(value: T): DeepReadonly { return value as DeepReadonly; } -const DEFAULT_LOCALE_BUNDLE = unwrap(await loadLocale("en-US", enUsFtlSrc)); -const DEFAULT_LOCALE = unwrap( - setupLocale(DEFAULT_LOCALE_ID, DEFAULT_LOCALE_BUNDLE, undefined), -); +interface I18n { + useLocale: (opt?: UseLocaleOptions) => ComputedRef>; +} -const doItAllForLocale = async ( - localeId: LocaleId, - localeFtlSrc: string, -): Promise> => - deepReadonly( - unwrap( - setupLocale( - localeId, - unwrap(await loadLocale(localeId, localeFtlSrc)), - { bundle: DEFAULT_LOCALE_BUNDLE, locale: DEFAULT_LOCALE }, - ), - ), +async function initI18n(): Promise { + const defaultLocaleBundle = unwrap(await loadLocale("en-US", enUsFtlSrc)); + const defaultLocale = unwrap( + setupLocale(DEFAULT_LOCALE_ID, defaultLocaleBundle, undefined), ); -const [vpVl, wpVl] = await Promise.all([ - doItAllForLocale("vp-VL", vpVlFtlSrc), - doItAllForLocale("wp-VL", wpVlFtlSrc), -]); + const doItAllForLocale = async ( + localeId: LocaleId, + localeFtlSrc: string, + ): Promise> => + deepReadonly( + unwrap( + setupLocale( + localeId, + unwrap(await loadLocale(localeId, localeFtlSrc)), + { bundle: defaultLocaleBundle, locale: defaultLocale }, + ), + ), + ); -const localeIdToLocale = { - "en-US": deepReadonly(DEFAULT_LOCALE), - "vp-VL": vpVl, - "wp-VL": wpVl, -} as const satisfies Record>; + const [vpVl, wpVl] = await Promise.all([ + doItAllForLocale("vp-VL", vpVlFtlSrc), + doItAllForLocale("wp-VL", wpVlFtlSrc), + ]); + + const localeIdToLocale = { + "en-US": deepReadonly(defaultLocale), + "vp-VL": vpVl, + "wp-VL": wpVl, + } as const satisfies Record>; + + const useLocale = (opt: UseLocaleOptions = {}) => + computed>(() => { + const localLocaleId = opt.locale ?? localeId.value; + return localeIdToLocale[localLocaleId]; + }); + + return { useLocale }; +} export interface UseLocaleOptions { locale?: LocaleId; } -export const useLocale = (opt: UseLocaleOptions = {}) => - computed>(() => { - const localLocaleId = opt.locale ?? localeId.value; - return localeIdToLocale[localLocaleId]; - }); +const initI18nPromise = initI18n(); +let i18n: I18n | null = null; + +initI18nPromise.then((x) => { + i18n = x; +}); + +export const onI18nInit = (f: () => void) => { + initI18nPromise.then(f); +}; + +export const useLocale = ( + opt: UseLocaleOptions = {}, +): ComputedRef> => { + if (i18n === null) { + throw new Error("Cannot use i18n before initialized!"); + } + + return i18n.useLocale(opt); +}; diff --git a/apps/vdn-static/src/main.ts b/apps/vdn-static/src/main.ts index 10ea69d..5cf249f 100644 --- a/apps/vdn-static/src/main.ts +++ b/apps/vdn-static/src/main.ts @@ -1,5 +1,8 @@ import { createApp } from "vue"; import App from "./App.vue"; import router from "./router"; +import { onI18nInit } from "./i18n"; -createApp(App).use(router).mount("#app"); +onI18nInit(() => { + createApp(App).use(router).mount("#app"); +}); diff --git a/apps/vdn-static/src/typed-router.d.ts b/apps/vdn-static/src/typed-router.d.ts index d6bc7b8..8b91bc5 100644 --- a/apps/vdn-static/src/typed-router.d.ts +++ b/apps/vdn-static/src/typed-router.d.ts @@ -1,10 +1,15 @@ /* eslint-disable */ /* prettier-ignore */ // @ts-nocheck -// Generated by unplugin-vue-router. ‼️ DO NOT MODIFY THIS FILE ‼️ +// noinspection ES6UnusedImports +// Generated by unplugin-vue-router. !! DO NOT MODIFY THIS FILE !! // It's recommended to commit this file. // Make sure to add this file to your tsconfig.json file as an "includes" or "files" entry. +declare module 'vue-router/auto-resolver' { + export type ParamParserCustom = never +} + declare module 'vue-router/auto-routes' { import type { RouteRecordInfo, @@ -18,9 +23,81 @@ declare module 'vue-router/auto-routes' { * Route name map generated by unplugin-vue-router */ export interface RouteNamedMap { - '/': RouteRecordInfo<'/', '/', Record, Record>, - '/discord/rules': RouteRecordInfo<'/discord/rules', '/discord/rules', Record, Record>, - '/kotoba': RouteRecordInfo<'/kotoba', '/kotoba', Record, Record>, - '/resources': RouteRecordInfo<'/resources', '/resources', Record, Record>, + '/': RouteRecordInfo< + '/', + '/', + Record, + Record, + | never + >, + '/discord/rules': RouteRecordInfo< + '/discord/rules', + '/discord/rules', + Record, + Record, + | never + >, + '/kotoba': RouteRecordInfo< + '/kotoba', + '/kotoba', + Record, + Record, + | never + >, + '/resources': RouteRecordInfo< + '/resources', + '/resources', + Record, + Record, + | never + >, } + + /** + * Route file to route info map by unplugin-vue-router. + * Used by the \`sfc-typed-router\` Volar plugin to automatically type \`useRoute()\`. + * + * Each key is a file path relative to the project root with 2 properties: + * - routes: union of route names of the possible routes when in this page (passed to useRoute<...>()) + * - views: names of nested views (can be passed to ) + * + * @internal + */ + export interface _RouteFileInfoMap { + 'pages/index.vue': { + routes: + | '/' + views: + | never + } + 'pages/discord/rules.vue': { + routes: + | '/discord/rules' + views: + | never + } + 'pages/kotoba.vue': { + routes: + | '/kotoba' + views: + | never + } + 'pages/resources.vue': { + routes: + | '/resources' + views: + | never + } + } + + /** + * Get a union of possible route names in a certain route component file. + * Used by the \`sfc-typed-router\` Volar plugin to automatically type \`useRoute()\`. + * + * @internal + */ + export type _RouteNamesForFilePath = + _RouteFileInfoMap extends Record + ? Info['routes'] + : keyof RouteNamedMap } diff --git a/apps/vdn-static/tsconfig.app.json b/apps/vdn-static/tsconfig.app.json index cdf1230..85ab92d 100644 --- a/apps/vdn-static/tsconfig.app.json +++ b/apps/vdn-static/tsconfig.app.json @@ -1,36 +1,23 @@ { - "extends": "@vue/tsconfig/tsconfig.dom.json", - "compilerOptions": { - "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "erasableSyntaxOnly": true, - "noFallthroughCasesInSwitch": true, - "noUncheckedSideEffectImports": true, - "noUncheckedIndexedAccess": true, - "module": "esnext", - "moduleResolution": "bundler", - "target": "esnext", - "lib": [ - "ESNext", - "DOM", - ], - "rootDir": "src", - "paths": { - "@/*": [ - "./src/*" - ] - }, - }, - "vueCompilerOptions": { - "strictTemplates": true, - }, - "include": [ - "src", - ], - "exclude": [ - "./eslint.config.js" - ] + "extends": "@vue/tsconfig/tsconfig.dom.json", + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + /* Linting */ + "strict": true, + // "noUnusedLocals": true, + // "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true, + "noUncheckedIndexedAccess": true, + "module": "esnext", + "moduleResolution": "bundler", + "target": "esnext", + "lib": ["ESNext", "DOM"], + "rootDir": "src", + "paths": { "@/*": ["./src/*"] }, + }, + "vueCompilerOptions": { "strictTemplates": true }, + "include": ["src"], + "exclude": ["./eslint.config.js"], } diff --git a/package.json b/package.json index a0d36ed..adbf82d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "devDependencies": { - "turbo": "^2.5.4" + "turbo": "^2.5.4", + "typescript": "~5.8.3" }, "packageManager": "pnpm@10.11.0", "scripts": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6a31b66..0dcf1eb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: turbo: specifier: ^2.5.4 version: 2.8.0 + typescript: + specifier: ~5.8.3 + version: 5.8.3 apps/vdb-backend: dependencies: @@ -74,16 +77,16 @@ importers: version: 0.19.1 '@tailwindcss/vite': specifier: ^4.1.6 - version: 4.1.10(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.0)) + version: 4.1.10(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.3)) '@types/node': specifier: ^22.15.31 version: 22.15.31 '@vueuse/components': specifier: ^13.3.0 - version: 13.3.0(vue@3.5.16(typescript@5.8.3)) + version: 13.3.0(vue@3.5.32(typescript@5.8.3)) '@vueuse/core': specifier: ^13.3.0 - version: 13.3.0(vue@3.5.16(typescript@5.8.3)) + version: 13.3.0(vue@3.5.32(typescript@5.8.3)) arktype: specifier: ^2.1.29 version: 2.1.29 @@ -96,15 +99,12 @@ importers: tailwindcss: specifier: ^4.1.6 version: 4.1.10 - vue: - specifier: ^3.5.13 - version: 3.5.16(typescript@5.8.3) vue-i18n: specifier: ^11.1.3 - version: 11.1.5(vue@3.5.16(typescript@5.8.3)) + version: 11.1.5(vue@3.5.32(typescript@5.8.3)) vue-router: - specifier: ^4.5.1 - version: 4.5.1(vue@3.5.16(typescript@5.8.3)) + specifier: ^5.0.4 + version: 5.0.4(@vue/compiler-sfc@3.5.32)(vue@3.5.32(typescript@5.8.3)) devDependencies: '@eslint/js': specifier: ^9.39.2 @@ -114,10 +114,10 @@ importers: version: link:../../libs/common '@vitejs/plugin-vue': specifier: ^5.2.3 - version: 5.2.4(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + version: 5.2.4(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.3))(vue@3.5.32(typescript@5.8.3)) '@vue/tsconfig': specifier: ^0.7.0 - version: 0.7.0(typescript@5.8.3)(vue@3.5.16(typescript@5.8.3)) + version: 0.7.0(typescript@5.8.3)(vue@3.5.32(typescript@5.8.3)) eslint: specifier: ^9.39.2 version: 9.39.2(jiti@2.4.2) @@ -140,17 +140,20 @@ importers: specifier: ^8.55.0 version: 8.55.0(eslint@9.39.2(jiti@2.4.2))(typescript@5.8.3) unplugin-vue-router: - specifier: ^0.12.0 - version: 0.12.0(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3)))(vue@3.5.16(typescript@5.8.3)) + specifier: ^0.19.2 + version: 0.19.2(@vue/compiler-sfc@3.5.32)(vue-router@5.0.4(@vue/compiler-sfc@3.5.32)(vue@3.5.32(typescript@5.8.3)))(vue@3.5.32(typescript@5.8.3)) vite: specifier: ^6.3.5 - version: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.0) + version: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.3) + vue: + specifier: ^3.5.32 + version: 3.5.32(typescript@5.8.3) vue-eslint-parser: specifier: ^10.2.0 version: 10.2.0(eslint@9.39.2(jiti@2.4.2)) vue-tsc: - specifier: ^2.2.8 - version: 2.2.10(typescript@5.8.3) + specifier: ^3.2.6 + version: 3.2.6(typescript@5.8.3) libs/common: dependencies: @@ -177,21 +180,25 @@ packages: '@ark/util@0.56.0': resolution: {integrity: sha512-BghfRC8b9pNs3vBoDJhcta0/c1J1rsoS1+HgVUreMFPdhz/CRAKReAu57YEllNaSy98rWAdY1gE+gFup7OXpgA==} + '@babel/generator@7.29.1': + resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} + engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.27.1': - resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + '@babel/helper-validator-identifier@7.28.5': + resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==} engines: {node: '>=6.9.0'} - '@babel/parser@7.27.5': - resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} + '@babel/parser@7.29.2': + resolution: {integrity: sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/types@7.27.6': - resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} + '@babel/types@7.29.0': + resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} '@esbuild/aix-ppc64@0.25.5': @@ -459,10 +466,16 @@ packages: resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + '@jridgewell/gen-mapping@0.3.8': resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} engines: {node: '>=6.0.0'} + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} @@ -474,20 +487,14 @@ packages: '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} '@npmcli/fs@1.1.1': resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} @@ -894,18 +901,18 @@ packages: vite: ^5.0.0 || ^6.0.0 vue: ^3.2.25 - '@volar/language-core@2.4.14': - resolution: {integrity: sha512-X6beusV0DvuVseaOEy7GoagS4rYHgDHnTrdOj5jeUb49fW5ceQyP9Ej5rBhqgz2wJggl+2fDbbojq1XKaxDi6w==} + '@volar/language-core@2.4.28': + resolution: {integrity: sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==} - '@volar/source-map@2.4.14': - resolution: {integrity: sha512-5TeKKMh7Sfxo8021cJfmBzcjfY1SsXsPMMjMvjY7ivesdnybqqS+GxGAoXHAOUawQTwtdUxgP65Im+dEmvWtYQ==} + '@volar/source-map@2.4.28': + resolution: {integrity: sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==} - '@volar/typescript@2.4.14': - resolution: {integrity: sha512-p8Z6f/bZM3/HyCdRNFZOEEzts51uV8WHeN8Tnfnm2EBv6FDB2TQLzfVx7aJvnl8ofKAOnS64B2O8bImBFaauRw==} + '@volar/typescript@2.4.28': + resolution: {integrity: sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==} - '@vue-macros/common@1.16.1': - resolution: {integrity: sha512-Pn/AWMTjoMYuquepLZP813BIcq8DTZiNCoaceuNlvaYuOTd8DqBZWc5u0uOMQZMInwME1mdSmmBAcTluiV9Jtg==} - engines: {node: '>=16.14.0'} + '@vue-macros/common@3.1.2': + resolution: {integrity: sha512-h9t4ArDdniO9ekYHAD95t9AZcAbb19lEGK+26iAjUODOIJKmObDNBSe4+6ELQAA3vtYiFPPBtHh7+cQCKi3Dng==} + engines: {node: '>=20.19.0'} peerDependencies: vue: ^2.7.0 || ^3.2.25 peerDependenciesMeta: @@ -915,46 +922,56 @@ packages: '@vue/compiler-core@3.5.16': resolution: {integrity: sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==} + '@vue/compiler-core@3.5.32': + resolution: {integrity: sha512-4x74Tbtqnda8s/NSD6e1Dr5p1c8HdMU5RWSjMSUzb8RTcUQqevDCxVAitcLBKT+ie3o0Dl9crc/S/opJM7qBGQ==} + '@vue/compiler-dom@3.5.16': resolution: {integrity: sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==} - '@vue/compiler-sfc@3.5.16': - resolution: {integrity: sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw==} + '@vue/compiler-dom@3.5.32': + resolution: {integrity: sha512-ybHAu70NtiEI1fvAUz3oXZqkUYEe5J98GjMDpTGl5iHb0T15wQYLR4wE3h9xfuTNA+Cm2f4czfe8B4s+CCH57Q==} - '@vue/compiler-ssr@3.5.16': - resolution: {integrity: sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A==} + '@vue/compiler-sfc@3.5.32': + resolution: {integrity: sha512-8UYUYo71cP/0YHMO814TRZlPuUUw3oifHuMR7Wp9SNoRSrxRQnhMLNlCeaODNn6kNTJsjFoQ/kqIj4qGvya4Xg==} - '@vue/compiler-vue2@2.7.16': - resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} + '@vue/compiler-ssr@3.5.32': + resolution: {integrity: sha512-Gp4gTs22T3DgRotZ8aA/6m2jMR+GMztvBXUBEUOYOcST+giyGWJ4WvFd7QLHBkzTxkfOt8IELKNdpzITLbA2rw==} '@vue/devtools-api@6.6.4': resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} - '@vue/language-core@2.2.10': - resolution: {integrity: sha512-+yNoYx6XIKuAO8Mqh1vGytu8jkFEOH5C8iOv3i8Z/65A7x9iAOXA97Q+PqZ3nlm2lxf5rOJuIGI/wDtx/riNYw==} + '@vue/devtools-api@8.1.1': + resolution: {integrity: sha512-bsDMJ07b3GN1puVwJb/fyFnj/U2imyswK5UQVLZwVl7O05jDrt6BHxeG5XffmOOdasOj/bOmIjxJvGPxU7pcqw==} + + '@vue/devtools-kit@8.1.1': + resolution: {integrity: sha512-gVBaBv++i+adg4JpH71k9ppl4soyR7Y2McEqO5YNgv0BI1kMZ7BDX5gnwkZ5COYgiCyhejZG+yGNrBAjj6Coqg==} + + '@vue/devtools-shared@8.1.1': + resolution: {integrity: sha512-+h4ttmJYl/txpxHKaoZcaKpC+pvckgLzIDiSQlaQ7kKthKh8KuwoLW2D8hPJEnqKzXOvu15UHEoGyngAXCz0EQ==} + + '@vue/language-core@3.2.6': + resolution: {integrity: sha512-xYYYX3/aVup576tP/23sEUpgiEnujrENaoNRbaozC1/MA9I6EGFQRJb4xrt/MmUCAGlxTKL2RmT8JLTPqagCkg==} + + '@vue/reactivity@3.5.32': + resolution: {integrity: sha512-/ORasxSGvZ6MN5gc+uE364SxFdJ0+WqVG0CENXaGW58TOCdrAW76WWaplDtECeS1qphvtBZtR+3/o1g1zL4xPQ==} + + '@vue/runtime-core@3.5.32': + resolution: {integrity: sha512-pDrXCejn4UpFDFmMd27AcJEbHaLemaE5o4pbb7sLk79SRIhc6/t34BQA7SGNgYtbMnvbF/HHOftYBgFJtUoJUQ==} + + '@vue/runtime-dom@3.5.32': + resolution: {integrity: sha512-1CDVv7tv/IV13V8Nip1k/aaObVbWqRlVCVezTwx3K07p7Vxossp5JU1dcPNhJk3w347gonIUT9jQOGutyJrSVQ==} + + '@vue/server-renderer@3.5.32': + resolution: {integrity: sha512-IOjm2+JQwRFS7W28HNuJeXQle9KdZbODFY7hFGVtnnghF51ta20EWAZJHX+zLGtsHhaU6uC9BGPV52KVpYryMQ==} peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@vue/reactivity@3.5.16': - resolution: {integrity: sha512-FG5Q5ee/kxhIm1p2bykPpPwqiUBV3kFySsHEQha5BJvjXdZTUfmya7wP7zC39dFuZAcf/PD5S4Lni55vGLMhvA==} - - '@vue/runtime-core@3.5.16': - resolution: {integrity: sha512-bw5Ykq6+JFHYxrQa7Tjr+VSzw7Dj4ldR/udyBZbq73fCdJmyy5MPIFR9IX/M5Qs+TtTjuyUTCnmK3lWWwpAcFQ==} - - '@vue/runtime-dom@3.5.16': - resolution: {integrity: sha512-T1qqYJsG2xMGhImRUV9y/RseB9d0eCYZQ4CWca9ztCuiPj/XWNNN+lkNBuzVbia5z4/cgxdL28NoQCvC0Xcfww==} - - '@vue/server-renderer@3.5.16': - resolution: {integrity: sha512-BrX0qLiv/WugguGsnQUJiYOE0Fe5mZTwi6b7X/ybGB0vfrPH9z0gD/Y6WOR1sGCgX4gc25L1RYS5eYQKDMoNIg==} - peerDependencies: - vue: 3.5.16 + vue: 3.5.32 '@vue/shared@3.5.16': resolution: {integrity: sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==} + '@vue/shared@3.5.32': + resolution: {integrity: sha512-ksNyrmRQzWJJ8n3cRDuSF7zNNontuJg1YHnmWRJd2AMu8Ij2bqwiiri2lH5rHtYPZjj4STkNcgcmiQqlOjiYGg==} + '@vue/tsconfig@0.7.0': resolution: {integrity: sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==} peerDependencies: @@ -1001,6 +1018,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + engines: {node: '>=0.4.0'} + hasBin: true + agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} @@ -1020,8 +1042,8 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - alien-signals@1.0.13: - resolution: {integrity: sha512-OGj9yyTnJEttvzhTUWuscOvtqxq5vrhF7vL9oS0xJ2mK0ItPYP1/y+vCFebfxoEyAz0++1AIwJ5CMr+Fk3nDmg==} + alien-signals@3.1.2: + resolution: {integrity: sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==} ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -1068,13 +1090,13 @@ packages: resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} engines: {node: '>=8'} - ast-kit@1.4.3: - resolution: {integrity: sha512-MdJqjpodkS5J149zN0Po+HPshkTdUyrvF7CKTafUgv69vBSPtncrj+3IiUgqdd7ElIEkbeXCsEouBUwLrw9Ilg==} - engines: {node: '>=16.14.0'} + ast-kit@2.2.0: + resolution: {integrity: sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==} + engines: {node: '>=20.19.0'} - ast-walker-scope@0.6.2: - resolution: {integrity: sha512-1UWOyC50xI3QZkRuDj6PqDtpm1oHWtYs+NQGwqL/2R11eN3Q81PHAHPM0SWW3BNQm53UDwS//Jv8L4CCVLM1bQ==} - engines: {node: '>=16.14.0'} + ast-walker-scope@0.8.3: + resolution: {integrity: sha512-cbdCP0PGOBq0ASG+sjnKIoYkWMKhhz+F/h9pRexUdX2Hd38+WOlBkRKlqkGOSm0YQpcFMQBJeK4WspUAkwsEdg==} + engines: {node: '>=20.19.0'} asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -1102,6 +1124,9 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + birpc@2.9.0: + resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==} + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -1166,6 +1191,10 @@ packages: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} + chokidar@5.0.0: + resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} + engines: {node: '>= 20.19.0'} + chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} @@ -1240,8 +1269,8 @@ packages: engines: {node: '>=4'} hasBin: true - csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} csv-parser@3.2.0: resolution: {integrity: sha512-fgKbp+AJbn1h2dcAHKIdKNSSjfp43BZZykXsCjzALjKy80VXQNHPFJ6T9Afwdzoj24aMkq8GwDS7KGcDPpejrA==} @@ -1255,9 +1284,6 @@ packages: dayjs@1.11.13: resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} - de-indent@1.0.2: - resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} - debug@4.4.1: resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} engines: {node: '>=6.0'} @@ -1360,6 +1386,10 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} + env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} @@ -1474,8 +1504,8 @@ packages: resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} engines: {node: '>= 18'} - exsolve@1.0.5: - resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==} + exsolve@1.0.8: + resolution: {integrity: sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==} extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -1483,19 +1513,12 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} - fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fastq@1.19.1: - resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - fdir@6.4.5: resolution: {integrity: sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==} peerDependencies: @@ -1625,10 +1648,6 @@ packages: github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} @@ -1703,9 +1722,8 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} http-cache-semantics@4.2.0: resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} @@ -1844,6 +1862,11 @@ packages: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + json-bigint@1.0.0: resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} @@ -1938,8 +1961,8 @@ packages: resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==} engines: {node: '>= 12.0.0'} - local-pkg@1.1.1: - resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} + local-pkg@1.1.2: + resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} engines: {node: '>=14'} locate-path@6.0.0: @@ -1960,13 +1983,16 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} - magic-string-ast@0.7.1: - resolution: {integrity: sha512-ub9iytsEbT7Yw/Pd29mSo/cNQpaEu67zR1VVcXDiYjSFwzeBxNdTd0FMnSslLQXiRj8uGPzwsaoefrMD5XAmdw==} - engines: {node: '>=16.14.0'} + magic-string-ast@1.0.3: + resolution: {integrity: sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA==} + engines: {node: '>=20.19.0'} magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} + magic-string@0.30.21: + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} + make-fetch-happen@9.1.0: resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} engines: {node: '>= 10'} @@ -1983,10 +2009,6 @@ packages: resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} engines: {node: '>=18'} - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} @@ -2078,8 +2100,8 @@ packages: engines: {node: '>=10'} hasBin: true - mlly@1.7.4: - resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} + mlly@1.8.2: + resolution: {integrity: sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA==} ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -2221,6 +2243,9 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + perfect-debounce@2.1.0: + resolution: {integrity: sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -2239,8 +2264,8 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - pkg-types@2.1.0: - resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} possible-typed-array-names@1.1.0: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} @@ -2250,6 +2275,10 @@ packages: resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} engines: {node: '>=4'} + postcss@8.5.10: + resolution: {integrity: sha512-pMMHxBOZKFU6HgAZ4eyGnwXF/EvPGGqUr0MnZ5+99485wwW41kW91A4LOGxSHhgugZmSChL5AlElNdwlNgcnLQ==} + engines: {node: ^10 || ^12 || >=14} + postcss@8.5.4: resolution: {integrity: sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==} engines: {node: ^10 || ^12 || >=14} @@ -2257,6 +2286,7 @@ packages: prebuild-install@7.1.3: resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} engines: {node: '>=10'} + deprecated: No longer maintained. Please contact the author of the relevant native addon; alternatives are available. hasBin: true prelude-ls@1.2.1: @@ -2298,11 +2328,8 @@ packages: resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} - quansync@0.2.10: - resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} @@ -2324,6 +2351,10 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} + readdirp@5.0.0: + resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} + engines: {node: '>= 20.19.0'} + reflect-metadata@0.2.2: resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} @@ -2342,10 +2373,6 @@ packages: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} - reusify@1.1.0: - resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} deprecated: Rimraf versions prior to v4 are no longer supported @@ -2365,9 +2392,6 @@ packages: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -2699,8 +2723,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - ufo@1.6.1: - resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} + ufo@1.6.3: + resolution: {integrity: sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==} undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} @@ -2715,22 +2739,28 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unplugin-utils@0.2.4: - resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} - engines: {node: '>=18.12.0'} + unplugin-utils@0.3.1: + resolution: {integrity: sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==} + engines: {node: '>=20.19.0'} - unplugin-vue-router@0.12.0: - resolution: {integrity: sha512-xjgheKU0MegvXQcy62GVea0LjyOdMxN0/QH+ijN29W62ZlMhG7o7K+0AYqfpprvPwpWtuRjiyC5jnV2SxWye2w==} + unplugin-vue-router@0.19.2: + resolution: {integrity: sha512-u5dgLBarxE5cyDK/hzJGfpCTLIAyiTXGlo85COuD4Nssj6G7NxS+i9mhCWz/1p/ud1eMwdcUbTXehQe41jYZUA==} + deprecated: 'Merged into vuejs/router. Migrate: https://router.vuejs.org/guide/migration/v4-to-v5.html' peerDependencies: - vue-router: ^4.4.0 + '@vue/compiler-sfc': ^3.5.17 + vue-router: ^4.6.0 peerDependenciesMeta: vue-router: optional: true - unplugin@2.3.5: - resolution: {integrity: sha512-RyWSb5AHmGtjjNQ6gIlA67sHOsWpsbWpwDokLwTcejVdOjEkJZh7QKu14J00gDDVSh8kGH4KYC/TNBceXFZhtw==} + unplugin@2.3.11: + resolution: {integrity: sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==} engines: {node: '>=18.12.0'} + unplugin@3.0.0: + resolution: {integrity: sha512-0Mqk3AT2TZCXWKdcoaufeXNukv2mTrEZExeXlHIOZXdqYoHHr4n51pymnwV8x2BOVxwXbK2HLlI7usrqMpycdg==} + engines: {node: ^20.19.0 || >=22.12.0} + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -2808,19 +2838,29 @@ packages: peerDependencies: vue: ^3.0.0 - vue-router@4.5.1: - resolution: {integrity: sha512-ogAF3P97NPm8fJsE4by9dwSYtDwXIY1nFY9T6DyQnGHd1E2Da94w9JIolpe42LJGIl0DwOHBi8TcRPlPGwbTtw==} + vue-router@5.0.4: + resolution: {integrity: sha512-lCqDLCI2+fKVRl2OzXuzdSWmxXFLQRxQbmHugnRpTMyYiT+hNaycV0faqG5FBHDXoYrZ6MQcX87BvbY8mQ20Bg==} peerDependencies: - vue: ^3.2.0 + '@pinia/colada': '>=0.21.2' + '@vue/compiler-sfc': ^3.5.17 + pinia: ^3.0.4 + vue: ^3.5.0 + peerDependenciesMeta: + '@pinia/colada': + optional: true + '@vue/compiler-sfc': + optional: true + pinia: + optional: true - vue-tsc@2.2.10: - resolution: {integrity: sha512-jWZ1xSaNbabEV3whpIDMbjVSVawjAyW+x1n3JeGQo7S0uv2n9F/JMgWW90tGWNFRKya4YwKMZgCtr0vRAM7DeQ==} + vue-tsc@3.2.6: + resolution: {integrity: sha512-gYW/kWI0XrwGzd0PKc7tVB/qpdeAkIZLNZb10/InizkQjHjnT8weZ/vBarZoj4kHKbUTZT/bAVgoOr8x4NsQ/Q==} hasBin: true peerDependencies: typescript: '>=5.0.0' - vue@3.5.16: - resolution: {integrity: sha512-rjOV2ecxMd5SiAmof2xzh2WxntRcigkX/He4YFJ6WdRvVUrbt6DxC1Iujh10XLl8xCDRDtGKMeO3D+pRQ1PP9w==} + vue@3.5.32: + resolution: {integrity: sha512-vM4z4Q9tTafVfMAK7IVzmxg34rSzTFMyIe0UUEijUCkn9+23lj0WRfA83dg7eQZIUlgOSGrkViIaCfqSAUXsMw==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -2882,8 +2922,8 @@ packages: resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==} engines: {node: '>=18'} - yaml@2.8.0: - resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} + yaml@2.8.3: + resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==} engines: {node: '>= 14.6'} hasBin: true @@ -2915,18 +2955,26 @@ snapshots: '@ark/util@0.56.0': {} + '@babel/generator@7.29.1': + dependencies: + '@babel/parser': 7.29.2 + '@babel/types': 7.29.0 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + '@babel/helper-string-parser@7.27.1': {} - '@babel/helper-validator-identifier@7.27.1': {} + '@babel/helper-validator-identifier@7.28.5': {} - '@babel/parser@7.27.5': + '@babel/parser@7.29.2': dependencies: - '@babel/types': 7.27.6 + '@babel/types': 7.29.0 - '@babel/types@7.27.6': + '@babel/types@7.29.0': dependencies: '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 + '@babel/helper-validator-identifier': 7.28.5 '@esbuild/aix-ppc64@0.25.5': optional: true @@ -3123,10 +3171,20 @@ snapshots: dependencies: minipass: 7.1.2 + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + '@jridgewell/gen-mapping@0.3.8': dependencies: '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.8 '@jridgewell/trace-mapping': 0.3.25 '@jridgewell/resolve-uri@3.1.2': {} @@ -3135,22 +3193,17 @@ snapshots: '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/sourcemap-codec@1.5.5': {} + '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.5.5 - '@nodelib/fs.scandir@2.1.5': + '@jridgewell/trace-mapping@0.3.31': dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.1 + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 '@npmcli/fs@1.1.1': dependencies: @@ -3354,12 +3407,12 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.1.10 '@tailwindcss/oxide-win32-x64-msvc': 4.1.10 - '@tailwindcss/vite@4.1.10(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.0))': + '@tailwindcss/vite@4.1.10(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.3))': dependencies: '@tailwindcss/node': 4.1.10 '@tailwindcss/oxide': 4.1.10 tailwindcss: 4.1.10 - vite: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.0) + vite: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.3) '@tootallnate/once@1.1.2': optional: true @@ -3510,131 +3563,150 @@ snapshots: '@typescript-eslint/types': 8.55.0 eslint-visitor-keys: 4.2.1 - '@vitejs/plugin-vue@5.2.4(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': + '@vitejs/plugin-vue@5.2.4(vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.3))(vue@3.5.32(typescript@5.8.3))': dependencies: - vite: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.0) - vue: 3.5.16(typescript@5.8.3) + vite: 6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.3) + vue: 3.5.32(typescript@5.8.3) - '@volar/language-core@2.4.14': + '@volar/language-core@2.4.28': dependencies: - '@volar/source-map': 2.4.14 + '@volar/source-map': 2.4.28 - '@volar/source-map@2.4.14': {} + '@volar/source-map@2.4.28': {} - '@volar/typescript@2.4.14': + '@volar/typescript@2.4.28': dependencies: - '@volar/language-core': 2.4.14 + '@volar/language-core': 2.4.28 path-browserify: 1.0.1 vscode-uri: 3.1.0 - '@vue-macros/common@1.16.1(vue@3.5.16(typescript@5.8.3))': + '@vue-macros/common@3.1.2(vue@3.5.32(typescript@5.8.3))': dependencies: - '@vue/compiler-sfc': 3.5.16 - ast-kit: 1.4.3 - local-pkg: 1.1.1 - magic-string-ast: 0.7.1 - pathe: 2.0.3 - picomatch: 4.0.2 + '@vue/compiler-sfc': 3.5.32 + ast-kit: 2.2.0 + local-pkg: 1.1.2 + magic-string-ast: 1.0.3 + unplugin-utils: 0.3.1 optionalDependencies: - vue: 3.5.16(typescript@5.8.3) + vue: 3.5.32(typescript@5.8.3) '@vue/compiler-core@3.5.16': dependencies: - '@babel/parser': 7.27.5 + '@babel/parser': 7.29.2 '@vue/shared': 3.5.16 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 + '@vue/compiler-core@3.5.32': + dependencies: + '@babel/parser': 7.29.2 + '@vue/shared': 3.5.32 + entities: 7.0.1 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + '@vue/compiler-dom@3.5.16': dependencies: '@vue/compiler-core': 3.5.16 '@vue/shared': 3.5.16 - '@vue/compiler-sfc@3.5.16': + '@vue/compiler-dom@3.5.32': dependencies: - '@babel/parser': 7.27.5 - '@vue/compiler-core': 3.5.16 - '@vue/compiler-dom': 3.5.16 - '@vue/compiler-ssr': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/compiler-core': 3.5.32 + '@vue/shared': 3.5.32 + + '@vue/compiler-sfc@3.5.32': + dependencies: + '@babel/parser': 7.29.2 + '@vue/compiler-core': 3.5.32 + '@vue/compiler-dom': 3.5.32 + '@vue/compiler-ssr': 3.5.32 + '@vue/shared': 3.5.32 estree-walker: 2.0.2 - magic-string: 0.30.17 - postcss: 8.5.4 + magic-string: 0.30.21 + postcss: 8.5.10 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.16': + '@vue/compiler-ssr@3.5.32': dependencies: - '@vue/compiler-dom': 3.5.16 - '@vue/shared': 3.5.16 - - '@vue/compiler-vue2@2.7.16': - dependencies: - de-indent: 1.0.2 - he: 1.2.0 + '@vue/compiler-dom': 3.5.32 + '@vue/shared': 3.5.32 '@vue/devtools-api@6.6.4': {} - '@vue/language-core@2.2.10(typescript@5.8.3)': + '@vue/devtools-api@8.1.1': dependencies: - '@volar/language-core': 2.4.14 + '@vue/devtools-kit': 8.1.1 + + '@vue/devtools-kit@8.1.1': + dependencies: + '@vue/devtools-shared': 8.1.1 + birpc: 2.9.0 + hookable: 5.5.3 + perfect-debounce: 2.1.0 + + '@vue/devtools-shared@8.1.1': {} + + '@vue/language-core@3.2.6': + dependencies: + '@volar/language-core': 2.4.28 '@vue/compiler-dom': 3.5.16 - '@vue/compiler-vue2': 2.7.16 '@vue/shared': 3.5.16 - alien-signals: 1.0.13 - minimatch: 9.0.5 + alien-signals: 3.1.2 muggle-string: 0.4.1 path-browserify: 1.0.1 - optionalDependencies: - typescript: 5.8.3 + picomatch: 4.0.3 - '@vue/reactivity@3.5.16': + '@vue/reactivity@3.5.32': dependencies: - '@vue/shared': 3.5.16 + '@vue/shared': 3.5.32 - '@vue/runtime-core@3.5.16': + '@vue/runtime-core@3.5.32': dependencies: - '@vue/reactivity': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/reactivity': 3.5.32 + '@vue/shared': 3.5.32 - '@vue/runtime-dom@3.5.16': + '@vue/runtime-dom@3.5.32': dependencies: - '@vue/reactivity': 3.5.16 - '@vue/runtime-core': 3.5.16 - '@vue/shared': 3.5.16 - csstype: 3.1.3 + '@vue/reactivity': 3.5.32 + '@vue/runtime-core': 3.5.32 + '@vue/shared': 3.5.32 + csstype: 3.2.3 - '@vue/server-renderer@3.5.16(vue@3.5.16(typescript@5.8.3))': + '@vue/server-renderer@3.5.32(vue@3.5.32(typescript@5.8.3))': dependencies: - '@vue/compiler-ssr': 3.5.16 - '@vue/shared': 3.5.16 - vue: 3.5.16(typescript@5.8.3) + '@vue/compiler-ssr': 3.5.32 + '@vue/shared': 3.5.32 + vue: 3.5.32(typescript@5.8.3) '@vue/shared@3.5.16': {} - '@vue/tsconfig@0.7.0(typescript@5.8.3)(vue@3.5.16(typescript@5.8.3))': + '@vue/shared@3.5.32': {} + + '@vue/tsconfig@0.7.0(typescript@5.8.3)(vue@3.5.32(typescript@5.8.3))': optionalDependencies: typescript: 5.8.3 - vue: 3.5.16(typescript@5.8.3) + vue: 3.5.32(typescript@5.8.3) - '@vueuse/components@13.3.0(vue@3.5.16(typescript@5.8.3))': + '@vueuse/components@13.3.0(vue@3.5.32(typescript@5.8.3))': dependencies: - '@vueuse/core': 13.3.0(vue@3.5.16(typescript@5.8.3)) - '@vueuse/shared': 13.3.0(vue@3.5.16(typescript@5.8.3)) - vue: 3.5.16(typescript@5.8.3) + '@vueuse/core': 13.3.0(vue@3.5.32(typescript@5.8.3)) + '@vueuse/shared': 13.3.0(vue@3.5.32(typescript@5.8.3)) + vue: 3.5.32(typescript@5.8.3) - '@vueuse/core@13.3.0(vue@3.5.16(typescript@5.8.3))': + '@vueuse/core@13.3.0(vue@3.5.32(typescript@5.8.3))': dependencies: '@types/web-bluetooth': 0.0.21 '@vueuse/metadata': 13.3.0 - '@vueuse/shared': 13.3.0(vue@3.5.16(typescript@5.8.3)) - vue: 3.5.16(typescript@5.8.3) + '@vueuse/shared': 13.3.0(vue@3.5.32(typescript@5.8.3)) + vue: 3.5.32(typescript@5.8.3) '@vueuse/metadata@13.3.0': {} - '@vueuse/shared@13.3.0(vue@3.5.16(typescript@5.8.3))': + '@vueuse/shared@13.3.0(vue@3.5.32(typescript@5.8.3))': dependencies: - vue: 3.5.16(typescript@5.8.3) + vue: 3.5.32(typescript@5.8.3) abbrev@1.1.1: optional: true @@ -3650,6 +3722,8 @@ snapshots: acorn@8.15.0: {} + acorn@8.16.0: {} + agent-base@6.0.2: dependencies: debug: 4.4.3 @@ -3677,7 +3751,7 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - alien-signals@1.0.13: {} + alien-signals@3.1.2: {} ansi-regex@5.0.1: {} @@ -3716,15 +3790,15 @@ snapshots: arrify@2.0.1: {} - ast-kit@1.4.3: + ast-kit@2.2.0: dependencies: - '@babel/parser': 7.27.5 + '@babel/parser': 7.29.2 pathe: 2.0.3 - ast-walker-scope@0.6.2: + ast-walker-scope@0.8.3: dependencies: - '@babel/parser': 7.27.5 - ast-kit: 1.4.3 + '@babel/parser': 7.29.2 + ast-kit: 2.2.0 asynckit@0.4.0: {} @@ -3756,6 +3830,8 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 + birpc@2.9.0: {} + bl@4.1.0: dependencies: buffer: 5.7.1 @@ -3790,6 +3866,7 @@ snapshots: braces@3.0.3: dependencies: fill-range: 7.1.1 + optional: true buffer-equal-constant-time@1.0.1: {} @@ -3859,6 +3936,10 @@ snapshots: dependencies: readdirp: 4.1.2 + chokidar@5.0.0: + dependencies: + readdirp: 5.0.0 + chownr@1.1.4: {} chownr@2.0.0: {} @@ -3916,7 +3997,7 @@ snapshots: cssesc@3.0.0: {} - csstype@3.1.3: {} + csstype@3.2.3: {} csv-parser@3.2.0: {} @@ -3924,8 +4005,6 @@ snapshots: dayjs@1.11.13: {} - de-indent@1.0.2: {} - debug@4.4.1: dependencies: ms: 2.1.3 @@ -4000,6 +4079,8 @@ snapshots: entities@4.5.0: {} + entities@7.0.1: {} + env-paths@2.2.1: optional: true @@ -4176,28 +4257,16 @@ snapshots: transitivePeerDependencies: - supports-color - exsolve@1.0.5: {} + exsolve@1.0.8: {} extend@3.0.2: {} fast-deep-equal@3.1.3: {} - fast-glob@3.3.3: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} - fastq@1.19.1: - dependencies: - reusify: 1.1.0 - fdir@6.4.5(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -4220,6 +4289,7 @@ snapshots: fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 + optional: true finalhandler@2.1.0: dependencies: @@ -4343,10 +4413,6 @@ snapshots: github-from-package@0.0.0: {} - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - glob-parent@6.0.2: dependencies: is-glob: 4.0.3 @@ -4448,7 +4514,7 @@ snapshots: dependencies: function-bind: 1.1.2 - he@1.2.0: {} + hookable@5.5.3: {} http-cache-semantics@4.2.0: optional: true @@ -4545,7 +4611,8 @@ snapshots: is-lambda@1.0.1: optional: true - is-number@7.0.0: {} + is-number@7.0.0: + optional: true is-promise@4.0.0: {} @@ -4579,6 +4646,8 @@ snapshots: dependencies: argparse: 2.0.1 + jsesc@3.1.0: {} + json-bigint@1.0.0: dependencies: bignumber.js: 9.3.1 @@ -4656,11 +4725,11 @@ snapshots: lightningcss-win32-arm64-msvc: 1.30.1 lightningcss-win32-x64-msvc: 1.30.1 - local-pkg@1.1.1: + local-pkg@1.1.2: dependencies: - mlly: 1.7.4 - pkg-types: 2.1.0 - quansync: 0.2.10 + mlly: 1.8.2 + pkg-types: 2.3.0 + quansync: 0.2.11 locate-path@6.0.0: dependencies: @@ -4677,14 +4746,18 @@ snapshots: yallist: 4.0.0 optional: true - magic-string-ast@0.7.1: + magic-string-ast@1.0.3: dependencies: - magic-string: 0.30.17 + magic-string: 0.30.21 magic-string@0.30.17: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + magic-string@0.30.21: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + make-fetch-happen@9.1.0: dependencies: agentkeepalive: 4.6.0 @@ -4714,12 +4787,11 @@ snapshots: merge-descriptors@2.0.0: {} - merge2@1.4.1: {} - micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 + optional: true mime-db@1.52.0: {} @@ -4801,12 +4873,12 @@ snapshots: mkdirp@3.0.1: {} - mlly@1.7.4: + mlly@1.8.2: dependencies: - acorn: 8.15.0 + acorn: 8.16.0 pathe: 2.0.3 pkg-types: 1.3.1 - ufo: 1.6.1 + ufo: 1.6.3 ms@2.1.3: {} @@ -4945,9 +5017,12 @@ snapshots: pathe@2.0.3: {} + perfect-debounce@2.1.0: {} + picocolors@1.1.1: {} - picomatch@2.3.1: {} + picomatch@2.3.1: + optional: true picomatch@4.0.2: {} @@ -4956,13 +5031,13 @@ snapshots: pkg-types@1.3.1: dependencies: confbox: 0.1.8 - mlly: 1.7.4 + mlly: 1.8.2 pathe: 2.0.3 - pkg-types@2.1.0: + pkg-types@2.3.0: dependencies: confbox: 0.2.2 - exsolve: 1.0.5 + exsolve: 1.0.8 pathe: 2.0.3 possible-typed-array-names@1.1.0: {} @@ -4972,6 +5047,12 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss@8.5.10: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + postcss@8.5.4: dependencies: nanoid: 3.3.11 @@ -5024,9 +5105,7 @@ snapshots: dependencies: side-channel: 1.1.0 - quansync@0.2.10: {} - - queue-microtask@1.2.3: {} + quansync@0.2.11: {} range-parser@1.2.1: {} @@ -5052,6 +5131,8 @@ snapshots: readdirp@4.1.2: {} + readdirp@5.0.0: {} + reflect-metadata@0.2.2: {} require-directory@2.1.1: {} @@ -5063,8 +5144,6 @@ snapshots: retry@0.12.0: optional: true - reusify@1.1.0: {} - rimraf@3.0.2: dependencies: glob: 7.2.3 @@ -5111,10 +5190,6 @@ snapshots: transitivePeerDependencies: - supports-color - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - safe-buffer@5.2.1: {} safer-buffer@2.1.2: {} @@ -5358,6 +5433,7 @@ snapshots: to-regex-range@5.0.1: dependencies: is-number: 7.0.0 + optional: true toidentifier@1.0.1: {} @@ -5460,7 +5536,7 @@ snapshots: typescript@5.8.3: {} - ufo@1.6.1: {} + ufo@1.6.3: {} undici-types@6.21.0: {} @@ -5476,37 +5552,47 @@ snapshots: unpipe@1.0.0: {} - unplugin-utils@0.2.4: + unplugin-utils@0.3.1: dependencies: pathe: 2.0.3 - picomatch: 4.0.2 + picomatch: 4.0.3 - unplugin-vue-router@0.12.0(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3)))(vue@3.5.16(typescript@5.8.3)): + unplugin-vue-router@0.19.2(@vue/compiler-sfc@3.5.32)(vue-router@5.0.4(@vue/compiler-sfc@3.5.32)(vue@3.5.32(typescript@5.8.3)))(vue@3.5.32(typescript@5.8.3)): dependencies: - '@babel/types': 7.27.6 - '@vue-macros/common': 1.16.1(vue@3.5.16(typescript@5.8.3)) - ast-walker-scope: 0.6.2 - chokidar: 4.0.3 - fast-glob: 3.3.3 + '@babel/generator': 7.29.1 + '@vue-macros/common': 3.1.2(vue@3.5.32(typescript@5.8.3)) + '@vue/compiler-sfc': 3.5.32 + '@vue/language-core': 3.2.6 + ast-walker-scope: 0.8.3 + chokidar: 5.0.0 json5: 2.2.3 - local-pkg: 1.1.1 - magic-string: 0.30.17 - micromatch: 4.0.8 - mlly: 1.7.4 + local-pkg: 1.1.2 + magic-string: 0.30.21 + mlly: 1.8.2 + muggle-string: 0.4.1 pathe: 2.0.3 + picomatch: 4.0.3 scule: 1.3.0 - unplugin: 2.3.5 - unplugin-utils: 0.2.4 - yaml: 2.8.0 + tinyglobby: 0.2.15 + unplugin: 2.3.11 + unplugin-utils: 0.3.1 + yaml: 2.8.3 optionalDependencies: - vue-router: 4.5.1(vue@3.5.16(typescript@5.8.3)) + vue-router: 5.0.4(@vue/compiler-sfc@3.5.32)(vue@3.5.32(typescript@5.8.3)) transitivePeerDependencies: - vue - unplugin@2.3.5: + unplugin@2.3.11: dependencies: - acorn: 8.15.0 - picomatch: 4.0.2 + '@jridgewell/remapping': 2.3.5 + acorn: 8.16.0 + picomatch: 4.0.3 + webpack-virtual-modules: 0.6.2 + + unplugin@3.0.0: + dependencies: + '@jridgewell/remapping': 2.3.5 + picomatch: 4.0.3 webpack-virtual-modules: 0.6.2 uri-js@4.4.1: @@ -5523,7 +5609,7 @@ snapshots: vary@1.1.2: {} - vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.0): + vite@6.3.5(@types/node@22.15.31)(jiti@2.4.2)(lightningcss@1.30.1)(sass@1.89.2)(tsx@4.20.2)(yaml@2.8.3): dependencies: esbuild: 0.25.5 fdir: 6.4.5(picomatch@4.0.2) @@ -5538,7 +5624,7 @@ snapshots: lightningcss: 1.30.1 sass: 1.89.2 tsx: 4.20.2 - yaml: 2.8.0 + yaml: 2.8.3 vscode-uri@3.1.0: {} @@ -5554,31 +5640,49 @@ snapshots: transitivePeerDependencies: - supports-color - vue-i18n@11.1.5(vue@3.5.16(typescript@5.8.3)): + vue-i18n@11.1.5(vue@3.5.32(typescript@5.8.3)): dependencies: '@intlify/core-base': 11.1.5 '@intlify/shared': 11.1.5 '@vue/devtools-api': 6.6.4 - vue: 3.5.16(typescript@5.8.3) + vue: 3.5.32(typescript@5.8.3) - vue-router@4.5.1(vue@3.5.16(typescript@5.8.3)): + vue-router@5.0.4(@vue/compiler-sfc@3.5.32)(vue@3.5.32(typescript@5.8.3)): dependencies: - '@vue/devtools-api': 6.6.4 - vue: 3.5.16(typescript@5.8.3) + '@babel/generator': 7.29.1 + '@vue-macros/common': 3.1.2(vue@3.5.32(typescript@5.8.3)) + '@vue/devtools-api': 8.1.1 + ast-walker-scope: 0.8.3 + chokidar: 5.0.0 + json5: 2.2.3 + local-pkg: 1.1.2 + magic-string: 0.30.21 + mlly: 1.8.2 + muggle-string: 0.4.1 + pathe: 2.0.3 + picomatch: 4.0.3 + scule: 1.3.0 + tinyglobby: 0.2.15 + unplugin: 3.0.0 + unplugin-utils: 0.3.1 + vue: 3.5.32(typescript@5.8.3) + yaml: 2.8.3 + optionalDependencies: + '@vue/compiler-sfc': 3.5.32 - vue-tsc@2.2.10(typescript@5.8.3): + vue-tsc@3.2.6(typescript@5.8.3): dependencies: - '@volar/typescript': 2.4.14 - '@vue/language-core': 2.2.10(typescript@5.8.3) + '@volar/typescript': 2.4.28 + '@vue/language-core': 3.2.6 typescript: 5.8.3 - vue@3.5.16(typescript@5.8.3): + vue@3.5.32(typescript@5.8.3): dependencies: - '@vue/compiler-dom': 3.5.16 - '@vue/compiler-sfc': 3.5.16 - '@vue/runtime-dom': 3.5.16 - '@vue/server-renderer': 3.5.16(vue@3.5.16(typescript@5.8.3)) - '@vue/shared': 3.5.16 + '@vue/compiler-dom': 3.5.32 + '@vue/compiler-sfc': 3.5.32 + '@vue/runtime-dom': 3.5.32 + '@vue/server-renderer': 3.5.32(vue@3.5.32(typescript@5.8.3)) + '@vue/shared': 3.5.32 optionalDependencies: typescript: 5.8.3 @@ -5636,7 +5740,7 @@ snapshots: yallist@5.0.0: {} - yaml@2.8.0: {} + yaml@2.8.3: {} yargs-parser@21.1.1: {} From d644d2e925e48fc1e985c91a02fc7deb9489a2a1 Mon Sep 17 00:00:00 2001 From: Benjamin Singleton <19498453+tetrogem@users.noreply.github.com> Date: Fri, 17 Apr 2026 20:24:09 -0500 Subject: [PATCH 5/7] Remove typescript from global pnpm install in stage script --- stage.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/stage.sh b/stage.sh index c021d5e..153b53a 100755 --- a/stage.sh +++ b/stage.sh @@ -9,8 +9,8 @@ SOURCE_DIR=$1 cd "$SOURCE_DIR" -git fetch --all && git branch "backup-$(date +'%s')" +git fetch --all && git branch "backup-$(date +'%s')" -npm i -g pnpm && pnpm setup && pnpm i -g turbo typescript \ +npm i -g pnpm && pnpm setup && pnpm i -g turbo \ && git checkout -f origin/main \ - && pnpm i && turbo build \ No newline at end of file + && pnpm i && turbo build From b28b27e97e7e5f95be7de318ea02b69120fd7f1f Mon Sep 17 00:00:00 2001 From: Leon <142851004+Nginearing@users.noreply.github.com> Date: Fri, 1 May 2026 17:50:14 +0100 Subject: [PATCH 6/7] Add region to locale name --- apps/vdn-static/src/assets/locale/es_LA.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/vdn-static/src/assets/locale/es_LA.ftl b/apps/vdn-static/src/assets/locale/es_LA.ftl index 7154dee..81f9936 100644 --- a/apps/vdn-static/src/assets/locale/es_LA.ftl +++ b/apps/vdn-static/src/assets/locale/es_LA.ftl @@ -1,4 +1,4 @@ -localeName = "Español" +localeName = "Español (Latinoamérica)" vilanticLangs-viossa = "Viossa" vilanticLangs-wodox = "Wodoch" vilanticLangs-minemiaha = "Minemiaha" From 7f8df6f3097a9c5f332cbfe4b6e4e255727cc1c3 Mon Sep 17 00:00:00 2001 From: TheEnamur Date: Fri, 1 May 2026 21:03:42 -0400 Subject: [PATCH 7/7] Update es_LA.ftl Rule 7 readjustment --- apps/vdn-static/src/assets/locale/es_LA.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/vdn-static/src/assets/locale/es_LA.ftl b/apps/vdn-static/src/assets/locale/es_LA.ftl index 81f9936..d78dabf 100644 --- a/apps/vdn-static/src/assets/locale/es_LA.ftl +++ b/apps/vdn-static/src/assets/locale/es_LA.ftl @@ -75,4 +75,4 @@ discord-rulesPage-rules-controversialTopics-section-body = md "- expresar intenciones o deseos de lastimarte a ti mismo o a alguien más" "- pedir que te ayuden a evitar lastimarte a ti mismo o a alguien más" "Al cruzar estos límites estás pidiéndole a los miembros del servidor (incluyendo a los moderadores y al dueño) que cumplan un rol para el cual no han sido entrenados ni equipados. Bajo la discreción de los moderadores esto puede no ser tolerado y resultar en una advertencia, un tiempo fuera, la eliminación del rol **@ike** o la expulsión del servidor." - "Si tienes problemas con pensamientos de esta naturaleza, pero no estás en peligro inmediato, considera buscar asesoramiento. Si estás pasando por una crisis inmediata, llama al **988** (en los Estados Unidos), al **999** (en el Reino Unido) o busca un número de emergencia adecuado para ti. Aquí hay una lista de recursos por país: [](external.new:https://blog.opencounseling.com/suicide-hotlines/)" + "Si tienes problemas con pensamientos de esta naturaleza, pero no estás en peligro inmediato, considera buscar asesoramiento. Si estás pasando por una crisis inmediata, llama a los servicios de emergencia locales o busca un número de emergencia adecuado para ti. Aquí hay una lista de recursos por país: [](external.new:https://findahelpline.com/)"