From 972a13499f7d3e99b03c6dc3f2081c5a95fd8b5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20S=C3=A1nchez?= Date: Sat, 11 Feb 2023 17:15:08 +0100 Subject: [PATCH 01/15] feat(docs): add translation status (#1689) Co-authored-by: Michel EDIGHOFFER --- .eslintignore | 1 + config/i18n.ts | 2 +- docs/.gitignore | 1 + docs/components/global/ClipboardIcon.vue | 15 + docs/components/global/ToogleIcon.vue | 15 + docs/components/global/TranslationState.vue | 338 ++++++++++++++++++++ docs/content/1.guide/3.contributing.md | 4 + docs/package-lock.json | 200 ++++++++++++ docs/package.json | 5 +- docs/scripts/prepare-translation-status.ts | 105 ++++++ docs/types.ts | 11 + package.json | 3 +- pnpm-lock.yaml | 8 + 13 files changed, 705 insertions(+), 3 deletions(-) create mode 100644 docs/components/global/ClipboardIcon.vue create mode 100644 docs/components/global/ToogleIcon.vue create mode 100644 docs/components/global/TranslationState.vue create mode 100644 docs/package-lock.json create mode 100644 docs/scripts/prepare-translation-status.ts create mode 100644 docs/types.ts diff --git a/.eslintignore b/.eslintignore index b2365300..0b00eb07 100644 --- a/.eslintignore +++ b/.eslintignore @@ -9,3 +9,4 @@ public/ https-dev-config/localhost.crt https-dev-config/localhost.key Dockerfile +docs/translation-status.json diff --git a/config/i18n.ts b/config/i18n.ts index b7907532..944c06f7 100644 --- a/config/i18n.ts +++ b/config/i18n.ts @@ -198,7 +198,7 @@ const buildLocales = () => { return useLocales.sort((a, b) => a.code.localeCompare(b.code)) } -const currentLocales = buildLocales() +export const currentLocales = buildLocales() const datetimeFormats = Object.values(currentLocales).reduce((acc, data) => { const dateTimeFormats = data.dateTimeFormats diff --git a/docs/.gitignore b/docs/.gitignore index 69f6b69d..23c55c82 100755 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -10,3 +10,4 @@ dist sw.* .env .output +translation-status.json diff --git a/docs/components/global/ClipboardIcon.vue b/docs/components/global/ClipboardIcon.vue new file mode 100644 index 00000000..edf2696a --- /dev/null +++ b/docs/components/global/ClipboardIcon.vue @@ -0,0 +1,15 @@ + + + diff --git a/docs/components/global/ToogleIcon.vue b/docs/components/global/ToogleIcon.vue new file mode 100644 index 00000000..84b66bf7 --- /dev/null +++ b/docs/components/global/ToogleIcon.vue @@ -0,0 +1,15 @@ + + + diff --git a/docs/components/global/TranslationState.vue b/docs/components/global/TranslationState.vue new file mode 100644 index 00000000..7df72efd --- /dev/null +++ b/docs/components/global/TranslationState.vue @@ -0,0 +1,338 @@ + + + + + diff --git a/docs/content/1.guide/3.contributing.md b/docs/content/1.guide/3.contributing.md index c358d4f9..1fa87808 100644 --- a/docs/content/1.guide/3.contributing.md +++ b/docs/content/1.guide/3.contributing.md @@ -34,6 +34,10 @@ Elk uses [Vitest](https://vitest.dev). You can run the test suite with: nr test ``` +## Translation status + + + # Stack - [Vite](https://vitejs.dev/) - Next Generation Frontend Tooling diff --git a/docs/package-lock.json b/docs/package-lock.json new file mode 100644 index 00000000..6bdb4f73 --- /dev/null +++ b/docs/package-lock.json @@ -0,0 +1,200 @@ +{ + "name": "elk-docs", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "elk-docs", + "version": "0.1.0", + "devDependencies": { + "@nuxt-themes/docus": "^1.6.1", + "@types/flat": "^5.0.2", + "flat": "^5.0.2", + "flatten": "^1.0.3", + "iso-639-1": "^2.1.15", + "nuxt": "^3.1.1", + "vite-plugin-virtual": "^0.1.1" + } + }, + "../node_modules/.pnpm/@nuxt-themes+docus@1.6.3_nuxt@3.1.1/node_modules/@nuxt-themes/docus": { + "version": "1.6.3", + "dev": true, + "dependencies": { + "@nuxt-themes/elements": "^0.5.2", + "@nuxt-themes/tokens": "^1.6.2", + "@nuxt-themes/typography": "^0.6.0", + "@nuxt/content": "^2.4.1", + "@nuxthq/studio": "^0.6.5", + "@vueuse/nuxt": "^9.11.1" + }, + "devDependencies": { + "@algolia/client-search": "^4.14.3", + "@docsearch/css": "^3.3.2", + "@docsearch/js": "^3.3.2", + "@nuxtjs/algolia": "^1.5.0", + "@nuxtjs/eslint-config-typescript": "^12.0.0", + "eslint": "^8.32.0", + "nuxt": "3.1.1", + "nuxt-plausible": "^0.1.2", + "release-it": "^15.6.0", + "typescript": "^4.9.4", + "vue": "^3.2.45" + } + }, + "../node_modules/.pnpm/flat@5.0.2/node_modules/flat": { + "version": "5.0.2", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + }, + "devDependencies": { + "mocha": "~8.1.1", + "standard": "^14.3.4" + } + }, + "../node_modules/.pnpm/flatten@1.0.3/node_modules/flatten": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "devDependencies": {} + }, + "../node_modules/.pnpm/iso-639-1@2.1.15/node_modules/iso-639-1": { + "version": "2.1.15", + "dev": true, + "license": "MIT", + "devDependencies": { + "babel-cli": "^6.26.0", + "babel-core": "^6.26.0", + "babel-loader": "^7.1.2", + "babel-plugin-add-module-exports": "^0.2.1", + "babel-plugin-transform-runtime": "^6.23.0", + "babel-preset-es2015": "^6.24.1", + "babel-preset-stage-0": "^6.24.1", + "clean-webpack-plugin": "^0.1.17", + "mocha": "^4.0.1", + "webpack": "^3.10.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "../node_modules/.pnpm/nuxt@3.1.1/node_modules/nuxt": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@nuxt/devalue": "^2.0.0", + "@nuxt/kit": "3.1.1", + "@nuxt/schema": "3.1.1", + "@nuxt/telemetry": "^2.1.9", + "@nuxt/ui-templates": "^1.1.0", + "@nuxt/vite-builder": "3.1.1", + "@unhead/ssr": "^1.0.18", + "@vue/reactivity": "^3.2.45", + "@vue/shared": "^3.2.45", + "@vueuse/head": "^1.0.23", + "chokidar": "^3.5.3", + "cookie-es": "^0.5.0", + "defu": "^6.1.2", + "destr": "^1.2.2", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "fs-extra": "^11.1.0", + "globby": "^13.1.3", + "h3": "^1.0.2", + "hash-sum": "^2.0.0", + "hookable": "^5.4.2", + "jiti": "^1.16.2", + "knitwork": "^1.0.0", + "magic-string": "^0.27.0", + "mlly": "^1.1.0", + "nitropack": "^2.0.0", + "nuxi": "3.1.1", + "ofetch": "^1.0.0", + "ohash": "^1.0.0", + "pathe": "^1.1.0", + "perfect-debounce": "^0.1.3", + "scule": "^1.0.0", + "strip-literal": "^1.0.0", + "ufo": "^1.0.1", + "ultrahtml": "^1.2.0", + "unctx": "^2.1.1", + "unenv": "^1.0.1", + "unhead": "^1.0.18", + "unimport": "^2.0.1", + "unplugin": "^1.0.1", + "untyped": "^1.2.2", + "vue": "^3.2.45", + "vue-bundle-renderer": "^1.0.0", + "vue-devtools-stub": "^0.1.0", + "vue-router": "^4.1.6" + }, + "bin": { + "nuxi": "bin/nuxt.mjs", + "nuxt": "bin/nuxt.mjs" + }, + "devDependencies": { + "@types/fs-extra": "^11.0.1", + "@types/hash-sum": "^1.0.0", + "unbuild": "latest" + }, + "engines": { + "node": "^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "../node_modules/.pnpm/vite-plugin-virtual@0.1.1/node_modules/vite-plugin-virtual": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "devDependencies": { + "@antfu/eslint-config": "^0.6.2", + "@types/jest": "^26.0.22", + "@types/node": "^14.14.37", + "@typescript-eslint/eslint-plugin": "^4.20.0", + "eslint": "^7.23.0", + "jest": "^26.6.3", + "jest-esbuild": "^0.1.5", + "rollup": "^2.44.0", + "ts-node": "^9.1.1", + "tsup": "^4.8.21", + "typescript": "^4.2.3", + "vite": "^2.1.5" + }, + "peerDependencies": { + "vite": "^2.0.0" + } + }, + "node_modules/@nuxt-themes/docus": { + "resolved": "../node_modules/.pnpm/@nuxt-themes+docus@1.6.3_nuxt@3.1.1/node_modules/@nuxt-themes/docus", + "link": true + }, + "node_modules/@types/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-3zsplnP2djeps5P9OyarTxwRpMLoe5Ash8aL9iprw0JxB+FAHjY+ifn4yZUuW4/9hqtnmor6uvjSRzJhiVbrEQ==", + "dev": true + }, + "node_modules/flat": { + "resolved": "../node_modules/.pnpm/flat@5.0.2/node_modules/flat", + "link": true + }, + "node_modules/flatten": { + "resolved": "../node_modules/.pnpm/flatten@1.0.3/node_modules/flatten", + "link": true + }, + "node_modules/iso-639-1": { + "resolved": "../node_modules/.pnpm/iso-639-1@2.1.15/node_modules/iso-639-1", + "link": true + }, + "node_modules/nuxt": { + "resolved": "../node_modules/.pnpm/nuxt@3.1.1/node_modules/nuxt", + "link": true + }, + "node_modules/vite-plugin-virtual": { + "resolved": "../node_modules/.pnpm/vite-plugin-virtual@0.1.1/node_modules/vite-plugin-virtual", + "link": true + } + } +} diff --git a/docs/package.json b/docs/package.json index 66edfbd8..f061e718 100755 --- a/docs/package.json +++ b/docs/package.json @@ -6,10 +6,13 @@ "dev": "nuxi dev", "build": "nuxi build", "generate": "nuxi generate", - "preview": "nuxi preview" + "preview": "nuxi preview", + "prepare-translation-status": "nuxi prepare && esno scripts/prepare-translation-status.ts" }, "devDependencies": { "@nuxt-themes/docus": "^1.6.1", + "@types/flat": "^5.0.2", + "flat": "^5.0.2", "nuxt": "^3.1.1" } } diff --git a/docs/scripts/prepare-translation-status.ts b/docs/scripts/prepare-translation-status.ts new file mode 100644 index 00000000..5d4c6d58 --- /dev/null +++ b/docs/scripts/prepare-translation-status.ts @@ -0,0 +1,105 @@ +import { flatten } from 'flat' +import { createResolver } from '@nuxt/kit' +import { readFile, writeFile } from 'fs-extra' +import { currentLocales } from '../../config/i18n' +import vsCodeConfig from '../../.vscode/settings.json' +import type { LocaleEntry } from '../types' + +export const localeData: [code: string, file: string[], title: string][] + = currentLocales.map((l: any) => [l.code, l.files ? l.files : [l.file!], l.name ?? l.code]) + +function merge(src: Record, dst: Record) { + for (const key in src) { + if (typeof src[key] === 'object') { + if (!dst[key]) + dst[key] = {} + + merge(src[key], dst[key]) + } + else { + dst[key] = src[key] + } + } +} + +async function readI18nFile(file: string | string[]) { + const resolver = createResolver(import.meta.url) + if (Array.isArray(file)) { + const files = await Promise.all(file.map(f => async () => { + return JSON.parse(Buffer.from( + await readFile(resolver.resolve(`../../locales/${f}`), 'utf-8'), + ).toString()) + })).then(f => f.map(f => f())) + const data: Record = files[0] + files.splice(0, 1) + files.forEach(f => merge(f, data)) + return data + } + else { + return JSON.parse(Buffer.from( + await readFile(resolver.resolve(`../../locales/${file}`), 'utf-8'), + ).toString()) + } +} + +async function compare( + baseEntries: Record, + file: string | string[], + data: LocaleEntry, +) { + const baseEntriesKeys = Object.keys(baseEntries) + const entries: Record = await readI18nFile(file) + const flatEntriesKeys = Object.keys(flatten>(entries)) + + data.translated = flatEntriesKeys.filter(e => baseEntriesKeys.includes(e)) + data.missing = baseEntriesKeys.filter(e => !flatEntriesKeys.includes(e)) + data.outdated = flatEntriesKeys.filter(e => !baseEntriesKeys.includes(e)) + data.total = flatEntriesKeys.length +} + +async function prepareTranslationStatus() { + const sourceLanguageLocale = localeData.find(l => l[0] === vsCodeConfig['i18n-ally.sourceLanguage'])! + const entries: Record = await readI18nFile(sourceLanguageLocale[1]) + const flatEntries = flatten>(entries) + const data: Record = { + en: { + translated: [], + file: 'en.json', + missing: [], + outdated: [], + title: 'English (source)', + total: Object.keys(flatEntries).length, + isSource: true, + }, + } + + await Promise.all(localeData.filter(l => l[0] !== 'en-US').map(async ([code, file, title]) => { + // eslint-disable-next-line no-console + console.info(`Comparing ${code}...`, title) + data[code] = { + title, + file: Array.isArray(file) ? file[file.length - 1] : file, + translated: [], + missing: [], + outdated: [], + total: 0, + } + await compare(flatEntries, file, data[code]) + })) + + const sorted: Record = { en: { ...data.en } } + + Object.keys(data).filter(k => k !== 'en').sort((a, b) => { + return data[a].translated.length - data[b].translated.length + }).forEach((k) => { + sorted[k] = { ...data[k] } + }) + + await writeFile( + createResolver(import.meta.url).resolve('../translation-status.json'), + JSON.stringify(sorted, null, 2), + { encoding: 'utf-8' }, + ) +} + +prepareTranslationStatus() diff --git a/docs/types.ts b/docs/types.ts new file mode 100644 index 00000000..c5a98da5 --- /dev/null +++ b/docs/types.ts @@ -0,0 +1,11 @@ +export interface LocaleEntry { + title: string + file: string + translated: string[] + missing: string[] + outdated: string[] + total: number + isSource?: boolean +} + +export type TranslationStatus = Record diff --git a/package.json b/package.json index e54298c5..e313a703 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "test:typecheck": "stale-dep && vue-tsc --noEmit && vue-tsc --noEmit --project service-worker/tsconfig.json", "test": "nr test:unit", "update:team:avatars": "esno scripts/avatars.ts", - "postinstall": "ignore-dependency-scripts \"stale-dep -u && simple-git-hooks && nuxi prepare\"", + "prepare-translation-status": "pnpm -C docs run prepare-translation-status", + "postinstall": "ignore-dependency-scripts \"stale-dep -u && simple-git-hooks && nuxi prepare && nr prepare-translation-status\"", "release": "stale-dep && bumpp && esno scripts/release.ts" }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2cd20754..2707adcc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -228,9 +228,13 @@ importers: docs: specifiers: '@nuxt-themes/docus': ^1.6.1 + '@types/flat': ^5.0.2 + flat: ^5.0.2 nuxt: ^3.1.1 devDependencies: '@nuxt-themes/docus': 1.6.3_nuxt@3.1.1 + '@types/flat': 5.0.2 + flat: 5.0.2 nuxt: 3.1.1 packages: @@ -3328,6 +3332,10 @@ packages: resolution: {integrity: sha512-zv9kNf3keYegP5oThGLaPk8E081DFDuwfqjtiTzm6PoxChdJ1raSuADf2YGCVIyrSynLrgc8JWv296s7Q7pQSQ==} dev: true + /@types/flat/5.0.2: + resolution: {integrity: sha512-3zsplnP2djeps5P9OyarTxwRpMLoe5Ash8aL9iprw0JxB+FAHjY+ifn4yZUuW4/9hqtnmor6uvjSRzJhiVbrEQ==} + dev: true + /@types/fnando__sparkline/0.3.4: resolution: {integrity: sha512-FWU1zw7CVJYVeDk77FGphTUabfPims4F/Yq+WFB0Gh647lLtiXHWn8vpfT95Fl65IsNBDOhEbxJdhmERMGubNQ==} dev: true From db2892c4c0dab381aae36d9d5fb564547e659505 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E6=99=BA=E5=AD=90=20Kevin=20Deng?= Date: Sat, 11 Feb 2023 17:51:07 +0100 Subject: [PATCH 02/15] refactor: disable reactivity transform from vue core use the feature from vue macros instead --- nuxt.config.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/nuxt.config.ts b/nuxt.config.ts index 0f3ebe2f..7c91db5a 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -35,7 +35,6 @@ export default defineNuxtConfig({ ], experimental: { payloadExtraction: false, - reactivityTransform: true, inlineSSRStyles: false, }, css: [ From 3e648f6fbc660dde760c3c375683163ac92730cd Mon Sep 17 00:00:00 2001 From: Peter Budai Date: Sat, 11 Feb 2023 18:04:41 +0100 Subject: [PATCH 03/15] feat(editor): Respect default privacy setting of the account (#1699) --- components/publish/PublishWidget.vue | 4 +++- composables/masto/statusDrafts.ts | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/components/publish/PublishWidget.vue b/components/publish/PublishWidget.vue index cc4e653b..9feea9fe 100644 --- a/components/publish/PublishWidget.vue +++ b/components/publish/PublishWidget.vue @@ -27,7 +27,7 @@ const emit = defineEmits<{ const { t } = useI18n() const draftState = useDraft(draftKey, initial) -const { draft } = $(draftState) +const { draft, isEmpty } = $(draftState) const { isExceedingAttachmentLimit, isUploading, failedAttachments, isOverDropZone, @@ -48,6 +48,8 @@ const { editor } = useTiptap({ set: (newVal) => { draft.params.status = newVal draft.lastUpdated = Date.now() + if (isEmpty) + clearEmptyDrafts() }, }), placeholder: computed(() => placeholder ?? draft.params.inReplyToId ? t('placeholder.replying') : t('placeholder.default_1')), diff --git a/composables/masto/statusDrafts.ts b/composables/masto/statusDrafts.ts index 58596f32..ec3c0391 100644 --- a/composables/masto/statusDrafts.ts +++ b/composables/masto/statusDrafts.ts @@ -30,7 +30,7 @@ export function getDefaultDraft(options: Partial Date: Sat, 11 Feb 2023 21:42:55 +0100 Subject: [PATCH 04/15] feat: add translation status to language settings (#1717) --- .eslintignore | 1 + .gitignore | 1 + docs/package.json | 5 +- locales/en.json | 1 + locales/es.json | 10 +++- package.json | 4 +- pages/settings/language/index.vue | 15 +++++- pnpm-lock.yaml | 15 +++--- .../prepare-translation-status.ts | 54 +++++++++++++++---- types/translation-status.ts | 7 +++ 10 files changed, 85 insertions(+), 28 deletions(-) rename {docs/scripts => scripts}/prepare-translation-status.ts (69%) create mode 100644 types/translation-status.ts diff --git a/.eslintignore b/.eslintignore index 0b00eb07..d652cf4e 100644 --- a/.eslintignore +++ b/.eslintignore @@ -9,4 +9,5 @@ public/ https-dev-config/localhost.crt https-dev-config/localhost.key Dockerfile +elk-translation-status.json docs/translation-status.json diff --git a/.gitignore b/.gitignore index 72b234fa..a7cd793f 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ dist .vite-inspect .netlify/ .eslintcache +elk-translation-status.json public/shiki public/emojis diff --git a/docs/package.json b/docs/package.json index f061e718..66edfbd8 100755 --- a/docs/package.json +++ b/docs/package.json @@ -6,13 +6,10 @@ "dev": "nuxi dev", "build": "nuxi build", "generate": "nuxi generate", - "preview": "nuxi preview", - "prepare-translation-status": "nuxi prepare && esno scripts/prepare-translation-status.ts" + "preview": "nuxi preview" }, "devDependencies": { "@nuxt-themes/docus": "^1.6.1", - "@types/flat": "^5.0.2", - "flat": "^5.0.2", "nuxt": "^3.1.1" } } diff --git a/locales/en.json b/locales/en.json index ef114bc1..935a5e2b 100644 --- a/locales/en.json +++ b/locales/en.json @@ -337,6 +337,7 @@ "language": { "display_language": "Display Language", "label": "Language", + "status": "Translation status: {0}/{1} ({2}%)", "translations": { "add": "Add", "choose_language": "Choose language", diff --git a/locales/es.json b/locales/es.json index 7d53ede1..7ac7e725 100644 --- a/locales/es.json +++ b/locales/es.json @@ -337,6 +337,7 @@ "language": { "display_language": "Idioma de pantalla", "label": "Idioma", + "status": "Estado traducción: {0}/{1} ({2}%)", "translations": { "add": "Agregar", "choose_language": "Seleccionar idioma", @@ -405,16 +406,19 @@ "github_cards": "Tarjetas GitHub", "grayscale_mode": "Modo escala de grises", "hide_account_hover_card": "Ocultar tarjeta flotante de cuenta", + "hide_alt_indi_on_posts": "Ocultar indicador ALT en publicaciones", "hide_boost_count": "Ocultar contador de retoots", "hide_favorite_count": "Ocultar número de publicaciones favoritas", "hide_follower_count": "Ocultar número de seguidores", "hide_reply_count": "Ocultar número de respuestas", "hide_translation": "Ocultar traducción", "hide_username_emojis": "Ocultar emojis en el nombre de usuario", + "hide_username_emojis_description": "Se ocultan los emojis en el nombre de usuario en las líneas de tiempo. Los emojis seguirán siendo visibles en sus perfiles.", "label": "Preferencias", "title": "Funcionalidades experimentales", "user_picker": "Selector de usuarios", - "virtual_scroll": "Desplazamiento virtual" + "virtual_scroll": "Desplazamiento virtual", + "wellbeing": "Bienestar" }, "profile": { "appearance": { @@ -463,8 +467,10 @@ "filter_removed_phrase": "Eliminado por filtrado", "filter_show_anyway": "Mostrar de todas formas", "img_alt": { + "ALT": "ALT", "desc": "Descripción", - "dismiss": "Descartar" + "dismiss": "Descartar", + "read": "Leer la descripción de la imagen {0}" }, "poll": { "count": "{0} votos|{0} voto|{0} votos", diff --git a/package.json b/package.json index e313a703..15295b80 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "test:typecheck": "stale-dep && vue-tsc --noEmit && vue-tsc --noEmit --project service-worker/tsconfig.json", "test": "nr test:unit", "update:team:avatars": "esno scripts/avatars.ts", - "prepare-translation-status": "pnpm -C docs run prepare-translation-status", + "prepare-translation-status": "esno scripts/prepare-translation-status.ts", "postinstall": "ignore-dependency-scripts \"stale-dep -u && simple-git-hooks && nuxi prepare && nr prepare-translation-status\"", "release": "stale-dep && bumpp && esno scripts/release.ts" }, @@ -110,6 +110,7 @@ "@nuxt/devtools": "^0.1.0", "@types/chroma-js": "^2.1.4", "@types/file-saver": "^2.0.5", + "@types/flat": "^5.0.2", "@types/fnando__sparkline": "^0.3.4", "@types/fs-extra": "^11.0.1", "@types/js-yaml": "^4.0.5", @@ -118,6 +119,7 @@ "bumpp": "^8.2.1", "eslint": "^8.32.0", "esno": "^0.16.3", + "flat": "^5.0.2", "fs-extra": "^11.1.0", "lint-staged": "^13.1.0", "nuxt": "3.1.1", diff --git a/pages/settings/language/index.vue b/pages/settings/language/index.vue index 10478711..9a8e3042 100644 --- a/pages/settings/language/index.vue +++ b/pages/settings/language/index.vue @@ -1,9 +1,17 @@

diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2707adcc..188eef92 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,6 +59,7 @@ importers: '@tiptap/vue-3': 2.0.0-beta.204 '@types/chroma-js': ^2.1.4 '@types/file-saver': ^2.0.5 + '@types/flat': ^5.0.2 '@types/fnando__sparkline': ^0.3.4 '@types/fs-extra': ^11.0.1 '@types/js-yaml': ^4.0.5 @@ -80,6 +81,7 @@ importers: eslint: ^8.32.0 esno: ^0.16.3 file-saver: ^2.0.5 + flat: ^5.0.2 floating-vue: 2.0.0-beta.20 focus-trap: ^7.2.0 form-data: ^4.0.0 @@ -197,7 +199,7 @@ importers: ultrahtml: 1.2.0 unimport: 2.1.0 unplugin-auto-import: 0.13.0_@vueuse+core@9.11.1 - vite-plugin-pwa: 0.14.1_tz3vz2xt4jvid2diblkpydcyn4 + vite-plugin-pwa: 0.14.1 vue-advanced-cropper: 2.8.8 vue-virtual-scroller: 2.0.0-beta.7 workbox-build: 6.5.4 @@ -208,6 +210,7 @@ importers: '@nuxt/devtools': 0.1.0_nuxt@3.1.1 '@types/chroma-js': 2.1.4 '@types/file-saver': 2.0.5 + '@types/flat': 5.0.2 '@types/fnando__sparkline': 0.3.4 '@types/fs-extra': 11.0.1 '@types/js-yaml': 4.0.5 @@ -216,6 +219,7 @@ importers: bumpp: 8.2.1 eslint: 8.32.0 esno: 0.16.3 + flat: 5.0.2 fs-extra: 11.1.0 lint-staged: 13.1.0 nuxt: 3.1.1_7rz7g5sqfnn6wuv5lem37retty @@ -228,13 +232,9 @@ importers: docs: specifiers: '@nuxt-themes/docus': ^1.6.1 - '@types/flat': ^5.0.2 - flat: ^5.0.2 nuxt: ^3.1.1 devDependencies: '@nuxt-themes/docus': 1.6.3_nuxt@3.1.1 - '@types/flat': 5.0.2 - flat: 5.0.2 nuxt: 3.1.1 packages: @@ -11797,12 +11797,10 @@ packages: - supports-color dev: true - /vite-plugin-pwa/0.14.1_tz3vz2xt4jvid2diblkpydcyn4: + /vite-plugin-pwa/0.14.1: resolution: {integrity: sha512-5zx7yhQ8RTLwV71+GA9YsQQ63ALKG8XXIMqRJDdZkR8ZYftFcRgnzM7wOWmQZ/DATspyhPih5wCdcZnAIsM+mA==} peerDependencies: vite: ^3.1.0 || ^4.0.0 - workbox-build: ^6.5.4 - workbox-window: ^6.5.4 dependencies: '@rollup/plugin-replace': 5.0.2_rollup@3.10.1 debug: 4.3.4 @@ -11812,6 +11810,7 @@ packages: workbox-build: 6.5.4 workbox-window: 6.5.4 transitivePeerDependencies: + - '@types/babel__core' - supports-color dev: false diff --git a/docs/scripts/prepare-translation-status.ts b/scripts/prepare-translation-status.ts similarity index 69% rename from docs/scripts/prepare-translation-status.ts rename to scripts/prepare-translation-status.ts index 5d4c6d58..9ed6ce66 100644 --- a/docs/scripts/prepare-translation-status.ts +++ b/scripts/prepare-translation-status.ts @@ -1,9 +1,10 @@ -import { flatten } from 'flat' +import flatten from 'flat' import { createResolver } from '@nuxt/kit' -import { readFile, writeFile } from 'fs-extra' -import { currentLocales } from '../../config/i18n' -import vsCodeConfig from '../../.vscode/settings.json' -import type { LocaleEntry } from '../types' +import fs from 'fs-extra' +import { currentLocales } from '../config/i18n' +import vsCodeConfig from '../.vscode/settings.json' +import type { LocaleEntry } from '../docs/types' +import type { ElkTranslationStatus } from '~/types/translation-status' export const localeData: [code: string, file: string[], title: string][] = currentLocales.map((l: any) => [l.code, l.files ? l.files : [l.file!], l.name ?? l.code]) @@ -27,7 +28,7 @@ async function readI18nFile(file: string | string[]) { if (Array.isArray(file)) { const files = await Promise.all(file.map(f => async () => { return JSON.parse(Buffer.from( - await readFile(resolver.resolve(`../../locales/${f}`), 'utf-8'), + await fs.readFile(resolver.resolve(`../locales/${f}`), 'utf-8'), ).toString()) })).then(f => f.map(f => f())) const data: Record = files[0] @@ -37,7 +38,7 @@ async function readI18nFile(file: string | string[]) { } else { return JSON.parse(Buffer.from( - await readFile(resolver.resolve(`../../locales/${file}`), 'utf-8'), + await fs.readFile(resolver.resolve(`../locales/${file}`), 'utf-8'), ).toString()) } } @@ -61,6 +62,7 @@ async function prepareTranslationStatus() { const sourceLanguageLocale = localeData.find(l => l[0] === vsCodeConfig['i18n-ally.sourceLanguage'])! const entries: Record = await readI18nFile(sourceLanguageLocale[1]) const flatEntries = flatten>(entries) + const total = Object.keys(flatEntries).length const data: Record = { en: { translated: [], @@ -68,13 +70,12 @@ async function prepareTranslationStatus() { missing: [], outdated: [], title: 'English (source)', - total: Object.keys(flatEntries).length, + total, isSource: true, }, } await Promise.all(localeData.filter(l => l[0] !== 'en-US').map(async ([code, file, title]) => { - // eslint-disable-next-line no-console console.info(`Comparing ${code}...`, title) data[code] = { title, @@ -95,11 +96,42 @@ async function prepareTranslationStatus() { sorted[k] = { ...data[k] } }) - await writeFile( - createResolver(import.meta.url).resolve('../translation-status.json'), + const resolver = createResolver(import.meta.url) + + await fs.writeFile( + resolver.resolve('../docs/translation-status.json'), JSON.stringify(sorted, null, 2), { encoding: 'utf-8' }, ) + + const translationStatus: ElkTranslationStatus = { + total, + locales: { + 'en-US': { + total, + percentage: '100', + }, + }, + } + + Object.keys(data).filter(k => k !== 'en').forEach((e) => { + const percentage = total <= 0.0 || data[e].total === 0.0 + ? '0' + : data[e].total === total + ? '100' + : ((data[e].translated.length / total) * 100).toFixed(1) + + translationStatus.locales[e] = { + total: data[e].total, + percentage, + } + }) + + await fs.writeFile( + resolver.resolve('../elk-translation-status.json'), + JSON.stringify(translationStatus, null, 2), + { encoding: 'utf-8' }, + ) } prepareTranslationStatus() diff --git a/types/translation-status.ts b/types/translation-status.ts new file mode 100644 index 00000000..8be335cb --- /dev/null +++ b/types/translation-status.ts @@ -0,0 +1,7 @@ +export interface ElkTranslationStatus { + total: number + locales: Record +} From a9427e2ea0ef94c440bd7148196cd17738c962a5 Mon Sep 17 00:00:00 2001 From: moshyfawn Date: Sat, 11 Feb 2023 15:43:21 -0500 Subject: [PATCH 05/15] fix: default main content dir to ltr (#1710) Co-authored-by: moshyfawn --- composables/setups.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/composables/setups.ts b/composables/setups.ts index b569ea52..ac4df9b0 100644 --- a/composables/setups.ts +++ b/composables/setups.ts @@ -8,14 +8,14 @@ export function setupPageHeader() { const enablePinchToZoom = usePreferences('enablePinchToZoom') const localeMap = (locales.value as LocaleObject[]).reduce((acc, l) => { - acc[l.code!] = l.dir ?? 'auto' + acc[l.code!] = l.dir ?? 'ltr' return acc }, {} as Record) useHeadFixed({ htmlAttrs: { lang: () => locale.value, - dir: () => localeMap[locale.value] ?? 'auto', + dir: () => localeMap[locale.value] ?? 'ltr', class: () => enablePinchToZoom.value ? ['enable-pinch-to-zoom'] : [], }, meta: [{ From c2ffdcf78bdd38a9655df0a54c68899cb47daf7f Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Sun, 12 Feb 2023 11:22:43 +0100 Subject: [PATCH 06/15] fix: only generate sourcemap in development --- nuxt.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nuxt.config.ts b/nuxt.config.ts index 7c91db5a..873a3e89 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -138,7 +138,7 @@ export default defineNuxtConfig({ crawlLinks: true, }, }, - sourcemap: !isDevelopment, + sourcemap: isDevelopment, hooks: { 'nitro:config': function (config) { const nuxt = useNuxt() From b9c2bc5c70f6f2f7f79fb7d8387e1521d1bda5b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20S=C3=A1nchez?= Date: Sun, 12 Feb 2023 12:08:50 +0100 Subject: [PATCH 07/15] fix(pwa): configure sw and web manifest cache control headers (#1724) --- modules/pwa/index.ts | 8 ++++++++ nuxt.config.ts | 1 + 2 files changed, 9 insertions(+) diff --git a/modules/pwa/index.ts b/modules/pwa/index.ts index 520c4b85..14df539a 100644 --- a/modules/pwa/index.ts +++ b/modules/pwa/index.ts @@ -79,6 +79,7 @@ export default defineNuxtModule({ if (entry) { res.statusCode = 200 res.setHeader('Content-Type', 'application/manifest+json') + res.setHeader('Cache-Control', 'public, max-age=0, must-revalidate') res.write(JSON.stringify(entry), 'utf-8') res.end() } @@ -135,15 +136,22 @@ export default defineNuxtModule({ else { nuxt.hook('nitro:config', async (nitroConfig) => { nitroConfig.routeRules = nitroConfig.routeRules || {} + nitroConfig.routeRules!['/sw.js'] = { + headers: { + 'Cache-Control': 'public, max-age=0, must-revalidate', + }, + } for (const locale of pwaLocales) { nitroConfig.routeRules![`/manifest-${locale.code}.webmanifest`] = { headers: { 'Content-Type': 'application/manifest+json', + 'Cache-Control': 'public, max-age=0, must-revalidate', }, } nitroConfig.routeRules![`/manifest-${locale.code}-dark.webmanifest`] = { headers: { 'Content-Type': 'application/manifest+json', + 'Cache-Control': 'public, max-age=0, must-revalidate', }, } } diff --git a/nuxt.config.ts b/nuxt.config.ts index 873a3e89..9008e9e5 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -122,6 +122,7 @@ export default defineNuxtConfig({ '/manifest.webmanifest': { headers: { 'Content-Type': 'application/manifest+json', + 'Cache-Control': 'public, max-age=0, must-revalidate', }, }, }, From 73dc0605781bf291ef3387008d97157da8a3321e Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Sun, 12 Feb 2023 12:48:52 +0100 Subject: [PATCH 08/15] fix: access headers outside of `computed` --- composables/misc.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/composables/misc.ts b/composables/misc.ts index 5d46d543..08bf1254 100644 --- a/composables/misc.ts +++ b/composables/misc.ts @@ -27,9 +27,11 @@ export function emojisArrayToObject(emojis: mastodon.v1.CustomEmoji[]) { export function noop() {} -export const useIsMac = () => computed(() => - useRequestHeaders(['user-agent'])['user-agent']?.includes('Macintosh') +export const useIsMac = () => { + const headers = useRequestHeaders(['user-agent']) + return computed(() => headers['user-agent']?.includes('Macintosh') ?? navigator?.platform?.includes('Mac') ?? false) +} export const isEmptyObject = (object: Object) => Object.keys(object).length === 0 From efaeb672614a1a32ef2fbcde977220b1aab9f58c Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Sun, 12 Feb 2023 12:56:29 +0100 Subject: [PATCH 09/15] chore: upgrade to nuxt v3.2.0 (#1695) --- components/help/HelpPreview.vue | 2 +- components/user/UserSignIn.vue | 2 +- nuxt.config.ts | 9 - package.json | 8 +- pages/settings/about/index.vue | 2 +- pnpm-lock.yaml | 913 ++++++++++++++++++-------------- server/cache-driver.ts | 5 +- server/utils/shared.ts | 9 +- 8 files changed, 530 insertions(+), 420 deletions(-) diff --git a/components/help/HelpPreview.vue b/components/help/HelpPreview.vue index 666f794a..ca869b67 100644 --- a/components/help/HelpPreview.vue +++ b/components/help/HelpPreview.vue @@ -10,7 +10,7 @@ const emit = defineEmits<{
- +

{{ $t('help.title') }}

diff --git a/components/user/UserSignIn.vue b/components/user/UserSignIn.vue index 97621bc2..eea8a0ef 100644 --- a/components/user/UserSignIn.vue +++ b/components/user/UserSignIn.vue @@ -96,7 +96,7 @@ onClickOutside(input, () => {
- +

{{ $t('app_desc_short') }}

diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 188eef92..305f4182 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,9 +22,7 @@ overrides: '@tiptap/extension-paragraph': 2.0.0-beta.204 '@tiptap/extension-strike': 2.0.0-beta.204 '@tiptap/extension-text': 2.0.0-beta.204 - vitest>vite: ^3.2.5 - '@nuxt/kit': ^3.1.2 - '@nuxt/schema': ^3.1.2 + vue: 3.2.45 importers: @@ -95,7 +93,7 @@ importers: lint-staged: ^13.1.0 lru-cache: ^7.14.1 masto: ^5.6.1 - nuxt: 3.1.1 + nuxt: 3.2.0 nuxt-security: ^0.10.1 nuxt-vitest: ^0.6.4 page-lifecycle: ^0.1.2 @@ -140,6 +138,7 @@ importers: '@iconify-json/ri': 1.1.4 '@iconify-json/twemoji': 1.1.10 '@iconify/utils': 2.0.12 + '@nuxt/devtools': 0.1.0_nuxt@3.2.0 '@nuxtjs/color-mode': 3.2.0 '@nuxtjs/i18n': 8.0.0-beta.9 '@pinia/nuxt': 0.4.6_typescript@4.9.5 @@ -154,13 +153,13 @@ importers: '@tiptap/suggestion': 2.0.0-beta.204 '@tiptap/vue-3': 2.0.0-beta.204 '@unocss/nuxt': 0.49.1 - '@vue-macros/nuxt': 1.0.3_2kgo5tjdvwtrecdyfxt2rg75du + '@vue-macros/nuxt': 1.0.3_5ho3oymwln6ivysxzaxueugmee '@vueuse/core': 9.11.1 '@vueuse/gesture': 2.0.0-beta.1 '@vueuse/integrations': 9.11.1_ha7ivgav6uqpoo2b5thfugqwjq '@vueuse/math': 9.11.1 '@vueuse/motion': 2.0.0-beta.12 - '@vueuse/nuxt': 9.11.1_nuxt@3.1.1 + '@vueuse/nuxt': 9.11.1_nuxt@3.2.0 blurhash: 2.0.4 browser-fs-access: 0.31.2 chroma-js: 2.4.2 @@ -207,7 +206,6 @@ importers: devDependencies: '@antfu/eslint-config': 0.34.1_et5x32uxl7z5ldub3ye5rhlyqm '@antfu/ni': 0.19.0 - '@nuxt/devtools': 0.1.0_nuxt@3.1.1 '@types/chroma-js': 2.1.4 '@types/file-saver': 2.0.5 '@types/flat': 5.0.2 @@ -222,7 +220,7 @@ importers: flat: 5.0.2 fs-extra: 11.1.0 lint-staged: 13.1.0 - nuxt: 3.1.1_7rz7g5sqfnn6wuv5lem37retty + nuxt: 3.2.0_7rz7g5sqfnn6wuv5lem37retty prettier: 2.8.3 simple-git-hooks: 2.8.1 typescript: 4.9.5 @@ -234,8 +232,8 @@ importers: '@nuxt-themes/docus': ^1.6.1 nuxt: ^3.1.1 devDependencies: - '@nuxt-themes/docus': 1.6.3_nuxt@3.1.1 - nuxt: 3.1.1 + '@nuxt-themes/docus': 1.6.3_nuxt@3.2.0 + nuxt: 3.2.0 packages: @@ -344,6 +342,7 @@ packages: dependencies: execa: 5.1.1 find-up: 5.0.0 + dev: false /@antfu/ni/0.19.0: resolution: {integrity: sha512-33VKTuBjoW2canoVMGa4g5oGCg7KK8UVmBBmUKzvQ+Fa69kk2YI8sqt94WCpvSWmW/yD5ZXsD9G9s689b9KwwQ==} @@ -356,6 +355,7 @@ packages: /@antfu/utils/0.7.2: resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==} + dev: false /@apideck/better-ajv-errors/0.3.6_ajv@8.12.0: resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} @@ -906,7 +906,7 @@ packages: dependencies: '@babel/core': 7.20.12 '@babel/helper-plugin-utils': 7.20.2 - dev: true + dev: false /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.20.12: resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} @@ -1565,21 +1565,18 @@ packages: dependencies: '@esbuild-kit/core-utils': 3.0.0 get-tsconfig: 4.3.0 - dev: true /@esbuild-kit/core-utils/3.0.0: resolution: {integrity: sha512-TXmwH9EFS3DC2sI2YJWJBgHGhlteK0Xyu1VabwetMULfm3oYhbrsWV5yaSr2NTWZIgDGVLHbRf0inxbjXqAcmQ==} dependencies: esbuild: 0.15.18 source-map-support: 0.5.21 - dev: true /@esbuild-kit/esm-loader/2.5.4: resolution: {integrity: sha512-afmtLf6uqxD5IgwCzomtqCYIgz/sjHzCWZFvfS5+FzeYxOURPUo4QcHtqJxbxWOMOogKriZanN/1bJQE/ZL93A==} dependencies: '@esbuild-kit/core-utils': 3.0.0 get-tsconfig: 4.3.0 - dev: true /@esbuild/android-arm/0.15.18: resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} @@ -1597,8 +1594,8 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm/0.17.4: - resolution: {integrity: sha512-R9GCe2xl2XDSc2XbQB63mFiFXHIVkOP+ltIxICKXqUPrFX97z6Z7vONCLQM1pSOLGqfLrGi3B7nbhxmFY/fomg==} + /@esbuild/android-arm/0.17.6: + resolution: {integrity: sha512-bSC9YVUjADDy1gae8RrioINU6e1lCkg3VGVwm0QQ2E1CWcC4gnMce9+B6RpxuSsrsXsk1yojn7sp1fnG8erE2g==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -1613,8 +1610,8 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm64/0.17.4: - resolution: {integrity: sha512-91VwDrl4EpxBCiG6h2LZZEkuNvVZYJkv2T9gyLG/mhGG1qrM7i5SwUcg/hlSPnL/4hDT0TFcF35/XMGSn0bemg==} + /@esbuild/android-arm64/0.17.6: + resolution: {integrity: sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -1629,8 +1626,8 @@ packages: requiresBuild: true optional: true - /@esbuild/android-x64/0.17.4: - resolution: {integrity: sha512-mGSqhEPL7029XL7QHNPxPs15JVa02hvZvysUcyMP9UXdGFwncl2WU0bqx+Ysgzd+WAbv8rfNa73QveOxAnAM2w==} + /@esbuild/android-x64/0.17.6: + resolution: {integrity: sha512-MVcYcgSO7pfu/x34uX9u2QIZHmXAB7dEiLQC5bBl5Ryqtpj9lT2sg3gNDEsrPEmimSJW2FXIaxqSQ501YLDsZQ==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -1645,8 +1642,8 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-arm64/0.17.4: - resolution: {integrity: sha512-tTyJRM9dHvlMPt1KrBFVB5OW1kXOsRNvAPtbzoKazd5RhD5/wKlXk1qR2MpaZRYwf4WDMadt0Pv0GwxB41CVow==} + /@esbuild/darwin-arm64/0.17.6: + resolution: {integrity: sha512-bsDRvlbKMQMt6Wl08nHtFz++yoZHsyTOxnjfB2Q95gato+Yi4WnRl13oC2/PJJA9yLCoRv9gqT/EYX0/zDsyMA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -1661,8 +1658,8 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-x64/0.17.4: - resolution: {integrity: sha512-phQuC2Imrb3TjOJwLN8EO50nb2FHe8Ew0OwgZDH1SV6asIPGudnwTQtighDF2EAYlXChLoMJwqjAp4vAaACq6w==} + /@esbuild/darwin-x64/0.17.6: + resolution: {integrity: sha512-xh2A5oPrYRfMFz74QXIQTQo8uA+hYzGWJFoeTE8EvoZGHb+idyV4ATaukaUvnnxJiauhs/fPx3vYhU4wiGfosg==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -1677,8 +1674,8 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-arm64/0.17.4: - resolution: {integrity: sha512-oH6JUZkocgmjzzYaP5juERLpJQSwazdjZrTPgLRmAU2bzJ688x0vfMB/WTv4r58RiecdHvXOPC46VtsMy/mepg==} + /@esbuild/freebsd-arm64/0.17.6: + resolution: {integrity: sha512-EnUwjRc1inT4ccZh4pB3v1cIhohE2S4YXlt1OvI7sw/+pD+dIE4smwekZlEPIwY6PhU6oDWwITrQQm5S2/iZgg==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -1693,8 +1690,8 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-x64/0.17.4: - resolution: {integrity: sha512-U4iWGn/9TrAfpAdfd56eO0pRxIgb0a8Wj9jClrhT8hvZnOnS4dfMPW7o4fn15D/KqoiVYHRm43jjBaTt3g/2KA==} + /@esbuild/freebsd-x64/0.17.6: + resolution: {integrity: sha512-Uh3HLWGzH6FwpviUcLMKPCbZUAFzv67Wj5MTwK6jn89b576SR2IbEp+tqUHTr8DIl0iDmBAf51MVaP7pw6PY5Q==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -1709,8 +1706,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm/0.17.4: - resolution: {integrity: sha512-S2s9xWTGMTa/fG5EyMGDeL0wrWVgOSQcNddJWgu6rG1NCSXJHs76ZP9AsxjB3f2nZow9fWOyApklIgiTGZKhiw==} + /@esbuild/linux-arm/0.17.6: + resolution: {integrity: sha512-7YdGiurNt7lqO0Bf/U9/arrPWPqdPqcV6JCZda4LZgEn+PTQ5SMEI4MGR52Bfn3+d6bNEGcWFzlIxiQdS48YUw==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -1725,8 +1722,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm64/0.17.4: - resolution: {integrity: sha512-UkGfQvYlwOaeYJzZG4cLV0hCASzQZnKNktRXUo3/BMZvdau40AOz9GzmGA063n1piq6VrFFh43apRDQx8hMP2w==} + /@esbuild/linux-arm64/0.17.6: + resolution: {integrity: sha512-bUR58IFOMJX523aDVozswnlp5yry7+0cRLCXDsxnUeQYJik1DukMY+apBsLOZJblpH+K7ox7YrKrHmJoWqVR9w==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -1741,8 +1738,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ia32/0.17.4: - resolution: {integrity: sha512-3lqFi4VFo/Vwvn77FZXeLd0ctolIJH/uXkH3yNgEk89Eh6D3XXAC9/iTPEzeEpsNE5IqGIsFa5Z0iPeOh25IyA==} + /@esbuild/linux-ia32/0.17.6: + resolution: {integrity: sha512-ujp8uoQCM9FRcbDfkqECoARsLnLfCUhKARTP56TFPog8ie9JG83D5GVKjQ6yVrEVdMie1djH86fm98eY3quQkQ==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -1765,8 +1762,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-loong64/0.17.4: - resolution: {integrity: sha512-HqpWZkVslDHIwdQ9D+gk7NuAulgQvRxF9no54ut/M55KEb3mi7sQS3GwpPJzSyzzP0UkjQVN7/tbk88/CaX4EQ==} + /@esbuild/linux-loong64/0.17.6: + resolution: {integrity: sha512-y2NX1+X/Nt+izj9bLoiaYB9YXT/LoaQFYvCkVD77G/4F+/yuVXYCWz4SE9yr5CBMbOxOfBcy/xFL4LlOeNlzYQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -1781,8 +1778,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-mips64el/0.17.4: - resolution: {integrity: sha512-d/nMCKKh/SVDbqR9ju+b78vOr0tNXtfBjcp5vfHONCCOAL9ad8gN9dC/u+UnH939pz7wO+0u/x9y1MaZcb/lKA==} + /@esbuild/linux-mips64el/0.17.6: + resolution: {integrity: sha512-09AXKB1HDOzXD+j3FdXCiL/MWmZP0Ex9eR8DLMBVcHorrWJxWmY8Nms2Nm41iRM64WVx7bA/JVHMv081iP2kUA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -1797,8 +1794,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ppc64/0.17.4: - resolution: {integrity: sha512-lOD9p2dmjZcNiTU+sGe9Nn6G3aYw3k0HBJies1PU0j5IGfp6tdKOQ6mzfACRFCqXjnBuTqK7eTYpwx09O5LLfg==} + /@esbuild/linux-ppc64/0.17.6: + resolution: {integrity: sha512-AmLhMzkM8JuqTIOhxnX4ubh0XWJIznEynRnZAVdA2mMKE6FAfwT2TWKTwdqMG+qEaeyDPtfNoZRpJbD4ZBv0Tg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -1813,8 +1810,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-riscv64/0.17.4: - resolution: {integrity: sha512-mTGnwWwVshAjGsd8rP+K6583cPDgxOunsqqldEYij7T5/ysluMHKqUIT4TJHfrDFadUwrghAL6QjER4FeqQXoA==} + /@esbuild/linux-riscv64/0.17.6: + resolution: {integrity: sha512-Y4Ri62PfavhLQhFbqucysHOmRamlTVK10zPWlqjNbj2XMea+BOs4w6ASKwQwAiqf9ZqcY9Ab7NOU4wIgpxwoSQ==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -1829,8 +1826,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-s390x/0.17.4: - resolution: {integrity: sha512-AQYuUGp50XM29/N/dehADxvc2bUqDcoqrVuijop1Wv72SyxT6dDB9wjUxuPZm2HwIM876UoNNBMVd+iX/UTKVQ==} + /@esbuild/linux-s390x/0.17.6: + resolution: {integrity: sha512-SPUiz4fDbnNEm3JSdUW8pBJ/vkop3M1YwZAVwvdwlFLoJwKEZ9L98l3tzeyMzq27CyepDQ3Qgoba44StgbiN5Q==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -1845,8 +1842,8 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-x64/0.17.4: - resolution: {integrity: sha512-+AsFBwKgQuhV2shfGgA9YloxLDVjXgUEWZum7glR5lLmV94IThu/u2JZGxTgjYby6kyXEx8lKOqP5rTEVBR0Rw==} + /@esbuild/linux-x64/0.17.6: + resolution: {integrity: sha512-a3yHLmOodHrzuNgdpB7peFGPx1iJ2x6m+uDvhP2CKdr2CwOaqEFMeSqYAHU7hG+RjCq8r2NFujcd/YsEsFgTGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -1861,8 +1858,8 @@ packages: requiresBuild: true optional: true - /@esbuild/netbsd-x64/0.17.4: - resolution: {integrity: sha512-zD1TKYX9553OiLS/qkXPMlWoELYkH/VkzRYNKEU+GwFiqkq0SuxsKnsCg5UCdxN3cqd+1KZ8SS3R+WG/Hxy2jQ==} + /@esbuild/netbsd-x64/0.17.6: + resolution: {integrity: sha512-EanJqcU/4uZIBreTrnbnre2DXgXSa+Gjap7ifRfllpmyAU7YMvaXmljdArptTHmjrkkKm9BK6GH5D5Yo+p6y5A==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -1877,8 +1874,8 @@ packages: requiresBuild: true optional: true - /@esbuild/openbsd-x64/0.17.4: - resolution: {integrity: sha512-PY1NjEsLRhPEFFg1AV0/4Or/gR+q2dOb9s5rXcPuCjyHRzbt8vnHJl3vYj+641TgWZzTFmSUnZbzs1zwTzjeqw==} + /@esbuild/openbsd-x64/0.17.6: + resolution: {integrity: sha512-xaxeSunhQRsTNGFanoOkkLtnmMn5QbA0qBhNet/XLVsc+OVkpIWPHcr3zTW2gxVU5YOHFbIHR9ODuaUdNza2Vw==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -1893,8 +1890,8 @@ packages: requiresBuild: true optional: true - /@esbuild/sunos-x64/0.17.4: - resolution: {integrity: sha512-B3Z7s8QZQW9tKGleMRXvVmwwLPAUoDCHs4WZ2ElVMWiortLJFowU1NjAhXOKjDgC7o9ByeVcwyOlJ+F2r6ZgmQ==} + /@esbuild/sunos-x64/0.17.6: + resolution: {integrity: sha512-gnMnMPg5pfMkZvhHee21KbKdc6W3GR8/JuE0Da1kjwpK6oiFU3nqfHuVPgUX2rsOx9N2SadSQTIYV1CIjYG+xw==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -1909,8 +1906,8 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-arm64/0.17.4: - resolution: {integrity: sha512-0HCu8R3mY/H5V7N6kdlsJkvrT591bO/oRZy8ztF1dhgNU5xD5tAh5bKByT1UjTGjp/VVBsl1PDQ3L18SfvtnBQ==} + /@esbuild/win32-arm64/0.17.6: + resolution: {integrity: sha512-G95n7vP1UnGJPsVdKXllAJPtqjMvFYbN20e8RK8LVLhlTiSOH1sd7+Gt7rm70xiG+I5tM58nYgwWrLs6I1jHqg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -1925,8 +1922,8 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-ia32/0.17.4: - resolution: {integrity: sha512-VUjhVDQycse1gLbe06pC/uaA0M+piQXJpdpNdhg8sPmeIZZqu5xPoGWVCmcsOO2gaM2cywuTYTHkXRozo3/Nkg==} + /@esbuild/win32-ia32/0.17.6: + resolution: {integrity: sha512-96yEFzLhq5bv9jJo5JhTs1gI+1cKQ83cUpyxHuGqXVwQtY5Eq54ZEsKs8veKtiKwlrNimtckHEkj4mRh4pPjsg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1941,8 +1938,8 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-x64/0.17.4: - resolution: {integrity: sha512-0kLAjs+xN5OjhTt/aUA6t48SfENSCKgGPfExADYTOo/UCn0ivxos9/anUVeSfg+L+2O9xkFxvJXIJfG+Q4sYSg==} + /@esbuild/win32-x64/0.17.6: + resolution: {integrity: sha512-n6d8MOyUrNp6G4VSpRcgjs5xj4A91svJSaiwLIDWVWEsZtpN5FA9NlBbZHDmAJc2e8e6SF4tkBD3HAvPF+7igA==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -2335,7 +2332,7 @@ packages: defu: 6.1.2 dev: false - /@nuxt-themes/docus/1.6.3_nuxt@3.1.1: + /@nuxt-themes/docus/1.6.3_nuxt@3.2.0: resolution: {integrity: sha512-H+9kiwufFFQGMsU1iyJieHVr0g8Kj664PrSMI2+bveEMbM1ui1xvDBIk6YhkTQbN3Y7rqOeSiKfr5YGp3zYPSg==} dependencies: '@nuxt-themes/elements': 0.5.2 @@ -2343,7 +2340,7 @@ packages: '@nuxt-themes/typography': 0.6.0 '@nuxt/content': 2.4.2 '@nuxthq/studio': 0.6.5 - '@vueuse/nuxt': 9.11.1_nuxt@3.1.1 + '@vueuse/nuxt': 9.11.1_nuxt@3.2.0 transitivePeerDependencies: - '@vue/composition-api' - bufferutil @@ -2405,7 +2402,7 @@ packages: /@nuxt/content/2.4.2: resolution: {integrity: sha512-Nz2ZcC7R505UY5NQN+WE1pZ4ie8PBBr12qJHFAZqhWCXenzsdb87p48fvr6Zhlj8CyCTQqWg0B2fs7Lyg/CKwg==} dependencies: - '@nuxt/kit': 3.1.2 + '@nuxt/kit': 3.1.1 consola: 2.15.3 defu: 6.1.2 destr: 1.2.2 @@ -2439,7 +2436,7 @@ packages: unist-builder: 3.0.1 unist-util-position: 4.0.4 unist-util-visit: 4.1.2 - unstorage: 1.0.1 + unstorage: 1.1.4 ws: 8.12.0 transitivePeerDependencies: - bufferutil @@ -2451,21 +2448,21 @@ packages: /@nuxt/devalue/2.0.0: resolution: {integrity: sha512-YBI/6o2EBz02tdEJRBK8xkt3zvOFOWlLBf7WKYGBsSYSRtjjgrqPe2skp6VLLmKx5WbHHDNcW+6oACaurxGzeA==} - /@nuxt/devtools/0.1.0_nuxt@3.1.1: + /@nuxt/devtools/0.1.0_nuxt@3.2.0: resolution: {integrity: sha512-N8C+TDZAiMZi68HtQgUnKECsmRGV1t2xVSvLE+MdlY5t4OvzRTkhes6ONDP7lqDKZqUj7TcIgWShBvJa+InurA==} hasBin: true peerDependencies: nuxt: ^3.1.1 dependencies: '@antfu/install-pkg': 0.1.1 - '@nuxt/kit': 3.1.2 + '@nuxt/kit': 3.2.0 birpc: 0.2.3 consola: 2.15.3 execa: 6.1.0 h3: 1.1.0 hookable: 5.4.2 launch-editor: 2.6.0 - nuxt: 3.1.1_7rz7g5sqfnn6wuv5lem37retty + nuxt: 3.2.0_7rz7g5sqfnn6wuv5lem37retty pathe: 1.1.0 pkg-types: 1.0.1 rc9: 2.0.1 @@ -2476,20 +2473,47 @@ packages: - rollup - supports-color - vite + dev: false + + /@nuxt/kit/3.1.1: + resolution: {integrity: sha512-wmqVCIuD/te6BKf3YiqWyMumKI5JIpkiv0li/1Y3QHnTkoxyIhLkbFgNcQHuBxJ3eMlk2UjAjAqWiqBHTX54vQ==} + engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} + dependencies: + '@nuxt/schema': 3.1.1 + c12: 1.1.0 + consola: 2.15.3 + defu: 6.1.2 + globby: 13.1.3 + hash-sum: 2.0.0 + ignore: 5.2.4 + jiti: 1.17.0 + knitwork: 1.0.0 + lodash.template: 4.5.0 + mlly: 1.1.0 + pathe: 1.1.0 + pkg-types: 1.0.1 + scule: 1.0.0 + semver: 7.3.8 + unctx: 2.1.1 + unimport: 2.2.4 + untyped: 1.2.2 + transitivePeerDependencies: + - rollup + - supports-color dev: true - /@nuxt/kit/3.1.2: - resolution: {integrity: sha512-m8/AF8hBJiG7aTx2CpiDGeLYYz30fUoPbJ9XiSmHqRIXv1goAFWHSkzWfRNEsoAAbMHf76oB917wVUQ3VSSQHg==} + /@nuxt/kit/3.2.0: + resolution: {integrity: sha512-Otb1S/08tDxbpeQYLMynjr2TX7ssU1ynbWDpVzFzLBdfHkGWHXpIhJr+0u3LdnPUBw6C/xPXe7fd7RuXI9avoA==} engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} dependencies: - '@nuxt/schema': 3.1.2 + '@nuxt/schema': 3.2.0 c12: 1.1.0 consola: 2.15.3 defu: 6.1.2 globby: 13.1.3 hash-sum: 2.0.0 ignore: 5.2.4 - jiti: 1.16.2 + jiti: 1.17.0 knitwork: 1.0.0 lodash.template: 4.5.0 mlly: 1.1.0 @@ -2498,24 +2522,24 @@ packages: scule: 1.0.0 semver: 7.3.8 unctx: 2.1.1 - unimport: 2.1.0 + unimport: 2.2.4 untyped: 1.2.2 transitivePeerDependencies: - rollup - supports-color - /@nuxt/kit/3.1.2_rollup@3.10.1: - resolution: {integrity: sha512-m8/AF8hBJiG7aTx2CpiDGeLYYz30fUoPbJ9XiSmHqRIXv1goAFWHSkzWfRNEsoAAbMHf76oB917wVUQ3VSSQHg==} + /@nuxt/kit/3.2.0_rollup@3.14.0: + resolution: {integrity: sha512-Otb1S/08tDxbpeQYLMynjr2TX7ssU1ynbWDpVzFzLBdfHkGWHXpIhJr+0u3LdnPUBw6C/xPXe7fd7RuXI9avoA==} engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} dependencies: - '@nuxt/schema': 3.1.2_rollup@3.10.1 + '@nuxt/schema': 3.2.0_rollup@3.14.0 c12: 1.1.0 consola: 2.15.3 defu: 6.1.2 globby: 13.1.3 hash-sum: 2.0.0 ignore: 5.2.4 - jiti: 1.16.2 + jiti: 1.17.0 knitwork: 1.0.0 lodash.template: 4.5.0 mlly: 1.1.0 @@ -2524,49 +2548,71 @@ packages: scule: 1.0.0 semver: 7.3.8 unctx: 2.1.1 - unimport: 2.1.0_rollup@3.10.1 + unimport: 2.2.4_rollup@3.14.0 untyped: 1.2.2 transitivePeerDependencies: - rollup - supports-color - /@nuxt/schema/3.1.2: - resolution: {integrity: sha512-wru9LhRXTa6WQlx7c0oYrtvJY7TiVlkBKXY5Rsmfo0StJuWohgZiReu9fu6z6GU4MzZlX25TVjwvq9Q7bNVbSQ==} + /@nuxt/schema/3.1.1: + resolution: {integrity: sha512-/KuoCDVGrLD9W7vwuYhu4HbdT/BpbrhA4Pm9dGn7Jah40kHDGqUnJxugvMjt+4suq53rLQyTA0LRDWfFxfxAOQ==} engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} dependencies: c12: 1.1.0 create-require: 1.1.1 defu: 6.1.2 hookable: 5.4.2 - jiti: 1.16.2 + jiti: 1.17.0 pathe: 1.1.0 pkg-types: 1.0.1 postcss-import-resolver: 2.0.0 scule: 1.0.0 std-env: 3.3.2 ufo: 1.0.1 - unimport: 2.1.0 + unimport: 2.2.4 untyped: 1.2.2 transitivePeerDependencies: - rollup - supports-color + dev: true - /@nuxt/schema/3.1.2_rollup@3.10.1: - resolution: {integrity: sha512-wru9LhRXTa6WQlx7c0oYrtvJY7TiVlkBKXY5Rsmfo0StJuWohgZiReu9fu6z6GU4MzZlX25TVjwvq9Q7bNVbSQ==} + /@nuxt/schema/3.2.0: + resolution: {integrity: sha512-tz9RandI5LgbT9BQ8dE8n4kItV7+4OUgbX42YemcGbtORVJAWJJvQyHGikJ5akUgiTFYTV8tjV6pRPH9Txx0Pg==} engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} dependencies: c12: 1.1.0 create-require: 1.1.1 defu: 6.1.2 hookable: 5.4.2 - jiti: 1.16.2 + jiti: 1.17.0 pathe: 1.1.0 pkg-types: 1.0.1 postcss-import-resolver: 2.0.0 scule: 1.0.0 std-env: 3.3.2 ufo: 1.0.1 - unimport: 2.1.0_rollup@3.10.1 + unimport: 2.2.4 + untyped: 1.2.2 + transitivePeerDependencies: + - rollup + - supports-color + + /@nuxt/schema/3.2.0_rollup@3.14.0: + resolution: {integrity: sha512-tz9RandI5LgbT9BQ8dE8n4kItV7+4OUgbX42YemcGbtORVJAWJJvQyHGikJ5akUgiTFYTV8tjV6pRPH9Txx0Pg==} + engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} + dependencies: + c12: 1.1.0 + create-require: 1.1.1 + defu: 6.1.2 + hookable: 5.4.2 + jiti: 1.17.0 + pathe: 1.1.0 + pkg-types: 1.0.1 + postcss-import-resolver: 2.0.0 + scule: 1.0.0 + std-env: 3.3.2 + ufo: 1.0.1 + unimport: 2.2.4_rollup@3.14.0 untyped: 1.2.2 transitivePeerDependencies: - rollup @@ -2576,7 +2622,7 @@ packages: resolution: {integrity: sha512-mUyDqmB8GUJwTHVnwxuapeUHDSsUycOt+ZsA7GB6F8MOBJiVhQl/EeEAWoO2TUs0BPp2SlY9uO6eQihvxyLRqQ==} hasBin: true dependencies: - '@nuxt/kit': 3.1.2 + '@nuxt/kit': 3.2.0 chalk: 5.2.0 ci-info: 3.7.1 consola: 2.15.3 @@ -2588,7 +2634,7 @@ packages: git-url-parse: 13.1.0 inquirer: 9.1.4 is-docker: 3.0.0 - jiti: 1.16.2 + jiti: 1.17.0 mri: 1.2.0 nanoid: 4.0.0 node-fetch: 3.3.0 @@ -2600,30 +2646,30 @@ packages: - rollup - supports-color - /@nuxt/ui-templates/1.1.0: - resolution: {integrity: sha512-KffiTNdVaZlkx0tgwopmy627WQclWO0kqFD1R646wawDbNlWkpmwj5qI5qoh2Rx13/O+KkYdc28H3JsQdQmXJw==} + /@nuxt/ui-templates/1.1.1: + resolution: {integrity: sha512-PjVETP7+iZXAs5Q8O4ivl4t6qjWZMZqwiTVogUXHoHGZZcw7GZW3u3tzfYfE1HbzyYJfr236IXqQ02MeR8Fz2w==} - /@nuxt/vite-builder/3.1.1_vshnhw7h4tuo6ge5ck2wv7vfrm: - resolution: {integrity: sha512-tTV369sIURut6z+t36ib3J2GbgiazMc4VO9wB372A5hnd+faLtapknswMvzF23M+4z1/5tGaV/kkU/ZrO3V1Ag==} + /@nuxt/vite-builder/3.2.0_vshnhw7h4tuo6ge5ck2wv7vfrm: + resolution: {integrity: sha512-1rApkhjQMUndRKl9bFn/NdAVxUgPeAB/XIEgP0YN4KPTM156Q/fvgu8LrzUp4lzYgGGKfm4r8IfuxYS9BremMQ==} engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} peerDependencies: - vue: ^3.2.45 + vue: ^3.2.47 dependencies: - '@nuxt/kit': 3.1.2_rollup@3.10.1 - '@rollup/plugin-replace': 5.0.2_rollup@3.10.1 - '@vitejs/plugin-vue': 4.0.0_vite@4.0.4+vue@3.2.45 - '@vitejs/plugin-vue-jsx': 3.0.0_vite@4.0.4+vue@3.2.45 + '@nuxt/kit': 3.2.0_rollup@3.14.0 + '@rollup/plugin-replace': 5.0.2_rollup@3.14.0 + '@vitejs/plugin-vue': 4.0.0_vite@4.1.1+vue@3.2.45 + '@vitejs/plugin-vue-jsx': 3.0.0_vite@4.1.1+vue@3.2.45 autoprefixer: 10.4.13_postcss@8.4.21 chokidar: 3.5.3 cssnano: 5.1.14_postcss@8.4.21 defu: 6.1.2 - esbuild: 0.17.4 + esbuild: 0.17.6 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 externality: 1.0.0 fs-extra: 11.1.0 get-port-please: 3.0.1 - h3: 1.1.0 + h3: 1.4.0 knitwork: 1.0.0 magic-string: 0.27.0 mlly: 1.1.0 @@ -2634,15 +2680,15 @@ packages: postcss: 8.4.21 postcss-import: 15.1.0_postcss@8.4.21 postcss-url: 10.1.3_postcss@8.4.21 - rollup: 3.10.1 - rollup-plugin-visualizer: 5.9.0_rollup@3.10.1 + rollup: 3.14.0 + rollup-plugin-visualizer: 5.9.0_rollup@3.14.0 ufo: 1.0.1 unplugin: 1.0.1 - vite: 4.0.4 + vite: 4.1.1 vite-node: 0.28.4 - vite-plugin-checker: 0.5.4_h3si5tluig4ewnb7qcro3a3fhu + vite-plugin-checker: 0.5.5_vze4qwvlaxozg73itpzioumila vue: 3.2.45 - vue-bundle-renderer: 1.0.0 + vue-bundle-renderer: 1.0.1 transitivePeerDependencies: - '@types/node' - eslint @@ -2660,27 +2706,27 @@ packages: - vti - vue-tsc - /@nuxt/vite-builder/3.1.1_vue@3.2.45: - resolution: {integrity: sha512-tTV369sIURut6z+t36ib3J2GbgiazMc4VO9wB372A5hnd+faLtapknswMvzF23M+4z1/5tGaV/kkU/ZrO3V1Ag==} + /@nuxt/vite-builder/3.2.0_vue@3.2.45: + resolution: {integrity: sha512-1rApkhjQMUndRKl9bFn/NdAVxUgPeAB/XIEgP0YN4KPTM156Q/fvgu8LrzUp4lzYgGGKfm4r8IfuxYS9BremMQ==} engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} peerDependencies: - vue: ^3.2.45 + vue: ^3.2.47 dependencies: - '@nuxt/kit': 3.1.2_rollup@3.10.1 - '@rollup/plugin-replace': 5.0.2_rollup@3.10.1 - '@vitejs/plugin-vue': 4.0.0_vite@4.0.4+vue@3.2.45 - '@vitejs/plugin-vue-jsx': 3.0.0_vite@4.0.4+vue@3.2.45 + '@nuxt/kit': 3.2.0_rollup@3.14.0 + '@rollup/plugin-replace': 5.0.2_rollup@3.14.0 + '@vitejs/plugin-vue': 4.0.0_vite@4.1.1+vue@3.2.45 + '@vitejs/plugin-vue-jsx': 3.0.0_vite@4.1.1+vue@3.2.45 autoprefixer: 10.4.13_postcss@8.4.21 chokidar: 3.5.3 cssnano: 5.1.14_postcss@8.4.21 defu: 6.1.2 - esbuild: 0.17.4 + esbuild: 0.17.6 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 externality: 1.0.0 fs-extra: 11.1.0 get-port-please: 3.0.1 - h3: 1.1.0 + h3: 1.4.0 knitwork: 1.0.0 magic-string: 0.27.0 mlly: 1.1.0 @@ -2691,15 +2737,15 @@ packages: postcss: 8.4.21 postcss-import: 15.1.0_postcss@8.4.21 postcss-url: 10.1.3_postcss@8.4.21 - rollup: 3.10.1 - rollup-plugin-visualizer: 5.9.0_rollup@3.10.1 + rollup: 3.14.0 + rollup-plugin-visualizer: 5.9.0_rollup@3.14.0 ufo: 1.0.1 unplugin: 1.0.1 - vite: 4.0.4 + vite: 4.1.1 vite-node: 0.28.4 - vite-plugin-checker: 0.5.4_vite@4.0.4 + vite-plugin-checker: 0.5.5_vite@4.1.1 vue: 3.2.45 - vue-bundle-renderer: 1.0.0 + vue-bundle-renderer: 1.0.1 transitivePeerDependencies: - '@types/node' - eslint @@ -2721,8 +2767,8 @@ packages: /@nuxthq/studio/0.6.5: resolution: {integrity: sha512-kGb8abgTRJi0gcvTQcawEol5CR6uXS4bpCwEEk0+b3LSvyiM6k22Opb29KkSatprTkFrAPHDKSaUve8PiX22sw==} dependencies: - '@nuxt/kit': 3.1.2 - '@nuxt/schema': 3.1.2 + '@nuxt/kit': 3.2.0 + '@nuxt/schema': 3.2.0 defu: 6.1.2 nuxt-component-meta: 0.4.3 nuxt-config-schema: 0.4.4 @@ -2738,7 +2784,7 @@ packages: /@nuxtjs/color-mode/3.2.0: resolution: {integrity: sha512-isDR01yfadopiHQ/VEVUpyNSPrk5PCjUHS4t1qYRZwuRGefU4s9Iaxf6H9nmr1QFzoMgTm+3T0r/54jLwtpZbA==} dependencies: - '@nuxt/kit': 3.1.2 + '@nuxt/kit': 3.2.0 lodash.template: 4.5.0 pathe: 1.1.0 transitivePeerDependencies: @@ -2752,7 +2798,7 @@ packages: '@intlify/bundle-utils': 3.4.0_vue-i18n@9.3.0-beta.16 '@intlify/shared': 9.3.0-beta.11 '@intlify/unplugin-vue-i18n': 0.8.1_vue-i18n@9.3.0-beta.16 - '@nuxt/kit': 3.1.2 + '@nuxt/kit': 3.2.0 '@vue/compiler-sfc': 3.2.47 cookie-es: 0.5.0 debug: 4.3.4 @@ -2781,7 +2827,7 @@ packages: /@pinia/nuxt/0.4.6_typescript@4.9.5: resolution: {integrity: sha512-HjrYEfLdFpmsjhicPJgL36jVhzHWukIQPFFHGTSF84Cplu+f2nY2XHKqe9ToHzE9rLee2RjLOwAzOnXa/I/u6A==} dependencies: - '@nuxt/kit': 3.1.2 + '@nuxt/kit': 3.2.0 pinia: 2.0.29_typescript@4.9.5 transitivePeerDependencies: - '@vue/composition-api' @@ -2791,14 +2837,21 @@ packages: - vue dev: false + /@planetscale/database/1.5.0: + resolution: {integrity: sha512-Qwh7Or1W5dB5mZ9EQqDkgvkDKhBBmQe58KIVUy0SGocNtr5fP4JAWtvZ6EdLAV6C6hVpzNlCA2xIg9lKTswm1Q==} + engines: {node: '>=16'} + requiresBuild: true + optional: true + /@polka/url/1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + dev: false /@popperjs/core/2.11.6: resolution: {integrity: sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==} dev: false - /@rollup/plugin-alias/4.0.3_rollup@3.10.1: + /@rollup/plugin-alias/4.0.3_rollup@3.14.0: resolution: {integrity: sha512-ZuDWE1q4PQDhvm/zc5Prun8sBpLJy41DMptYrS6MhAy9s9kL/doN1613BWfEchGVfKxzliJ3BjbOPizXX38DbQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2807,7 +2860,7 @@ packages: rollup: optional: true dependencies: - rollup: 3.10.1 + rollup: 3.14.0 slash: 4.0.0 /@rollup/plugin-babel/5.3.1_3dsfpkpoyvuuxyfgdbpn4j4uzm: @@ -2827,7 +2880,7 @@ packages: rollup: 2.79.1 dev: false - /@rollup/plugin-commonjs/24.0.1_rollup@3.10.1: + /@rollup/plugin-commonjs/24.0.1_rollup@3.14.0: resolution: {integrity: sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2836,15 +2889,15 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.10.1 + '@rollup/pluginutils': 5.0.2_rollup@3.14.0 commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.27.0 - rollup: 3.10.1 + rollup: 3.14.0 - /@rollup/plugin-inject/5.0.3_rollup@3.10.1: + /@rollup/plugin-inject/5.0.3_rollup@3.14.0: resolution: {integrity: sha512-411QlbL+z2yXpRWFXSmw/teQRMkXcAAC8aYTemc15gwJRpvEVDQwoe+N/HTFD8RFG8+88Bme9DK2V9CVm7hJdA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2853,12 +2906,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.10.1 + '@rollup/pluginutils': 5.0.2_rollup@3.14.0 estree-walker: 2.0.2 magic-string: 0.27.0 - rollup: 3.10.1 + rollup: 3.14.0 - /@rollup/plugin-json/6.0.0_rollup@3.10.1: + /@rollup/plugin-json/6.0.0_rollup@3.14.0: resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2867,8 +2920,8 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.10.1 - rollup: 3.10.1 + '@rollup/pluginutils': 5.0.2_rollup@3.14.0 + rollup: 3.14.0 /@rollup/plugin-node-resolve/11.2.1_rollup@2.79.1: resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} @@ -2885,7 +2938,7 @@ packages: rollup: 2.79.1 dev: false - /@rollup/plugin-node-resolve/15.0.1_rollup@3.10.1: + /@rollup/plugin-node-resolve/15.0.1_rollup@3.14.0: resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2894,13 +2947,13 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.10.1 + '@rollup/pluginutils': 5.0.2_rollup@3.14.0 '@types/resolve': 1.20.2 deepmerge: 4.2.2 is-builtin-module: 3.2.0 is-module: 1.0.0 resolve: 1.22.1 - rollup: 3.10.1 + rollup: 3.14.0 /@rollup/plugin-replace/2.4.2_rollup@2.79.1: resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} @@ -2924,9 +2977,23 @@ packages: '@rollup/pluginutils': 5.0.2_rollup@3.10.1 magic-string: 0.27.0 rollup: 3.10.1 + dev: false - /@rollup/plugin-terser/0.3.0_rollup@3.10.1: - resolution: {integrity: sha512-mYTkNW9KjOscS/3QWU5LfOKsR3/fAAVDaqcAe2TZ7ng6pN46f+C7FOZbITuIW/neA+PhcjoKl7yMyB3XcmA4gw==} + /@rollup/plugin-replace/5.0.2_rollup@3.14.0: + resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@rollup/pluginutils': 5.0.2_rollup@3.14.0 + magic-string: 0.27.0 + rollup: 3.14.0 + + /@rollup/plugin-terser/0.4.0_rollup@3.14.0: + resolution: {integrity: sha512-Ipcf3LPNerey1q9ZMjiaWHlNPEHNU/B5/uh9zXLltfEQ1lVSLLeZSgAtTPWGyw8Ip1guOeq+mDtdOlEj/wNxQw==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^2.x || ^3.x @@ -2934,12 +3001,12 @@ packages: rollup: optional: true dependencies: - rollup: 3.10.1 + rollup: 3.14.0 serialize-javascript: 6.0.1 smob: 0.0.6 terser: 5.16.1 - /@rollup/plugin-wasm/6.1.2_rollup@3.10.1: + /@rollup/plugin-wasm/6.1.2_rollup@3.14.0: resolution: {integrity: sha512-YdrQ7zfnZ54Y+6raCev3tR1PrhQGxYKSTajGylhyP0oBacouuNo6KcNCk+pYKw9M98jxRWLFFca/udi76IDXzg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -2948,7 +3015,7 @@ packages: rollup: optional: true dependencies: - rollup: 3.10.1 + rollup: 3.14.0 /@rollup/pluginutils/3.1.0_rollup@2.79.1: resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} @@ -2995,6 +3062,21 @@ packages: estree-walker: 2.0.2 picomatch: 2.3.1 rollup: 3.10.1 + dev: false + + /@rollup/pluginutils/5.0.2_rollup@3.14.0: + resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.0 + estree-walker: 2.0.2 + picomatch: 2.3.1 + rollup: 3.14.0 /@socket.io/component-emitter/3.1.0: resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} @@ -3564,28 +3646,28 @@ packages: eslint-visitor-keys: 3.3.0 dev: true - /@unhead/dom/1.0.18: - resolution: {integrity: sha512-zX7w/Z3a1/spyQ3SuxB/0s1Tjx8zu5RzYBBXTtYvGutF8g/ScXreC0c5Vm5F3x4HOPdWG+71Qr/M+k6AxPLHDA==} + /@unhead/dom/1.0.21: + resolution: {integrity: sha512-rwVz7NWMdQ8kSTXv/WOhB0eTWYFD2SQwQ/J109IEqNUN9X3pIwcvdvlXMCG+qhJGFyiIgOl2X+W0cE+u/IiLVA==} dependencies: - '@unhead/schema': 1.0.18 + '@unhead/schema': 1.0.21 - /@unhead/schema/1.0.18: - resolution: {integrity: sha512-LjNxwwQMZTD0b3LlB4/mmCZpO6HP7ZjK5sKuMpy7/+2O9HJO6TefxsDVrJVAitdUfm5Jej9cNEjnL2gJkc2uWg==} + /@unhead/schema/1.0.21: + resolution: {integrity: sha512-amYg6vJ37xUhnL6bvL4S3lz6yDs5lWeqJu63/3a5bxH3Dq0WPJ+kdhpUXI+4enoNaWvLvm860WXUOtKr5D+DMg==} dependencies: - '@zhead/schema': 1.0.9 + '@zhead/schema': 1.1.0 hookable: 5.4.2 - /@unhead/ssr/1.0.18: - resolution: {integrity: sha512-In0bJSLAyN8DdCuNJaoOIrjsK40g904ELR/0Eue9VzyO0fe147dPGfYlwwUrZOqj0JzGtndiQCF/D6bjn76ovw==} + /@unhead/ssr/1.0.21: + resolution: {integrity: sha512-QWy+vKZWVb+XfHl/B/rEoniMGFpDjXiYBkjJZyuf+9By8DzQUscMaTv14neW1ZR6pq56c4B7Tp1N3Lve8SW+rA==} dependencies: - '@unhead/schema': 1.0.18 + '@unhead/schema': 1.0.21 - /@unhead/vue/1.0.18_vue@3.2.45: - resolution: {integrity: sha512-VZ61a2pRtGXI9sj1aba5Qmm35veVvRDIE0Xsog3I0TfwavlwklZcg9bF2eT+GcDnsq1NxNO7uDyrb/+xNAzSxA==} + /@unhead/vue/1.0.21_vue@3.2.45: + resolution: {integrity: sha512-UCwgY4MbQEnFUo+/xmzBPK3PjC+oeCCzSsgK6eLk3vUC8Cuarrvw06wy8s0cO94DkpAi56Ih9oRWA16a/tih1A==} peerDependencies: vue: '>=2.7 || >=3' dependencies: - '@unhead/schema': 1.0.18 + '@unhead/schema': 1.0.21 hookable: 5.4.2 vue: 3.2.45 @@ -3644,7 +3726,7 @@ packages: /@unocss/nuxt/0.49.1: resolution: {integrity: sha512-VKxAl75dqvk7Xkz8128BFv9mquMrmLmP6wje6ACccWM5sSdH5VjZQqGsSo3q9STcX+KlfuyErqTEMzbWEJ4H7Q==} dependencies: - '@nuxt/kit': 3.1.2 + '@nuxt/kit': 3.2.0 '@unocss/config': 0.49.1 '@unocss/core': 0.49.1 '@unocss/preset-attributify': 0.49.1 @@ -3810,7 +3892,7 @@ packages: - encoding - supports-color - /@vitejs/plugin-vue-jsx/3.0.0_vite@4.0.4+vue@3.2.45: + /@vitejs/plugin-vue-jsx/3.0.0_vite@4.1.1+vue@3.2.45: resolution: {integrity: sha512-vurkuzgac5SYuxd2HUZqAFAWGTF10diKBwJNbCvnWijNZfXd+7jMtqjPFbGt7idOJUn584fP1Ar9j/GN2jQ3Ew==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3820,19 +3902,19 @@ packages: '@babel/core': 7.20.12 '@babel/plugin-transform-typescript': 7.20.13_@babel+core@7.20.12 '@vue/babel-plugin-jsx': 1.1.1_@babel+core@7.20.12 - vite: 4.0.4 + vite: 4.1.1 vue: 3.2.45 transitivePeerDependencies: - supports-color - /@vitejs/plugin-vue/4.0.0_vite@4.0.4+vue@3.2.45: + /@vitejs/plugin-vue/4.0.0_vite@4.1.1+vue@3.2.45: resolution: {integrity: sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: vite: ^4.0.0 vue: ^3.2.25 dependencies: - vite: 4.0.4 + vite: 4.1.1 vue: 3.2.45 /@vitest/expect/0.28.4: @@ -3896,7 +3978,7 @@ packages: '@volar/source-map': 1.0.24 '@vue/compiler-dom': 3.2.47 '@vue/compiler-sfc': 3.2.47 - '@vue/reactivity': 3.2.45 + '@vue/reactivity': 3.2.47 '@vue/shared': 3.2.47 minimatch: 5.1.6 vue-template-compiler: 2.7.14 @@ -4054,16 +4136,16 @@ packages: - vue dev: false - /@vue-macros/nuxt/1.0.3_2kgo5tjdvwtrecdyfxt2rg75du: + /@vue-macros/nuxt/1.0.3_5ho3oymwln6ivysxzaxueugmee: resolution: {integrity: sha512-p1IuApxeLMjMT5xtdXhIpdNOp5I4+jQnz2Bv4KC6FfnfZZzDToAulaK0Y+Xmn5cSNY+hvCwA7JLZLjRwvYu/AQ==} engines: {node: '>=14.19.0'} peerDependencies: nuxt: ^3.0.0 dependencies: - '@nuxt/kit': 3.1.2 + '@nuxt/kit': 3.2.0 '@vue-macros/short-vmodel': 1.1.0 '@vue-macros/volar': 0.8.1_vue-tsc@1.0.24 - nuxt: 3.1.1_7rz7g5sqfnn6wuv5lem37retty + nuxt: 3.2.0_7rz7g5sqfnn6wuv5lem37retty unplugin-vue-macros: 1.7.3_@vueuse+core@9.11.1 transitivePeerDependencies: - '@vueuse/core' @@ -4284,6 +4366,11 @@ packages: dependencies: '@vue/shared': 3.2.45 + /@vue/reactivity/3.2.47: + resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==} + dependencies: + '@vue/shared': 3.2.47 + /@vue/runtime-core/3.2.45: resolution: {integrity: sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==} dependencies: @@ -4364,15 +4451,15 @@ packages: vue-demi: 0.13.11 dev: false - /@vueuse/head/1.0.23_vue@3.2.45: - resolution: {integrity: sha512-CiC9VWYbvwAqjWDBJH4WfQfBk7NWMZpvmpvIUYsm3X+aa8QHMiDGzR+RFKZSUtykiCGnSZk97yIvo5eJBmSh8A==} + /@vueuse/head/1.0.25_vue@3.2.45: + resolution: {integrity: sha512-ACfRqD3bbh92cIzDDR1CmqShXCXhQv/EUUcaDMYaexA4ulorYHd+2Yo5/ljoS4jDoMgsqBSP0XJZT3nySMB5gw==} peerDependencies: vue: '>=2.7 || >=3' dependencies: - '@unhead/dom': 1.0.18 - '@unhead/schema': 1.0.18 - '@unhead/ssr': 1.0.18 - '@unhead/vue': 1.0.18_vue@3.2.45 + '@unhead/dom': 1.0.21 + '@unhead/schema': 1.0.21 + '@unhead/ssr': 1.0.21 + '@unhead/vue': 1.0.21_vue@3.2.45 vue: 3.2.45 /@vueuse/integrations/9.11.1_ha7ivgav6uqpoo2b5thfugqwjq: @@ -4458,16 +4545,16 @@ packages: vue-demi: 0.13.11 dev: false - /@vueuse/nuxt/9.11.1_nuxt@3.1.1: + /@vueuse/nuxt/9.11.1_nuxt@3.2.0: resolution: {integrity: sha512-hiiRzLgsH5nTAb2TChyFc6nykIyTB3MnCEhILg44Ug9ILC3vG/qnHnv3zRtIu4bXNOhDQN5shfnchgGPJFf8PA==} peerDependencies: nuxt: ^3.0.0 dependencies: - '@nuxt/kit': 3.1.2 + '@nuxt/kit': 3.2.0 '@vueuse/core': 9.11.1 '@vueuse/metadata': 9.11.1 local-pkg: 0.4.3 - nuxt: 3.1.1_7rz7g5sqfnn6wuv5lem37retty + nuxt: 3.2.0_7rz7g5sqfnn6wuv5lem37retty vue-demi: 0.13.11 transitivePeerDependencies: - '@vue/composition-api' @@ -4497,8 +4584,8 @@ packages: - '@vue/composition-api' - vue - /@zhead/schema/1.0.9: - resolution: {integrity: sha512-MBubVXXEJX86ZBL6CDK0rYi1mC82zuben1MwwAEe98EFN1w4Oy0l2roJaM51MwQEvZ+WTi6o4lCxUShtLQJk8A==} + /@zhead/schema/1.1.0: + resolution: {integrity: sha512-hEtK+hUAKS3w1+F++m6EeZ6bWeLDXraqN2nCyRVIP5vvR3bWjXVP9OM9x7Pmn7Hp6T7FKmsG2C8rvouQU2806w==} /abbrev/1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} @@ -4829,7 +4916,7 @@ packages: /birpc/0.2.3: resolution: {integrity: sha512-mG7m06C2JkfuHSaLRHhtHtMEvyT1P1nUyyuk5W/7LMT2p7YYX/tfzJzD2ynZZHem3JTi6yJve0nHPdrs/gpXYg==} - dev: true + dev: false /bl/4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -4937,7 +5024,7 @@ packages: defu: 6.1.2 dotenv: 16.0.3 giget: 1.0.0 - jiti: 1.16.2 + jiti: 1.17.0 mlly: 1.1.0 pathe: 1.1.0 pkg-types: 1.0.1 @@ -6062,34 +6149,34 @@ packages: '@esbuild/win32-ia32': 0.16.17 '@esbuild/win32-x64': 0.16.17 - /esbuild/0.17.4: - resolution: {integrity: sha512-zBn9MeCwT7W5F1a3lXClD61ip6vQM+H8Msb0w8zMT4ZKBpDg+rFAraNyWCDelB/2L6M3g6AXHPnsyvjMFnxtFw==} + /esbuild/0.17.6: + resolution: {integrity: sha512-TKFRp9TxrJDdRWfSsSERKEovm6v30iHnrjlcGhLBOtReE28Yp1VSBRfO3GTaOFMoxsNerx4TjrhzSuma9ha83Q==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.17.4 - '@esbuild/android-arm64': 0.17.4 - '@esbuild/android-x64': 0.17.4 - '@esbuild/darwin-arm64': 0.17.4 - '@esbuild/darwin-x64': 0.17.4 - '@esbuild/freebsd-arm64': 0.17.4 - '@esbuild/freebsd-x64': 0.17.4 - '@esbuild/linux-arm': 0.17.4 - '@esbuild/linux-arm64': 0.17.4 - '@esbuild/linux-ia32': 0.17.4 - '@esbuild/linux-loong64': 0.17.4 - '@esbuild/linux-mips64el': 0.17.4 - '@esbuild/linux-ppc64': 0.17.4 - '@esbuild/linux-riscv64': 0.17.4 - '@esbuild/linux-s390x': 0.17.4 - '@esbuild/linux-x64': 0.17.4 - '@esbuild/netbsd-x64': 0.17.4 - '@esbuild/openbsd-x64': 0.17.4 - '@esbuild/sunos-x64': 0.17.4 - '@esbuild/win32-arm64': 0.17.4 - '@esbuild/win32-ia32': 0.17.4 - '@esbuild/win32-x64': 0.17.4 + '@esbuild/android-arm': 0.17.6 + '@esbuild/android-arm64': 0.17.6 + '@esbuild/android-x64': 0.17.6 + '@esbuild/darwin-arm64': 0.17.6 + '@esbuild/darwin-x64': 0.17.6 + '@esbuild/freebsd-arm64': 0.17.6 + '@esbuild/freebsd-x64': 0.17.6 + '@esbuild/linux-arm': 0.17.6 + '@esbuild/linux-arm64': 0.17.6 + '@esbuild/linux-ia32': 0.17.6 + '@esbuild/linux-loong64': 0.17.6 + '@esbuild/linux-mips64el': 0.17.6 + '@esbuild/linux-ppc64': 0.17.6 + '@esbuild/linux-riscv64': 0.17.6 + '@esbuild/linux-s390x': 0.17.6 + '@esbuild/linux-x64': 0.17.6 + '@esbuild/netbsd-x64': 0.17.6 + '@esbuild/openbsd-x64': 0.17.6 + '@esbuild/sunos-x64': 0.17.6 + '@esbuild/win32-arm64': 0.17.6 + '@esbuild/win32-ia32': 0.17.6 + '@esbuild/win32-x64': 0.17.6 /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -6448,7 +6535,6 @@ packages: hasBin: true dependencies: tsx: 3.12.2 - dev: true /espree/6.2.1: resolution: {integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==} @@ -6557,7 +6643,6 @@ packages: onetime: 6.0.0 signal-exit: 3.0.7 strip-final-newline: 3.0.0 - dev: true /extend/3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -6862,7 +6947,6 @@ packages: /get-tsconfig/4.3.0: resolution: {integrity: sha512-YCcF28IqSay3fqpIu5y3Krg/utCBHBeoflkZyHj/QcqI2nrLPC3ZegS9CmIo+hJb8K7aiGsuUl7PwWVjNG2HQQ==} - dev: true /giget/1.0.0: resolution: {integrity: sha512-KWELZn3Nxq5+0So485poHrFriK9Bn3V/x9y+wgqrHkbmnGbjfLmZ685/SVA/ovW+ewoqW0gVI47pI4yW/VNobQ==} @@ -7002,6 +7086,17 @@ packages: destr: 1.2.2 radix3: 1.0.0 ufo: 1.0.1 + dev: false + + /h3/1.4.0: + resolution: {integrity: sha512-FWG+FUdW6XQnf/54L4AXzZs1KUYwSJk5cbdFvTM4EG96bEQiWDJ5003xW4S3UGgXI0VJJgyY6KCaDmAL75kjbA==} + dependencies: + cookie-es: 0.5.0 + destr: 1.2.2 + iron-webcrypto: 0.4.0 + radix3: 1.0.0 + ufo: 1.0.1 + uncrypto: 0.1.2 /happy-dom/8.2.0: resolution: {integrity: sha512-SBMi/ht8zvtXNuSVpXJu+hOEJtNEbM4CxQukcHMm7FCd1sMuitfESwUMX83gl3C2JcEGLcpx/+JnF+rjGl27+A==} @@ -7214,7 +7309,6 @@ packages: /human-signals/3.0.1: resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} engines: {node: '>=12.20.0'} - dev: true /iconv-lite/0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} @@ -7307,8 +7401,8 @@ packages: has: 1.0.3 side-channel: 1.0.4 - /ioredis/5.2.5: - resolution: {integrity: sha512-7HKo/ClM2DGLRXdFq8ruS3Uuadensz4A76wPOU0adqlOqd1qkhoLPDaBhmVhUhNGpB+J65/bhLmNB8DDY99HJQ==} + /ioredis/5.3.0: + resolution: {integrity: sha512-Id9jKHhsILuIZpHc61QkagfVdUj2Rag5GzG1TGEvRNeM7dtTOjICgjC+tvqYxi//PuX2wjQ+Xjva2ONBuf92Pw==} engines: {node: '>=12.22.0'} dependencies: '@ioredis/commands': 1.2.0 @@ -7327,6 +7421,9 @@ packages: resolution: {integrity: sha512-fOCG6lhoKKakwv+C6KdsOnGvgXnmgfmp0myi3bcNwj3qfwPAxRKWEuFhvEFF7ceYIz6+1jRZ+yguLFAmUNPEfw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + /iron-webcrypto/0.4.0: + resolution: {integrity: sha512-5OG53gJ4dBTq4y3IJqK7MEG9CPZRsYn9EP9J4jjgH4TcP/ywdsSMAmqj9VTSzdXu0/xfUrqjGHU7WLUme2+k5Q==} + /is-absolute-url/4.0.1: resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -7560,7 +7657,6 @@ packages: /is-stream/3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true /is-string/1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} @@ -7638,8 +7734,8 @@ packages: supports-color: 7.2.0 dev: false - /jiti/1.16.2: - resolution: {integrity: sha512-OKBOVWmU3FxDt/UH4zSwiKPuc1nihFZiOD722FuJlngvLz2glX1v2/TJIgoA4+mrpnXxHV6dSAoCvPcYQtoG5A==} + /jiti/1.17.0: + resolution: {integrity: sha512-CByzPgFqYoB9odEeef7GNmQ3S5THIBOtzRYoSCya2Sv27AuQxy2jgoFjQ6VTF53xsq1MXRm+YWNvOoDHUAteOw==} hasBin: true /js-beautify/1.14.6: @@ -7774,13 +7870,14 @@ packages: /kolorist/1.6.0: resolution: {integrity: sha512-dLkz37Ab97HWMx9KTes3Tbi3D1ln9fCAy2zr2YVExJasDRPGRaKcoE4fycWNtnCAJfjFqe0cnY+f8KT2JePEXQ==} + dev: false /launch-editor/2.6.0: resolution: {integrity: sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==} dependencies: picocolors: 1.0.0 shell-quote: 1.7.4 - dev: true + dev: false /lazystream/1.0.1: resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} @@ -7998,7 +8095,6 @@ packages: /lru-cache/7.14.1: resolution: {integrity: sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==} engines: {node: '>=12'} - dev: false /magic-string/0.25.9: resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} @@ -8531,7 +8627,6 @@ packages: /mimic-fn/4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - dev: true /min-indent/1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} @@ -8606,7 +8701,7 @@ packages: esbuild: 0.16.17 fs-extra: 11.1.0 globby: 13.1.3 - jiti: 1.16.2 + jiti: 1.17.0 mri: 1.2.0 pathe: 1.1.0 typescript: 4.9.5 @@ -8627,6 +8722,7 @@ packages: /mrmime/1.0.1: resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} engines: {node: '>=10'} + dev: false /ms/2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -8664,22 +8760,22 @@ packages: /natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - /nitropack/2.0.0: - resolution: {integrity: sha512-gW+XXEcuymqcWXJM5NDNPl1I+OdiO4PA2ofBe3y2Ut3YkP7cM5kXymKHkHanOLVokRcrV6jjAjvX5lC1K4lHGg==} + /nitropack/2.2.1: + resolution: {integrity: sha512-V7sYOqyNZFQ+Yp3S2Ks9VUiLDp7Fz3vdc4ULTAK+E0R5nMSq5MuoQZqH4BT0x8UHC30lo+fd3gXk2fCYzUft1g==} engines: {node: ^14.16.0 || ^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} hasBin: true dependencies: '@cloudflare/kv-asset-handler': 0.3.0 '@netlify/functions': 1.4.0 - '@rollup/plugin-alias': 4.0.3_rollup@3.10.1 - '@rollup/plugin-commonjs': 24.0.1_rollup@3.10.1 - '@rollup/plugin-inject': 5.0.3_rollup@3.10.1 - '@rollup/plugin-json': 6.0.0_rollup@3.10.1 - '@rollup/plugin-node-resolve': 15.0.1_rollup@3.10.1 - '@rollup/plugin-replace': 5.0.2_rollup@3.10.1 - '@rollup/plugin-terser': 0.3.0_rollup@3.10.1 - '@rollup/plugin-wasm': 6.1.2_rollup@3.10.1 - '@rollup/pluginutils': 5.0.2_rollup@3.10.1 + '@rollup/plugin-alias': 4.0.3_rollup@3.14.0 + '@rollup/plugin-commonjs': 24.0.1_rollup@3.14.0 + '@rollup/plugin-inject': 5.0.3_rollup@3.14.0 + '@rollup/plugin-json': 6.0.0_rollup@3.14.0 + '@rollup/plugin-node-resolve': 15.0.1_rollup@3.14.0 + '@rollup/plugin-replace': 5.0.2_rollup@3.14.0 + '@rollup/plugin-terser': 0.4.0_rollup@3.14.0 + '@rollup/plugin-wasm': 6.1.2_rollup@3.14.0 + '@rollup/pluginutils': 5.0.2_rollup@3.14.0 '@vercel/nft': 0.22.6 archiver: 5.3.1 c12: 1.1.0 @@ -8690,17 +8786,17 @@ packages: defu: 6.1.2 destr: 1.2.2 dot-prop: 7.2.0 - esbuild: 0.17.4 + esbuild: 0.17.6 escape-string-regexp: 5.0.0 etag: 1.8.1 fs-extra: 11.1.0 globby: 13.1.3 gzip-size: 7.0.0 - h3: 1.1.0 + h3: 1.4.0 hookable: 5.4.2 http-proxy: 1.18.1 is-primitive: 3.0.1 - jiti: 1.16.2 + jiti: 1.17.0 klona: 2.0.6 knitwork: 1.0.0 listhen: 1.0.2 @@ -8713,10 +8809,10 @@ packages: pathe: 1.1.0 perfect-debounce: 0.1.3 pkg-types: 1.0.1 - pretty-bytes: 6.0.0 + pretty-bytes: 6.1.0 radix3: 1.0.0 - rollup: 3.10.1 - rollup-plugin-visualizer: 5.9.0_rollup@3.10.1 + rollup: 3.14.0 + rollup-plugin-visualizer: 5.9.0_rollup@3.14.0 scule: 1.0.0 semver: 7.3.8 serve-placeholder: 2.0.1 @@ -8724,9 +8820,9 @@ packages: source-map-support: 0.5.21 std-env: 3.3.2 ufo: 1.0.1 - unenv: 1.0.2 - unimport: 1.3.0_rollup@3.10.1 - unstorage: 1.0.1 + unenv: 1.1.1 + unimport: 2.2.4_rollup@3.14.0 + unstorage: 1.1.4 transitivePeerDependencies: - bufferutil - debug @@ -8834,7 +8930,6 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: path-key: 4.0.0 - dev: true /npmlog/5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} @@ -8849,8 +8944,8 @@ packages: dependencies: boolbase: 1.0.0 - /nuxi/3.1.1: - resolution: {integrity: sha512-ZwqG3dpqF2dlVr1NSPbFbmAzBcbrK3VTJR6KjGPU3cdxJ7JHMjOHNEz983QaKyNnfgETyTVPZVo+viKb2a9VPQ==} + /nuxi/3.2.0: + resolution: {integrity: sha512-iKXBSzyh1uyvlFl3M5ZuEQtuz0N0HvL8+no2FuIo4LnYfYcWF8F3++C3QPQHX+LuG7cbK+t2Ks4H1rhXk0nWTA==} engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} hasBin: true optionalDependencies: @@ -8859,7 +8954,7 @@ packages: /nuxt-component-meta/0.4.3: resolution: {integrity: sha512-40wsnbCh2neNdKVrwSiqV/ea7QshYjp3kpfk8JZaxSW/XcgNg2tzka4L+M8caOvQalyAKi6AaENPLaTYOZDbQg==} dependencies: - '@nuxt/kit': 3.1.2 + '@nuxt/kit': 3.2.0 scule: 1.0.0 typescript: 4.9.5 vue-component-meta: 1.0.24_typescript@4.9.5 @@ -8871,10 +8966,10 @@ packages: /nuxt-config-schema/0.4.4: resolution: {integrity: sha512-5NnyyH2qSgraQo6kcW/8SWqBZ/pEY/PwyepODPWYYv4ZZ8BiqC850OTmyO2oTBL4O+Xg4fR7hAwSB4g5pIMpSg==} dependencies: - '@nuxt/kit': 3.1.2 + '@nuxt/kit': 3.2.0 changelogen: 0.4.1 defu: 6.1.2 - jiti: 1.16.2 + jiti: 1.17.0 pathe: 1.1.0 untyped: 1.2.2 transitivePeerDependencies: @@ -8886,7 +8981,7 @@ packages: resolution: {integrity: sha512-pI0BOF1bHw73MbDYsTNpZNJhWJ3XAjG4SO7B8sHCfxb3SZmw3Uu/KoKiLtyO68Oc4z4CYCMIjbkTflwpoOBMEQ==} dependencies: '@iconify/vue': 4.0.2 - '@nuxt/kit': 3.1.2 + '@nuxt/kit': 3.2.0 nuxt-config-schema: 0.4.4 transitivePeerDependencies: - rollup @@ -8898,7 +8993,7 @@ packages: resolution: {integrity: sha512-Aqz+LM7pWAEismEJqhSPkihX+njX1bIJd62ygJfQuwyWWDD3EuUHJR5BxuPNd8KakT9MNhtM3AZ7bg0g/gqyqg==} dependencies: '@nozomuikuta/h3-cors': 0.1.8_defu@6.1.2 - '@nuxt/kit': 3.1.2 + '@nuxt/kit': 3.2.0 basic-auth: 2.0.1 defu: 6.1.2 limiter: 2.1.0 @@ -8916,7 +9011,7 @@ packages: peerDependencies: vite: '*' dependencies: - '@nuxt/kit': 3.1.2 + '@nuxt/kit': 3.2.0 '@vitest/ui': 0.28.3 get-port-please: 3.0.1 perfect-debounce: 0.1.3 @@ -8940,21 +9035,21 @@ packages: - vue dev: false - /nuxt/3.1.1: - resolution: {integrity: sha512-GVdmV88lR01OX0slxTPyTzwQkge7fxNREkx2QW0Lo66fb6aHcJlRXzFMBCOTjas+Ncng6AalIyIiPREEteGKSg==} + /nuxt/3.2.0: + resolution: {integrity: sha512-8jAYyjU1Ht+MXPLLDIdIUmV56KiI0g7KusKwzvqn+vlzyCNtSHg2W/VBCGw5QWplb/MXruogcMl2sDenlQRZFg==} engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} hasBin: true dependencies: '@nuxt/devalue': 2.0.0 - '@nuxt/kit': 3.1.2 - '@nuxt/schema': 3.1.2 + '@nuxt/kit': 3.2.0 + '@nuxt/schema': 3.2.0 '@nuxt/telemetry': 2.1.9 - '@nuxt/ui-templates': 1.1.0 - '@nuxt/vite-builder': 3.1.1_vue@3.2.45 - '@unhead/ssr': 1.0.18 - '@vue/reactivity': 3.2.45 + '@nuxt/ui-templates': 1.1.1 + '@nuxt/vite-builder': 3.2.0_vue@3.2.45 + '@unhead/ssr': 1.0.21 + '@vue/reactivity': 3.2.47 '@vue/shared': 3.2.47 - '@vueuse/head': 1.0.23_vue@3.2.45 + '@vueuse/head': 1.0.25_vue@3.2.45 chokidar: 3.5.3 cookie-es: 0.5.0 defu: 6.1.2 @@ -8963,31 +9058,30 @@ packages: estree-walker: 3.0.3 fs-extra: 11.1.0 globby: 13.1.3 - h3: 1.1.0 + h3: 1.4.0 hash-sum: 2.0.0 hookable: 5.4.2 - jiti: 1.16.2 + jiti: 1.17.0 knitwork: 1.0.0 magic-string: 0.27.0 mlly: 1.1.0 - nitropack: 2.0.0 - nuxi: 3.1.1 + nitropack: 2.2.1 + nuxi: 3.2.0 ofetch: 1.0.0 ohash: 1.0.0 pathe: 1.1.0 perfect-debounce: 0.1.3 scule: 1.0.0 - strip-literal: 1.0.0 + strip-literal: 1.0.1 ufo: 1.0.1 - ultrahtml: 1.2.0 unctx: 2.1.1 - unenv: 1.0.2 - unhead: 1.0.18 - unimport: 2.1.0 + unenv: 1.1.1 + unhead: 1.0.21 + unimport: 2.2.4 unplugin: 1.0.1 untyped: 1.2.2 vue: 3.2.45 - vue-bundle-renderer: 1.0.0 + vue-bundle-renderer: 1.0.1 vue-devtools-stub: 0.1.0 vue-router: 4.1.6_vue@3.2.45 transitivePeerDependencies: @@ -9013,21 +9107,21 @@ packages: - vue-tsc dev: true - /nuxt/3.1.1_7rz7g5sqfnn6wuv5lem37retty: - resolution: {integrity: sha512-GVdmV88lR01OX0slxTPyTzwQkge7fxNREkx2QW0Lo66fb6aHcJlRXzFMBCOTjas+Ncng6AalIyIiPREEteGKSg==} + /nuxt/3.2.0_7rz7g5sqfnn6wuv5lem37retty: + resolution: {integrity: sha512-8jAYyjU1Ht+MXPLLDIdIUmV56KiI0g7KusKwzvqn+vlzyCNtSHg2W/VBCGw5QWplb/MXruogcMl2sDenlQRZFg==} engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} hasBin: true dependencies: '@nuxt/devalue': 2.0.0 - '@nuxt/kit': 3.1.2 - '@nuxt/schema': 3.1.2 + '@nuxt/kit': 3.2.0 + '@nuxt/schema': 3.2.0 '@nuxt/telemetry': 2.1.9 - '@nuxt/ui-templates': 1.1.0 - '@nuxt/vite-builder': 3.1.1_vshnhw7h4tuo6ge5ck2wv7vfrm - '@unhead/ssr': 1.0.18 - '@vue/reactivity': 3.2.45 + '@nuxt/ui-templates': 1.1.1 + '@nuxt/vite-builder': 3.2.0_vshnhw7h4tuo6ge5ck2wv7vfrm + '@unhead/ssr': 1.0.21 + '@vue/reactivity': 3.2.47 '@vue/shared': 3.2.47 - '@vueuse/head': 1.0.23_vue@3.2.45 + '@vueuse/head': 1.0.25_vue@3.2.45 chokidar: 3.5.3 cookie-es: 0.5.0 defu: 6.1.2 @@ -9036,31 +9130,30 @@ packages: estree-walker: 3.0.3 fs-extra: 11.1.0 globby: 13.1.3 - h3: 1.1.0 + h3: 1.4.0 hash-sum: 2.0.0 hookable: 5.4.2 - jiti: 1.16.2 + jiti: 1.17.0 knitwork: 1.0.0 magic-string: 0.27.0 mlly: 1.1.0 - nitropack: 2.0.0 - nuxi: 3.1.1 + nitropack: 2.2.1 + nuxi: 3.2.0 ofetch: 1.0.0 ohash: 1.0.0 pathe: 1.1.0 perfect-debounce: 0.1.3 scule: 1.0.0 - strip-literal: 1.0.0 + strip-literal: 1.0.1 ufo: 1.0.1 - ultrahtml: 1.2.0 unctx: 2.1.1 - unenv: 1.0.2 - unhead: 1.0.18 - unimport: 2.1.0 + unenv: 1.1.1 + unhead: 1.0.21 + unimport: 2.2.4 unplugin: 1.0.1 untyped: 1.2.2 vue: 3.2.45 - vue-bundle-renderer: 1.0.0 + vue-bundle-renderer: 1.0.1 vue-devtools-stub: 0.1.0 vue-router: 4.1.6_vue@3.2.45 transitivePeerDependencies: @@ -9163,7 +9256,6 @@ packages: engines: {node: '>=12'} dependencies: mimic-fn: 4.0.0 - dev: true /open/8.4.0: resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} @@ -9364,7 +9456,6 @@ packages: /path-key/4.0.0: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} - dev: true /path-parse/1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -9810,6 +9901,11 @@ packages: /pretty-bytes/6.0.0: resolution: {integrity: sha512-6UqkYefdogmzqAZWzJ7laYeJnaXDy2/J+ZqiiMtS7t7OfpXWTlaeGMwX8U6EFvPV/YWWEKRkS8hKS4k60WHTOg==} engines: {node: ^14.13.1 || >=16.0.0} + dev: false + + /pretty-bytes/6.1.0: + resolution: {integrity: sha512-Rk753HI8f4uivXi4ZCIYdhmG1V+WKzvRMg/X+M42a6t7D07RcmopXJMDNk6N++7Bl75URRGsb40ruvg7Hcp2wQ==} + engines: {node: ^14.13.1 || >=16.0.0} /pretty-format/27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} @@ -10268,7 +10364,7 @@ packages: dependencies: glob: 7.2.3 - /rollup-plugin-dts/5.1.1_3md6k4iljipbt7fzll35epzd3m: + /rollup-plugin-dts/5.1.1_2za6rqstu4xegr2hrsgsskkobi: resolution: {integrity: sha512-zpgo52XmnLg8w4k3MScinFHZK1+ro6r7uVe34fJ0Ee8AM45FvgvTuvfWWaRgIpA4pQ1BHJuu2ospncZhkcJVeA==} engines: {node: '>=v14'} peerDependencies: @@ -10276,7 +10372,7 @@ packages: typescript: ^4.1 dependencies: magic-string: 0.27.0 - rollup: 3.10.1 + rollup: 3.14.0 typescript: 4.9.5 optionalDependencies: '@babel/code-frame': 7.18.6 @@ -10310,7 +10406,7 @@ packages: terser: 5.16.1 dev: false - /rollup-plugin-visualizer/5.9.0_rollup@3.10.1: + /rollup-plugin-visualizer/5.9.0_rollup@3.14.0: resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==} engines: {node: '>=14'} hasBin: true @@ -10322,7 +10418,7 @@ packages: dependencies: open: 8.4.0 picomatch: 2.3.1 - rollup: 3.10.1 + rollup: 3.14.0 source-map: 0.7.4 yargs: 17.6.2 @@ -10345,6 +10441,14 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.2 + dev: false + + /rollup/3.14.0: + resolution: {integrity: sha512-o23sdgCLcLSe3zIplT9nQ1+r97okuaiR+vmAPZPTDYB7/f3tgWIYNyiQveMsZwshBT0is4eGax/HH83Q7CG+/Q==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 /rope-sequence/1.3.3: resolution: {integrity: sha512-85aZYCxweiD5J8yTEbw+E6A27zSnLPNDL0WfPdw3YYodq7WjnTKo0q4dtyQ2gz23iPT8Q9CUyJtAaUNcTxRf5Q==} @@ -10487,7 +10591,7 @@ packages: /shell-quote/1.7.4: resolution: {integrity: sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==} - dev: true + dev: false /shiki-es/0.2.0: resolution: {integrity: sha512-RbRMD+IuJJseSZljDdne9ThrUYrwBwJR04FvN4VXpfsU3MNID5VJGHLAD5je/HGThCyEKNgH+nEkSFEWKD7C3Q==} @@ -10540,6 +10644,7 @@ packages: '@polka/url': 1.0.0-next.21 mrmime: 1.0.1 totalist: 3.0.0 + dev: false /sisteransi/1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -10823,7 +10928,6 @@ packages: /strip-final-newline/3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} - dev: true /strip-indent/3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} @@ -10841,6 +10945,11 @@ packages: dependencies: acorn: 8.8.2 + /strip-literal/1.0.1: + resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} + dependencies: + acorn: 8.8.2 + /style-dictionary-esm/1.2.0: resolution: {integrity: sha512-kOMB90UCMlXfYPgp0rB0L0P1FWJHQvNR3FIhYYDpQJhSI6q7608DVqLJXQzQG7CADM4SpaP10hlvr1t90TgWmw==} engines: {node: '>=12.0.0'} @@ -10852,7 +10961,7 @@ packages: consola: 2.15.3 fs-extra: 11.1.0 glob: 8.1.0 - jiti: 1.16.2 + jiti: 1.17.0 json5: 2.2.3 jsonc-parser: 3.2.0 lodash.template: 4.5.0 @@ -11030,6 +11139,7 @@ packages: /totalist/3.0.0: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} engines: {node: '>=6'} + dev: false /tr46/0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -11087,7 +11197,6 @@ packages: '@esbuild-kit/esm-loader': 2.5.4 optionalDependencies: fsevents: 2.3.2 - dev: true /type-check/0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} @@ -11155,6 +11264,7 @@ packages: /ultrahtml/1.2.0: resolution: {integrity: sha512-vxZM2yNvajRmCj/SknRYGNXk2tqiy6kRNvZjJLaleG3zJbSh/aNkOqD1/CVzypw8tyHyhpzYuwQgMMhUB4ZVNQ==} + dev: false /unbox-primitive/1.0.2: resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} @@ -11168,19 +11278,19 @@ packages: resolution: {integrity: sha512-HlhHj6cUPBQJmhoczQoU6dzdTFO0Jr9EiGWEZ1EwHGXlGRR6LXcKyfX3PMrkM48uWJjBWiCgTQdkFOAk3tlK6Q==} hasBin: true dependencies: - '@rollup/plugin-alias': 4.0.3_rollup@3.10.1 - '@rollup/plugin-commonjs': 24.0.1_rollup@3.10.1 - '@rollup/plugin-json': 6.0.0_rollup@3.10.1 - '@rollup/plugin-node-resolve': 15.0.1_rollup@3.10.1 - '@rollup/plugin-replace': 5.0.2_rollup@3.10.1 - '@rollup/pluginutils': 5.0.2_rollup@3.10.1 + '@rollup/plugin-alias': 4.0.3_rollup@3.14.0 + '@rollup/plugin-commonjs': 24.0.1_rollup@3.14.0 + '@rollup/plugin-json': 6.0.0_rollup@3.14.0 + '@rollup/plugin-node-resolve': 15.0.1_rollup@3.14.0 + '@rollup/plugin-replace': 5.0.2_rollup@3.14.0 + '@rollup/pluginutils': 5.0.2_rollup@3.14.0 chalk: 5.2.0 consola: 2.15.3 defu: 6.1.2 esbuild: 0.16.17 globby: 13.1.3 hookable: 5.4.2 - jiti: 1.16.2 + jiti: 1.17.0 magic-string: 0.27.0 mkdirp: 1.0.4 mkdist: 1.1.0_typescript@4.9.5 @@ -11188,9 +11298,9 @@ packages: mri: 1.2.0 pathe: 1.1.0 pkg-types: 1.0.1 - pretty-bytes: 6.0.0 - rollup: 3.10.1 - rollup-plugin-dts: 5.1.1_3md6k4iljipbt7fzll35epzd3m + pretty-bytes: 6.1.0 + rollup: 3.14.0 + rollup-plugin-dts: 5.1.1_2za6rqstu4xegr2hrsgsskkobi scule: 1.0.0 typescript: 4.9.5 untyped: 1.2.2 @@ -11204,9 +11314,12 @@ packages: dependencies: '@antfu/utils': 0.5.2 defu: 6.1.2 - jiti: 1.16.2 + jiti: 1.17.0 dev: false + /uncrypto/0.1.2: + resolution: {integrity: sha512-kuZwRKV615lEw/Xx3Iz56FKk3nOeOVGaVmw0eg+x4Mne28lCotNFbBhDW7dEBCBKyKbRQiCadEZeNAFPVC5cgw==} + /unctx/2.1.1: resolution: {integrity: sha512-RffJlpvLOtolWsn0fxXsuSDfwiWcR6cyuykw2e0+zAggvGW1SesXt9WxIWlWpJhwVCZD/WlxxLqKLS50Q0CkWA==} dependencies: @@ -11229,12 +11342,21 @@ packages: mime: 3.0.0 node-fetch-native: 1.0.1 pathe: 1.1.0 + dev: false - /unhead/1.0.18: - resolution: {integrity: sha512-lHuOvFcj7ijFM6ceRuPq1+0sOAap8fueJxf+SkuWtfm68oxuLP8ct3C3oRyMT/hyWjzfWgoaECmjmw5x2cHnpg==} + /unenv/1.1.1: + resolution: {integrity: sha512-AfQ+sKCdeSPX/rp0tL9LZz3cAu1Mt0i9UADuN1MtbsITKDS2PqSx8LQUBMf8lKuziitIWXXwU6JXrmzARFVSRw==} dependencies: - '@unhead/dom': 1.0.18 - '@unhead/schema': 1.0.18 + defu: 6.1.2 + mime: 3.0.0 + node-fetch-native: 1.0.1 + pathe: 1.1.0 + + /unhead/1.0.21: + resolution: {integrity: sha512-vHXnozOkoSkCYIpGTWkW4JJbWMlY2I737sbBGxPj6maa9gEDMC50gwhCCVMnIvvMsJ6OxgNE5asEfSkSopfO+A==} + dependencies: + '@unhead/dom': 1.0.21 + '@unhead/schema': 1.0.21 hookable: 5.4.2 /unicode-canonical-property-names-ecmascript/2.0.0: @@ -11272,23 +11394,6 @@ packages: vfile: 5.3.6 dev: true - /unimport/1.3.0_rollup@3.10.1: - resolution: {integrity: sha512-fOkrdxglsHd428yegH0wPH/6IfaSdDeMXtdRGn6en/ccyzc2aaoxiUTMrJyc6Bu+xoa18RJRPMfLUHEzjz8atw==} - dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.10.1 - escape-string-regexp: 5.0.0 - fast-glob: 3.2.12 - local-pkg: 0.4.3 - magic-string: 0.27.0 - mlly: 1.1.0 - pathe: 1.1.0 - pkg-types: 1.0.1 - scule: 1.0.0 - strip-literal: 1.0.0 - unplugin: 1.0.1 - transitivePeerDependencies: - - rollup - /unimport/2.1.0: resolution: {integrity: sha512-GDVIxATluUquX8EqelT6DtnmnZaXGID1jsO9IXwlnxb0OIEqKAxTOnTlnGmHbseoGTh+ZC9kcNDaO18HYQj9KA==} dependencies: @@ -11305,11 +11410,12 @@ packages: unplugin: 1.0.1 transitivePeerDependencies: - rollup + dev: false - /unimport/2.1.0_rollup@3.10.1: - resolution: {integrity: sha512-GDVIxATluUquX8EqelT6DtnmnZaXGID1jsO9IXwlnxb0OIEqKAxTOnTlnGmHbseoGTh+ZC9kcNDaO18HYQj9KA==} + /unimport/2.2.4: + resolution: {integrity: sha512-qMgmeEGqqrrmEtm0dqxMG37J6xBtrriqxq9hILvDb+e6l2F0yTnJomLoCCp0eghLR7bYGeBsUU5Y0oyiUYhViw==} dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.10.1 + '@rollup/pluginutils': 5.0.2 escape-string-regexp: 5.0.0 fast-glob: 3.2.12 local-pkg: 0.4.3 @@ -11318,7 +11424,24 @@ packages: pathe: 1.1.0 pkg-types: 1.0.1 scule: 1.0.0 - strip-literal: 1.0.0 + strip-literal: 1.0.1 + unplugin: 1.0.1 + transitivePeerDependencies: + - rollup + + /unimport/2.2.4_rollup@3.14.0: + resolution: {integrity: sha512-qMgmeEGqqrrmEtm0dqxMG37J6xBtrriqxq9hILvDb+e6l2F0yTnJomLoCCp0eghLR7bYGeBsUU5Y0oyiUYhViw==} + dependencies: + '@rollup/pluginutils': 5.0.2_rollup@3.14.0 + escape-string-regexp: 5.0.0 + fast-glob: 3.2.12 + local-pkg: 0.4.3 + magic-string: 0.27.0 + mlly: 1.1.0 + pathe: 1.1.0 + pkg-types: 1.0.1 + scule: 1.0.0 + strip-literal: 1.0.1 unplugin: 1.0.1 transitivePeerDependencies: - rollup @@ -11517,20 +11640,24 @@ packages: webpack-sources: 3.2.3 webpack-virtual-modules: 0.5.0 - /unstorage/1.0.1: - resolution: {integrity: sha512-J1c4b8K2KeihHrQtdgl/ybIapArUbPaPb+TyJy/nGSauDwDYqciZsEKdkee568P3c8SSH4TIgnGRHDWMPGw+Lg==} + /unstorage/1.1.4: + resolution: {integrity: sha512-nrnCoWN8ewaZrwz5yf7QGkMn0FDoVer6yGIR56wvocNzAmZi1vXOnCaBxueB3Uu/SqNSH5N/ww41t6jNT8XccA==} dependencies: anymatch: 3.1.3 chokidar: 3.5.3 destr: 1.2.2 - h3: 1.1.0 - ioredis: 5.2.5 + h3: 1.4.0 + ioredis: 5.3.0 listhen: 1.0.2 + lru-cache: 7.14.1 mkdir: 0.0.2 mri: 1.2.0 + node-fetch-native: 1.0.1 ofetch: 1.0.0 ufo: 1.0.1 ws: 8.12.0 + optionalDependencies: + '@planetscale/database': 1.5.0 transitivePeerDependencies: - bufferutil - supports-color @@ -11647,7 +11774,7 @@ packages: picocolors: 1.0.0 source-map: 0.6.1 source-map-support: 0.5.21 - vite: 4.0.4 + vite: 4.1.1 transitivePeerDependencies: - '@types/node' - less @@ -11669,7 +11796,7 @@ packages: picocolors: 1.0.0 source-map: 0.6.1 source-map-support: 0.5.21 - vite: 4.0.4_@types+node@18.11.18 + vite: 4.1.1_@types+node@18.11.18 transitivePeerDependencies: - '@types/node' - less @@ -11679,8 +11806,58 @@ packages: - supports-color - terser - /vite-plugin-checker/0.5.4_h3si5tluig4ewnb7qcro3a3fhu: - resolution: {integrity: sha512-T6y+OHXqwOjGrCErbhzg5x79NQZV46cgLwYTxuMQnDzAfA6skh2i8PIHcKks8ZlxopzbkvMb5vwc2DpNXiHJdg==} + /vite-plugin-checker/0.5.5_vite@4.1.1: + resolution: {integrity: sha512-BLaRlBmiVn3Fg/wR9A0+YNwgXVteFJaH8rCIiIgYQcQ50jc3oVe2m8i0xxG5geq36UttNJsAj7DpDelN7/KjOg==} + engines: {node: '>=14.16'} + peerDependencies: + eslint: '>=7' + meow: ^9.0.0 + optionator: ^0.9.1 + stylelint: '>=13' + typescript: '*' + vite: '>=2.0.0' + vls: '*' + vti: '*' + vue-tsc: '*' + peerDependenciesMeta: + eslint: + optional: true + meow: + optional: true + optionator: + optional: true + stylelint: + optional: true + typescript: + optional: true + vls: + optional: true + vti: + optional: true + vue-tsc: + optional: true + dependencies: + '@babel/code-frame': 7.18.6 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + chokidar: 3.5.3 + commander: 8.3.0 + fast-glob: 3.2.12 + fs-extra: 11.1.0 + lodash.debounce: 4.0.8 + lodash.pick: 4.4.0 + npm-run-path: 4.0.1 + strip-ansi: 6.0.1 + tiny-invariant: 1.3.1 + vite: 4.1.1 + vscode-languageclient: 7.0.0 + vscode-languageserver: 7.0.0 + vscode-languageserver-textdocument: 1.0.8 + vscode-uri: 3.0.7 + dev: true + + /vite-plugin-checker/0.5.5_vze4qwvlaxozg73itpzioumila: + resolution: {integrity: sha512-BLaRlBmiVn3Fg/wR9A0+YNwgXVteFJaH8rCIiIgYQcQ50jc3oVe2m8i0xxG5geq36UttNJsAj7DpDelN7/KjOg==} engines: {node: '>=14.16'} peerDependencies: eslint: '>=7' @@ -11717,68 +11894,20 @@ packages: commander: 8.3.0 eslint: 8.32.0 fast-glob: 3.2.12 + fs-extra: 11.1.0 lodash.debounce: 4.0.8 lodash.pick: 4.4.0 npm-run-path: 4.0.1 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 typescript: 4.9.5 - vite: 4.0.4 + vite: 4.1.1 vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.8 vscode-uri: 3.0.7 vue-tsc: 1.0.24_typescript@4.9.5 - /vite-plugin-checker/0.5.4_vite@4.0.4: - resolution: {integrity: sha512-T6y+OHXqwOjGrCErbhzg5x79NQZV46cgLwYTxuMQnDzAfA6skh2i8PIHcKks8ZlxopzbkvMb5vwc2DpNXiHJdg==} - engines: {node: '>=14.16'} - peerDependencies: - eslint: '>=7' - meow: ^9.0.0 - optionator: ^0.9.1 - stylelint: '>=13' - typescript: '*' - vite: '>=2.0.0' - vls: '*' - vti: '*' - vue-tsc: '*' - peerDependenciesMeta: - eslint: - optional: true - meow: - optional: true - optionator: - optional: true - stylelint: - optional: true - typescript: - optional: true - vls: - optional: true - vti: - optional: true - vue-tsc: - optional: true - dependencies: - '@babel/code-frame': 7.18.6 - ansi-escapes: 4.3.2 - chalk: 4.1.2 - chokidar: 3.5.3 - commander: 8.3.0 - fast-glob: 3.2.12 - lodash.debounce: 4.0.8 - lodash.pick: 4.4.0 - npm-run-path: 4.0.1 - strip-ansi: 6.0.1 - tiny-invariant: 1.3.1 - vite: 4.0.4 - vscode-languageclient: 7.0.0 - vscode-languageserver: 7.0.0 - vscode-languageserver-textdocument: 1.0.8 - vscode-uri: 3.0.7 - dev: true - /vite-plugin-inspect/0.7.15: resolution: {integrity: sha512-oxeZCljacA/slhGFbDNlBqdhDU9fgdHL84i7Nz7DnaAIE7DhTiW2djanw3d/BKuZtduKUY82vRUQ4iaG917t2A==} engines: {node: '>=14'} @@ -11795,7 +11924,7 @@ packages: transitivePeerDependencies: - rollup - supports-color - dev: true + dev: false /vite-plugin-pwa/0.14.1: resolution: {integrity: sha512-5zx7yhQ8RTLwV71+GA9YsQQ63ALKG8XXIMqRJDdZkR8ZYftFcRgnzM7wOWmQZ/DATspyhPih5wCdcZnAIsM+mA==} @@ -11830,7 +11959,7 @@ packages: shell-quote: 1.7.4 transitivePeerDependencies: - supports-color - dev: true + dev: false /vite/3.2.5_@types+node@18.11.18: resolution: {integrity: sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==} @@ -11865,8 +11994,8 @@ packages: optionalDependencies: fsevents: 2.3.2 - /vite/4.0.4: - resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==} + /vite/4.1.1: + resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -11893,12 +12022,12 @@ packages: esbuild: 0.16.17 postcss: 8.4.21 resolve: 1.22.1 - rollup: 3.10.1 + rollup: 3.14.0 optionalDependencies: fsevents: 2.3.2 - /vite/4.0.4_@types+node@18.11.18: - resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==} + /vite/4.1.1_@types+node@18.11.18: + resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -11926,7 +12055,7 @@ packages: esbuild: 0.16.17 postcss: 8.4.21 resolve: 1.22.1 - rollup: 3.10.1 + rollup: 3.14.0 optionalDependencies: fsevents: 2.3.2 @@ -11936,7 +12065,7 @@ packages: vitest: ^0.24.5 || ^0.26.0 || ^0.27.0 || ^0.28.0 vue: ^3.2.45 dependencies: - '@nuxt/kit': 3.1.2 + '@nuxt/kit': 3.2.0 '@vue/test-utils': 2.2.8 estree-walker: 3.0.3 h3: 1.1.0 @@ -12115,8 +12244,8 @@ packages: easy-bem: 1.1.1 dev: false - /vue-bundle-renderer/1.0.0: - resolution: {integrity: sha512-43vCqTgaMXfHhtR8/VcxxWD1DgtzyvNc4wNyG5NKCIH19O1z5G9ZCRXTGEA2wifVec5PU82CkRLD2sTK9NkTdA==} + /vue-bundle-renderer/1.0.1: + resolution: {integrity: sha512-w1zRgff5lVJ5YAIkVSKuFjDyCgKdg/sPbcgZbosnMCoHblg0uThCKA2n/XWUGnw0Rh2+03UY/VtkwaYwMUSRyQ==} dependencies: ufo: 1.0.1 diff --git a/server/cache-driver.ts b/server/cache-driver.ts index 3f18fad6..059e7088 100644 --- a/server/cache-driver.ts +++ b/server/cache-driver.ts @@ -1,10 +1,7 @@ import type { Driver } from 'unstorage' -// @ts-expect-error unstorage needs to provide backwards-compatible subpath types -import _memory from 'unstorage/drivers/memory' +import memory from 'unstorage/drivers/memory' import { defineDriver } from 'unstorage' -const memory = _memory as typeof import('unstorage/dist/drivers/memory')['default'] - export interface CacheDriverOptions { driver: Driver } diff --git a/server/utils/shared.ts b/server/utils/shared.ts index 30adc583..6b1347bf 100644 --- a/server/utils/shared.ts +++ b/server/utils/shared.ts @@ -1,7 +1,5 @@ -// @ts-expect-error unstorage needs to provide backwards-compatible subpath types -import _fs from 'unstorage/drivers/fs' -// @ts-expect-error unstorage needs to provide backwards-compatible subpath types -import _memory from 'unstorage/drivers/memory' +import fs from 'unstorage/drivers/fs' +import memory from 'unstorage/drivers/memory' import { stringifyQuery } from 'ufo' @@ -19,9 +17,6 @@ import { driver } from '#storage-config' import type { AppInfo } from '~/types' import { APP_NAME } from '~/constants' -const fs = _fs as typeof import('unstorage/dist/drivers/fs')['default'] -const memory = _memory as typeof import('unstorage/dist/drivers/memory')['default'] - const storage = useStorage() as Storage if (driver === 'fs') { From 148fd63c24dbce3371e2c91bf98dfeacd50d8098 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Sun, 12 Feb 2023 12:57:56 +0100 Subject: [PATCH 10/15] refactor: move back to cf unstorage driver --- server/cloudflare-driver.ts | 194 ------------------------------------ server/utils/shared.ts | 2 +- 2 files changed, 1 insertion(+), 195 deletions(-) delete mode 100644 server/cloudflare-driver.ts diff --git a/server/cloudflare-driver.ts b/server/cloudflare-driver.ts deleted file mode 100644 index 5fe74416..00000000 --- a/server/cloudflare-driver.ts +++ /dev/null @@ -1,194 +0,0 @@ -// Temporary hotfix of https://github.com/unjs/unstorage/blob/4d637a117667ae638a6cac657aac139d88a78027/src/drivers/cloudflare-kv-http.ts#L6 - -import { $fetch } from 'ofetch' -import { defineDriver } from 'unstorage' - -const LOG_TAG = '[unstorage] [cloudflare-http] ' - -interface KVAuthAPIToken { - /** - * API Token generated from the [User Profile 'API Tokens' page](https://dash.cloudflare.com/profile/api-tokens) - * of the Cloudflare console. - * @see https://api.cloudflare.com/#getting-started-requests - */ - apiToken: string -} - -interface KVAuthServiceKey { - /** - * A special Cloudflare API key good for a restricted set of endpoints. - * Always begins with "v1.0-", may vary in length. - * May be used to authenticate in place of `apiToken` or `apiKey` and `email`. - * @see https://api.cloudflare.com/#getting-started-requests - */ - userServiceKey: string -} - -interface KVAuthEmailKey { - /** - * Email address associated with your account. - * Should be used along with `apiKey` to authenticate in place of `apiToken`. - */ - email: string - /** - * API key generated on the "My Account" page of the Cloudflare console. - * Should be used along with `email` to authenticate in place of `apiToken`. - * @see https://api.cloudflare.com/#getting-started-requests - */ - apiKey: string -} - -export type KVHTTPOptions = { - /** - * Cloudflare account ID (required) - */ - accountId: string - /** - * The ID of the KV namespace to target (required) - */ - namespaceId: string - /** - * The URL of the Cloudflare API. - * @default https://api.cloudflare.com - */ - apiURL?: string -} & (KVAuthServiceKey | KVAuthAPIToken | KVAuthEmailKey) - -type CloudflareAuthorizationHeaders = { - 'X-Auth-Email': string - 'X-Auth-Key': string - 'X-Auth-User-Service-Key'?: string - Authorization?: `Bearer ${string}` -} | { - 'X-Auth-Email'?: string - 'X-Auth-Key'?: string - 'X-Auth-User-Service-Key': string - Authorization?: `Bearer ${string}` -} | { - 'X-Auth-Email'?: string - 'X-Auth-Key'?: string - 'X-Auth-User-Service-Key'?: string - Authorization: `Bearer ${string}` -} - -export default defineDriver((opts) => { - if (!opts) - throw new Error('Options must be provided.') - - if (!opts.accountId) - throw new Error(`${LOG_TAG}\`accountId\` is required.`) - - if (!opts.namespaceId) - throw new Error(`${LOG_TAG}\`namespaceId\` is required.`) - - let headers: CloudflareAuthorizationHeaders - - if ('apiToken' in opts) { - headers = { Authorization: `Bearer ${opts.apiToken}` } - } - else if ('userServiceKey' in opts) { - headers = { 'X-Auth-User-Service-Key': opts.userServiceKey } - } - else if (opts.email && opts.apiKey) { - headers = { 'X-Auth-Email': opts.email, 'X-Auth-Key': opts.apiKey } - } - else { - throw new Error( - `${LOG_TAG}One of the \`apiToken\`, \`userServiceKey\`, or a combination of \`email\` and \`apiKey\` is required.`, - ) - } - - const apiURL = opts.apiURL || 'https://api.cloudflare.com' - const baseURL = `${apiURL}/client/v4/accounts/${opts.accountId}/storage/kv/namespaces/${opts.namespaceId}` - const kvFetch = $fetch.create({ baseURL, headers }) - - const hasItem = async (key: string) => { - try { - const res = await kvFetch(`/metadata/${key}`) - return res?.success === true - } - catch (err: any) { - if (!err.response) - throw err - if (err.response.status === 404) - return false - throw err - } - } - - const getItem = async (key: string) => { - try { - // Cloudflare API returns with `content-type: application/octet-stream` - return await kvFetch(`/values/${key}`).then(r => r.text()) - } - catch (err: any) { - if (!err.response) - throw err - if (err.response.status === 404) - return null - throw err - } - } - - const setItem = async (key: string, value: any) => { - return await kvFetch(`/values/${key}`, { method: 'PUT', body: value }) - } - - const removeItem = async (key: string) => { - return await kvFetch(`/values/${key}`, { method: 'DELETE' }) - } - - const getKeys = async (base?: string) => { - const keys: string[] = [] - - const params = new URLSearchParams() - if (base) - params.set('prefix', base) - - const firstPage = await kvFetch('/keys', { params }) - firstPage.result.forEach(({ name }: { name: string }) => keys.push(name)) - - const cursor = firstPage.result_info.cursor - if (cursor) - params.set('cursor', cursor) - - while (params.has('cursor')) { - const pageResult = await kvFetch('/keys', { params: Object.fromEntries(params.entries()) }) - pageResult.result.forEach(({ name }: { name: string }) => keys.push(name)) - const pageCursor = pageResult.result_info.cursor - if (pageCursor) - params.set('cursor', pageCursor) - - else - params.delete('cursor') - } - return keys - } - - const clear = async () => { - const keys: string[] = await getKeys() - // Split into chunks of 10000, as the API only allows for 10,000 keys at a time - const chunks = keys.reduce((acc, key, i) => { - if (i % 10000 === 0) - acc.push([]) - acc[acc.length - 1].push(key) - return acc - }, [[]] as string[][]) - // Call bulk delete endpoint with each chunk - await Promise.all(chunks.map((chunk) => { - return kvFetch('/bulk', { - method: 'DELETE', - body: { keys: chunk }, - }) - })) - } - - return { - hasItem, - getItem, - setItem, - removeItem, - getKeys, - clear, - } -}) diff --git a/server/utils/shared.ts b/server/utils/shared.ts index 6b1347bf..3f729893 100644 --- a/server/utils/shared.ts +++ b/server/utils/shared.ts @@ -1,5 +1,6 @@ import fs from 'unstorage/drivers/fs' import memory from 'unstorage/drivers/memory' +import kv from 'unstorage/drivers/cloudflare-kv-http' import { stringifyQuery } from 'ufo' @@ -7,7 +8,6 @@ import { $fetch } from 'ofetch' import type { Storage } from 'unstorage' import cached from '../cache-driver' -import kv from '../cloudflare-driver' // @ts-expect-error virtual import import { env } from '#build-info' From 79d43515f59e60f8e687c24622c62330af3fbeaf Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Sun, 12 Feb 2023 13:09:55 +0100 Subject: [PATCH 11/15] chore: upgrade docs to nuxt 3.2.0 as well (#1728) --- docs/package.json | 4 +- modules/pwa/index.ts | 2 +- pnpm-lock.yaml | 300 +++++++++++++++++-------------------------- 3 files changed, 122 insertions(+), 184 deletions(-) diff --git a/docs/package.json b/docs/package.json index 66edfbd8..e0f66ca7 100755 --- a/docs/package.json +++ b/docs/package.json @@ -9,7 +9,7 @@ "preview": "nuxi preview" }, "devDependencies": { - "@nuxt-themes/docus": "^1.6.1", - "nuxt": "^3.1.1" + "@nuxt-themes/docus": "^1.8.1", + "nuxt": "^3.2.0" } } diff --git a/modules/pwa/index.ts b/modules/pwa/index.ts index 14df539a..08feafdf 100644 --- a/modules/pwa/index.ts +++ b/modules/pwa/index.ts @@ -59,7 +59,7 @@ export default defineNuxtModule({ Object.keys(webmanifests!).map(wm => [wm, `manifest-${wm}.webmanifest`]).forEach(([wm, fileName]) => { bundle[fileName] = { - isAsset: true, + needsCodeReference: false, type: 'asset', name: undefined, source: generateManifest(wm), diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 305f4182..0b80e37f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -153,13 +153,13 @@ importers: '@tiptap/suggestion': 2.0.0-beta.204 '@tiptap/vue-3': 2.0.0-beta.204 '@unocss/nuxt': 0.49.1 - '@vue-macros/nuxt': 1.0.3_5ho3oymwln6ivysxzaxueugmee - '@vueuse/core': 9.11.1 + '@vue-macros/nuxt': 1.0.3_6l3fqwfj7gx5aeecw2zdghwe7m + '@vueuse/core': 9.12.0 '@vueuse/gesture': 2.0.0-beta.1 '@vueuse/integrations': 9.11.1_ha7ivgav6uqpoo2b5thfugqwjq '@vueuse/math': 9.11.1 '@vueuse/motion': 2.0.0-beta.12 - '@vueuse/nuxt': 9.11.1_nuxt@3.2.0 + '@vueuse/nuxt': 9.12.0_nuxt@3.2.0 blurhash: 2.0.4 browser-fs-access: 0.31.2 chroma-js: 2.4.2 @@ -196,8 +196,8 @@ importers: tippy.js: 6.3.7 ufo: 1.0.1 ultrahtml: 1.2.0 - unimport: 2.1.0 - unplugin-auto-import: 0.13.0_@vueuse+core@9.11.1 + unimport: 2.2.4 + unplugin-auto-import: 0.13.0_@vueuse+core@9.12.0 vite-plugin-pwa: 0.14.1 vue-advanced-cropper: 2.8.8 vue-virtual-scroller: 2.0.0-beta.7 @@ -229,10 +229,10 @@ importers: docs: specifiers: - '@nuxt-themes/docus': ^1.6.1 - nuxt: ^3.1.1 + '@nuxt-themes/docus': ^1.8.1 + nuxt: ^3.2.0 devDependencies: - '@nuxt-themes/docus': 1.6.3_nuxt@3.2.0 + '@nuxt-themes/docus': 1.8.1_nuxt@3.2.0 nuxt: 3.2.0 packages: @@ -2332,15 +2332,15 @@ packages: defu: 6.1.2 dev: false - /@nuxt-themes/docus/1.6.3_nuxt@3.2.0: - resolution: {integrity: sha512-H+9kiwufFFQGMsU1iyJieHVr0g8Kj664PrSMI2+bveEMbM1ui1xvDBIk6YhkTQbN3Y7rqOeSiKfr5YGp3zYPSg==} + /@nuxt-themes/docus/1.8.1_nuxt@3.2.0: + resolution: {integrity: sha512-UrsqD24e5hewHKDvqfgDNV0I6dGpKieaZoUG7aaCPP0glAqNlWMw8SFHlM7KFBx9iREmWed1XxCkN7wAcJPIUQ==} dependencies: - '@nuxt-themes/elements': 0.5.2 - '@nuxt-themes/tokens': 1.6.2 - '@nuxt-themes/typography': 0.6.0 - '@nuxt/content': 2.4.2 - '@nuxthq/studio': 0.6.5 - '@vueuse/nuxt': 9.11.1_nuxt@3.2.0 + '@nuxt-themes/elements': 0.7.2 + '@nuxt-themes/tokens': 1.7.3 + '@nuxt-themes/typography': 0.8.0 + '@nuxt/content': 2.4.3 + '@nuxthq/studio': 0.7.2 + '@vueuse/nuxt': 9.12.0_nuxt@3.2.0 transitivePeerDependencies: - '@vue/composition-api' - bufferutil @@ -2353,11 +2353,11 @@ packages: - vue dev: true - /@nuxt-themes/elements/0.5.2: - resolution: {integrity: sha512-jwcMbXJ9zK8mGi8vJJqKObVlfpkfyr3f1ngKyrX3n8Hphy/G8wKpTLvUKPL28Rzr2fj0FPTT6aOe6VBsB47EJA==} + /@nuxt-themes/elements/0.7.2: + resolution: {integrity: sha512-tix0nXchdMMyfSdp+x7VtQE0unNWrQ/xDxxHX/p8JzZMDs4jnXnfJnpdIljhZCyIlFe+9KM5wAZuzb4C0lsGrg==} dependencies: - '@nuxt-themes/tokens': 1.6.2 - '@vueuse/core': 9.11.1 + '@nuxt-themes/tokens': 1.7.3 + '@vueuse/core': 9.12.0 transitivePeerDependencies: - '@vue/composition-api' - postcss @@ -2367,12 +2367,12 @@ packages: - vue dev: true - /@nuxt-themes/tokens/1.6.2: - resolution: {integrity: sha512-J2UZpN7iccMCHB2MHfgJ9od85xmfH1Apwu2NEYynNDBHhQG2e9f2JlByEHJbtTQW7soBFjYJQVSxU2XtzASBTw==} + /@nuxt-themes/tokens/1.7.3: + resolution: {integrity: sha512-BlCudbVaUTYfgM9Qi8SYC8KpRdHb1LiQ8PVPpi4Me/5QYq3jSWQ5C15PPQYHhIqOdpcBNFuVF3WPP1QFP+oHnw==} dependencies: '@nuxtjs/color-mode': 3.2.0 - '@vueuse/core': 9.11.1 - pinceau: 0.12.8 + '@vueuse/core': 9.12.0 + pinceau: 0.13.9 transitivePeerDependencies: - '@vue/composition-api' - postcss @@ -2382,10 +2382,10 @@ packages: - vue dev: true - /@nuxt-themes/typography/0.6.0: - resolution: {integrity: sha512-RGLi4Ylu7KBr5JYyQQNOafNyDy707C81XjdzmbTznmmKb6VIa5z0rO7XwpsnZhA+wjRkXGJv9B1L+ABhxKEAIA==} + /@nuxt-themes/typography/0.8.0: + resolution: {integrity: sha512-aK1Bp9FnlTcg8sc3ZGGGx4dMlQrIRMxZhBwFEbh4JtLupcckJVt3FsJE+JGEmyRWSFbJrsagLdv6cZ9Vn7OCfQ==} dependencies: - '@nuxt-themes/tokens': 1.6.2 + '@nuxt-themes/tokens': 1.7.3 '@nuxtjs/color-mode': 3.2.0 nuxt-config-schema: 0.4.4 nuxt-icon: 0.2.10 @@ -2399,15 +2399,14 @@ packages: - vue dev: true - /@nuxt/content/2.4.2: - resolution: {integrity: sha512-Nz2ZcC7R505UY5NQN+WE1pZ4ie8PBBr12qJHFAZqhWCXenzsdb87p48fvr6Zhlj8CyCTQqWg0B2fs7Lyg/CKwg==} + /@nuxt/content/2.4.3: + resolution: {integrity: sha512-HRx4+9RK2bgtBObcgfrWg/MS0G+mgq87tAA6Q6vjusDpVGE4DhnPN/9nkEMEyfebPZ22iI7z51GN2Od/SnABHA==} dependencies: '@nuxt/kit': 3.1.1 consola: 2.15.3 defu: 6.1.2 destr: 1.2.2 detab: 3.0.2 - html-tags: 3.2.0 json5: 2.2.3 knitwork: 1.0.0 listhen: 1.0.2 @@ -2459,14 +2458,14 @@ packages: birpc: 0.2.3 consola: 2.15.3 execa: 6.1.0 - h3: 1.1.0 + h3: 1.4.0 hookable: 5.4.2 launch-editor: 2.6.0 nuxt: 3.2.0_7rz7g5sqfnn6wuv5lem37retty pathe: 1.1.0 pkg-types: 1.0.1 rc9: 2.0.1 - unimport: 2.1.0 + unimport: 2.2.4 vite-plugin-inspect: 0.7.15 vite-plugin-vue-inspector: 3.3.2 transitivePeerDependencies: @@ -2636,7 +2635,7 @@ packages: is-docker: 3.0.0 jiti: 1.17.0 mri: 1.2.0 - nanoid: 4.0.0 + nanoid: 4.0.1 node-fetch: 3.3.0 ofetch: 1.0.0 parse-git-config: 3.0.0 @@ -2764,8 +2763,8 @@ packages: - vue-tsc dev: true - /@nuxthq/studio/0.6.5: - resolution: {integrity: sha512-kGb8abgTRJi0gcvTQcawEol5CR6uXS4bpCwEEk0+b3LSvyiM6k22Opb29KkSatprTkFrAPHDKSaUve8PiX22sw==} + /@nuxthq/studio/0.7.2: + resolution: {integrity: sha512-8TRUJra53nl+P3XyjcHUKOh/nFo+6MqCy+OXqscKG7MuY8DZ9GNKO8mIIMkyjwseJTGPhSDNqVAsHiHQ0SFfwQ==} dependencies: '@nuxt/kit': 3.2.0 '@nuxt/schema': 3.2.0 @@ -2965,20 +2964,6 @@ packages: rollup: 2.79.1 dev: false - /@rollup/plugin-replace/5.0.2_rollup@3.10.1: - resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@rollup/pluginutils': 5.0.2_rollup@3.10.1 - magic-string: 0.27.0 - rollup: 3.10.1 - dev: false - /@rollup/plugin-replace/5.0.2_rollup@3.14.0: resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} engines: {node: '>=14.0.0'} @@ -3049,21 +3034,6 @@ packages: estree-walker: 2.0.2 picomatch: 2.3.1 - /@rollup/pluginutils/5.0.2_rollup@3.10.1: - resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@types/estree': 1.0.0 - estree-walker: 2.0.2 - picomatch: 2.3.1 - rollup: 3.10.1 - dev: false - /@rollup/pluginutils/5.0.2_rollup@3.14.0: resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} @@ -3805,6 +3775,11 @@ packages: /@unocss/reset/0.49.1: resolution: {integrity: sha512-T1027YK21UDzhgA4qB+L1E8jhNY3dGHqCB15HqB63V5zgVLyw10Hmh0koinrkwtPhxDhLluURuu0tDm7/isvcA==} + dev: false + + /@unocss/reset/0.49.4: + resolution: {integrity: sha512-+9j4bN4cWlsWr3HGlFk+bAb7+1DdwTxQM3UbHjd9QsKVAVV1gE0VHHxU207NOYsIdeBFAOFVkxqFYCyhnfQpnQ==} + dev: true /@unocss/scope/0.49.1: resolution: {integrity: sha512-tSgUbjsb7T2v5ZSYBd9YagoOn8riqx2Pxzk2+md3TnVlbOGtwV4G/BazJ96C2LBB9ldsIvsbNbaK+4S62w27jw==} @@ -4027,7 +4002,7 @@ packages: magic-string: 0.27.0 dev: false - /@vue-macros/define-model/1.3.1_@vueuse+core@9.11.1: + /@vue-macros/define-model/1.3.1_@vueuse+core@9.12.0: resolution: {integrity: sha512-XtBlXtnclMwZaXRko+EangPHXTLIjKxUXPcGqpMCihb+xzVr7dKUv6YZv/nuVucPCPvxH/Jy5BKZqXdTfh76Vw==} engines: {node: '>=14.19.0'} peerDependencies: @@ -4038,7 +4013,7 @@ packages: dependencies: '@rollup/pluginutils': 5.0.2 '@vue-macros/common': 1.0.0 - '@vueuse/core': 9.11.1 + '@vueuse/core': 9.12.0 ast-walker-scope: 0.4.0 unplugin: 1.0.1 transitivePeerDependencies: @@ -4136,7 +4111,7 @@ packages: - vue dev: false - /@vue-macros/nuxt/1.0.3_5ho3oymwln6ivysxzaxueugmee: + /@vue-macros/nuxt/1.0.3_6l3fqwfj7gx5aeecw2zdghwe7m: resolution: {integrity: sha512-p1IuApxeLMjMT5xtdXhIpdNOp5I4+jQnz2Bv4KC6FfnfZZzDToAulaK0Y+Xmn5cSNY+hvCwA7JLZLjRwvYu/AQ==} engines: {node: '>=14.19.0'} peerDependencies: @@ -4146,7 +4121,7 @@ packages: '@vue-macros/short-vmodel': 1.1.0 '@vue-macros/volar': 0.8.1_vue-tsc@1.0.24 nuxt: 3.2.0_7rz7g5sqfnn6wuv5lem37retty - unplugin-vue-macros: 1.7.3_@vueuse+core@9.11.1 + unplugin-vue-macros: 1.7.3_@vueuse+core@9.12.0 transitivePeerDependencies: - '@vueuse/core' - esbuild @@ -4435,6 +4410,18 @@ packages: transitivePeerDependencies: - '@vue/composition-api' - vue + dev: false + + /@vueuse/core/9.12.0: + resolution: {integrity: sha512-h/Di8Bvf6xRcvS/PvUVheiMYYz3U0tH3X25YxONSaAUBa841ayMwxkuzx/DGUMCW/wHWzD8tRy2zYmOC36r4sg==} + dependencies: + '@types/web-bluetooth': 0.0.16 + '@vueuse/metadata': 9.12.0 + '@vueuse/shared': 9.12.0 + vue-demi: 0.13.11 + transitivePeerDependencies: + - '@vue/composition-api' + - vue /@vueuse/gesture/2.0.0-beta.1: resolution: {integrity: sha512-HTLibLy3bh6TjRnDAbMAvHSsEmrkRituMj2x+mHwmp1EnM8A8CDRTfNJEr8d/hIairnPPp5Va2KWYVmyP/zvkA==} @@ -4527,6 +4514,10 @@ packages: /@vueuse/metadata/9.11.1: resolution: {integrity: sha512-ABjkrG+VXggNhjfGyw5e/sekxTZfXTwjrYXkkWQmQ7Biyv+Gq9UD6IDNfeGvQZEINI0Qzw6nfuO2UFCd3hlrxQ==} + dev: false + + /@vueuse/metadata/9.12.0: + resolution: {integrity: sha512-9oJ9MM9lFLlmvxXUqsR1wLt1uF7EVbP5iYaHJYqk+G2PbMjY6EXvZeTjbdO89HgoF5cI6z49o2zT/jD9SVoNpQ==} /@vueuse/motion/2.0.0-beta.12: resolution: {integrity: sha512-cAZqXexLX6xo+H1N1Mv+wBSSqG4wB+BdjIuHQ50jwlelXCDxSi8gj0K/9nDS+aUZtWh6YMwS6UGCKg58jMVglA==} @@ -4545,14 +4536,14 @@ packages: vue-demi: 0.13.11 dev: false - /@vueuse/nuxt/9.11.1_nuxt@3.2.0: - resolution: {integrity: sha512-hiiRzLgsH5nTAb2TChyFc6nykIyTB3MnCEhILg44Ug9ILC3vG/qnHnv3zRtIu4bXNOhDQN5shfnchgGPJFf8PA==} + /@vueuse/nuxt/9.12.0_nuxt@3.2.0: + resolution: {integrity: sha512-zT7ieMmJgyB+hpQ6aG2HiyvNFHm5D/s2Z7fQjWcxuDI9Xawr7ECWBkSinxwrmtZ7+0lacXak+VMFpbx/z/zp2Q==} peerDependencies: nuxt: ^3.0.0 dependencies: '@nuxt/kit': 3.2.0 - '@vueuse/core': 9.11.1 - '@vueuse/metadata': 9.11.1 + '@vueuse/core': 9.12.0 + '@vueuse/metadata': 9.12.0 local-pkg: 0.4.3 nuxt: 3.2.0_7rz7g5sqfnn6wuv5lem37retty vue-demi: 0.13.11 @@ -4583,6 +4574,15 @@ packages: transitivePeerDependencies: - '@vue/composition-api' - vue + dev: false + + /@vueuse/shared/9.12.0: + resolution: {integrity: sha512-TWuJLACQ0BVithVTRbex4Wf1a1VaRuSpVeyEd4vMUWl54PzlE0ciFUshKCXnlLuD0lxIaLK4Ypj3NXYzZh4+SQ==} + dependencies: + vue-demi: 0.13.11 + transitivePeerDependencies: + - '@vue/composition-api' + - vue /@zhead/schema/1.1.0: resolution: {integrity: sha512-hEtK+hUAKS3w1+F++m6EeZ6bWeLDXraqN2nCyRVIP5vvR3bWjXVP9OM9x7Pmn7Hp6T7FKmsG2C8rvouQU2806w==} @@ -4798,6 +4798,13 @@ packages: /assertion-error/1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + /ast-types/0.14.2: + resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==} + engines: {node: '>=4'} + dependencies: + tslib: 2.4.1 + dev: true + /ast-types/0.15.2: resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==} engines: {node: '>=4'} @@ -7079,15 +7086,6 @@ packages: dependencies: duplexer: 0.1.2 - /h3/1.1.0: - resolution: {integrity: sha512-kx3u+RMzY963fU8NNT2ePWgsryAn9DNztPqbHia/M7HgA+rtXKjHjED9/uidcYPmImNwAfJsCachCzh2T3QH2A==} - dependencies: - cookie-es: 0.5.0 - destr: 1.2.2 - radix3: 1.0.0 - ufo: 1.0.1 - dev: false - /h3/1.4.0: resolution: {integrity: sha512-FWG+FUdW6XQnf/54L4AXzZs1KUYwSJk5cbdFvTM4EG96bEQiWDJ5003xW4S3UGgXI0VJJgyY6KCaDmAL75kjbA==} dependencies: @@ -8748,8 +8746,8 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - /nanoid/4.0.0: - resolution: {integrity: sha512-IgBP8piMxe/gf73RTQx7hmnhwz0aaEXYakvqZyE302IXW3HyVNhdNGC+O2MwMAVhLEnvXlvKtGbtJf6wvHihCg==} + /nanoid/4.0.1: + resolution: {integrity: sha512-udKGtCCUafD3nQtJg9wBhRP3KMbPglUsgV5JVsXhvyBs/oefqb4sqMEhKBBgqZncYowu58p1prsZQBYvAj/Gww==} engines: {node: ^14 || ^16 || >=18} hasBin: true @@ -9353,6 +9351,12 @@ packages: resolution: {integrity: sha512-+3uccYgL0CXG0KSXRxZi4uc2E6mqFWV5HqiJJgcnaJCiS0LqiuJ4vB420N21NFuLvuvLB4Jr5drgQ2NXAXF9Iw==} dev: false + /paneer/0.0.1: + resolution: {integrity: sha512-rT0koOL1kQ0CqxIS12FYrEuj6BTfQUn3QMj9led4QVBNw7s1MoF6owTGqwYF2FVPXMqVOxe+i6Ye8FGI7SXQCQ==} + dependencies: + recast: 0.20.5 + dev: true + /param-case/3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: @@ -9490,10 +9494,10 @@ packages: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} - /pinceau/0.12.8: - resolution: {integrity: sha512-kwNUgaJdfTgBn3cD/UNHNJIdzznqvNJ1/vTeK0mPGBTlQgRAsd5dduSPZM4cTrJe53nPWf4YwzPounhWlinp0A==} + /pinceau/0.13.9: + resolution: {integrity: sha512-Z6JuQ1x9R5DYoH+PuwsHKPSKi62OGuERhZ4SmMfH/Lbmu3mLslz9Tj+61Fv8b2oKbmBaNbPTmF4ddg4+YNQigw==} dependencies: - '@unocss/reset': 0.49.1 + '@unocss/reset': 0.49.4 '@volar/vue-language-core': 1.0.24 acorn: 8.8.2 chroma-js: 2.4.2 @@ -9501,9 +9505,10 @@ packages: csstype: 3.1.1 defu: 6.1.2 magic-string: 0.27.0 - nanoid: 4.0.0 + nanoid: 4.0.1 ohash: 1.0.0 - postcss-custom-properties: 13.1.0 + paneer: 0.0.1 + postcss-custom-properties: 13.1.1 postcss-dark-theme-class: 0.7.3 postcss-nested: 6.0.0 recast: 0.22.0 @@ -9586,8 +9591,8 @@ packages: postcss: 8.4.21 postcss-value-parser: 4.2.0 - /postcss-custom-properties/13.1.0: - resolution: {integrity: sha512-O0Lg0CuHwADctEMBgGtaeams7eFES8pXo/9zBClTbRVdU3LFAkFluw1l9eYnJ3rtidp80EGbAIuiisEIu1Z+uA==} + /postcss-custom-properties/13.1.1: + resolution: {integrity: sha512-FK4dBiHdzWOosLu3kEAHaYpfcrnMfVV4nP6PT6EFIfWXrtHH9LY8idfTYnEDpq/vgE33mr8ykhs7BjlgcT9agg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 @@ -9898,11 +9903,6 @@ packages: engines: {node: '>=6'} dev: false - /pretty-bytes/6.0.0: - resolution: {integrity: sha512-6UqkYefdogmzqAZWzJ7laYeJnaXDy2/J+ZqiiMtS7t7OfpXWTlaeGMwX8U6EFvPV/YWWEKRkS8hKS4k60WHTOg==} - engines: {node: ^14.13.1 || >=16.0.0} - dev: false - /pretty-bytes/6.1.0: resolution: {integrity: sha512-Rk753HI8f4uivXi4ZCIYdhmG1V+WKzvRMg/X+M42a6t7D07RcmopXJMDNk6N++7Bl75URRGsb40ruvg7Hcp2wQ==} engines: {node: ^14.13.1 || >=16.0.0} @@ -10110,6 +10110,16 @@ packages: dependencies: picomatch: 2.3.1 + /recast/0.20.5: + resolution: {integrity: sha512-E5qICoPoNL4yU0H0NoBDntNB0Q5oMSNh9usFctYniLBluTthi3RsQVBXIJNbApOlvSwW/RGxIuokPcAc59J5fQ==} + engines: {node: '>= 4'} + dependencies: + ast-types: 0.14.2 + esprima: 4.0.1 + source-map: 0.6.1 + tslib: 2.4.1 + dev: true + /recast/0.22.0: resolution: {integrity: sha512-5AAx+mujtXijsEavc5lWXBPQqrM4+Dl5qNH96N2aNeuJFUzpiiToKPsxQD/zAIJHspz7zz0maX0PCtCTFVlixQ==} engines: {node: '>= 4'} @@ -10434,13 +10444,6 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.2 - - /rollup/3.10.1: - resolution: {integrity: sha512-3Er+yel3bZbZX1g2kjVM+FW+RUWDxbG87fcqFM5/9HbPCTpbVp6JOLn7jlxnNlbu7s/N/uDA4EV/91E2gWnxzw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true - optionalDependencies: - fsevents: 2.3.2 dev: false /rollup/3.14.0: @@ -10940,11 +10943,6 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - /strip-literal/1.0.0: - resolution: {integrity: sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==} - dependencies: - acorn: 8.8.2 - /strip-literal/1.0.1: resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} dependencies: @@ -11335,15 +11333,6 @@ packages: busboy: 1.6.0 dev: false - /unenv/1.0.2: - resolution: {integrity: sha512-senf7HmOHW3TuVCdhnrJcgVWabKnaU38oTRpppwWF0L6dJyfedY4MCiJeuwtrziqURZHuI2xxUoM90VLwG+e2Q==} - dependencies: - defu: 6.1.2 - mime: 3.0.0 - node-fetch-native: 1.0.1 - pathe: 1.1.0 - dev: false - /unenv/1.1.1: resolution: {integrity: sha512-AfQ+sKCdeSPX/rp0tL9LZz3cAu1Mt0i9UADuN1MtbsITKDS2PqSx8LQUBMf8lKuziitIWXXwU6JXrmzARFVSRw==} dependencies: @@ -11394,24 +11383,6 @@ packages: vfile: 5.3.6 dev: true - /unimport/2.1.0: - resolution: {integrity: sha512-GDVIxATluUquX8EqelT6DtnmnZaXGID1jsO9IXwlnxb0OIEqKAxTOnTlnGmHbseoGTh+ZC9kcNDaO18HYQj9KA==} - dependencies: - '@rollup/pluginutils': 5.0.2 - escape-string-regexp: 5.0.0 - fast-glob: 3.2.12 - local-pkg: 0.4.3 - magic-string: 0.27.0 - mlly: 1.1.0 - pathe: 1.1.0 - pkg-types: 1.0.1 - scule: 1.0.0 - strip-literal: 1.0.0 - unplugin: 1.0.1 - transitivePeerDependencies: - - rollup - dev: false - /unimport/2.2.4: resolution: {integrity: sha512-qMgmeEGqqrrmEtm0dqxMG37J6xBtrriqxq9hILvDb+e6l2F0yTnJomLoCCp0eghLR7bYGeBsUU5Y0oyiUYhViw==} dependencies: @@ -11545,7 +11516,7 @@ packages: - vite dev: false - /unplugin-auto-import/0.13.0_@vueuse+core@9.11.1: + /unplugin-auto-import/0.13.0_@vueuse+core@9.12.0: resolution: {integrity: sha512-nKMxDbkjM4FRPInFfm7sWrJOKgxfKKwb5yLPP+DEGl/SG0/FtBoW1LnZL4PQfx0FXjertoHO1P/5nDf+RSip2Q==} engines: {node: '>=14'} peerDependencies: @@ -11556,10 +11527,10 @@ packages: dependencies: '@antfu/utils': 0.7.2 '@rollup/pluginutils': 5.0.2 - '@vueuse/core': 9.11.1 + '@vueuse/core': 9.12.0 local-pkg: 0.4.3 magic-string: 0.27.0 - unimport: 2.1.0 + unimport: 2.2.4 unplugin: 1.0.1 transitivePeerDependencies: - rollup @@ -11600,7 +11571,7 @@ packages: - vue dev: false - /unplugin-vue-macros/1.7.3_@vueuse+core@9.11.1: + /unplugin-vue-macros/1.7.3_@vueuse+core@9.12.0: resolution: {integrity: sha512-HJ1cA0NiJIPbfDIaYZf+KgJ65nof8LMdU187ZrKUckNQwrmE92ySboc/4LP0Dzo+Yw6XPQ2kNECwVwqyp0VAcQ==} engines: {node: '>=14.19.0'} peerDependencies: @@ -11609,7 +11580,7 @@ packages: '@rollup/pluginutils': 5.0.2 '@vue-macros/better-define': 1.3.1 '@vue-macros/common': 1.0.0 - '@vue-macros/define-model': 1.3.1_@vueuse+core@9.11.1 + '@vue-macros/define-model': 1.3.1_@vueuse+core@9.12.0 '@vue-macros/define-props': 0.3.1 '@vue-macros/define-props-refs': 0.2.0 '@vue-macros/define-render': 1.2.1 @@ -11931,11 +11902,11 @@ packages: peerDependencies: vite: ^3.1.0 || ^4.0.0 dependencies: - '@rollup/plugin-replace': 5.0.2_rollup@3.10.1 + '@rollup/plugin-replace': 5.0.2_rollup@3.14.0 debug: 4.3.4 fast-glob: 3.2.12 - pretty-bytes: 6.0.0 - rollup: 3.10.1 + pretty-bytes: 6.1.0 + rollup: 3.14.0 workbox-build: 6.5.4 workbox-window: 6.5.4 transitivePeerDependencies: @@ -11961,39 +11932,6 @@ packages: - supports-color dev: false - /vite/3.2.5_@types+node@18.11.18: - resolution: {integrity: sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 18.11.18 - esbuild: 0.15.18 - postcss: 8.4.21 - resolve: 1.22.1 - rollup: 2.79.1 - optionalDependencies: - fsevents: 2.3.2 - /vite/4.1.1: resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==} engines: {node: ^14.18.0 || >=16.0.0} @@ -12068,11 +12006,11 @@ packages: '@nuxt/kit': 3.2.0 '@vue/test-utils': 2.2.8 estree-walker: 3.0.3 - h3: 1.1.0 + h3: 1.4.0 happy-dom: 8.2.0 magic-string: 0.27.0 ofetch: 1.0.0 - unenv: 1.0.2 + unenv: 1.1.1 vitest: 0.28.4_@vitest+ui@0.28.3 transitivePeerDependencies: - '@vue/compiler-dom' @@ -12120,11 +12058,11 @@ packages: picocolors: 1.0.0 source-map: 0.6.1 std-env: 3.3.2 - strip-literal: 1.0.0 + strip-literal: 1.0.1 tinybench: 2.3.1 tinypool: 0.3.1 tinyspy: 1.0.2 - vite: 3.2.5_@types+node@18.11.18 + vite: 4.1.1_@types+node@18.11.18 vite-node: 0.28.4_@types+node@18.11.18 why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -12176,11 +12114,11 @@ packages: picocolors: 1.0.0 source-map: 0.6.1 std-env: 3.3.2 - strip-literal: 1.0.0 + strip-literal: 1.0.1 tinybench: 2.3.1 tinypool: 0.3.1 tinyspy: 1.0.2 - vite: 3.2.5_@types+node@18.11.18 + vite: 4.1.1_@types+node@18.11.18 vite-node: 0.28.4_@types+node@18.11.18 why-is-node-running: 2.2.2 transitivePeerDependencies: From c6f0432d8d7f010b11ed4e1c2bb76399adcbf182 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joaqu=C3=ADn=20S=C3=A1nchez?= Date: Sun, 12 Feb 2023 13:10:14 +0100 Subject: [PATCH 12/15] fix(i18n): better login description for single instance server (#1727) --- components/user/UserSignInEntry.vue | 2 +- locales/en.json | 1 + locales/es.json | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/components/user/UserSignInEntry.vue b/components/user/UserSignInEntry.vue index 0d78abc2..a234f44f 100644 --- a/components/user/UserSignInEntry.vue +++ b/components/user/UserSignInEntry.vue @@ -10,7 +10,7 @@ const { busy, oauth, singleInstanceServer } = useSignIn()

- {{ $t('user.sign_in_desc') }} + {{ $t(singleInstanceServer ? 'user.single_instance_sign_in_desc' : 'user.sign_in_desc') }}