From ca65f7379e5efc50cb6a5d023c77cdeb5b4f5b0f Mon Sep 17 00:00:00 2001 From: Roni Laukkarinen Date: Sat, 28 Jan 2023 23:56:00 +0200 Subject: [PATCH 01/81] fix(a11y): do not prevent arbitrary zooming on mobile devices (#1501) --- nuxt.config.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nuxt.config.ts b/nuxt.config.ts index 559e3c7c..d6abd7ac 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -130,8 +130,7 @@ export default defineNuxtConfig({ app: { keepalive: true, head: { - // Prevent arbitrary zooming on mobile devices - viewport: 'width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0,viewport-fit=cover', + viewport: 'width=device-width,initial-scale=1', bodyAttrs: { class: 'overflow-x-hidden', }, From 8c76dad3c00bb789a9245e01107d574ca26c977f Mon Sep 17 00:00:00 2001 From: sechi Date: Sun, 29 Jan 2023 06:00:20 +0800 Subject: [PATCH 02/81] fix: prevent click event when publish button is disabled (#1481) --- composables/masto/publish.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/composables/masto/publish.ts b/composables/masto/publish.ts index 08498d1e..b57466c5 100644 --- a/composables/masto/publish.ts +++ b/composables/masto/publish.ts @@ -29,6 +29,8 @@ export const usePublish = (options: { }, { deep: true }) async function publishDraft() { + if (isPublishDisabled) + return let content = htmlToText(draft.params.status || '') if (draft.mentions?.length) content = `${draft.mentions.map(i => `@${i}`).join(' ')} ${content}` From 7d127d397a670091adc7b9c3a2927d459937553b Mon Sep 17 00:00:00 2001 From: John HU Date: Sat, 28 Jan 2023 14:16:16 -0800 Subject: [PATCH 03/81] fix: correct federated timeline title icon (#1340) --- pages/[[server]]/public/index.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pages/[[server]]/public/index.vue b/pages/[[server]]/public/index.vue index f9006cc0..67c3ab78 100644 --- a/pages/[[server]]/public/index.vue +++ b/pages/[[server]]/public/index.vue @@ -12,7 +12,7 @@ useHeadFixed({ From fda85e31bc54a5ed3b636dcc84df9c7cd3ab117e Mon Sep 17 00:00:00 2001 From: John HU Date: Sat, 28 Jan 2023 14:17:26 -0800 Subject: [PATCH 04/81] fix: disable user-select on StatusActionButton component (#1281) --- components/status/StatusActionButton.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/status/StatusActionButton.vue b/components/status/StatusActionButton.vue index e8fe2ad6..ca6c1d48 100644 --- a/components/status/StatusActionButton.vue +++ b/components/status/StatusActionButton.vue @@ -49,7 +49,7 @@ useCommand({ Date: Sun, 29 Jan 2023 16:41:42 +0900 Subject: [PATCH 05/81] =?UTF-8?q?fix:=20use=20"=E2=8C=98"=20as=20modifier?= =?UTF-8?q?=20key=20name=20on=20macOS=20(#1506)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: use 'Command' as modifier key name on macOS * fix: use more reliable `useIsMac()` instead of `userAgentData` * refactor: apply suggestion from @userquin * fix: use `⌘` as Command key symbol --- components/command/CommandPanel.vue | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/components/command/CommandPanel.vue b/components/command/CommandPanel.vue index 03086dbe..1c955a15 100644 --- a/components/command/CommandPanel.vue +++ b/components/command/CommandPanel.vue @@ -64,6 +64,9 @@ const result = $computed(() => commandMode : searchResult, ) +const isMac = useIsMac() +const modifierKeyName = $computed(() => isMac.value ? '⌘' : 'Ctrl') + let active = $ref(0) watch($$(result), (n, o) => { if (n.length !== o.length || !n.items.every((i, idx) => i === o.items[idx])) @@ -233,8 +236,8 @@ const onKeyDown = (e: KeyboardEvent) => {
Tip: Use - to search, - to activate command mode. + to search, + to activate command mode.
From b48b7f4c164cea25391e4c5ae3cf15fd39797704 Mon Sep 17 00:00:00 2001 From: Niklas Wolf Date: Sun, 29 Jan 2023 13:18:49 +0100 Subject: [PATCH 06/81] feat: allow disabling translation for specific languages (#1371) --- components/settings/SettingsTranslations.vue | 63 ++++++++++++++++++++ components/status/StatusTranslation.vue | 2 +- composables/masto/translate.ts | 45 +++++++++++++- composables/settings/definition.ts | 2 + locales/de-DE.json | 11 +++- locales/en.json | 9 ++- pages/settings/language/index.vue | 4 ++ pages/settings/preferences/index.vue | 6 -- 8 files changed, 130 insertions(+), 12 deletions(-) create mode 100644 components/settings/SettingsTranslations.vue diff --git a/components/settings/SettingsTranslations.vue b/components/settings/SettingsTranslations.vue new file mode 100644 index 00000000..729a850b --- /dev/null +++ b/components/settings/SettingsTranslations.vue @@ -0,0 +1,63 @@ + + + diff --git a/components/status/StatusTranslation.vue b/components/status/StatusTranslation.vue index daf00a7e..67f2c84a 100644 --- a/components/status/StatusTranslation.vue +++ b/components/status/StatusTranslation.vue @@ -12,7 +12,7 @@ const { } = useTranslation(status, getLanguageCode()) const preferenceHideTranslation = usePreferences('hideTranslation') -const showButton = computed(() => !preferenceHideTranslation.value && isTranslationEnabled && status.language !== getLanguageCode()) +const showButton = computed(() => !preferenceHideTranslation.value && isTranslationEnabled) let translating = $ref(false) const toggleTranslation = async () => { diff --git a/composables/masto/translate.ts b/composables/masto/translate.ts index f87ee314..fc623df2 100644 --- a/composables/masto/translate.ts +++ b/composables/masto/translate.ts @@ -8,6 +8,40 @@ export interface TranslationResponse { } } +// @see https://github.com/LibreTranslate/LibreTranslate/tree/main/libretranslate/locales +export const supportedTranslationCodes = [ + 'ar', + 'az', + 'cs', + 'da', + 'de', + 'el', + 'en', + 'eo', + 'es', + 'fa', + 'fi', + 'fr', + 'ga', + 'he', + 'hi', + 'hu', + 'id', + 'it', + 'ja', + 'ko', + 'nl', + 'pl', + 'pt', + 'ru', + 'sk', + 'sv', + 'tr', + 'uk', + 'vi', + 'zh', +] as const + export const getLanguageCode = () => { let code = 'en' const getCode = (code: string) => code.replace(/-.*$/, '') @@ -63,9 +97,16 @@ export function useTranslation(status: mastodon.v1.Status | mastodon.v1.StatusEd translations.set(status, reactive({ visible: false, text: '', success: false, error: '' })) const translation = translations.get(status)! + const userSettings = useUserSettings() + + const shouldTranslate = 'language' in status && status.language && status.language !== to + && supportedTranslationCodes.includes(to as any) + && supportedTranslationCodes.includes(status.language as any) + && !userSettings.value.disabledTranslationLanguages.includes(status.language) + const enabled = /*! !useRuntimeConfig().public.translateApi && */ shouldTranslate async function toggle() { - if (!('language' in status)) + if (!shouldTranslate) return if (!translation.text) { @@ -79,7 +120,7 @@ export function useTranslation(status: mastodon.v1.Status | mastodon.v1.StatusEd } return { - enabled: !!useRuntimeConfig().public.translateApi, + enabled, toggle, translation, } diff --git a/composables/settings/definition.ts b/composables/settings/definition.ts index 36d0e204..c3940ee1 100644 --- a/composables/settings/definition.ts +++ b/composables/settings/definition.ts @@ -26,6 +26,7 @@ export interface UserSettings { colorMode?: ColorMode fontSize: FontSize language: string + disabledTranslationLanguages: string[] zenMode: boolean themeColors?: ThemeColors } @@ -56,6 +57,7 @@ export function getDefaultUserSettings(locales: string[]): UserSettings { return { language: getDefaultLanguage(locales), fontSize: DEFAULT_FONT_SIZE, + disabledTranslationLanguages: [], zenMode: false, preferences: {}, } diff --git a/locales/de-DE.json b/locales/de-DE.json index 569522f5..56474539 100644 --- a/locales/de-DE.json +++ b/locales/de-DE.json @@ -270,7 +270,14 @@ }, "language": { "display_language": "Anzeigesprache", - "label": "Sprache" + "label": "Sprache", + "translations": { + "add": "Hinzufügen", + "choose_language": "Sprache wählen", + "heading": "Übersetzungen", + "hide_specific": "Bestimmte Übersetzungen ausblenden", + "remove": "Entfernen" + } }, "notifications": { "label": "Benachrichtigungen", @@ -328,7 +335,7 @@ "hide_boost_count": "Boost-Zähler ausblenden", "hide_favorite_count": "Favoritenzahl ausblenden", "hide_follower_count": "Anzahl der Follower ausblenden", - "hide_translation": "Übersetzungen ausblenden", + "hide_translation": "Übersetzungen komplett ausblenden", "label": "Einstellungen", "title": "Experimentelle Funktionen", "user_picker": "Benutzerauswahl", diff --git a/locales/en.json b/locales/en.json index 196da4b2..2072472b 100644 --- a/locales/en.json +++ b/locales/en.json @@ -316,7 +316,14 @@ }, "language": { "display_language": "Display Language", - "label": "Language" + "label": "Language", + "translations": { + "add": "Add", + "choose_language": "Choose language", + "heading": "Translations", + "hide_specific": "Hide specific translations", + "remove": "Remove" + } }, "notifications": { "label": "Notifications", diff --git a/pages/settings/language/index.vue b/pages/settings/language/index.vue index 52112f3e..10478711 100644 --- a/pages/settings/language/index.vue +++ b/pages/settings/language/index.vue @@ -18,6 +18,10 @@ useHeadFixed({

{{ $t('settings.language.display_language') }}

+

+ {{ $t('settings.language.translations.heading') }} +

+
diff --git a/pages/settings/preferences/index.vue b/pages/settings/preferences/index.vue index 373cc26b..dde8f452 100644 --- a/pages/settings/preferences/index.vue +++ b/pages/settings/preferences/index.vue @@ -39,12 +39,6 @@ const userSettings = useUserSettings() > {{ $t('settings.preferences.hide_follower_count') }} - - {{ $t('settings.preferences.hide_translation') }} - Date: Sun, 29 Jan 2023 14:20:37 +0100 Subject: [PATCH 07/81] chore: migrate to nuxt-vitest --- nuxt.config.ts | 2 + package.json | 5 +- pnpm-lock.yaml | 381 ++++++++++++++---- .../__snapshots__/content-rich.test.ts.snap | 164 ++++++++ .../__snapshots__/html-parse.test.ts.snap | 144 +++++++ tests/{ => nuxt}/content-rich.test.ts | 19 +- tests/{ => nuxt}/html-parse.test.ts | 0 tests/{ => nuxt}/html-to-text.test.ts | 0 tests/{ => unit}/language.test.ts | 0 tests/{ => unit}/permalinks.test.ts | 2 +- tests/{ => unit}/reorder-timeline.test.ts | 0 vitest.config.mjs | 4 +- 12 files changed, 619 insertions(+), 102 deletions(-) create mode 100644 tests/nuxt/__snapshots__/content-rich.test.ts.snap create mode 100644 tests/nuxt/__snapshots__/html-parse.test.ts.snap rename tests/{ => nuxt}/content-rich.test.ts (96%) rename tests/{ => nuxt}/html-parse.test.ts (100%) rename tests/{ => nuxt}/html-to-text.test.ts (100%) rename tests/{ => unit}/language.test.ts (100%) rename tests/{ => unit}/permalinks.test.ts (92%) rename tests/{ => unit}/reorder-timeline.test.ts (100%) diff --git a/nuxt.config.ts b/nuxt.config.ts index d6abd7ac..795c5473 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -25,6 +25,7 @@ export default defineNuxtConfig({ '@vue-macros/nuxt', '@nuxtjs/i18n', '@nuxtjs/color-mode', + 'nuxt-vitest', ...(isDevelopment || isWindows) ? [] : ['nuxt-security'], '~/modules/purge-comments', '~/modules/setup-components', @@ -66,6 +67,7 @@ export default defineNuxtConfig({ './composables/settings', './composables/tiptap/index.ts', ], + injectAtEnd: true, }, vite: { define: { diff --git a/package.json b/package.json index 69de14b3..b12d7a2c 100644 --- a/package.json +++ b/package.json @@ -103,6 +103,7 @@ "lint-staged": "^13.1.0", "nuxt": "3.0.0", "nuxt-security": "^0.10.1", + "nuxt-vitest": "^0.6.4", "postcss-nested": "^6.0.0", "prettier": "^2.8.3", "rollup-plugin-node-polyfills": "^0.2.1", @@ -112,12 +113,12 @@ "std-env": "^3.3.1", "theme-vitesse": "^0.6.0", "typescript": "^4.9.4", - "unplugin-auto-import": "^0.12.1", + "unimport": "^2.1.0", + "unplugin-auto-import": "^0.13.0", "unplugin-vue-inspector": "^0.0.2", "vite-plugin-inspect": "^0.7.14", "vite-plugin-pwa": "^0.14.1", "vitest": "^0.28.1", - "vitest-environment-nuxt": "0.4.0", "vue-tsc": "^1.0.24", "workbox-build": "^6.5.4", "workbox-window": "^6.5.4" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cfaefc38..9a2827d3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -91,6 +91,7 @@ importers: masto: ^5.6.1 nuxt: 3.0.0 nuxt-security: ^0.10.1 + nuxt-vitest: ^0.6.4 pinia: ^2.0.29 postcss-nested: ^6.0.0 prettier: ^2.8.3 @@ -111,12 +112,12 @@ importers: typescript: ^4.9.4 ufo: ^1.0.1 ultrahtml: ^1.2.0 - unplugin-auto-import: ^0.12.1 + unimport: ^2.1.0 + unplugin-auto-import: ^0.13.0 unplugin-vue-inspector: ^0.0.2 vite-plugin-inspect: ^0.7.14 vite-plugin-pwa: ^0.14.1 vitest: ^0.28.1 - vitest-environment-nuxt: 0.4.0 vue-advanced-cropper: ^2.8.8 vue-tsc: ^1.0.24 vue-virtual-scroller: 2.0.0-beta.7 @@ -199,6 +200,7 @@ importers: lint-staged: 13.1.0 nuxt: 3.0.0_no2el4fe4ggitllzolcgczmlgq nuxt-security: 0.10.1 + nuxt-vitest: 0.6.4_jsdom@21.1.0 postcss-nested: 6.0.0 prettier: 2.8.3 rollup-plugin-node-polyfills: 0.2.1 @@ -208,12 +210,12 @@ importers: std-env: 3.3.1 theme-vitesse: 0.6.0 typescript: 4.9.4 - unplugin-auto-import: 0.12.1_@vueuse+core@9.11.1 + unimport: 2.1.0 + unplugin-auto-import: 0.13.0_@vueuse+core@9.11.1 unplugin-vue-inspector: 0.0.2 vite-plugin-inspect: 0.7.14 - vite-plugin-pwa: 0.14.1 - vitest: 0.28.1_jsdom@21.1.0 - vitest-environment-nuxt: 0.4.0_vitest@0.28.1 + vite-plugin-pwa: 0.14.1_tz3vz2xt4jvid2diblkpydcyn4 + vitest: 0.28.3_jsdom@21.1.0 vue-tsc: 1.0.24_typescript@4.9.4 workbox-build: 6.5.4 workbox-window: 6.5.4 @@ -2586,7 +2588,7 @@ packages: scule: 1.0.0 semver: 7.3.8 unctx: 2.1.1 - unimport: 2.0.1 + unimport: 2.1.0 untyped: 1.2.2 transitivePeerDependencies: - rollup @@ -2613,7 +2615,34 @@ packages: scule: 1.0.0 semver: 7.3.8 unctx: 2.1.1 - unimport: 2.0.1_rollup@3.10.1 + unimport: 2.1.0_rollup@3.10.1 + untyped: 1.2.2 + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /@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.16.2 + 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.1.0 untyped: 1.2.2 transitivePeerDependencies: - rollup @@ -2677,7 +2706,7 @@ packages: scule: 1.0.0 std-env: 3.3.1 ufo: 1.0.1 - unimport: 2.0.1 + unimport: 2.1.0 untyped: 1.2.2 transitivePeerDependencies: - rollup @@ -2699,7 +2728,29 @@ packages: scule: 1.0.0 std-env: 3.3.1 ufo: 1.0.1 - unimport: 2.0.1_rollup@3.10.1 + unimport: 2.1.0_rollup@3.10.1 + untyped: 1.2.2 + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /@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 + pathe: 1.1.0 + pkg-types: 1.0.1 + postcss-import-resolver: 2.0.0 + scule: 1.0.0 + std-env: 3.3.1 + ufo: 1.0.1 + unimport: 2.1.0 untyped: 1.2.2 transitivePeerDependencies: - rollup @@ -2710,7 +2761,7 @@ packages: resolution: {integrity: sha512-mUyDqmB8GUJwTHVnwxuapeUHDSsUycOt+ZsA7GB6F8MOBJiVhQl/EeEAWoO2TUs0BPp2SlY9uO6eQihvxyLRqQ==} hasBin: true dependencies: - '@nuxt/kit': 3.1.0 + '@nuxt/kit': 3.1.1 chalk: 5.2.0 ci-info: 3.7.1 consola: 2.15.3 @@ -2759,7 +2810,7 @@ packages: externality: 1.0.0 fs-extra: 10.1.0 get-port-please: 2.6.1 - h3: 1.0.2 + h3: 1.1.0 knitwork: 1.0.0 magic-string: 0.26.7 mlly: 1.1.0 @@ -2817,7 +2868,7 @@ packages: externality: 1.0.0 fs-extra: 11.1.0 get-port-please: 3.0.1 - h3: 1.0.2 + h3: 1.1.0 knitwork: 1.0.0 magic-string: 0.27.0 mlly: 1.1.0 @@ -2858,8 +2909,8 @@ packages: /@nuxthq/studio/0.6.5: resolution: {integrity: sha512-kGb8abgTRJi0gcvTQcawEol5CR6uXS4bpCwEEk0+b3LSvyiM6k22Opb29KkSatprTkFrAPHDKSaUve8PiX22sw==} dependencies: - '@nuxt/kit': 3.1.0 - '@nuxt/schema': 3.0.0 + '@nuxt/kit': 3.1.1 + '@nuxt/schema': 3.1.1 defu: 6.1.2 nuxt-component-meta: 0.4.3 nuxt-config-schema: 0.4.4 @@ -2875,7 +2926,7 @@ packages: /@nuxtjs/color-mode/3.2.0: resolution: {integrity: sha512-isDR01yfadopiHQ/VEVUpyNSPrk5PCjUHS4t1qYRZwuRGefU4s9Iaxf6H9nmr1QFzoMgTm+3T0r/54jLwtpZbA==} dependencies: - '@nuxt/kit': 3.0.0 + '@nuxt/kit': 3.1.1 lodash.template: 4.5.0 pathe: 1.1.0 transitivePeerDependencies: @@ -2890,7 +2941,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.0 + '@nuxt/kit': 3.1.1 '@vue/compiler-sfc': 3.2.45 cookie-es: 0.5.0 debug: 4.3.4 @@ -2919,7 +2970,7 @@ packages: /@pinia/nuxt/0.4.6_typescript@4.9.4: resolution: {integrity: sha512-HjrYEfLdFpmsjhicPJgL36jVhzHWukIQPFFHGTSF84Cplu+f2nY2XHKqe9ToHzE9rLee2RjLOwAzOnXa/I/u6A==} dependencies: - '@nuxt/kit': 3.0.0 + '@nuxt/kit': 3.1.1 pinia: 2.0.29_typescript@4.9.4 transitivePeerDependencies: - '@vue/composition-api' @@ -3922,7 +3973,7 @@ packages: /@unocss/nuxt/0.48.5: resolution: {integrity: sha512-I5djnTENsxlyxaAagoOqgajz1HqzkeIPQXj2nyq1oTG94rWLpHMY+IX6LMyGl82Csj6Q/myijBDm538JR5Dnsg==} dependencies: - '@nuxt/kit': 3.0.0 + '@nuxt/kit': 3.1.1 '@unocss/config': 0.48.5 '@unocss/core': 0.48.5 '@unocss/preset-attributify': 0.48.5 @@ -4144,30 +4195,40 @@ packages: vue: 3.2.45 dev: true - /@vitest/expect/0.28.1: - resolution: {integrity: sha512-BOvWjBoocKrrTTTC0opIvzOEa7WR/Ovx4++QYlbjYKjnQJfWRSEQkTpAIEfOURtZ/ICcaLk5jvsRshXvjarZew==} + /@vitest/expect/0.28.3: + resolution: {integrity: sha512-dnxllhfln88DOvpAK1fuI7/xHwRgTgR4wdxHldPaoTaBu6Rh9zK5b//v/cjTkhOfNP/AJ8evbNO8H7c3biwd1g==} dependencies: - '@vitest/spy': 0.28.1 - '@vitest/utils': 0.28.1 + '@vitest/spy': 0.28.3 + '@vitest/utils': 0.28.3 chai: 4.3.7 dev: true - /@vitest/runner/0.28.1: - resolution: {integrity: sha512-kOdmgiNe+mAxZhvj2eUTqKnjfvzzknmrcS+SZXV7j6VgJuWPFAMCv3TWOe03nF9dkqDfVLCDRw/hwFuCzmzlQg==} + /@vitest/runner/0.28.3: + resolution: {integrity: sha512-P0qYbATaemy1midOLkw7qf8jraJszCoEvjQOSlseiXZyEDaZTZ50J+lolz2hWiWv6RwDu1iNseL9XLsG0Jm2KQ==} dependencies: - '@vitest/utils': 0.28.1 + '@vitest/utils': 0.28.3 p-limit: 4.0.0 pathe: 1.1.0 dev: true - /@vitest/spy/0.28.1: - resolution: {integrity: sha512-XGlD78cG3IxXNnGwEF121l0MfTNlHSdI25gS2ik0z6f/D9wWUOru849QkJbuNl4CMlZCtNkx3b5IS6MRwKGKuA==} + /@vitest/spy/0.28.3: + resolution: {integrity: sha512-jULA6suS6CCr9VZfr7/9x97pZ0hC55prnUNHNrg5/q16ARBY38RsjsfhuUXt6QOwvIN3BhSS0QqPzyh5Di8g6w==} dependencies: tinyspy: 1.0.2 dev: true - /@vitest/utils/0.28.1: - resolution: {integrity: sha512-a7cV1fs5MeU+W+8sn8gM9gV+q7V/wYz3/4y016w/icyJEKm9AMdSHnrzxTWaElJ07X40pwU6m5353Jlw6Rbd8w==} + /@vitest/ui/0.28.3: + resolution: {integrity: sha512-pbr9VySq2PJhaQP06Fq9c6Ra1wSUY1gnNEVhuwVU1yhqz78WdsO3rqREu7GSqEpAr6oZfwpBOUVzW87C2lNGYw==} + dependencies: + fast-glob: 3.2.12 + flatted: 3.2.7 + pathe: 1.1.0 + picocolors: 1.0.0 + sirv: 2.0.2 + dev: true + + /@vitest/utils/0.28.3: + resolution: {integrity: sha512-YHiQEHQqXyIbhDqETOJUKx9/psybF7SFFVCNfOvap0FvyUqbzTSDCa3S5lL4C0CLXkwVZttz9xknDoyHMguFRQ==} dependencies: cli-truncate: 3.1.0 diff: 5.1.0 @@ -4355,7 +4416,7 @@ packages: peerDependencies: nuxt: ^3.0.0 dependencies: - '@nuxt/kit': 3.1.0 + '@nuxt/kit': 3.1.1 '@vue-macros/short-vmodel': 1.0.5 '@vue-macros/volar': 0.6.2_vue-tsc@1.0.24 nuxt: 3.0.0_no2el4fe4ggitllzolcgczmlgq @@ -4570,10 +4631,13 @@ packages: resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==} dev: true - /@vue/test-utils/2.2.7: - resolution: {integrity: sha512-BMuoruUFTEqhLoOgsMcgNVMiByYbfHCKGr2C4CPdGtz/affUtDVX5zr1RnPuq0tYSiaqq+Enw5voUpG6JY8Q7g==} + /@vue/test-utils/2.2.8: + resolution: {integrity: sha512-/R8DKzp41Ip/RqTt1jvOVi5gxby3EwNWiYHNYsG9FAjEvt0gzDvYN55lCKzX7IdnI5zVIOo5tHtts0SLT+JrWw==} peerDependencies: + '@vue/compiler-dom': ^3.0.1 vue: ^3.0.1 + dependencies: + js-beautify: 1.14.6 dev: true /@vueuse/core/8.9.4: @@ -4719,7 +4783,7 @@ packages: peerDependencies: nuxt: ^3.0.0 dependencies: - '@nuxt/kit': 3.0.0 + '@nuxt/kit': 3.1.1 '@vueuse/core': 9.11.1 '@vueuse/metadata': 9.11.1 local-pkg: 0.4.3 @@ -4737,7 +4801,7 @@ packages: peerDependencies: nuxt: ^3.0.0 dependencies: - '@nuxt/kit': 3.0.0 + '@nuxt/kit': 3.1.1 '@vueuse/core': 9.11.1 '@vueuse/metadata': 9.11.1 local-pkg: 0.4.3 @@ -5631,6 +5695,13 @@ packages: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true + /config-chain/1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + dev: true + /consola/2.15.3: resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} @@ -6107,6 +6178,16 @@ packages: resolution: {integrity: sha512-GJRqdiy2h+EXy6a8E6R+ubmqUM08BK0FWNq41k24fup6045biQ8NXxoXimiwegMQvFFV3t1emADdGNL1TlS61A==} dev: false + /editorconfig/0.15.3: + resolution: {integrity: sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==} + hasBin: true + dependencies: + commander: 2.20.3 + lru-cache: 4.1.5 + semver: 5.7.1 + sigmund: 1.0.1 + dev: true + /ee-first/1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true @@ -7534,8 +7615,8 @@ packages: duplexer: 0.1.2 dev: true - /h3/1.0.2: - resolution: {integrity: sha512-25QqjQMz8pX1NI2rZ/ziNT9B8Aog7jmu2a0o8Qm9kKoH3zOhE+2icVs069h6DEp0g1Dst1+zKfRdRYcK0MogJA==} + /h3/1.1.0: + resolution: {integrity: sha512-kx3u+RMzY963fU8NNT2ePWgsryAn9DNztPqbHia/M7HgA+rtXKjHjED9/uidcYPmImNwAfJsCachCzh2T3QH2A==} dependencies: cookie-es: 0.5.0 destr: 1.2.2 @@ -7543,8 +7624,8 @@ packages: ufo: 1.0.1 dev: true - /happy-dom/8.1.5: - resolution: {integrity: sha512-/UXAJ2fHTs4H3vy7TS7c9PKFvPyaNialk2Er9NdXfpBKNaCITMOH03rkjHXp5jnJnSmRBa+av8E08PUAaIB1jQ==} + /happy-dom/8.2.0: + resolution: {integrity: sha512-SBMi/ht8zvtXNuSVpXJu+hOEJtNEbM4CxQukcHMm7FCd1sMuitfESwUMX83gl3C2JcEGLcpx/+JnF+rjGl27+A==} dependencies: css.escape: 1.5.1 he: 1.2.0 @@ -8256,6 +8337,17 @@ packages: hasBin: true dev: true + /js-beautify/1.14.6: + resolution: {integrity: sha512-GfofQY5zDp+cuHc+gsEXKPpNw2KbPddreEo35O6jT6i0RVK6LhsoYBhq5TvK4/n74wnA0QbK8gGd+jUZwTMKJw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + config-chain: 1.1.13 + editorconfig: 0.15.3 + glob: 8.1.0 + nopt: 6.0.0 + dev: true + /js-cookie/3.0.1: resolution: {integrity: sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw==} engines: {node: '>=12'} @@ -8653,6 +8745,13 @@ packages: dependencies: tslib: 2.4.1 + /lru-cache/4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + dev: true + /lru-cache/5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: @@ -9392,7 +9491,7 @@ packages: fs-extra: 10.1.0 globby: 13.1.3 gzip-size: 7.0.0 - h3: 1.0.2 + h3: 1.1.0 hookable: 5.4.2 http-proxy: 1.18.1 is-primitive: 3.0.1 @@ -9421,7 +9520,7 @@ packages: source-map-support: 0.5.21 std-env: 3.3.1 ufo: 1.0.1 - unenv: 1.0.1 + unenv: 1.0.2 unimport: 1.3.0_rollup@2.79.1 unstorage: 1.0.1 transitivePeerDependencies: @@ -9464,7 +9563,7 @@ packages: fs-extra: 11.1.0 globby: 13.1.3 gzip-size: 7.0.0 - h3: 1.0.2 + h3: 1.1.0 hookable: 5.4.2 http-proxy: 1.18.1 is-primitive: 3.0.1 @@ -9492,7 +9591,7 @@ packages: source-map-support: 0.5.21 std-env: 3.3.1 ufo: 1.0.1 - unenv: 1.0.1 + unenv: 1.0.2 unimport: 1.3.0_rollup@3.10.1 unstorage: 1.0.1 transitivePeerDependencies: @@ -9570,6 +9669,14 @@ packages: abbrev: 1.1.1 dev: true + /nopt/6.0.0: + resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + hasBin: true + dependencies: + abbrev: 1.1.1 + dev: true + /normalize-package-data/2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: @@ -9640,7 +9747,7 @@ packages: /nuxt-component-meta/0.4.3: resolution: {integrity: sha512-40wsnbCh2neNdKVrwSiqV/ea7QshYjp3kpfk8JZaxSW/XcgNg2tzka4L+M8caOvQalyAKi6AaENPLaTYOZDbQg==} dependencies: - '@nuxt/kit': 3.1.0 + '@nuxt/kit': 3.1.1 scule: 1.0.0 typescript: 4.9.4 vue-component-meta: 1.0.24_typescript@4.9.4 @@ -9652,7 +9759,7 @@ packages: /nuxt-config-schema/0.4.4: resolution: {integrity: sha512-5NnyyH2qSgraQo6kcW/8SWqBZ/pEY/PwyepODPWYYv4ZZ8BiqC850OTmyO2oTBL4O+Xg4fR7hAwSB4g5pIMpSg==} dependencies: - '@nuxt/kit': 3.1.0 + '@nuxt/kit': 3.1.1 changelogen: 0.4.1 defu: 6.1.2 jiti: 1.16.2 @@ -9667,7 +9774,7 @@ packages: resolution: {integrity: sha512-Tv1oh33oLJfFDhQ5nMZ8I5vspbg7A8JTW7sVtD58gDkHfFzEHXBcXz7OesFZZQvKPwBWSKhBLgIenbFu5Jkzlw==} dependencies: '@iconify/vue': 4.0.2 - '@nuxt/kit': 3.1.0 + '@nuxt/kit': 3.1.1 nuxt-config-schema: 0.4.4 transitivePeerDependencies: - rollup @@ -9679,7 +9786,7 @@ packages: resolution: {integrity: sha512-Aqz+LM7pWAEismEJqhSPkihX+njX1bIJd62ygJfQuwyWWDD3EuUHJR5BxuPNd8KakT9MNhtM3AZ7bg0g/gqyqg==} dependencies: '@nozomuikuta/h3-cors': 0.1.8_defu@6.1.2 - '@nuxt/kit': 3.0.0 + '@nuxt/kit': 3.1.1 basic-auth: 2.0.1 defu: 6.1.2 limiter: 2.1.0 @@ -9692,6 +9799,35 @@ packages: - supports-color dev: true + /nuxt-vitest/0.6.4_jsdom@21.1.0: + resolution: {integrity: sha512-38hQlqs1Fx6PjBnxnAk2la+z7KFaU4aTNTas0GcvSJ2GoPdVXienPTkLeiYeNWr0/2cQ1LGfR8ZVXFlldvJIFA==} + peerDependencies: + vite: '*' + dependencies: + '@nuxt/kit': 3.1.1 + '@vitest/ui': 0.28.3 + get-port-please: 3.0.1 + perfect-debounce: 0.1.3 + std-env: 3.3.1 + vitest: 0.28.3_a7aimjszcawcicrmfep77vgtlm + vitest-environment-nuxt: 0.6.4_vitest@0.28.3 + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@vitest/browser' + - '@vue/compiler-dom' + - encoding + - happy-dom + - jsdom + - less + - rollup + - sass + - stylus + - sugarss + - supports-color + - terser + - vue + dev: true + /nuxt/3.0.0_no2el4fe4ggitllzolcgczmlgq: resolution: {integrity: sha512-RNlD78uv04ZiXWmlx9f1tnJfrqsYAWHU+4gbgOTQpIBmQzHWPWiox+fm/1m93iKfEd5sJi9TJUoXX5yBObVZYw==} engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} @@ -9715,7 +9851,7 @@ packages: estree-walker: 3.0.3 fs-extra: 10.1.0 globby: 13.1.3 - h3: 1.0.2 + h3: 1.1.0 hash-sum: 2.0.0 hookable: 5.4.2 knitwork: 1.0.0 @@ -9732,7 +9868,7 @@ packages: ufo: 1.0.1 ultrahtml: 1.2.0 unctx: 2.1.1 - unenv: 1.0.1 + unenv: 1.0.2 unhead: 1.0.18 unimport: 1.3.0 unplugin: 1.0.1 @@ -9787,7 +9923,7 @@ packages: estree-walker: 3.0.3 fs-extra: 11.1.0 globby: 13.1.3 - h3: 1.0.2 + h3: 1.1.0 hash-sum: 2.0.0 hookable: 5.4.2 jiti: 1.16.2 @@ -9805,9 +9941,9 @@ packages: ufo: 1.0.1 ultrahtml: 1.2.0 unctx: 2.1.1 - unenv: 1.0.1 + unenv: 1.0.2 unhead: 1.0.18 - unimport: 2.0.1 + unimport: 2.1.0 unplugin: 1.0.1 untyped: 1.2.2 vue: 3.2.45 @@ -10749,6 +10885,10 @@ packages: prosemirror-transform: 1.7.1 dev: false + /proto-list/1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + dev: true + /protocols/2.0.1: resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} dev: true @@ -10757,6 +10897,10 @@ packages: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} dev: true + /pseudomap/1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + dev: true + /psl/1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} dev: true @@ -11419,6 +11563,10 @@ packages: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true + /sigmund/1.0.1: + resolution: {integrity: sha512-fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==} + dev: true + /signal-exit/3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -11940,8 +12088,8 @@ packages: resolution: {integrity: sha512-h80m9GPFGbcLzZByXlNSEhp1gf8Dy+VX/2JCGUZsWLo7lV1mnE/XlxGYgRBoMLJh1lIDXP0EMC4RPTjlRaV+Bg==} dev: true - /tinypool/0.3.0: - resolution: {integrity: sha512-NX5KeqHOBZU6Bc0xj9Vr5Szbb1j8tUHIeD18s41aDJaPeC5QTdEhK0SpdpUrZlj2nv5cctNcSjaKNanXlfcVEQ==} + /tinypool/0.3.1: + resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==} engines: {node: '>=14.0.0'} dev: true @@ -12208,8 +12356,8 @@ packages: busboy: 1.6.0 dev: true - /unenv/1.0.1: - resolution: {integrity: sha512-08MoQ5+Edg9ckEP5y6vT8R6sOgCsNPxwPA1mKIOyergTtPOOuSyyJnbmF8CdnUplO2TUqSm0s1IysCkylxmndw==} + /unenv/1.0.2: + resolution: {integrity: sha512-senf7HmOHW3TuVCdhnrJcgVWabKnaU38oTRpppwWF0L6dJyfedY4MCiJeuwtrziqURZHuI2xxUoM90VLwG+e2Q==} dependencies: defu: 6.1.2 mime: 3.0.0 @@ -12314,8 +12462,8 @@ packages: - rollup dev: true - /unimport/2.0.1: - resolution: {integrity: sha512-hMeDspGrEcocahicTr0AQYUGes24FvJtOxk9QEjeEOGv+n1EdpsDiT6z8t209PWhemPg0T5w/ooTVhup2GdrFA==} + /unimport/2.1.0: + resolution: {integrity: sha512-GDVIxATluUquX8EqelT6DtnmnZaXGID1jsO9IXwlnxb0OIEqKAxTOnTlnGmHbseoGTh+ZC9kcNDaO18HYQj9KA==} dependencies: '@rollup/pluginutils': 5.0.2 escape-string-regexp: 5.0.0 @@ -12332,8 +12480,8 @@ packages: - rollup dev: true - /unimport/2.0.1_rollup@3.10.1: - resolution: {integrity: sha512-hMeDspGrEcocahicTr0AQYUGes24FvJtOxk9QEjeEOGv+n1EdpsDiT6z8t209PWhemPg0T5w/ooTVhup2GdrFA==} + /unimport/2.1.0_rollup@3.10.1: + resolution: {integrity: sha512-GDVIxATluUquX8EqelT6DtnmnZaXGID1jsO9IXwlnxb0OIEqKAxTOnTlnGmHbseoGTh+ZC9kcNDaO18HYQj9KA==} dependencies: '@rollup/pluginutils': 5.0.2_rollup@3.10.1 escape-string-regexp: 5.0.0 @@ -12455,8 +12603,8 @@ packages: - vite dev: true - /unplugin-auto-import/0.12.1_@vueuse+core@9.11.1: - resolution: {integrity: sha512-J/3ZORq5YGKG+8D5vLLOgqaHNK77izlVN07mQ752yRLqBNDbJiwPRSnUwwYqH5N6rDay1SqnJCHaUdbJ9QMI2w==} + /unplugin-auto-import/0.13.0_@vueuse+core@9.11.1: + resolution: {integrity: sha512-nKMxDbkjM4FRPInFfm7sWrJOKgxfKKwb5yLPP+DEGl/SG0/FtBoW1LnZL4PQfx0FXjertoHO1P/5nDf+RSip2Q==} engines: {node: '>=14'} peerDependencies: '@vueuse/core': '*' @@ -12469,7 +12617,7 @@ packages: '@vueuse/core': 9.11.1 local-pkg: 0.4.3 magic-string: 0.27.0 - unimport: 1.3.0 + unimport: 2.1.0 unplugin: 1.0.1 transitivePeerDependencies: - rollup @@ -12567,7 +12715,7 @@ packages: anymatch: 3.1.3 chokidar: 3.5.3 destr: 1.2.2 - h3: 1.0.2 + h3: 1.1.0 ioredis: 5.2.5 listhen: 1.0.1 mkdir: 0.0.2 @@ -12735,8 +12883,8 @@ packages: - terser dev: true - /vite-node/0.28.1_@types+node@18.11.18: - resolution: {integrity: sha512-Mmab+cIeElkVn4noScCRjy8nnQdh5LDIR4QCH/pVWtY15zv5Z1J7u6/471B9JZ2r8CEIs42vTbngaamOVkhPLA==} + /vite-node/0.28.3_@types+node@18.11.18: + resolution: {integrity: sha512-uJJAOkgVwdfCX8PUQhqLyDOpkBS5+j+FdbsXoPVPDlvVjRkb/W/mLYQPSL6J+t8R0UV8tJSe8c9VyxVQNsDSyg==} engines: {node: '>=v14.16.0'} hasBin: true dependencies: @@ -12877,10 +13025,12 @@ packages: - supports-color dev: true - /vite-plugin-pwa/0.14.1: + /vite-plugin-pwa/0.14.1_tz3vz2xt4jvid2diblkpydcyn4: 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 @@ -12890,7 +13040,6 @@ packages: workbox-build: 6.5.4 workbox-window: 6.5.4 transitivePeerDependencies: - - '@types/babel__core' - supports-color dev: true @@ -13046,29 +13195,30 @@ packages: fsevents: 2.3.2 dev: true - /vitest-environment-nuxt/0.4.0_vitest@0.28.1: - resolution: {integrity: sha512-uRg/jvgHjzUGhkWTWtFEUlImfA3VScZG2EGlRvQk9ODspUw0a9hTz9Yz9tXQTsChoE2n7yi44TJdCVmK7iHxUA==} + /vitest-environment-nuxt/0.6.4_vitest@0.28.3: + resolution: {integrity: sha512-cM65pFMFf6xJzF7pTwGKd092yV96brzaK7PoYs60DzL1pe8WJNPKuoQTtf2409mlA07dI7U4MxS5Pnwe4hWbzQ==} peerDependencies: - vitest: ^0.24.5 || ^0.26.0 || ^0.27.0 + vitest: ^0.24.5 || ^0.26.0 || ^0.27.0 || ^0.28.0 vue: ^3.2.45 dependencies: - '@nuxt/kit': 3.0.0 - '@vue/test-utils': 2.2.7 + '@nuxt/kit': 3.1.1 + '@vue/test-utils': 2.2.8 estree-walker: 3.0.3 - h3: 1.0.2 - happy-dom: 8.1.5 + h3: 1.1.0 + happy-dom: 8.2.0 magic-string: 0.27.0 ofetch: 1.0.0 - unenv: 1.0.1 - vitest: 0.28.1_jsdom@21.1.0 + unenv: 1.0.2 + vitest: 0.28.3_a7aimjszcawcicrmfep77vgtlm transitivePeerDependencies: + - '@vue/compiler-dom' - encoding - rollup - supports-color dev: true - /vitest/0.28.1_jsdom@21.1.0: - resolution: {integrity: sha512-F6wAO3K5+UqJCCGt0YAl3Ila2f+fpBrJhl9n7qWEhREwfzQeXlMkkCqGqGtzBxCSa8kv5QHrkshX8AaPTXYACQ==} + /vitest/0.28.3_a7aimjszcawcicrmfep77vgtlm: + resolution: {integrity: sha512-N41VPNf3VGJlWQizGvl1P5MGyv3ZZA2Zvh+2V8L6tYBAAuqqDK4zExunT1Cdb6dGfZ4gr+IMrnG8d4Z6j9ctPw==} engines: {node: '>=v14.16.0'} hasBin: true peerDependencies: @@ -13092,10 +13242,11 @@ packages: '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 '@types/node': 18.11.18 - '@vitest/expect': 0.28.1 - '@vitest/runner': 0.28.1 - '@vitest/spy': 0.28.1 - '@vitest/utils': 0.28.1 + '@vitest/expect': 0.28.3 + '@vitest/runner': 0.28.3 + '@vitest/spy': 0.28.3 + '@vitest/ui': 0.28.3 + '@vitest/utils': 0.28.3 acorn: 8.8.2 acorn-walk: 8.2.0 cac: 6.7.14 @@ -13109,10 +13260,66 @@ packages: std-env: 3.3.1 strip-literal: 1.0.0 tinybench: 2.3.1 - tinypool: 0.3.0 + tinypool: 0.3.1 tinyspy: 1.0.2 vite: 3.2.5_@types+node@18.11.18 - vite-node: 0.28.1_@types+node@18.11.18 + vite-node: 0.28.3_@types+node@18.11.18 + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vitest/0.28.3_jsdom@21.1.0: + resolution: {integrity: sha512-N41VPNf3VGJlWQizGvl1P5MGyv3ZZA2Zvh+2V8L6tYBAAuqqDK4zExunT1Cdb6dGfZ4gr+IMrnG8d4Z6j9ctPw==} + engines: {node: '>=v14.16.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/chai': 4.3.4 + '@types/chai-subset': 1.3.3 + '@types/node': 18.11.18 + '@vitest/expect': 0.28.3 + '@vitest/runner': 0.28.3 + '@vitest/spy': 0.28.3 + '@vitest/utils': 0.28.3 + acorn: 8.8.2 + acorn-walk: 8.2.0 + cac: 6.7.14 + chai: 4.3.7 + debug: 4.3.4 + jsdom: 21.1.0 + local-pkg: 0.4.3 + pathe: 1.1.0 + picocolors: 1.0.0 + source-map: 0.6.1 + std-env: 3.3.1 + strip-literal: 1.0.0 + tinybench: 2.3.1 + tinypool: 0.3.1 + tinyspy: 1.0.2 + vite: 3.2.5_@types+node@18.11.18 + vite-node: 0.28.3_@types+node@18.11.18 why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -13699,6 +13906,10 @@ packages: engines: {node: '>=10'} dev: true + /yallist/2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + dev: true + /yallist/3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} dev: true diff --git a/tests/nuxt/__snapshots__/content-rich.test.ts.snap b/tests/nuxt/__snapshots__/content-rich.test.ts.snap new file mode 100644 index 00000000..289bfb73 --- /dev/null +++ b/tests/nuxt/__snapshots__/content-rich.test.ts.snap @@ -0,0 +1,164 @@ +// Vitest Snapshot v1 + +exports[`content-rich > block with backticks 1`] = `"

[(\`number string) (\`tag string)]

"`; + +exports[`content-rich > block with injected html, with a known language 1`] = ` +"
+        
+          <a href="javascript:alert(1)">click me</a>
+        
+      
+" +`; + +exports[`content-rich > block with injected html, with an unknown language 1`] = ` +"
+        
+          <a href="javascript:alert(1)">click me</a>
+        
+      
+" +`; + +exports[`content-rich > block with injected html, without language 1`] = ` +"
+        
+          <a href="javascript:alert(1)">click me</a>
+        
+      
+" +`; + +exports[`content-rich > code frame 1`] = ` +"

Testing code block

import { useMouse, usePreferredDark } from '@vueuse/core'
+// tracks mouse position
+const { x, y } = useMouse()
+// is the user prefers dark theme
+const isDark = usePreferredDark()

" +`; + +exports[`content-rich > code frame 2 1`] = ` +"

+ + Testing
+

const a = hello
+

+" +`; + +exports[`content-rich > code frame empty 1`] = `"


"`; + +exports[`content-rich > code frame no lang 1`] = `"

hello world

no lang

"`; + +exports[`content-rich > custom emoji 1`] = ` +"Daniel Roe + + \\":nuxt:\\" +" +`; + +exports[`content-rich > empty 1`] = `""`; + +exports[`content-rich > group mention > html 1`] = ` +"

+ +

+" +`; + +exports[`content-rich > handles formatting from servers 1`] = ` +"

Fedi HTML Support Survey

+

Does the following formatting come through accurately for you?

+

+
    +
  • This is an indented bulleted list (not just asterisks).
  • +
  • This line is bold.
  • +
  • This line is italic.
  • +
+
    +
  1. This list...
  2. +
  3. ...is numbered and indented
  4. +
+

This line is larger.

+" +`; + +exports[`content-rich > handles html within code blocks 1`] = ` +"

+ HTML block code:
+

+<span class="icon--noto icon--noto--1st-place-medal"></span>
+<span class="icon--noto icon--noto--2nd-place-medal-medal"></span>
+

+" +`; + +exports[`content-rich > inline code with link 1`] = ` +"

+ Inline code with link: + https://api.iconify.design/noto.css?icons=1st-place-medal,2nd-place-medal +

+" +`; + +exports[`content-rich > link + mention 1`] = ` +"

+ Happy + \\"🤗\\" + we’re now using + + (migrated from chai+mocha) + https://github.com/ayoayco/astro-reactive-library/pull/203 +

+" +`; + +exports[`content-rich > plain text 1`] = ` +"hello there +" +`; + +exports[`editor > transform mentions 1`] = ` +" +@elk Hello" +`; diff --git a/tests/nuxt/__snapshots__/html-parse.test.ts.snap b/tests/nuxt/__snapshots__/html-parse.test.ts.snap new file mode 100644 index 00000000..d7f36a0d --- /dev/null +++ b/tests/nuxt/__snapshots__/html-parse.test.ts.snap @@ -0,0 +1,144 @@ +// Vitest Snapshot v1 + +exports[`html-parse > code frame > html 1`] = ` +"

Testing code block

import { useMouse, usePreferredDark } from '@vueuse/core'
+// tracks mouse position
+const { x, y } = useMouse()
+// is the user prefers dark theme
+const isDark = usePreferredDark()

" +`; + +exports[`html-parse > code frame > text 1`] = ` +"Testing code block + + +\`\`\`ts +import { useMouse, usePreferredDark } from '@vueuse/core' +// tracks mouse position +const { x, y } = useMouse() +// is the user prefers dark theme +const isDark = usePreferredDark() +\`\`\`" +`; + +exports[`html-parse > code frame 2 > html 1`] = ` +"

+ @antfu + Testing
+

const a = hello
+

+" +`; + +exports[`html-parse > code frame 2 > text 1`] = ` +"@antfu Testing + +\`\`\`ts +const a = hello +\`\`\`" +`; + +exports[`html-parse > custom emoji > html 1`] = ` +"Daniel Roe + + \\":nuxt:\\" +" +`; + +exports[`html-parse > custom emoji > text 1`] = `"Daniel Roe :nuxt:"`; + +exports[`html-parse > emojis > html 1`] = ` +"\\"🇫🇷\\" +\\"👨‍👩‍👦\\" +\\"👩‍🚒\\"\\"🧑🏽‍🚀\\" +" +`; + +exports[`html-parse > emojis > text 1`] = `"🇫🇷 👨‍👩‍👦 👩‍🚒🧑🏽‍🚀"`; + +exports[`html-parse > empty > html 1`] = `""`; + +exports[`html-parse > empty > text 1`] = `""`; + +exports[`html-parse > html entities > html 1`] = ` +"

Hello <World />.

+" +`; + +exports[`html-parse > html entities > text 1`] = `"Hello ."`; + +exports[`html-parse > inline markdown > html 1`] = `"

text code bold italic del

code block

"`; + +exports[`html-parse > inline markdown > text 1`] = ` +"text \`code\` **bold** *italic* ~~del~~ + + +\`\`\`js +code block +\`\`\`" +`; + +exports[`html-parse > link + mention > html 1`] = ` +"

+ Happy + \\"🤗\\" + we’re now using + @vitest + (migrated from chai+mocha) + https://github.com/ayoayco/astro-reactive-library/pull/203 +

+" +`; + +exports[`html-parse > link + mention > text 1`] = `"Happy 🤗 we’re now using @vitest (migrated from chai+mocha) https://github.com/ayoayco/astro-reactive-library/pull/203"`; diff --git a/tests/content-rich.test.ts b/tests/nuxt/content-rich.test.ts similarity index 96% rename from tests/content-rich.test.ts rename to tests/nuxt/content-rich.test.ts index bb42d97c..9d32b592 100644 --- a/tests/content-rich.test.ts +++ b/tests/nuxt/content-rich.test.ts @@ -1,10 +1,10 @@ -/* eslint-disable vue/one-component-per-file */ import { describe, expect, it, vi } from 'vitest' import { renderToString } from 'vue/server-renderer' import { format } from 'prettier' import type { mastodon } from 'masto' +import { mockComponent } from 'nuxt-vitest/utils' import { contentToVNode } from '~/composables/content-render' -import type { ContentParseOptions } from '~~/composables/content-parse' +import type { ContentParseOptions } from '~/composables/content-parse' describe('content-rich', () => { it('empty', async () => { @@ -298,14 +298,9 @@ vi.mock('~/components/content/ContentMentionGroup.vue', async () => { } }) -vi.mock('~/components/account/AccountHoverWrapper.vue', async () => { - const { defineComponent } = await import('vue') - return { - default: defineComponent({ - props: ['handle', 'class'], - setup(_, { slots }) { - return () => slots?.default?.() - }, - }), - } +mockComponent('AccountHoverWrapper', { + props: ['handle', 'class'], + setup(_, { slots }) { + return () => slots?.default?.() + }, }) diff --git a/tests/html-parse.test.ts b/tests/nuxt/html-parse.test.ts similarity index 100% rename from tests/html-parse.test.ts rename to tests/nuxt/html-parse.test.ts diff --git a/tests/html-to-text.test.ts b/tests/nuxt/html-to-text.test.ts similarity index 100% rename from tests/html-to-text.test.ts rename to tests/nuxt/html-to-text.test.ts diff --git a/tests/language.test.ts b/tests/unit/language.test.ts similarity index 100% rename from tests/language.test.ts rename to tests/unit/language.test.ts diff --git a/tests/permalinks.test.ts b/tests/unit/permalinks.test.ts similarity index 92% rename from tests/permalinks.test.ts rename to tests/unit/permalinks.test.ts index fe3127fa..f6d6b3a5 100644 --- a/tests/permalinks.test.ts +++ b/tests/unit/permalinks.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest' -import { HANDLED_MASTO_URLS } from '../constants' +import { HANDLED_MASTO_URLS } from '~/constants' const validPermalinks = [ 'https://m1as-social34.to.social/@elk', diff --git a/tests/reorder-timeline.test.ts b/tests/unit/reorder-timeline.test.ts similarity index 100% rename from tests/reorder-timeline.test.ts rename to tests/unit/reorder-timeline.test.ts diff --git a/vitest.config.mjs b/vitest.config.mjs index f57754dd..78f4876c 100644 --- a/vitest.config.mjs +++ b/vitest.config.mjs @@ -1,6 +1,6 @@ -import { defineConfigWithNuxtEnv } from 'vitest-environment-nuxt/config' +import { defineVitestConfig } from 'nuxt-vitest' -export default defineConfigWithNuxtEnv({ +export default defineVitestConfig({ define: { 'process.test': 'true', }, From 1c9004a731d578a63314c0fbf70b2cdeec50f1e7 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Sun, 29 Jan 2023 14:25:44 +0100 Subject: [PATCH 08/81] chore: update lock --- package.json | 4 +- pnpm-lock.yaml | 268 ++++++++++++++++++------------------------------- 2 files changed, 99 insertions(+), 173 deletions(-) diff --git a/package.json b/package.json index b12d7a2c..780d5390 100644 --- a/package.json +++ b/package.json @@ -147,7 +147,9 @@ "@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" + "vitest>vite": "^3.2.5", + "@nuxt/kit": "^3.1.1", + "@nuxt/schema": "^3.1.1" } }, "simple-git-hooks": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9a2827d3..40e972d8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,6 +24,8 @@ overrides: '@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.1 + '@nuxt/schema': ^3.1.1 importers: @@ -2467,7 +2469,7 @@ packages: /@nuxt/content/2.3.0: resolution: {integrity: sha512-7IudXOiycHXWxRDe7tWFwnIVT6bp0YG5O4wttCYYd7cvyjX3k6d3zD2j1IkjJMhfqU2PWQ/Wd+A2+oeiLNg3gA==} dependencies: - '@nuxt/kit': 3.0.0 + '@nuxt/kit': 3.1.1 consola: 2.15.3 defu: 6.1.2 destr: 1.2.2 @@ -2514,114 +2516,6 @@ packages: resolution: {integrity: sha512-YBI/6o2EBz02tdEJRBK8xkt3zvOFOWlLBf7WKYGBsSYSRtjjgrqPe2skp6VLLmKx5WbHHDNcW+6oACaurxGzeA==} dev: true - /@nuxt/kit/3.0.0: - resolution: {integrity: sha512-7ZsOLt5s9a0ZleAIzmoD70JwkZf5ti6bDdxl6f8ew7Huxz+ni/oRfTPTX9TrORXsgW5CvDt6Q9M7IJNPkAN/Iw==} - engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} - dependencies: - '@nuxt/schema': 3.0.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 - 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: 1.3.0 - untyped: 1.2.2 - transitivePeerDependencies: - - rollup - - supports-color - dev: true - - /@nuxt/kit/3.0.0_rollup@2.79.1: - resolution: {integrity: sha512-7ZsOLt5s9a0ZleAIzmoD70JwkZf5ti6bDdxl6f8ew7Huxz+ni/oRfTPTX9TrORXsgW5CvDt6Q9M7IJNPkAN/Iw==} - engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} - dependencies: - '@nuxt/schema': 3.0.0_rollup@2.79.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.16.2 - 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: 1.3.0_rollup@2.79.1 - untyped: 1.2.2 - transitivePeerDependencies: - - rollup - - supports-color - dev: true - - /@nuxt/kit/3.1.0: - resolution: {integrity: sha512-paZbbJlHtQuroUr5jQyzQux1LTSWBptPpZitId8ycuDPxcEypeSpZKWP/ABWac0b5uF0Lmqh1lxYlPWLNNpRPw==} - engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} - dependencies: - '@nuxt/schema': 3.1.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 - 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.1.0 - untyped: 1.2.2 - transitivePeerDependencies: - - rollup - - supports-color - dev: true - - /@nuxt/kit/3.1.0_rollup@3.10.1: - resolution: {integrity: sha512-paZbbJlHtQuroUr5jQyzQux1LTSWBptPpZitId8ycuDPxcEypeSpZKWP/ABWac0b5uF0Lmqh1lxYlPWLNNpRPw==} - engines: {node: ^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0 || ^19.0.0} - dependencies: - '@nuxt/schema': 3.1.0_rollup@3.10.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.16.2 - 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.1.0_rollup@3.10.1 - untyped: 1.2.2 - transitivePeerDependencies: - - rollup - - supports-color - dev: true - /@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} @@ -2649,85 +2543,53 @@ packages: - supports-color dev: true - /@nuxt/schema/3.0.0: - resolution: {integrity: sha512-5fwsidhs5NjFzR8sIzHMXO0WFGkI3tCH3ViANn2W4N5qCwoYZ0n1sZBkQ9Esn1VoEed6RsIlTpWrPZPVtqNkGQ==} + /@nuxt/kit/3.1.1_rollup@2.79.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_rollup@2.79.1 c12: 1.1.0 - create-require: 1.1.1 + 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 + knitwork: 1.0.0 + lodash.template: 4.5.0 + mlly: 1.1.0 pathe: 1.1.0 pkg-types: 1.0.1 - postcss-import-resolver: 2.0.0 scule: 1.0.0 - std-env: 3.3.1 - ufo: 1.0.1 - unimport: 1.3.0 + semver: 7.3.8 + unctx: 2.1.1 + unimport: 2.1.0_rollup@2.79.1 untyped: 1.2.2 transitivePeerDependencies: - rollup - supports-color dev: true - /@nuxt/schema/3.0.0_rollup@2.79.1: - resolution: {integrity: sha512-5fwsidhs5NjFzR8sIzHMXO0WFGkI3tCH3ViANn2W4N5qCwoYZ0n1sZBkQ9Esn1VoEed6RsIlTpWrPZPVtqNkGQ==} + /@nuxt/kit/3.1.1_rollup@3.10.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_rollup@3.10.1 c12: 1.1.0 - create-require: 1.1.1 + 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 + knitwork: 1.0.0 + lodash.template: 4.5.0 + mlly: 1.1.0 pathe: 1.1.0 pkg-types: 1.0.1 - postcss-import-resolver: 2.0.0 scule: 1.0.0 - std-env: 3.3.1 - ufo: 1.0.1 - unimport: 1.3.0_rollup@2.79.1 - untyped: 1.2.2 - transitivePeerDependencies: - - rollup - - supports-color - dev: true - - /@nuxt/schema/3.1.0: - resolution: {integrity: sha512-HF7gtGyAGMdTlGixHfLn9MbO6sbT2QTlouKFG1N4azK712/RiutRUffv4iM+o4PwC7GRpDQcEe5uFyMX/5faZQ==} - 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 - pathe: 1.1.0 - pkg-types: 1.0.1 - postcss-import-resolver: 2.0.0 - scule: 1.0.0 - std-env: 3.3.1 - ufo: 1.0.1 - unimport: 2.1.0 - untyped: 1.2.2 - transitivePeerDependencies: - - rollup - - supports-color - dev: true - - /@nuxt/schema/3.1.0_rollup@3.10.1: - resolution: {integrity: sha512-HF7gtGyAGMdTlGixHfLn9MbO6sbT2QTlouKFG1N4azK712/RiutRUffv4iM+o4PwC7GRpDQcEe5uFyMX/5faZQ==} - 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 - pathe: 1.1.0 - pkg-types: 1.0.1 - postcss-import-resolver: 2.0.0 - scule: 1.0.0 - std-env: 3.3.1 - ufo: 1.0.1 + semver: 7.3.8 + unctx: 2.1.1 unimport: 2.1.0_rollup@3.10.1 untyped: 1.2.2 transitivePeerDependencies: @@ -2757,6 +2619,50 @@ packages: - supports-color dev: true + /@nuxt/schema/3.1.1_rollup@2.79.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 + pathe: 1.1.0 + pkg-types: 1.0.1 + postcss-import-resolver: 2.0.0 + scule: 1.0.0 + std-env: 3.3.1 + ufo: 1.0.1 + unimport: 2.1.0_rollup@2.79.1 + untyped: 1.2.2 + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /@nuxt/schema/3.1.1_rollup@3.10.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 + pathe: 1.1.0 + pkg-types: 1.0.1 + postcss-import-resolver: 2.0.0 + scule: 1.0.0 + std-env: 3.3.1 + ufo: 1.0.1 + unimport: 2.1.0_rollup@3.10.1 + untyped: 1.2.2 + transitivePeerDependencies: + - rollup + - supports-color + dev: true + /@nuxt/telemetry/2.1.9: resolution: {integrity: sha512-mUyDqmB8GUJwTHVnwxuapeUHDSsUycOt+ZsA7GB6F8MOBJiVhQl/EeEAWoO2TUs0BPp2SlY9uO6eQihvxyLRqQ==} hasBin: true @@ -2796,7 +2702,7 @@ packages: peerDependencies: vue: ^3.2.45 dependencies: - '@nuxt/kit': 3.0.0_rollup@2.79.1 + '@nuxt/kit': 3.1.1_rollup@2.79.1 '@rollup/plugin-replace': 5.0.2_rollup@2.79.1 '@vitejs/plugin-vue': 3.2.0_vite@3.2.5+vue@3.2.45 '@vitejs/plugin-vue-jsx': 2.1.1_vite@3.2.5+vue@3.2.45 @@ -2854,7 +2760,7 @@ packages: peerDependencies: vue: ^3.2.45 dependencies: - '@nuxt/kit': 3.1.0_rollup@3.10.1 + '@nuxt/kit': 3.1.1_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 @@ -9834,8 +9740,8 @@ packages: hasBin: true dependencies: '@nuxt/devalue': 2.0.0 - '@nuxt/kit': 3.0.0 - '@nuxt/schema': 3.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.0.0_khfc6yoidgmzfko3kyvtza3rzq @@ -9906,8 +9812,8 @@ packages: hasBin: true dependencies: '@nuxt/devalue': 2.0.0 - '@nuxt/kit': 3.1.0 - '@nuxt/schema': 3.1.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.0_vue@3.2.45 @@ -12480,6 +12386,24 @@ packages: - rollup dev: true + /unimport/2.1.0_rollup@2.79.1: + resolution: {integrity: sha512-GDVIxATluUquX8EqelT6DtnmnZaXGID1jsO9IXwlnxb0OIEqKAxTOnTlnGmHbseoGTh+ZC9kcNDaO18HYQj9KA==} + dependencies: + '@rollup/pluginutils': 5.0.2_rollup@2.79.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 + dev: true + /unimport/2.1.0_rollup@3.10.1: resolution: {integrity: sha512-GDVIxATluUquX8EqelT6DtnmnZaXGID1jsO9IXwlnxb0OIEqKAxTOnTlnGmHbseoGTh+ZC9kcNDaO18HYQj9KA==} dependencies: From 415d36ce3291921cb07c311cbecd4c297e5c70c4 Mon Sep 17 00:00:00 2001 From: Daniel Roe Date: Sun, 29 Jan 2023 06:18:27 -0800 Subject: [PATCH 09/81] refactor: move pwa/build-info -> appConfig (#1508) --- components/nav/NavFooter.vue | 2 +- .../notification/NotificationPreferences.client.vue | 2 +- composables/about.ts | 2 +- composables/setups.ts | 2 +- composables/users.ts | 4 ++-- modules/build-env.ts | 8 ++++++-- modules/pwa/index.ts | 3 +++ modules/tauri/index.ts | 1 + modules/tauri/runtime/build-info.ts | 1 + nuxt.config.ts | 7 ++----- pages/notifications.vue | 2 +- pages/settings/notifications/index.vue | 2 +- pages/settings/notifications/push-notifications.vue | 2 +- pages/share-target.vue | 2 +- server/shared.ts | 5 ++++- 15 files changed, 27 insertions(+), 18 deletions(-) create mode 100644 modules/tauri/runtime/build-info.ts diff --git a/components/nav/NavFooter.vue b/components/nav/NavFooter.vue index ef8484b0..e72ec011 100644 --- a/components/nav/NavFooter.vue +++ b/components/nav/NavFooter.vue @@ -1,5 +1,5 @@