Implements MOD-171: Intercom messenger integration on servers panel (#2959)

* feat: intercom

Signed-off-by: Evan Song <theevansong@gmail.com>

* fix: double check

Signed-off-by: Evan Song <theevansong@gmail.com>

* fix: address double booting

Signed-off-by: Evan Song <theevansong@gmail.com>

---------

Signed-off-by: Evan Song <theevansong@gmail.com>
This commit is contained in:
Evan Song 2024-11-22 16:25:33 -07:00 committed by GitHub
parent c741ba26cc
commit d90cc09620
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 139 additions and 73 deletions

View File

@ -34,6 +34,7 @@
}, },
"dependencies": { "dependencies": {
"@formatjs/intl-localematcher": "^0.5.4", "@formatjs/intl-localematcher": "^0.5.4",
"@intercom/messenger-js-sdk": "^0.0.14",
"@ltd/j-toml": "^1.38.0", "@ltd/j-toml": "^1.38.0",
"@modrinth/assets": "workspace:*", "@modrinth/assets": "workspace:*",
"@modrinth/ui": "workspace:*", "@modrinth/ui": "workspace:*",

View File

@ -266,6 +266,7 @@ import {
import DOMPurify from "dompurify"; import DOMPurify from "dompurify";
import { ButtonStyled } from "@modrinth/ui"; import { ButtonStyled } from "@modrinth/ui";
import { refThrottled } from "@vueuse/core"; import { refThrottled } from "@vueuse/core";
import { Intercom, shutdown } from "@intercom/messenger-js-sdk";
import type { ServerState, Stats, WSEvent, WSInstallationResultEvent } from "~/types/servers"; import type { ServerState, Stats, WSEvent, WSInstallationResultEvent } from "~/types/servers";
const socket = ref<WebSocket | null>(null); const socket = ref<WebSocket | null>(null);
@ -275,6 +276,19 @@ const reconnectInterval = ref<ReturnType<typeof setInterval> | null>(null);
const isFirstMount = ref(true); const isFirstMount = ref(true);
const isMounted = ref(true); const isMounted = ref(true);
const INTERCOM_APP_ID = ref("ykeritl9");
const auth = await useAuth();
// @ts-expect-error - Auth is untyped
const userId = ref(auth.value?.user?.id ?? null);
// @ts-expect-error - Auth is untyped
const username = ref(auth.value?.user?.username ?? null);
// @ts-expect-error - Auth is untyped
const email = ref(auth.value?.user?.email ?? null);
const createdAt = ref(
// @ts-expect-error - Auth is untyped
auth.value?.user?.created ? Math.floor(new Date(auth.value.user.created).getTime() / 1000) : null,
);
const route = useNativeRoute(); const route = useNativeRoute();
const router = useRouter(); const router = useRouter();
const serverId = route.params.id as string; const serverId = route.params.id as string;
@ -735,6 +749,8 @@ const openInstallLog = () => {
const cleanup = () => { const cleanup = () => {
isMounted.value = false; isMounted.value = false;
shutdown();
stopPolling(); stopPolling();
stopUptimeUpdates(); stopUptimeUpdates();
if (reconnectInterval.value) { if (reconnectInterval.value) {
@ -774,6 +790,27 @@ onMounted(() => {
connectWebSocket(); connectWebSocket();
} }
if (username.value && email.value && userId.value && createdAt.value) {
const currentUser = auth.value?.user as any;
const matches =
username.value === currentUser?.username &&
email.value === currentUser?.email &&
userId.value === currentUser?.id &&
createdAt.value === Math.floor(new Date(currentUser?.created).getTime() / 1000);
if (matches) {
Intercom({
app_id: INTERCOM_APP_ID.value,
userId: userId.value,
name: username.value,
email: email.value,
created_at: createdAt.value,
});
} else {
console.warn("[PYROSERVERS][INTERCOM] mismatch");
}
}
DOMPurify.addHook( DOMPurify.addHook(
"afterSanitizeAttributes", "afterSanitizeAttributes",
(node: { (node: {

174
pnpm-lock.yaml generated
View File

@ -79,7 +79,7 @@ importers:
version: 1.11.11 version: 1.11.11
floating-vue: floating-vue:
specifier: ^5.2.2 specifier: ^5.2.2
version: 5.2.2(@nuxt/kit@3.12.3)(vue@3.4.31(typescript@5.5.4)) version: 5.2.2(@nuxt/kit@3.12.3(magicast@0.3.5)(rollup@4.21.2))(vue@3.4.31(typescript@5.5.4))
ofetch: ofetch:
specifier: ^1.3.4 specifier: ^1.3.4
version: 1.3.4 version: 1.3.4
@ -188,6 +188,9 @@ importers:
'@formatjs/intl-localematcher': '@formatjs/intl-localematcher':
specifier: ^0.5.4 specifier: ^0.5.4
version: 0.5.4 version: 0.5.4
'@intercom/messenger-js-sdk':
specifier: ^0.0.14
version: 0.0.14
'@ltd/j-toml': '@ltd/j-toml':
specifier: ^1.38.0 specifier: ^1.38.0
version: 1.38.0 version: 1.38.0
@ -410,7 +413,7 @@ importers:
version: 1.11.11 version: 1.11.11
floating-vue: floating-vue:
specifier: 2.0.0-beta.24 specifier: 2.0.0-beta.24
version: 2.0.0-beta.24(@nuxt/kit@3.12.3(rollup@3.29.4))(vue@3.4.31(typescript@5.5.4)) version: 2.0.0-beta.24(@nuxt/kit@3.12.3(magicast@0.3.5)(rollup@3.29.4))(vue@3.4.31(typescript@5.5.4))
highlight.js: highlight.js:
specifier: ^11.9.0 specifier: ^11.9.0
version: 11.9.0 version: 11.9.0
@ -438,7 +441,7 @@ importers:
version: 6.2.12(@vue/compiler-core@3.4.31)(vue@3.4.31(typescript@5.5.4)) version: 6.2.12(@vue/compiler-core@3.4.31)(vue@3.4.31(typescript@5.5.4))
'@vintl/unplugin': '@vintl/unplugin':
specifier: ^1.5.1 specifier: ^1.5.1
version: 1.5.2(@vue/compiler-core@3.4.31)(rollup@3.29.4)(vite@4.5.3)(vue@3.4.31(typescript@5.5.4))(webpack@5.92.1) version: 1.5.2(@vue/compiler-core@3.4.31)(rollup@3.29.4)(vite@4.5.3(@types/node@22.4.1)(sass@1.77.6)(terser@5.31.6))(vue@3.4.31(typescript@5.5.4))(webpack@5.92.1)
'@vintl/vintl': '@vintl/vintl':
specifier: ^4.4.1 specifier: ^4.4.1
version: 4.4.1(typescript@5.5.4)(vue@3.4.31(typescript@5.5.4)) version: 4.4.1(typescript@5.5.4)(vue@3.4.31(typescript@5.5.4))
@ -1760,6 +1763,9 @@ packages:
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
'@intercom/messenger-js-sdk@0.0.14':
resolution: {integrity: sha512-2dH4BDAh9EI90K7hUkAdZ76W79LM45Sd1OBX7t6Vzy8twpNiQ5X+7sH9G5hlJlkSGnf+vFWlFcy9TOYAyEs1hA==}
'@ioredis/commands@1.2.0': '@ioredis/commands@1.2.0':
resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==}
@ -9323,6 +9329,8 @@ snapshots:
'@img/sharp-win32-x64@0.33.5': '@img/sharp-win32-x64@0.33.5':
optional: true optional: true
'@intercom/messenger-js-sdk@0.0.14': {}
'@ioredis/commands@1.2.0': {} '@ioredis/commands@1.2.0': {}
'@isaacs/cliui@8.0.2': '@isaacs/cliui@8.0.2':
@ -9586,34 +9594,6 @@ snapshots:
- supports-color - supports-color
- typescript - typescript
'@nuxt/kit@3.12.3':
dependencies:
'@nuxt/schema': 3.12.3
c12: 1.11.1(magicast@0.3.4)
consola: 3.2.3
defu: 6.1.4
destr: 2.0.3
globby: 14.0.2
hash-sum: 2.0.0
ignore: 5.3.1
jiti: 1.21.6
klona: 2.0.6
knitwork: 1.1.0
mlly: 1.7.1
pathe: 1.1.2
pkg-types: 1.1.3
scule: 1.3.0
semver: 7.6.2
ufo: 1.5.3
unctx: 2.3.1
unimport: 3.7.2
untyped: 1.4.2
transitivePeerDependencies:
- magicast
- rollup
- supports-color
optional: true
'@nuxt/kit@3.12.3(magicast@0.3.4)(rollup@4.18.0)': '@nuxt/kit@3.12.3(magicast@0.3.4)(rollup@4.18.0)':
dependencies: dependencies:
'@nuxt/schema': 3.12.3(rollup@4.18.0) '@nuxt/schema': 3.12.3(rollup@4.18.0)
@ -9641,10 +9621,10 @@ snapshots:
- rollup - rollup
- supports-color - supports-color
'@nuxt/kit@3.12.3(rollup@3.29.4)': '@nuxt/kit@3.12.3(magicast@0.3.5)(rollup@3.29.4)':
dependencies: dependencies:
'@nuxt/schema': 3.12.3(rollup@3.29.4) '@nuxt/schema': 3.12.3(rollup@3.29.4)
c12: 1.11.1(magicast@0.3.4) c12: 1.11.1(magicast@0.3.5)
consola: 3.2.3 consola: 3.2.3
defu: 6.1.4 defu: 6.1.4
destr: 2.0.3 destr: 2.0.3
@ -9669,21 +9649,30 @@ snapshots:
- supports-color - supports-color
optional: true optional: true
'@nuxt/schema@3.12.3': '@nuxt/kit@3.12.3(magicast@0.3.5)(rollup@4.21.2)':
dependencies: dependencies:
compatx: 0.1.8 '@nuxt/schema': 3.12.3(rollup@4.21.2)
c12: 1.11.1(magicast@0.3.5)
consola: 3.2.3 consola: 3.2.3
defu: 6.1.4 defu: 6.1.4
hookable: 5.5.3 destr: 2.0.3
globby: 14.0.2
hash-sum: 2.0.0
ignore: 5.3.1
jiti: 1.21.6
klona: 2.0.6
knitwork: 1.1.0
mlly: 1.7.1
pathe: 1.1.2 pathe: 1.1.2
pkg-types: 1.1.3 pkg-types: 1.1.3
scule: 1.3.0 scule: 1.3.0
std-env: 3.7.0 semver: 7.6.2
ufo: 1.5.3 ufo: 1.5.3
uncrypto: 0.1.3 unctx: 2.3.1
unimport: 3.7.2 unimport: 3.7.2(rollup@4.21.2)
untyped: 1.4.2 untyped: 1.4.2
transitivePeerDependencies: transitivePeerDependencies:
- magicast
- rollup - rollup
- supports-color - supports-color
optional: true optional: true
@ -9725,6 +9714,25 @@ snapshots:
- rollup - rollup
- supports-color - supports-color
'@nuxt/schema@3.12.3(rollup@4.21.2)':
dependencies:
compatx: 0.1.8
consola: 3.2.3
defu: 6.1.4
hookable: 5.5.3
pathe: 1.1.2
pkg-types: 1.1.3
scule: 1.3.0
std-env: 3.7.0
ufo: 1.5.3
uncrypto: 0.1.3
unimport: 3.7.2(rollup@4.21.2)
untyped: 1.4.2
transitivePeerDependencies:
- rollup
- supports-color
optional: true
'@nuxt/telemetry@2.5.4(magicast@0.3.4)(rollup@4.18.0)': '@nuxt/telemetry@2.5.4(magicast@0.3.4)(rollup@4.18.0)':
dependencies: dependencies:
'@nuxt/kit': 3.12.3(magicast@0.3.4)(rollup@4.18.0) '@nuxt/kit': 3.12.3(magicast@0.3.4)(rollup@4.18.0)
@ -9808,7 +9816,7 @@ snapshots:
'@nuxtjs/eslint-config-typescript@12.1.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3)': '@nuxtjs/eslint-config-typescript@12.1.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3)':
dependencies: dependencies:
'@nuxtjs/eslint-config': 12.0.0(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)) '@nuxtjs/eslint-config': 12.0.0(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@1.21.6))
'@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3) '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3)
'@typescript-eslint/parser': 6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3) '@typescript-eslint/parser': 6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3)
eslint: 9.13.0(jiti@1.21.6) eslint: 9.13.0(jiti@1.21.6)
@ -9821,10 +9829,10 @@ snapshots:
- supports-color - supports-color
- typescript - typescript
'@nuxtjs/eslint-config@12.0.0(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6))': '@nuxtjs/eslint-config@12.0.0(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@1.21.6))':
dependencies: dependencies:
eslint: 9.13.0(jiti@1.21.6) eslint: 9.13.0(jiti@1.21.6)
eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-n@15.7.0(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-promise@6.4.0(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)) eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@15.7.0(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-promise@6.4.0(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6))
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@1.21.6)) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@1.21.6))
eslint-plugin-n: 15.7.0(eslint@9.13.0(jiti@1.21.6)) eslint-plugin-n: 15.7.0(eslint@9.13.0(jiti@1.21.6))
eslint-plugin-node: 11.1.0(eslint@9.13.0(jiti@1.21.6)) eslint-plugin-node: 11.1.0(eslint@9.13.0(jiti@1.21.6))
@ -10943,7 +10951,7 @@ snapshots:
- vue - vue
- webpack - webpack
'@vintl/unplugin@1.5.2(@vue/compiler-core@3.4.31)(rollup@3.29.4)(vite@4.5.3)(vue@3.4.31(typescript@5.5.4))(webpack@5.92.1)': '@vintl/unplugin@1.5.2(@vue/compiler-core@3.4.31)(rollup@3.29.4)(vite@4.5.3(@types/node@22.4.1)(sass@1.77.6)(terser@5.31.6))(vue@3.4.31(typescript@5.5.4))(webpack@5.92.1)':
dependencies: dependencies:
'@formatjs/cli-lib': 6.4.2(@vue/compiler-core@3.4.31)(vue@3.4.31(typescript@5.5.4)) '@formatjs/cli-lib': 6.4.2(@vue/compiler-core@3.4.31)(vue@3.4.31(typescript@5.5.4))
'@formatjs/icu-messageformat-parser': 2.7.8 '@formatjs/icu-messageformat-parser': 2.7.8
@ -10954,7 +10962,7 @@ snapshots:
unplugin: 1.11.0 unplugin: 1.11.0
optionalDependencies: optionalDependencies:
rollup: 3.29.4 rollup: 3.29.4
vite: 4.5.3 vite: 4.5.3(@types/node@22.4.1)(sass@1.77.6)(terser@5.31.6)
webpack: 5.92.1 webpack: 5.92.1
transitivePeerDependencies: transitivePeerDependencies:
- '@glimmer/env' - '@glimmer/env'
@ -11881,6 +11889,24 @@ snapshots:
optionalDependencies: optionalDependencies:
magicast: 0.3.4 magicast: 0.3.4
c12@1.11.1(magicast@0.3.5):
dependencies:
chokidar: 3.6.0
confbox: 0.1.7
defu: 6.1.4
dotenv: 16.4.5
giget: 1.2.3
jiti: 1.21.6
mlly: 1.7.1
ohash: 1.1.3
pathe: 1.1.2
perfect-debounce: 1.0.0
pkg-types: 1.1.3
rc9: 2.1.2
optionalDependencies:
magicast: 0.3.5
optional: true
cac@6.7.14: {} cac@6.7.14: {}
call-bind@1.0.7: call-bind@1.0.7:
@ -12596,10 +12622,10 @@ snapshots:
dependencies: dependencies:
eslint: 9.13.0(jiti@1.21.6) eslint: 9.13.0(jiti@1.21.6)
eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-n@15.7.0(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-promise@6.4.0(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)): eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1)(eslint-plugin-n@15.7.0(eslint@9.13.0(jiti@1.21.6)))(eslint-plugin-promise@6.4.0(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)):
dependencies: dependencies:
eslint: 9.13.0(jiti@1.21.6) eslint: 9.13.0(jiti@1.21.6)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@1.21.6)) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.16.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint@9.13.0(jiti@1.21.6))
eslint-plugin-n: 15.7.0(eslint@9.13.0(jiti@1.21.6)) eslint-plugin-n: 15.7.0(eslint@9.13.0(jiti@1.21.6))
eslint-plugin-promise: 6.4.0(eslint@9.13.0(jiti@1.21.6)) eslint-plugin-promise: 6.4.0(eslint@9.13.0(jiti@1.21.6))
@ -12625,7 +12651,7 @@ snapshots:
debug: 4.3.5 debug: 4.3.5
enhanced-resolve: 5.17.0 enhanced-resolve: 5.17.0
eslint: 9.13.0(jiti@1.21.6) eslint: 9.13.0(jiti@1.21.6)
eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)) eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@1.21.6))
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.16.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint@9.13.0(jiti@1.21.6)) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.16.1(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint@9.13.0(jiti@1.21.6))
fast-glob: 3.3.2 fast-glob: 3.3.2
get-tsconfig: 4.7.5 get-tsconfig: 4.7.5
@ -12637,13 +12663,12 @@ snapshots:
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
- supports-color - supports-color
eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.13.0(jiti@1.21.6)))(eslint@9.13.0(jiti@1.21.6)): eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.13.0(jiti@1.21.6)):
dependencies: dependencies:
debug: 3.2.7 debug: 3.2.7
optionalDependencies: optionalDependencies:
'@typescript-eslint/parser': 6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3) '@typescript-eslint/parser': 6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3)
eslint: 9.13.0(jiti@1.21.6) eslint: 9.13.0(jiti@1.21.6)
eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.13.0(jiti@1.21.6)) eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@9.13.0(jiti@1.21.6))(typescript@5.5.3))(eslint-plugin-import@2.29.1)(eslint@9.13.0(jiti@1.21.6))
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -13226,21 +13251,21 @@ snapshots:
vue: 3.4.31(typescript@5.5.3) vue: 3.4.31(typescript@5.5.3)
vue-resize: 2.0.0-alpha.1(vue@3.4.31(typescript@5.5.3)) vue-resize: 2.0.0-alpha.1(vue@3.4.31(typescript@5.5.3))
floating-vue@2.0.0-beta.24(@nuxt/kit@3.12.3(rollup@3.29.4))(vue@3.4.31(typescript@5.5.4)): floating-vue@2.0.0-beta.24(@nuxt/kit@3.12.3(magicast@0.3.5)(rollup@3.29.4))(vue@3.4.31(typescript@5.5.4)):
dependencies: dependencies:
'@floating-ui/dom': 1.1.1 '@floating-ui/dom': 1.1.1
vue: 3.4.31(typescript@5.5.4) vue: 3.4.31(typescript@5.5.4)
vue-resize: 2.0.0-alpha.1(vue@3.4.31(typescript@5.5.4)) vue-resize: 2.0.0-alpha.1(vue@3.4.31(typescript@5.5.4))
optionalDependencies: optionalDependencies:
'@nuxt/kit': 3.12.3(rollup@3.29.4) '@nuxt/kit': 3.12.3(magicast@0.3.5)(rollup@3.29.4)
floating-vue@5.2.2(@nuxt/kit@3.12.3)(vue@3.4.31(typescript@5.5.4)): floating-vue@5.2.2(@nuxt/kit@3.12.3(magicast@0.3.5)(rollup@4.21.2))(vue@3.4.31(typescript@5.5.4)):
dependencies: dependencies:
'@floating-ui/dom': 1.1.1 '@floating-ui/dom': 1.1.1
vue: 3.4.31(typescript@5.5.4) vue: 3.4.31(typescript@5.5.4)
vue-resize: 2.0.0-alpha.1(vue@3.4.31(typescript@5.5.4)) vue-resize: 2.0.0-alpha.1(vue@3.4.31(typescript@5.5.4))
optionalDependencies: optionalDependencies:
'@nuxt/kit': 3.12.3 '@nuxt/kit': 3.12.3(magicast@0.3.5)(rollup@4.21.2)
for-each@0.3.3: for-each@0.3.3:
dependencies: dependencies:
@ -16747,25 +16772,6 @@ snapshots:
trough: 2.2.0 trough: 2.2.0
vfile: 6.0.3 vfile: 6.0.3
unimport@3.7.2:
dependencies:
'@rollup/pluginutils': 5.1.0(rollup@4.18.0)
acorn: 8.12.1
escape-string-regexp: 5.0.0
estree-walker: 3.0.3
fast-glob: 3.3.2
local-pkg: 0.5.0
magic-string: 0.30.10
mlly: 1.7.1
pathe: 1.1.2
pkg-types: 1.1.3
scule: 1.3.0
strip-literal: 2.1.0
unplugin: 1.11.0
transitivePeerDependencies:
- rollup
optional: true
unimport@3.7.2(rollup@3.29.4): unimport@3.7.2(rollup@3.29.4):
dependencies: dependencies:
'@rollup/pluginutils': 5.1.0(rollup@3.29.4) '@rollup/pluginutils': 5.1.0(rollup@3.29.4)
@ -16803,6 +16809,25 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
unimport@3.7.2(rollup@4.21.2):
dependencies:
'@rollup/pluginutils': 5.1.0(rollup@4.21.2)
acorn: 8.12.1
escape-string-regexp: 5.0.0
estree-walker: 3.0.3
fast-glob: 3.3.2
local-pkg: 0.5.0
magic-string: 0.30.10
mlly: 1.7.1
pathe: 1.1.2
pkg-types: 1.1.3
scule: 1.3.0
strip-literal: 2.1.0
unplugin: 1.11.0
transitivePeerDependencies:
- rollup
optional: true
unist-util-find-after@5.0.0: unist-util-find-after@5.0.0:
dependencies: dependencies:
'@types/unist': 3.0.3 '@types/unist': 3.0.3
@ -17059,13 +17084,16 @@ snapshots:
svgo: 3.3.2 svgo: 3.3.2
vue: 3.4.31(typescript@5.5.4) vue: 3.4.31(typescript@5.5.4)
vite@4.5.3: vite@4.5.3(@types/node@22.4.1)(sass@1.77.6)(terser@5.31.6):
dependencies: dependencies:
esbuild: 0.18.20 esbuild: 0.18.20
postcss: 8.4.45 postcss: 8.4.45
rollup: 3.29.4 rollup: 3.29.4
optionalDependencies: optionalDependencies:
'@types/node': 22.4.1
fsevents: 2.3.3 fsevents: 2.3.3
sass: 1.77.6
terser: 5.31.6
optional: true optional: true
vite@5.3.3(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.6): vite@5.3.3(@types/node@20.14.9)(sass@1.77.6)(terser@5.31.6):