From b55970cc7a649c866ecaa4c0b1896e7c1ae68848 Mon Sep 17 00:00:00 2001 From: Anwarul Islam Date: Thu, 17 Aug 2023 22:34:58 +0600 Subject: [PATCH] spotlight: settings based actions added (#3244) Co-authored-by: Liyas Thomas --- packages/hoppscotch-common/locales/en.json | 34 +- .../hoppscotch-common/src/components.d.ts | 2 + .../src/components/app/spotlight/index.vue | 2 + .../spotlight/searchers/settings.searcher.ts | 215 +++++++ pnpm-lock.yaml | 598 +++++++++++++++++- 5 files changed, 819 insertions(+), 32 deletions(-) create mode 100644 packages/hoppscotch-common/src/services/spotlight/searchers/settings.searcher.ts diff --git a/packages/hoppscotch-common/locales/en.json b/packages/hoppscotch-common/locales/en.json index cf5c4af79..8854c45d4 100644 --- a/packages/hoppscotch-common/locales/en.json +++ b/packages/hoppscotch-common/locales/en.json @@ -482,9 +482,9 @@ "account_name_description": "This is your display name.", "background": "Background", "black_mode": "Black", + "dark_mode": "Dark", "change_font_size": "Change font size", "choose_language": "Choose language", - "dark_mode": "Dark", "delete_account": "Delete account", "delete_account_description": "Once you delete your account, all your data will be permanently deleted. This action cannot be undone.", "expand_navigation": "Expand navigation", @@ -584,10 +584,10 @@ "title": "Response" }, "theme": { - "black": "Switch theme to black mode", - "dark": "Switch theme to dark mode", - "light": "Switch theme to light mode", - "system": "Switch theme to system mode", + "black": "Switch theme to Black Mode", + "dark": "Switch theme to Dark Mode", + "light": "Switch theme to Light Mode", + "system": "Switch theme to System Mode", "title": "Theme" } }, @@ -607,7 +607,29 @@ }, "spotlight": { "section": { - "user": "User" + "user": "User", + "theme": "Theme", + "interface": "Interface", + "interceptor": "Interceptor" + }, + "change_interceptor": "Change Interceptor", + "change_language": "Change Language", + "install_extension": "Install Browser Extension", + "settings": { + "theme": { + "black": "Black Mode", + "dark": "Dark Mode", + "light": "Light Mode", + "system": "System Mode" + }, + "font": { + "size_sm": "Change Font Size to Small", + "size_md": "Change Font Size to Medium", + "size_lg": "Change Font Size to Large" + }, + "change_interceptor": "Change Interceptor", + "change_language": "Change Language", + "install_extension": "Install Browser Extension" } }, "sse": { diff --git a/packages/hoppscotch-common/src/components.d.ts b/packages/hoppscotch-common/src/components.d.ts index bee636598..d654eb975 100644 --- a/packages/hoppscotch-common/src/components.d.ts +++ b/packages/hoppscotch-common/src/components.d.ts @@ -77,6 +77,8 @@ declare module '@vue/runtime-core' { History: typeof import('./components/history/index.vue')['default'] HistoryGraphqlCard: typeof import('./components/history/graphql/Card.vue')['default'] HistoryRestCard: typeof import('./components/history/rest/Card.vue')['default'] + HoppButtonSecondary: typeof import('@hoppscotch/ui')['HoppButtonSecondary'] + HoppSmartSpinner: typeof import('@hoppscotch/ui')['HoppSmartSpinner'] HttpAuthorization: typeof import('./components/http/Authorization.vue')['default'] HttpAuthorizationApiKey: typeof import('./components/http/authorization/ApiKey.vue')['default'] HttpAuthorizationBasic: typeof import('./components/http/authorization/Basic.vue')['default'] diff --git a/packages/hoppscotch-common/src/components/app/spotlight/index.vue b/packages/hoppscotch-common/src/components/app/spotlight/index.vue index 1ba53711b..01b41f224 100644 --- a/packages/hoppscotch-common/src/components/app/spotlight/index.vue +++ b/packages/hoppscotch-common/src/components/app/spotlight/index.vue @@ -96,6 +96,7 @@ import { isEqual } from "lodash-es" import { HistorySpotlightSearcherService } from "~/services/spotlight/searchers/history.searcher" import { UserSpotlightSearcherService } from "~/services/spotlight/searchers/user.searcher" import { NavigationSpotlightSearcherService } from "~/services/spotlight/searchers/navigation.searcher" +import { SettingsSpotlightSearcherService } from "~/services/spotlight/searchers/settings.searcher" const t = useI18n() @@ -112,6 +113,7 @@ const spotlightService = useService(SpotlightService) useService(HistorySpotlightSearcherService) useService(UserSpotlightSearcherService) useService(NavigationSpotlightSearcherService) +useService(SettingsSpotlightSearcherService) const search = ref("") diff --git a/packages/hoppscotch-common/src/services/spotlight/searchers/settings.searcher.ts b/packages/hoppscotch-common/src/services/spotlight/searchers/settings.searcher.ts new file mode 100644 index 000000000..41fcf35b2 --- /dev/null +++ b/packages/hoppscotch-common/src/services/spotlight/searchers/settings.searcher.ts @@ -0,0 +1,215 @@ +import { Component, computed, markRaw, reactive } from "vue" +import { useSetting } from "~/composables/settings" +import { invokeAction } from "~/helpers/actions" +import { getI18n } from "~/modules/i18n" +import { HoppBgColor, applySetting } from "~/newstore/settings" +import { SpotlightSearcherResult, SpotlightService } from ".." +import { + SearchResult, + StaticSpotlightSearcherService, +} from "./base/static.searcher" + +import IconCloud from "~icons/lucide/cloud" +import IconMonitor from "~icons/lucide/monitor" +import IconMoon from "~icons/lucide/moon" +import IconSun from "~icons/lucide/sun" +import IconGlobe from "~icons/lucide/globe" +import IconShieldCheck from "~icons/lucide/shield-check" +import IconType from "~icons/lucide/type" + +type Doc = { + text: string | string[] + excludeFromSearch?: boolean + alternates: string[] + icon: object | Component +} + +/** + * + * This searcher is responsible for providing settings related actions on the spotlight results. + * + * NOTE: Initializing this service registers it as a searcher with the Spotlight Service. + */ +export class SettingsSpotlightSearcherService extends StaticSpotlightSearcherService { + public static readonly ID = "SETTINGS_SPOTLIGHT_SEARCHER_SERVICE" + + private t = getI18n() + + private activeFontSize = useSetting("FONT_SIZE") + + public readonly searcherID = "settings" + public searcherSectionTitle = this.t("navigation.settings") + + private readonly spotlight = this.bind(SpotlightService) + + private documents: Record = reactive({ + theme_system: { + text: [ + this.t("spotlight.section.theme"), + this.t("spotlight.settings.theme.system"), + ], + alternates: ["theme"], + icon: markRaw(IconMonitor), + }, + theme_light: { + text: [ + this.t("spotlight.section.theme"), + this.t("spotlight.settings.theme.light"), + ], + alternates: ["theme"], + icon: markRaw(IconSun), + }, + theme_dark: { + text: [ + this.t("spotlight.section.theme"), + this.t("spotlight.settings.theme.dark"), + ], + alternates: ["theme"], + icon: markRaw(IconCloud), + }, + theme_black: { + text: [ + this.t("spotlight.section.theme"), + this.t("spotlight.settings.theme.black"), + ], + alternates: ["theme"], + icon: markRaw(IconMoon), + }, + font_size_sm: { + text: this.t("spotlight.font.size_sm"), + onClick: () => { + console.log("clicked") + }, + excludeFromSearch: computed(() => this.activeFontSize.value === "small"), + alternates: [ + "font size", + "change font size", + "change font", + "increase font", + ], + icon: markRaw(IconType), + }, + font_size_md: { + text: this.t("spotlight.font.size_md"), + excludeFromSearch: computed(() => this.activeFontSize.value === "medium"), + alternates: [ + "font size", + "change font size", + "change font", + "increase font", + ], + icon: markRaw(IconType), + }, + font_size_lg: { + text: this.t("spotlight.font.size_lg"), + excludeFromSearch: computed(() => this.activeFontSize.value === "large"), + alternates: [ + "font size", + "change font size", + "change font", + "increase font", + ], + icon: markRaw(IconType), + }, + change_lang: { + text: [ + this.t("spotlight.section.interface"), + this.t("spotlight.settings.change_language"), + ], + alternates: ["language", "change language"], + icon: markRaw(IconGlobe), + }, + change_interceptor: { + text: [ + this.t("spotlight.section.interceptor"), + this.t("spotlight.settings.change_interceptor"), + ], + alternates: ["interceptor", "change interceptor"], + icon: markRaw(IconShieldCheck), + }, + install_ext: { + text: [ + this.t("spotlight.section.interceptor"), + this.t("spotlight.settings.install_extension"), + ], + alternates: ["install extension", "extension", "interceptor"], + icon: markRaw(IconShieldCheck), + }, + }) + + constructor() { + super({ + searchFields: ["text", "alternates"], + fieldWeights: { + text: 2, + alternates: 1, + }, + }) + + this.setDocuments(this.documents) + this.spotlight.registerSearcher(this) + } + + protected getSearcherResultForSearchResult( + result: SearchResult + ): SpotlightSearcherResult { + return { + id: result.id, + icon: result.doc.icon, + text: { type: "text", text: result.doc.text }, + score: result.score, + } + } + + changeTheme(theme: HoppBgColor) { + applySetting("BG_COLOR", theme) + } + + installExtension() { + const url = navigator.userAgent.includes("Firefox") + ? "https://addons.mozilla.org/en-US/firefox/addon/hoppscotch" + : "https://chrome.google.com/webstore/detail/hoppscotch-browser-extens/amknoiejhlmhancpahfcfcfhllgkpbld" + window.open(url, "_blank") + } + + public onDocSelected(id: string): void { + switch (id) { + case "change_interceptor": + invokeAction("navigation.jump.settings") + break + + case "change_lang": + invokeAction("navigation.jump.settings") + break + + case "install_ext": + this.installExtension() + break + + // theme actions + case "theme_system": + invokeAction("settings.theme.system") + break + case "theme_light": + invokeAction("settings.theme.light") + break + case "theme_dark": + invokeAction("settings.theme.dark") + break + case "theme_black": + invokeAction("settings.theme.black") + break + + // font size actions + case "font_size_sm": + this.activeFontSize.value = "small" + break + case "font_size_md": + this.activeFontSize.value = "medium" + break + case "font_size_lg": + this.activeFontSize.value = "large" + break + } + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 94dd7db30..b4ba7fd0c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,5 +1,9 @@ lockfileVersion: '6.0' +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + importers: .: @@ -196,7 +200,7 @@ importers: version: 9.1.5 '@nestjs/schematics': specifier: ^9.0.3 - version: 9.0.3(chokidar@3.5.3)(typescript@4.8.4) + version: 9.0.3(typescript@4.9.3) '@nestjs/testing': specifier: ^9.2.1 version: 9.2.1(@nestjs/common@9.2.1)(@nestjs/core@9.2.1)(@nestjs/platform-express@9.2.1) @@ -710,7 +714,7 @@ importers: version: 8.24.0 eslint-plugin-prettier: specifier: ^4.2.1 - version: 4.2.1(eslint-config-prettier@8.6.0)(eslint@8.19.0)(prettier@2.8.4) + version: 4.2.1(eslint@8.24.0)(prettier@2.8.4) eslint-plugin-vue: specifier: ^9.5.1 version: 9.5.1(eslint@8.24.0) @@ -737,7 +741,7 @@ importers: version: 0.14.9(@vue/compiler-sfc@3.2.39)(esbuild@0.17.19)(rollup@2.79.1)(vite@3.1.4) unplugin-vue-components: specifier: ^0.21.0 - version: 0.21.0(esbuild@0.17.19)(rollup@2.79.1)(vite@3.2.4)(vue@3.2.45)(webpack@5.74.0) + version: 0.21.0(esbuild@0.17.19)(rollup@2.79.1)(vite@3.1.4)(vue@3.2.37) vite: specifier: ^3.1.4 version: 3.1.4(sass@1.53.0)(terser@5.14.1) @@ -941,7 +945,7 @@ importers: version: 3.1.1(graphql@15.8.0) '@intlify/vite-plugin-vue-i18n': specifier: ^7.0.0 - version: 7.0.0(vite@3.2.4)(vue-i18n@9.2.2) + version: 7.0.0(vite@3.2.4) '@rushstack/eslint-patch': specifier: ^1.1.4 version: 1.1.4 @@ -968,7 +972,7 @@ importers: version: 8.29.0 eslint-plugin-prettier: specifier: ^4.2.1 - version: 4.2.1(eslint-config-prettier@8.6.0)(eslint@8.19.0)(prettier@2.8.4) + version: 4.2.1(eslint-config-prettier@8.5.0)(eslint@8.29.0)(prettier@2.8.4) eslint-plugin-vue: specifier: ^9.5.1 version: 9.5.1(eslint@8.29.0) @@ -983,7 +987,7 @@ importers: version: 1.0.3(vite@3.2.4) unplugin-icons: specifier: ^0.14.9 - version: 0.14.9(@vue/compiler-sfc@3.2.39)(esbuild@0.17.19)(rollup@2.79.1)(vite@3.1.4) + version: 0.14.9(rollup@2.79.1)(vite@3.2.4) unplugin-vue-components: specifier: ^0.21.0 version: 0.21.0(esbuild@0.17.19)(rollup@2.79.1)(vite@3.2.4)(vue@3.2.45)(webpack@5.74.0) @@ -998,7 +1002,7 @@ importers: version: 0.7.4(vite@3.2.4) vite-plugin-pages: specifier: ^0.26.0 - version: 0.26.0(@vue/compiler-sfc@3.2.45)(vite@3.2.4) + version: 0.26.0(vite@3.2.4) vite-plugin-pages-sitemap: specifier: ^1.4.5 version: 1.4.5 @@ -1094,10 +1098,10 @@ importers: version: 2.0.0(@types/node@18.16.17)(typescript@4.9.3) unplugin-icons: specifier: ^0.14.9 - version: 0.14.9(@vue/compiler-sfc@3.2.39)(esbuild@0.17.19)(rollup@2.79.1)(vite@3.1.4) + version: 0.14.9(@vue/compiler-sfc@3.2.45)(vite@3.2.4) unplugin-vue-components: specifier: ^0.21.0 - version: 0.21.0(esbuild@0.17.19)(rollup@2.79.1)(vite@3.2.4)(vue@3.2.45)(webpack@5.74.0) + version: 0.21.0(vite@3.2.4)(vue@3.2.45) vue: specifier: ^3.2.6 version: 3.2.45 @@ -1164,7 +1168,7 @@ importers: version: 1.0.3(vite@3.2.4) vite: specifier: ^3.1.4 - version: 3.2.4(@types/node@17.0.45)(sass@1.53.0)(terser@5.14.1) + version: 3.2.4(@types/node@18.16.17)(sass@1.58.0) vite-plugin-pages: specifier: ^0.26.0 version: 0.26.0(@vue/compiler-sfc@3.2.45)(vite@3.2.4) @@ -1315,7 +1319,7 @@ importers: version: 8.29.0 eslint-plugin-prettier: specifier: ^4.2.1 - version: 4.2.1(eslint-config-prettier@8.6.0)(eslint@8.19.0)(prettier@2.8.4) + version: 4.2.1(eslint-config-prettier@8.5.0)(eslint@8.29.0)(prettier@2.8.4) eslint-plugin-vue: specifier: ^9.5.1 version: 9.5.1(eslint@8.29.0) @@ -3422,6 +3426,7 @@ packages: cpu: [arm64] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-arm@0.15.15: @@ -3447,6 +3452,7 @@ packages: cpu: [arm] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-x64@0.16.17: @@ -3464,6 +3470,7 @@ packages: cpu: [x64] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/darwin-arm64@0.16.17: @@ -3481,6 +3488,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: true optional: true /@esbuild/darwin-x64@0.16.17: @@ -3498,6 +3506,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: true optional: true /@esbuild/freebsd-arm64@0.16.17: @@ -3515,6 +3524,7 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true + dev: true optional: true /@esbuild/freebsd-x64@0.16.17: @@ -3532,6 +3542,7 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true + dev: true optional: true /@esbuild/linux-arm64@0.16.17: @@ -3549,6 +3560,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-arm@0.16.17: @@ -3566,6 +3578,7 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-ia32@0.16.17: @@ -3583,6 +3596,7 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-loong64@0.15.15: @@ -3616,6 +3630,7 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-mips64el@0.16.17: @@ -3633,6 +3648,7 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-ppc64@0.16.17: @@ -3650,6 +3666,7 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-riscv64@0.16.17: @@ -3667,6 +3684,7 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-s390x@0.16.17: @@ -3684,6 +3702,7 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-x64@0.16.17: @@ -3701,6 +3720,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/netbsd-x64@0.16.17: @@ -3718,6 +3738,7 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true + dev: true optional: true /@esbuild/openbsd-x64@0.16.17: @@ -3735,6 +3756,7 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true + dev: true optional: true /@esbuild/sunos-x64@0.16.17: @@ -3752,6 +3774,7 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true + dev: true optional: true /@esbuild/win32-arm64@0.16.17: @@ -3769,6 +3792,7 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-ia32@0.16.17: @@ -3786,6 +3810,7 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-x64@0.16.17: @@ -3803,6 +3828,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: true optional: true /@eslint/eslintrc@1.3.0: @@ -6017,7 +6043,7 @@ packages: - supports-color dev: true - /@intlify/vite-plugin-vue-i18n@7.0.0(vite@3.2.4)(vue-i18n@9.2.2): + /@intlify/vite-plugin-vue-i18n@7.0.0(vite@3.2.4): resolution: {integrity: sha512-2TbDOQ8XD+vkc0s5OFmr+IY/k4mYMC7pzvx0xGQn+cU/ev314+yi7Z7N7rWcBgiYk1WOUalbGSo3d4nJDxOOyw==} engines: {node: '>= 14.6'} deprecated: This plugin support until Vite 3. If you would like to use on Vite 4, please use @intlify/unplugin-vue-i18n @@ -6040,6 +6066,33 @@ packages: fast-glob: 3.2.12 source-map: 0.6.1 vite: 3.2.4(@types/node@17.0.45)(sass@1.53.0)(terser@5.14.1) + transitivePeerDependencies: + - supports-color + dev: true + + /@intlify/vite-plugin-vue-i18n@7.0.0(vite@3.2.4)(vue-i18n@9.2.2): + resolution: {integrity: sha512-2TbDOQ8XD+vkc0s5OFmr+IY/k4mYMC7pzvx0xGQn+cU/ev314+yi7Z7N7rWcBgiYk1WOUalbGSo3d4nJDxOOyw==} + engines: {node: '>= 14.6'} + deprecated: This plugin support until Vite 3. If you would like to use on Vite 4, please use @intlify/unplugin-vue-i18n + peerDependencies: + petite-vue-i18n: '*' + vite: ^2.9.0 || ^3.0.0 + vue-i18n: '*' + peerDependenciesMeta: + petite-vue-i18n: + optional: true + vite: + optional: true + vue-i18n: + optional: true + dependencies: + '@intlify/bundle-utils': 3.4.0(vue-i18n@9.2.2) + '@intlify/shared': 9.3.0-beta.25 + '@rollup/pluginutils': 4.2.1 + debug: 4.3.4(supports-color@9.2.2) + fast-glob: 3.2.12 + source-map: 0.6.1 + vite: 3.2.4(@types/node@18.16.17)(sass@1.58.0) vue-i18n: 9.2.2(vue@3.2.45) transitivePeerDependencies: - supports-color @@ -6798,7 +6851,7 @@ packages: tsconfig-paths: 4.1.0 tsconfig-paths-webpack-plugin: 4.0.0 typescript: 4.8.4 - webpack: 5.74.0(esbuild@0.17.19) + webpack: 5.74.0 webpack-node-externals: 3.0.0 transitivePeerDependencies: - '@swc/core' @@ -6970,6 +7023,21 @@ packages: - chokidar dev: true + /@nestjs/schematics@9.0.3(typescript@4.9.3): + resolution: {integrity: sha512-kZrU/lrpVd2cnK8I3ibDb3Wi1ppl3wX3U3lVWoL+DzRRoezWKkh8upEL4q0koKmuXnsmLiu3UPxFeMOrJV7TSA==} + peerDependencies: + typescript: ^4.3.5 + dependencies: + '@angular-devkit/core': 14.2.1(chokidar@3.5.3) + '@angular-devkit/schematics': 14.2.1(chokidar@3.5.3) + fs-extra: 10.1.0 + jsonc-parser: 3.2.0 + pluralize: 8.0.0 + typescript: 4.9.3 + transitivePeerDependencies: + - chokidar + dev: true + /@nestjs/testing@9.2.1(@nestjs/common@9.2.1)(@nestjs/core@9.2.1)(@nestjs/platform-express@9.2.1): resolution: {integrity: sha512-lemXZdRSuqoZ87l0orCrS/c7gqwxeduIFOd21g9g2RUeQ4qlWPegbQDKASzbfC28klPyrgJLW4MNq7uv2JwV8w==} peerDependencies: @@ -7720,6 +7788,7 @@ packages: dependencies: '@types/eslint': 8.4.10 '@types/estree': 0.0.51 + dev: true /@types/eslint@8.4.10: resolution: {integrity: sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==} @@ -8891,6 +8960,7 @@ packages: '@vue/shared': 3.2.39 estree-walker: 2.0.2 source-map: 0.6.1 + dev: true /@vue/compiler-core@3.2.45: resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==} @@ -8920,6 +8990,7 @@ packages: dependencies: '@vue/compiler-core': 3.2.39 '@vue/shared': 3.2.39 + dev: true /@vue/compiler-dom@3.2.45: resolution: {integrity: sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==} @@ -8969,6 +9040,7 @@ packages: magic-string: 0.25.9 postcss: 8.4.16 source-map: 0.6.1 + dev: true /@vue/compiler-sfc@3.2.45: resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==} @@ -8995,6 +9067,7 @@ packages: dependencies: '@vue/compiler-dom': 3.2.39 '@vue/shared': 3.2.39 + dev: true /@vue/compiler-ssr@3.2.45: resolution: {integrity: sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==} @@ -9083,6 +9156,7 @@ packages: '@vue/shared': 3.2.39 estree-walker: 2.0.2 magic-string: 0.25.9 + dev: true /@vue/reactivity-transform@3.2.45: resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==} @@ -9171,6 +9245,7 @@ packages: /@vue/shared@3.2.39: resolution: {integrity: sha512-D3dl2ZB9qE6mTuWPk9RlhDeP1dgNRUKC3NJxji74A4yL8M2MwlhLKUC/49WHjrNzSPug58fWx/yFbaTzGAQSBw==} + dev: true /@vue/shared@3.2.45: resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==} @@ -9308,15 +9383,19 @@ packages: dependencies: '@webassemblyjs/helper-numbers': 1.11.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + dev: true /@webassemblyjs/floating-point-hex-parser@1.11.1: resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} + dev: true /@webassemblyjs/helper-api-error@1.11.1: resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} + dev: true /@webassemblyjs/helper-buffer@1.11.1: resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} + dev: true /@webassemblyjs/helper-numbers@1.11.1: resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} @@ -9324,9 +9403,11 @@ packages: '@webassemblyjs/floating-point-hex-parser': 1.11.1 '@webassemblyjs/helper-api-error': 1.11.1 '@xtuc/long': 4.2.2 + dev: true /@webassemblyjs/helper-wasm-bytecode@1.11.1: resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} + dev: true /@webassemblyjs/helper-wasm-section@1.11.1: resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} @@ -9335,19 +9416,23 @@ packages: '@webassemblyjs/helper-buffer': 1.11.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.1 '@webassemblyjs/wasm-gen': 1.11.1 + dev: true /@webassemblyjs/ieee754@1.11.1: resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} dependencies: '@xtuc/ieee754': 1.2.0 + dev: true /@webassemblyjs/leb128@1.11.1: resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} dependencies: '@xtuc/long': 4.2.2 + dev: true /@webassemblyjs/utf8@1.11.1: resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} + dev: true /@webassemblyjs/wasm-edit@1.11.1: resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} @@ -9360,6 +9445,7 @@ packages: '@webassemblyjs/wasm-opt': 1.11.1 '@webassemblyjs/wasm-parser': 1.11.1 '@webassemblyjs/wast-printer': 1.11.1 + dev: true /@webassemblyjs/wasm-gen@1.11.1: resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} @@ -9369,6 +9455,7 @@ packages: '@webassemblyjs/ieee754': 1.11.1 '@webassemblyjs/leb128': 1.11.1 '@webassemblyjs/utf8': 1.11.1 + dev: true /@webassemblyjs/wasm-opt@1.11.1: resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} @@ -9377,6 +9464,7 @@ packages: '@webassemblyjs/helper-buffer': 1.11.1 '@webassemblyjs/wasm-gen': 1.11.1 '@webassemblyjs/wasm-parser': 1.11.1 + dev: true /@webassemblyjs/wasm-parser@1.11.1: resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} @@ -9387,12 +9475,14 @@ packages: '@webassemblyjs/ieee754': 1.11.1 '@webassemblyjs/leb128': 1.11.1 '@webassemblyjs/utf8': 1.11.1 + dev: true /@webassemblyjs/wast-printer@1.11.1: resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} dependencies: '@webassemblyjs/ast': 1.11.1 '@xtuc/long': 4.2.2 + dev: true /@wessberg/stringutil@1.0.19: resolution: {integrity: sha512-9AZHVXWlpN8Cn9k5BC/O0Dzb9E9xfEMXzYrNunwvkUTvuK7xgQPVRZpLo+jWCOZ5r8oBa8NIrHuPEu1hzbb6bg==} @@ -9477,9 +9567,11 @@ packages: /@xtuc/ieee754@1.2.0: resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + dev: true /@xtuc/long@4.2.2: resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + dev: true /JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} @@ -9529,6 +9621,7 @@ packages: acorn: ^8 dependencies: acorn: 8.8.0 + dev: true /acorn-jsx@5.3.2(acorn@7.4.1): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -9601,7 +9694,7 @@ packages: hasBin: true /after@0.8.2: - resolution: {integrity: sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=} + resolution: {integrity: sha512-QbJ0NTQ/I9DI3uSJA4cbexiwQeRAfjPScqIbSjUDd9TOrcg6pTkdgziesOqxBMBzit8vFCTwrP27t13vFOORRA==} dev: false /agent-base@6.0.2: @@ -9647,6 +9740,7 @@ packages: ajv: ^6.9.1 dependencies: ajv: 6.12.6 + dev: true /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -10214,7 +10308,7 @@ packages: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} /base64-arraybuffer@0.1.4: - resolution: {integrity: sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=} + resolution: {integrity: sha512-a1eIFi4R9ySrbiMuyTGx5e92uRH5tQY6kArNcFaKBUleIoLjdjBg7Zxm3Mqm3Kmkf27HLR/1fnxX9q8GQ7Iavg==} engines: {node: '>= 0.6.0'} dev: false @@ -10361,6 +10455,7 @@ packages: electron-to-chromium: 1.4.178 node-releases: 2.0.5 update-browserslist-db: 1.0.4(browserslist@4.21.1) + dev: true /bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} @@ -10479,6 +10574,7 @@ packages: /caniuse-lite@1.0.30001363: resolution: {integrity: sha512-HpQhpzTGGPVMnCjIomjt+jvyUu8vNFo3TaDiZ/RcoTrlOq/5+tC8zHdsbgFB6MxmaY+jCpsH09aD80Bb4Ow3Sg==} + dev: true /capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -10675,6 +10771,7 @@ packages: /chrome-trace-event@1.0.3: resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} engines: {node: '>=6.0'} + dev: true /ci-info@3.3.2: resolution: {integrity: sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg==} @@ -10862,14 +10959,14 @@ packages: dev: true /component-bind@1.0.0: - resolution: {integrity: sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=} + resolution: {integrity: sha512-WZveuKPeKAG9qY+FkYDeADzdHyTYdIboXS59ixDeRJL5ZhxpqUnxSOwop4FQjMsiYm3/Or8cegVbpAHNA7pHxw==} dev: false /component-emitter@1.3.0: resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} /component-inherit@0.0.3: - resolution: {integrity: sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=} + resolution: {integrity: sha512-w+LhYREhatpVqTESyGFg3NlP6Iu0kEKUHETY9GoZP/pQyW4mHFZuFWRUCIqVPZ36ueVLtoOEZaAqbCF2RDndaA==} dev: false /concat-map@0.0.1: @@ -11685,6 +11782,7 @@ packages: /electron-to-chromium@1.4.178: resolution: {integrity: sha512-aWuhJXkwIdoQzGR8p2QvR3N0OzdUKZSP8+P/hzuMzNQIPZoEa8HiCGM75bQBHjyz+eKT5PB9dVCzkK/tyQ4B5Q==} + dev: true /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -11820,6 +11918,7 @@ packages: dependencies: graceful-fs: 4.2.10 tapable: 2.2.1 + dev: true /entities@2.1.0: resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} @@ -11883,6 +11982,7 @@ packages: /es-module-lexer@0.9.3: resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + dev: true /es-to-primitive@1.2.1: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} @@ -12514,6 +12614,7 @@ packages: '@esbuild/win32-arm64': 0.17.19 '@esbuild/win32-ia32': 0.17.19 '@esbuild/win32-x64': 0.17.19 + dev: true /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -12618,6 +12719,22 @@ packages: prettier-linter-helpers: 1.0.0 dev: true + /eslint-plugin-prettier@4.2.1(eslint@8.24.0)(prettier@2.8.4): + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + eslint: '>=7.28.0' + eslint-config-prettier: '*' + prettier: '>=2.0.0' + peerDependenciesMeta: + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.24.0 + prettier: 2.8.4 + prettier-linter-helpers: 1.0.0 + dev: true + /eslint-plugin-vue@9.5.1(eslint@8.24.0): resolution: {integrity: sha512-Y0sL2RY7Xc9S8kNih9lbwHIDmewUg9bfas6WSzsOWRgDXhIHKxRBZYNAnVcXBFfE+bMWHUA5GLChl7TcTYUI8w==} engines: {node: ^14.17.0 || >=16.0.0} @@ -12660,6 +12777,7 @@ packages: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 + dev: true /eslint-scope@7.1.1: resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} @@ -13452,7 +13570,7 @@ packages: semver: 7.3.8 tapable: 2.2.1 typescript: 4.8.4 - webpack: 5.74.0(esbuild@0.17.19) + webpack: 5.74.0 dev: true /form-data-encoder@1.7.2: @@ -13736,6 +13854,7 @@ packages: /glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + dev: true /glob@7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} @@ -14147,7 +14266,7 @@ packages: dev: false /has-cors@1.1.0: - resolution: {integrity: sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=} + resolution: {integrity: sha512-g5VNKdkFuUuVCP9gYfDJHjK2nqdQJ7aDLTnycnc2+RvsOQbuLdF5pm7vuE5J76SEBIQjs4kQY/BWq74JUmjbXA==} dev: false /has-flag@3.0.0: @@ -14540,7 +14659,7 @@ packages: engines: {node: '>=8'} /indexof@0.0.1: - resolution: {integrity: sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=} + resolution: {integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==} dev: false /inflight@1.0.6: @@ -16087,6 +16206,7 @@ packages: '@types/node': 18.16.17 merge-stream: 2.0.0 supports-color: 8.1.1 + dev: true /jest-worker@29.4.1: resolution: {integrity: sha512-O9doU/S1EBe+yp/mstQ0VpPwpv0Clgn68TkNwGxL6/usX/KUW9Arnn4ag8C3jc6qHcXznhsT5Na1liYzAsuAbQ==} @@ -16630,6 +16750,7 @@ packages: /loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} + dev: true /loader-utils@2.0.4: resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} @@ -17714,6 +17835,7 @@ packages: /node-releases@2.0.5: resolution: {integrity: sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==} + dev: true /nodemailer@6.9.1: resolution: {integrity: sha512-qHw7dOiU5UKNnQpXktdgQ1d3OFgRAekuvbJLcdG5dnEo/GtcTHRYM7+UfJARdOFU9WUQO8OiIamgWPmiSFHYAA==} @@ -18812,6 +18934,7 @@ packages: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 + dev: true /range-parser@1.2.1: resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} @@ -19328,7 +19451,6 @@ packages: chokidar: 3.5.3 immutable: 4.1.0 source-map-js: 1.0.2 - dev: true /sax@1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} @@ -19355,6 +19477,7 @@ packages: '@types/json-schema': 7.0.9 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) + dev: true /scuid@1.1.0: resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} @@ -19461,6 +19584,7 @@ packages: resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} dependencies: randombytes: 2.1.0 + dev: true /serve-static@1.15.0: resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} @@ -20123,6 +20247,7 @@ packages: engines: {node: '>=10'} dependencies: has-flag: 4.0.0 + dev: true /supports-color@9.2.2: resolution: {integrity: sha512-XC6g/Kgux+rJXmwokjm9ECpD6k/smUoS5LKlUCcsYr4IY3rW0XyAympon2RmxGrlnZURMpg5T18gWDP9CsHXFA==} @@ -20196,6 +20321,7 @@ packages: /tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} + dev: true /tar@6.1.13: resolution: {integrity: sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==} @@ -20267,6 +20393,31 @@ packages: serialize-javascript: 6.0.0 terser: 5.14.1 webpack: 5.74.0(esbuild@0.17.19) + dev: true + + /terser-webpack-plugin@5.3.6(webpack@5.74.0): + resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.14 + jest-worker: 27.5.1 + schema-utils: 3.1.1 + serialize-javascript: 6.0.0 + terser: 5.14.1 + webpack: 5.74.0 + dev: true /terser@5.14.1: resolution: {integrity: sha512-+ahUAE+iheqBTDxXhTisdA8hgvbEG1hHOQ9xmNjeUJSoi6DU/gMrKNcfZjHkyY6Alnuyc+ikYJaxxfHkT3+WuQ==} @@ -20401,7 +20552,7 @@ packages: dev: true /to-array@0.1.4: - resolution: {integrity: sha1-F+bBH3PdTz10zaek/zI46a2b+JA=} + resolution: {integrity: sha512-LhVdShQD/4Mk4zXNroIQZJC+Ap3zgLcDuwEdcmLv9CCO73NWockQDwyUnW/m8VX/EElfL6FcYx7EeutN4HJA6A==} dev: false /to-fast-properties@2.0.0: @@ -20575,7 +20726,7 @@ packages: micromatch: 4.0.5 semver: 7.3.8 typescript: 4.9.3 - webpack: 5.74.0(esbuild@0.17.19) + webpack: 5.74.0 dev: true /ts-log@2.2.4: @@ -21099,6 +21250,72 @@ packages: - supports-color - vite - webpack + dev: true + + /unplugin-icons@0.14.9(@vue/compiler-sfc@3.2.45)(vite@3.2.4): + resolution: {integrity: sha512-vPyVfNREH88dP6gszdaoGkAEFPpiScXj1A8eWN905jQgT53A3tsiPEiqJjCHOUVcsUaREt2JSudzumFOsCA78A==} + peerDependencies: + '@svgr/core': '>=5.5.0' + '@vue/compiler-sfc': ^3.0.2 + vue-template-compiler: ^2.6.12 + vue-template-es2015-compiler: ^1.9.0 + peerDependenciesMeta: + '@svgr/core': + optional: true + '@vue/compiler-sfc': + optional: true + vue-template-compiler: + optional: true + vue-template-es2015-compiler: + optional: true + dependencies: + '@antfu/install-pkg': 0.1.0 + '@antfu/utils': 0.5.2 + '@iconify/utils': 1.0.33 + '@vue/compiler-sfc': 3.2.45 + debug: 4.3.4(supports-color@9.2.2) + kolorist: 1.5.1 + local-pkg: 0.4.2 + unplugin: 0.9.5(vite@3.2.4) + transitivePeerDependencies: + - esbuild + - rollup + - supports-color + - vite + - webpack + dev: false + + /unplugin-icons@0.14.9(rollup@2.79.1)(vite@3.2.4): + resolution: {integrity: sha512-vPyVfNREH88dP6gszdaoGkAEFPpiScXj1A8eWN905jQgT53A3tsiPEiqJjCHOUVcsUaREt2JSudzumFOsCA78A==} + peerDependencies: + '@svgr/core': '>=5.5.0' + '@vue/compiler-sfc': ^3.0.2 + vue-template-compiler: ^2.6.12 + vue-template-es2015-compiler: ^1.9.0 + peerDependenciesMeta: + '@svgr/core': + optional: true + '@vue/compiler-sfc': + optional: true + vue-template-compiler: + optional: true + vue-template-es2015-compiler: + optional: true + dependencies: + '@antfu/install-pkg': 0.1.0 + '@antfu/utils': 0.5.2 + '@iconify/utils': 1.0.33 + debug: 4.3.4(supports-color@9.2.2) + kolorist: 1.5.1 + local-pkg: 0.4.2 + unplugin: 0.9.5(rollup@2.79.1)(vite@3.2.4) + transitivePeerDependencies: + - esbuild + - rollup + - supports-color + - vite + - webpack + dev: true /unplugin-icons@0.15.3(@vue/compiler-sfc@3.2.45): resolution: {integrity: sha512-YWgJqv5AahrokeOnta8uX/m1damZA6Rf6zPClgHg2Fa/45iyOe3Lj+Wn/Ba+CSsq9yBffn17YfKfJNyWCNZPvw==} @@ -21129,6 +21346,35 @@ packages: - supports-color dev: true + /unplugin-vue-components@0.21.0(esbuild@0.17.19)(rollup@2.79.1)(vite@3.1.4)(vue@3.2.37): + resolution: {integrity: sha512-U7uOMNmRJ2eAv9CNjP8QRvxs6nAe3FVQUEIUphC1FGguBp3BWSLgGAcSHaX2nQy0gFoDY2mLF2M52W/t/eDaKg==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + dependencies: + '@antfu/utils': 0.5.2 + '@rollup/pluginutils': 4.2.1 + chokidar: 3.5.3 + debug: 4.3.4(supports-color@9.2.2) + fast-glob: 3.2.11 + local-pkg: 0.4.2 + magic-string: 0.26.7 + minimatch: 5.1.0 + resolve: 1.22.1 + unplugin: 0.7.1(esbuild@0.17.19)(rollup@2.79.1)(vite@3.1.4) + vue: 3.2.37 + transitivePeerDependencies: + - esbuild + - rollup + - supports-color + - vite + - webpack + dev: true + /unplugin-vue-components@0.21.0(esbuild@0.17.19)(rollup@2.79.1)(vite@3.2.4)(vue@3.2.45)(webpack@5.74.0): resolution: {integrity: sha512-U7uOMNmRJ2eAv9CNjP8QRvxs6nAe3FVQUEIUphC1FGguBp3BWSLgGAcSHaX2nQy0gFoDY2mLF2M52W/t/eDaKg==} engines: {node: '>=14'} @@ -21156,6 +21402,62 @@ packages: - supports-color - vite - webpack + dev: true + + /unplugin-vue-components@0.21.0(vite@3.2.4)(vue@3.2.45): + resolution: {integrity: sha512-U7uOMNmRJ2eAv9CNjP8QRvxs6nAe3FVQUEIUphC1FGguBp3BWSLgGAcSHaX2nQy0gFoDY2mLF2M52W/t/eDaKg==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + dependencies: + '@antfu/utils': 0.5.2 + '@rollup/pluginutils': 4.2.1 + chokidar: 3.5.3 + debug: 4.3.4(supports-color@9.2.2) + fast-glob: 3.2.11 + local-pkg: 0.4.2 + magic-string: 0.26.7 + minimatch: 5.1.0 + resolve: 1.22.1 + unplugin: 0.7.1(vite@3.2.4) + vue: 3.2.45 + transitivePeerDependencies: + - esbuild + - rollup + - supports-color + - vite + - webpack + dev: false + + /unplugin@0.7.1(esbuild@0.17.19)(rollup@2.79.1)(vite@3.1.4): + resolution: {integrity: sha512-Z6hNDXDNh9aimMkPU1mEjtk+2ova8gh0y7rJeJdGH1vWZOHwF2lLQiQ/R97rv9ymmzEQXsR2fyMet72T8jy6ew==} + peerDependencies: + esbuild: '>=0.13' + rollup: ^2.50.0 + vite: ^2.3.0 || ^3.0.0-0 + webpack: 4 || 5 + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + dependencies: + acorn: 8.8.2 + chokidar: 3.5.3 + esbuild: 0.17.19 + rollup: 2.79.1 + vite: 3.1.4(sass@1.53.0)(terser@5.14.1) + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.4.4 + dev: true /unplugin@0.7.1(esbuild@0.17.19)(rollup@2.79.1)(vite@3.2.4)(webpack@5.74.0): resolution: {integrity: sha512-Z6hNDXDNh9aimMkPU1mEjtk+2ova8gh0y7rJeJdGH1vWZOHwF2lLQiQ/R97rv9ymmzEQXsR2fyMet72T8jy6ew==} @@ -21182,6 +21484,31 @@ packages: webpack: 5.74.0(esbuild@0.17.19) webpack-sources: 3.2.3 webpack-virtual-modules: 0.4.4 + dev: true + + /unplugin@0.7.1(vite@3.2.4): + resolution: {integrity: sha512-Z6hNDXDNh9aimMkPU1mEjtk+2ova8gh0y7rJeJdGH1vWZOHwF2lLQiQ/R97rv9ymmzEQXsR2fyMet72T8jy6ew==} + peerDependencies: + esbuild: '>=0.13' + rollup: ^2.50.0 + vite: ^2.3.0 || ^3.0.0-0 + webpack: 4 || 5 + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + dependencies: + acorn: 8.8.2 + chokidar: 3.5.3 + vite: 3.2.4(@types/node@18.16.17)(sass@1.58.0) + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.4.4 + dev: false /unplugin@0.9.5(esbuild@0.17.19)(rollup@2.79.1)(vite@3.1.4): resolution: {integrity: sha512-luraheyfxwtvkvHpsOvMNv7IjLdORTWKZp0gWYNHGLi2ImON3iIZOj464qEyyEwLA/EMt12fC415HW9zRpOfTg==} @@ -21207,6 +21534,56 @@ packages: vite: 3.1.4(sass@1.53.0)(terser@5.14.1) webpack-sources: 3.2.3 webpack-virtual-modules: 0.4.4 + dev: true + + /unplugin@0.9.5(rollup@2.79.1)(vite@3.2.4): + resolution: {integrity: sha512-luraheyfxwtvkvHpsOvMNv7IjLdORTWKZp0gWYNHGLi2ImON3iIZOj464qEyyEwLA/EMt12fC415HW9zRpOfTg==} + peerDependencies: + esbuild: '>=0.13' + rollup: ^2.50.0 + vite: ^2.3.0 || ^3.0.0-0 + webpack: 4 || 5 + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + dependencies: + acorn: 8.10.0 + chokidar: 3.5.3 + rollup: 2.79.1 + vite: 3.2.4(@types/node@17.0.45)(sass@1.53.0)(terser@5.14.1) + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.4.4 + dev: true + + /unplugin@0.9.5(vite@3.2.4): + resolution: {integrity: sha512-luraheyfxwtvkvHpsOvMNv7IjLdORTWKZp0gWYNHGLi2ImON3iIZOj464qEyyEwLA/EMt12fC415HW9zRpOfTg==} + peerDependencies: + esbuild: '>=0.13' + rollup: ^2.50.0 + vite: ^2.3.0 || ^3.0.0-0 + webpack: 4 || 5 + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + dependencies: + acorn: 8.10.0 + chokidar: 3.5.3 + vite: 3.2.4(@types/node@18.16.17)(sass@1.58.0) + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.4.4 + dev: false /unplugin@1.1.0: resolution: {integrity: sha512-I8obQ8Rs/hnkxokRV6g8JKOQFgYNnTd9DL58vcSt5IJ9AkK8wbrtsnzD5hi4BJlvcY536JzfEXj9L6h7j559/A==} @@ -21245,6 +21622,7 @@ packages: browserslist: 4.21.1 escalade: 3.1.1 picocolors: 1.0.0 + dev: true /upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} @@ -21407,7 +21785,7 @@ packages: mlly: 1.2.0 pathe: 1.1.0 picocolors: 1.0.0 - vite: 4.3.9(@types/node@17.0.45)(sass@1.53.0)(terser@5.14.1) + vite: 4.3.9(@types/node@18.11.10)(terser@5.14.1) transitivePeerDependencies: - '@types/node' - less @@ -21664,6 +22042,29 @@ packages: json5: 2.2.1 local-pkg: 0.4.2 picocolors: 1.0.0 + vite: 3.2.4(@types/node@18.16.17)(sass@1.58.0) + yaml: 2.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /vite-plugin-pages@0.26.0(vite@3.2.4): + resolution: {integrity: sha512-yJZvwHEt7puYIf19S89IvkDsWPjWleSied4H8hmdW6i8buCA93z1UAU1ipW1d8fNKrC4FzXsUHHbPm6+kl1p9w==} + peerDependencies: + '@vue/compiler-sfc': ^2.7.0 || ^3.0.0 + vite: ^2.0.0 || ^3.0.0-0 + peerDependenciesMeta: + '@vue/compiler-sfc': + optional: true + dependencies: + '@types/debug': 4.1.7 + debug: 4.3.4(supports-color@9.2.2) + deep-equal: 2.0.5 + extract-comments: 1.1.0 + fast-glob: 3.2.11 + json5: 2.2.1 + local-pkg: 0.4.2 + picocolors: 1.0.0 vite: 3.2.4(@types/node@17.0.45)(sass@1.53.0)(terser@5.14.1) yaml: 2.1.1 transitivePeerDependencies: @@ -21844,6 +22245,75 @@ packages: optionalDependencies: fsevents: 2.3.2 + /vite@3.2.4(@types/node@18.11.10)(terser@5.14.1): + resolution: {integrity: sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==} + 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.10 + esbuild: 0.15.15 + postcss: 8.4.21 + resolve: 1.22.1 + rollup: 2.79.1 + terser: 5.14.1 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /vite@3.2.4(@types/node@18.16.17)(sass@1.58.0): + resolution: {integrity: sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==} + 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.16.17 + esbuild: 0.15.15 + postcss: 8.4.21 + resolve: 1.22.1 + rollup: 2.79.1 + sass: 1.58.0 + optionalDependencies: + fsevents: 2.3.2 + /vite@4.0.4(@types/node@17.0.45): resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -21913,6 +22383,40 @@ packages: fsevents: 2.3.2 dev: true + /vite@4.3.9(@types/node@18.11.10)(terser@5.14.1): + resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} + 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.10 + esbuild: 0.17.19 + postcss: 8.4.24 + rollup: 3.24.0 + terser: 5.14.1 + optionalDependencies: + fsevents: 2.3.2 + dev: true + /vite@4.3.9(@types/node@18.16.17)(sass@1.53.0)(terser@5.14.1): resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} engines: {node: ^14.18.0 || >=16.0.0} @@ -22000,7 +22504,7 @@ packages: tinybench: 2.4.0 tinypool: 0.4.0 tinyspy: 1.1.1 - vite: 3.2.4(@types/node@17.0.45)(sass@1.53.0)(terser@5.14.1) + vite: 3.2.4(@types/node@18.11.10)(terser@5.14.1) vite-node: 0.29.8(@types/node@18.11.10)(terser@5.14.1) why-is-node-running: 2.2.2 transitivePeerDependencies: @@ -22537,6 +23041,7 @@ packages: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.10 + dev: true /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} @@ -22613,6 +23118,46 @@ packages: resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} dev: true + /webpack@5.74.0: + resolution: {integrity: sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.4 + '@types/estree': 0.0.51 + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/wasm-edit': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + acorn: 8.8.0 + acorn-import-assertions: 1.8.0(acorn@8.8.0) + browserslist: 4.21.1 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.12.0 + es-module-lexer: 0.9.3 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.10 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.1.1 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.6(webpack@5.74.0) + watchpack: 2.4.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: true + /webpack@5.74.0(esbuild@0.17.19): resolution: {integrity: sha512-A2InDwnhhGN4LYctJj6M1JEaGL7Luj6LOmyBHjcI8529cm5p6VXiTIW2sn6ffvEAKmveLzvu4jrihwXtPojlAA==} engines: {node: '>=10.13.0'} @@ -22651,6 +23196,7 @@ packages: - '@swc/core' - esbuild - uglify-js + dev: true /websocket-driver@0.7.4: resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} @@ -23267,7 +23813,7 @@ packages: dev: false /yeast@0.1.2: - resolution: {integrity: sha1-AI4G2AlDIMNy28L47XagymyKxBk=} + resolution: {integrity: sha512-8HFIh676uyGYP6wP13R/j6OJ/1HwJ46snpvzE7aHAN3Ryqh2yX6Xox2B4CUmTwwOIzlG3Bs7ocsP5dZH/R1Qbg==} dev: false /yn@3.1.1: