From 949baa9b8bc73c8193793500fa70bed2bdc0acb5 Mon Sep 17 00:00:00 2001 From: Hazelnoot Date: Tue, 25 Mar 2025 17:30:03 -0400 Subject: [PATCH] Revert "feat: google analytics (#15451)" This reverts commit 2b6638e1 --- CHANGELOG.md | 1 - .../1739006797620-GoogleAnalytics.js | 16 --- .../src/core/entities/MetaEntityService.ts | 1 - packages/backend/src/models/Meta.ts | 6 - .../backend/src/models/json-schema/meta.ts | 4 - .../src/server/api/endpoints/admin/meta.ts | 5 - .../server/api/endpoints/admin/update-meta.ts | 6 - packages/frontend/package.json | 2 - packages/frontend/src/analytics.ts | 107 ------------------ packages/frontend/src/boot/common.ts | 15 +-- .../frontend/src/components/MkPageWindow.vue | 10 -- .../src/pages/admin/external-services.vue | 25 +--- packages/frontend/src/router.ts | 9 -- packages/misskey-js/src/autogen/types.ts | 3 - pnpm-lock.yaml | 97 ---------------- 15 files changed, 2 insertions(+), 305 deletions(-) delete mode 100644 packages/backend/migration/1739006797620-GoogleAnalytics.js delete mode 100644 packages/frontend/src/analytics.ts diff --git a/CHANGELOG.md b/CHANGELOG.md index 280b79d763..de62b47b06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -94,7 +94,6 @@ ### General - Feat: アクセストークン発行時に通知するように -- Feat: 実験的なGoogleAnalyticsサポートを追加 - 依存関係の更新 ### Client diff --git a/packages/backend/migration/1739006797620-GoogleAnalytics.js b/packages/backend/migration/1739006797620-GoogleAnalytics.js deleted file mode 100644 index 5871bf098a..0000000000 --- a/packages/backend/migration/1739006797620-GoogleAnalytics.js +++ /dev/null @@ -1,16 +0,0 @@ -/* - * SPDX-FileCopyrightText: syuilo and misskey-project - * SPDX-License-Identifier: AGPL-3.0-only - */ - -export class GoogleAnalytics1739006797620 { - name = 'GoogleAnalytics1739006797620' - - async up(queryRunner) { - await queryRunner.query(`ALTER TABLE "meta" ADD "googleAnalyticsMeasurementId" character varying(64)`); - } - - async down(queryRunner) { - await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "googleAnalyticsMeasurementId"`); - } -} diff --git a/packages/backend/src/core/entities/MetaEntityService.ts b/packages/backend/src/core/entities/MetaEntityService.ts index 83e28ebfc9..9c2a5deeb8 100644 --- a/packages/backend/src/core/entities/MetaEntityService.ts +++ b/packages/backend/src/core/entities/MetaEntityService.ts @@ -100,7 +100,6 @@ export class MetaEntityService { enableFC: instance.enableFC, fcSiteKey: instance.fcSiteKey, enableTestcaptcha: instance.enableTestcaptcha, - googleAnalyticsMeasurementId: instance.googleAnalyticsMeasurementId, swPublickey: instance.swPublicKey, themeColor: instance.themeColor, mascotImageUrl: instance.mascotImageUrl ?? '/assets/ai.png', diff --git a/packages/backend/src/models/Meta.ts b/packages/backend/src/models/Meta.ts index 8c3f8a9317..1ccffcfa75 100644 --- a/packages/backend/src/models/Meta.ts +++ b/packages/backend/src/models/Meta.ts @@ -759,10 +759,4 @@ export class MiMeta { default: 'always', }) public allowUnsignedFetch: InstanceUnsignedFetchOption; - - @Column('varchar', { - length: 64, - nullable: true, - }) - public googleAnalyticsMeasurementId: string | null; } diff --git a/packages/backend/src/models/json-schema/meta.ts b/packages/backend/src/models/json-schema/meta.ts index a8d9fe3e4e..fd735c1edd 100644 --- a/packages/backend/src/models/json-schema/meta.ts +++ b/packages/backend/src/models/json-schema/meta.ts @@ -149,10 +149,6 @@ export const packedMetaLiteSchema = { type: 'boolean', optional: false, nullable: false, }, - googleAnalyticsMeasurementId: { - type: 'string', - optional: false, nullable: true, - }, swPublickey: { type: 'string', optional: false, nullable: true, diff --git a/packages/backend/src/server/api/endpoints/admin/meta.ts b/packages/backend/src/server/api/endpoints/admin/meta.ts index d05f6e3c02..4ff12a70c4 100644 --- a/packages/backend/src/server/api/endpoints/admin/meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/meta.ts @@ -87,10 +87,6 @@ export const meta = { type: 'boolean', optional: false, nullable: false, }, - googleAnalyticsMeasurementId: { - type: 'string', - optional: false, nullable: true, - }, swPublickey: { type: 'string', optional: false, nullable: true, @@ -661,7 +657,6 @@ export default class extends Endpoint { // eslint- enableFC: instance.enableFC, fcSiteKey: instance.fcSiteKey, enableTestcaptcha: instance.enableTestcaptcha, - googleAnalyticsMeasurementId: instance.googleAnalyticsMeasurementId, swPublickey: instance.swPublicKey, themeColor: instance.themeColor, mascotImageUrl: instance.mascotImageUrl, diff --git a/packages/backend/src/server/api/endpoints/admin/update-meta.ts b/packages/backend/src/server/api/endpoints/admin/update-meta.ts index 86dbd44e20..e6d5dffad8 100644 --- a/packages/backend/src/server/api/endpoints/admin/update-meta.ts +++ b/packages/backend/src/server/api/endpoints/admin/update-meta.ts @@ -91,7 +91,6 @@ export const paramDef = { fcSiteKey: { type: 'string', nullable: true }, fcSecretKey: { type: 'string', nullable: true }, enableTestcaptcha: { type: 'boolean' }, - googleAnalyticsMeasurementId: { type: 'string', nullable: true }, sensitiveMediaDetection: { type: 'string', enum: ['none', 'all', 'local', 'remote'] }, sensitiveMediaDetectionSensitivity: { type: 'string', enum: ['medium', 'low', 'high', 'veryLow', 'veryHigh'] }, setSensitiveFlagAutomatically: { type: 'boolean' }, @@ -413,11 +412,6 @@ export default class extends Endpoint { // eslint- set.enableTestcaptcha = ps.enableTestcaptcha; } - if (ps.googleAnalyticsMeasurementId !== undefined) { - // 空文字列をnullにしたいので??は使わない - set.googleAnalyticsMeasurementId = ps.googleAnalyticsMeasurementId || null; - } - if (ps.fcSiteKey !== undefined) { set.fcSiteKey = ps.fcSiteKey; } diff --git a/packages/frontend/package.json b/packages/frontend/package.json index ce9d5db69d..4f13bc98d3 100644 --- a/packages/frontend/package.json +++ b/packages/frontend/package.json @@ -17,7 +17,6 @@ "lint": "pnpm typecheck && pnpm eslint" }, "dependencies": { - "@analytics/google-analytics": "1.1.0", "@discordapp/twemoji": "15.1.0", "@github/webauthn-json": "2.1.1", "@mcaptcha/vanilla-glue": "0.1.0-alpha-3", @@ -33,7 +32,6 @@ "@vitejs/plugin-vue": "5.2.3", "@vue/compiler-sfc": "3.5.13", "aiscript-vscode": "github:aiscript-dev/aiscript-vscode#v0.1.15", - "analytics": "0.8.16", "astring": "1.9.0", "broadcast-channel": "7.0.0", "buraha": "0.0.1", diff --git a/packages/frontend/src/analytics.ts b/packages/frontend/src/analytics.ts deleted file mode 100644 index e07a4e9258..0000000000 --- a/packages/frontend/src/analytics.ts +++ /dev/null @@ -1,107 +0,0 @@ -/* - * SPDX-FileCopyrightText: syuilo and misskey-project - * SPDX-License-Identifier: AGPL-3.0-only - */ - -import * as Misskey from 'misskey-js'; -import type { AnalyticsInstance, AnalyticsPlugin } from 'analytics'; - -/** - * analytics moduleを読み込まなくても動作するようにするためのラッパー - */ -class AnalyticsProxy implements AnalyticsInstance { - private analytics?: AnalyticsInstance; - - constructor(analytics?: AnalyticsInstance) { - if (analytics) { - this.analytics = analytics; - } - } - - public setAnalytics(analytics: AnalyticsInstance) { - if (this.analytics) { - throw new Error('Analytics instance already exists.'); - } - this.analytics = analytics; - } - - public identify(...args: Parameters) { - return this.analytics?.identify(...args) ?? Promise.resolve(); - } - - public track(...args: Parameters) { - return this.analytics?.track(...args) ?? Promise.resolve(); - } - - public page(...args: Parameters) { - return this.analytics?.page(...args) ?? Promise.resolve(); - } - - public user(...args: Parameters) { - return this.analytics?.user(...args) ?? Promise.resolve(); - } - - public reset(...args: Parameters) { - return this.analytics?.reset(...args) ?? Promise.resolve(); - } - - public ready(...args: Parameters) { - return this.analytics?.ready(...args) ?? function () { void 0; }; - } - - public on(...args: Parameters) { - return this.analytics?.on(...args) ?? function () { void 0; }; - } - - public once(...args: Parameters) { - return this.analytics?.once(...args) ?? function () { void 0; }; - } - - public getState(...args: Parameters) { - return this.analytics?.getState(...args) ?? Promise.resolve(); - } - - public get storage() { - return this.analytics?.storage ?? { - getItem: () => null, - setItem: () => void 0, - removeItem: () => void 0, - }; - } - - public get plugins() { - return this.analytics?.plugins ?? { - enable: (p, c) => Promise.resolve(c ? c() : void 0), - disable: (p, c) => Promise.resolve(c ? c() : void 0), - }; - } -} - -export const analytics = new AnalyticsProxy(); - -export async function initAnalytics(instance: Misskey.entities.MetaDetailed) { - // アナリティクスプロバイダに関する設定がひとつもない場合は、アナリティクスモジュールを読み込まない - if (!instance.googleAnalyticsMeasurementId) { - return; - } - - const { default: Analytics } = await import('analytics'); - const plugins: AnalyticsPlugin[] = []; - - // Google Analytics - if (instance.googleAnalyticsMeasurementId) { - const { default: googleAnalytics } = await import('@analytics/google-analytics'); - - plugins.push(googleAnalytics({ - measurementIds: [instance.googleAnalyticsMeasurementId], - debug: _DEV_, - })); - } - - analytics.setAnalytics(Analytics({ - app: 'misskey', - version: _VERSION_, - debug: _DEV_, - plugins, - })); -} diff --git a/packages/frontend/src/boot/common.ts b/packages/frontend/src/boot/common.ts index 62cc74ea09..56e229283b 100644 --- a/packages/frontend/src/boot/common.ts +++ b/packages/frontend/src/boot/common.ts @@ -4,6 +4,7 @@ */ import { computed, watch, version as vueVersion } from 'vue'; +import type { App } from 'vue'; import { compareVersions } from 'compare-versions'; import { version, lang, langsVersion, updateLocale, locale } from '@@/js/config.js'; import defaultLightTheme from '@@/themes/l-light.json5'; @@ -23,7 +24,6 @@ import { reloadChannel } from '@/utility/unison-reload.js'; import { getUrlWithoutLoginId } from '@/utility/login-id.js'; import { getAccountFromId } from '@/utility/get-account-from-id.js'; import { deckStore } from '@/ui/deck/deck-store.js'; -import { analytics, initAnalytics } from '@/analytics.js'; import { miLocalStorage } from '@/local-storage.js'; import { fetchCustomEmojis } from '@/custom-emojis.js'; import { prefer } from '@/preferences.js'; @@ -255,19 +255,6 @@ export async function common(createVue: () => App) { await fetchCustomEmojis(); } catch (err) { /* empty */ } - // analytics - fetchInstanceMetaPromise.then(async () => { - await initAnalytics(instance); - - if ($i) { - analytics.identify($i.id); - } - - analytics.page({ - path: window.location.pathname, - }); - }); - const app = createVue(); if (_DEV_) { diff --git a/packages/frontend/src/components/MkPageWindow.vue b/packages/frontend/src/components/MkPageWindow.vue index 56592dcf5c..ef1d15cc49 100644 --- a/packages/frontend/src/components/MkPageWindow.vue +++ b/packages/frontend/src/components/MkPageWindow.vue @@ -43,7 +43,6 @@ import { provideMetadataReceiver, provideReactiveMetadata } from '@/page.js'; import { openingWindowsCount } from '@/os.js'; import { claimAchievement } from '@/utility/achievements.js'; import { createRouter, mainRouter } from '@/router.js'; -import { analytics } from '@/analytics.js'; import { DI } from '@/di.js'; import { prefer } from '@/preferences.js'; @@ -109,10 +108,6 @@ windowRouter.addListener('replace', ctx => { windowRouter.addListener('change', ctx => { if (_DEV_) console.log('windowRouter: change', ctx.fullPath); searchMarkerId.value = getSearchMarker(ctx.fullPath); - analytics.page({ - path: ctx.fullPath, - title: ctx.fullPath, - }); }); windowRouter.init(); @@ -176,11 +171,6 @@ function popout() { } onMounted(() => { - analytics.page({ - path: props.initialPath, - title: props.initialPath, - }); - openingWindowsCount.value++; if (openingWindowsCount.value >= 3) { claimAchievement('open3windows'); diff --git a/packages/frontend/src/pages/admin/external-services.vue b/packages/frontend/src/pages/admin/external-services.vue index ab168c138d..f9dd5dc568 100644 --- a/packages/frontend/src/pages/admin/external-services.vue +++ b/packages/frontend/src/pages/admin/external-services.vue @@ -9,18 +9,6 @@ SPDX-License-Identifier: AGPL-3.0-only
- - - -
- - - - - Save -
-
- @@ -90,17 +78,14 @@ const deeplFreeInstance = ref(''); const libreTranslateURL = ref(''); const libreTranslateKey = ref(''); -const googleAnalyticsMeasurementId = ref(''); - async function init() { const meta = await misskeyApi('admin/meta'); - deeplAuthKey.value = meta.deeplAuthKey ?? ''; + deeplAuthKey.value = meta.deeplAuthKey; deeplIsPro.value = meta.deeplIsPro; deeplFreeMode.value = meta.deeplFreeMode; deeplFreeInstance.value = meta.deeplFreeInstance; libreTranslateURL.value = meta.libreTranslateURL; libreTranslateKey.value = meta.libreTranslateKey; - googleAnalyticsMeasurementId.value = meta.googleAnalyticsMeasurementId ?? ''; } function save_deepl() { @@ -123,14 +108,6 @@ function save_libre() { }); } -function save_googleAnalytics() { - os.apiWithDialog('admin/update-meta', { - googleAnalyticsMeasurementId: googleAnalyticsMeasurementId.value, - }).then(() => { - fetchInstance(true); - }); -} - const headerActions = computed(() => []); const headerTabs = computed(() => []); diff --git a/packages/frontend/src/router.ts b/packages/frontend/src/router.ts index d702da80fa..9e928028fd 100644 --- a/packages/frontend/src/router.ts +++ b/packages/frontend/src/router.ts @@ -8,7 +8,6 @@ import { page } from '@/router.definition.js'; import { $i } from '@/i.js'; import { Nirax } from '@/lib/nirax.js'; import { ROUTE_DEF } from '@/router.definition.js'; -import { analytics } from '@/analytics.js'; import { DI } from '@/di.js'; export type Router = Nirax; @@ -31,14 +30,6 @@ mainRouter.addListener('replace', ctx => { window.history.replaceState({ }, '', ctx.fullPath); }); -mainRouter.addListener('change', ctx => { - if (_DEV_) console.log('mainRouter: change', ctx.fullPath); - analytics.page({ - path: ctx.fullPath, - title: ctx.fullPath, - }); -}); - mainRouter.init(); export function useRouter(): Router { diff --git a/packages/misskey-js/src/autogen/types.ts b/packages/misskey-js/src/autogen/types.ts index c91fedf2fa..f96cb718b4 100644 --- a/packages/misskey-js/src/autogen/types.ts +++ b/packages/misskey-js/src/autogen/types.ts @@ -5279,7 +5279,6 @@ export type components = { enableTurnstile: boolean; turnstileSiteKey: string | null; enableTestcaptcha: boolean; - googleAnalyticsMeasurementId: string | null; swPublickey: string | null; /** @default /assets/ai.png */ mascotImageUrl: string; @@ -8552,7 +8551,6 @@ export type operations = { enableTurnstile: boolean; turnstileSiteKey: string | null; enableTestcaptcha: boolean; - googleAnalyticsMeasurementId: string | null; swPublickey: string | null; /** @default /assets/ai.png */ mascotImageUrl: string | null; @@ -10928,7 +10926,6 @@ export type operations = { turnstileSiteKey?: string | null; turnstileSecretKey?: string | null; enableTestcaptcha?: boolean; - googleAnalyticsMeasurementId?: string | null; /** @enum {string} */ sensitiveMediaDetection?: 'none' | 'all' | 'local' | 'remote'; /** @enum {string} */ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index db128be52f..64f2935465 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -712,9 +712,6 @@ importers: packages/frontend: dependencies: - '@analytics/google-analytics': - specifier: 1.1.0 - version: 1.1.0 '@discordapp/twemoji': specifier: 15.1.0 version: 15.1.0 @@ -760,9 +757,6 @@ importers: aiscript-vscode: specifier: github:aiscript-dev/aiscript-vscode#v0.1.15 version: https://codeload.github.com/aiscript-dev/aiscript-vscode/tar.gz/c3cde89e79a41d93540cf8a48cd619c3f2dcb1b7 - analytics: - specifier: 0.8.16 - version: 0.8.16(@types/dlv@1.1.5) astring: specifier: 1.9.0 version: 1.9.0 @@ -1601,30 +1595,6 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - '@analytics/cookie-utils@0.2.12': - resolution: {integrity: sha512-2h/yuIu3kmu+ZJlKmlT6GoRvUEY2k1BbQBezEv5kGhnn9KpmzPz715Y3GmM2i+m7Y0QmBdVUoA260dQZkofs2A==} - - '@analytics/core@0.12.17': - resolution: {integrity: sha512-GMxRm5Dp3Wam/w5NNvqNKMO6zWecozbVv21Kn4WhftCx6OjJI7zMlVtiLpjGjxa0RRZfVG80YhupF0Qh9XL2gw==} - - '@analytics/global-storage-utils@0.1.7': - resolution: {integrity: sha512-V+spzGLZYm4biZT4uefaylm80SrLXf8WOTv9hCgA46cLcyxx3LD4GCpssp1lj+RcWLl/uXJQBRO4Mnn/o1x6Gw==} - - '@analytics/google-analytics@1.1.0': - resolution: {integrity: sha512-i8uGyELMtwEUAf3GNWNLNBzhRvReDn1RUxvMdMhjUA7+GNGxPOM4kkzFfv3giQXKNxTEjfsh75kqNcscbJsuaA==} - - '@analytics/localstorage-utils@0.1.10': - resolution: {integrity: sha512-uJS+Jp1yLG5VFCgA5T82ZODYBS0xuDQx0NtAZrgbqt9j51BX3TcgmOez5LVkrUNu/lpbxjCLq35I4TKj78VmOQ==} - - '@analytics/session-storage-utils@0.0.7': - resolution: {integrity: sha512-PSv40UxG96HVcjY15e3zOqU2n8IqXnH8XvTkg1X43uXNTKVSebiI2kUjA3Q7ESFbw5DPwcLbJhV7GforpuBLDw==} - - '@analytics/storage-utils@0.4.2': - resolution: {integrity: sha512-AXObwyVQw9h2uJh1t2hUgabtVxzYpW+7uKVbdHQK80vr3Td5rrmCxrCxarh7HUuAgSDZ0bZWqmYxVgmwKceaLg==} - - '@analytics/type-utils@0.6.2': - resolution: {integrity: sha512-TD+xbmsBLyYy/IxFimW/YL/9L2IEnM7/EoV9Aeh56U64Ify8o27HJcKjo38XY9Tcn0uOq1AX3thkKgvtWvwFQg==} - '@apidevtools/swagger-methods@3.0.2': resolution: {integrity: sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==} @@ -4375,9 +4345,6 @@ packages: '@types/disposable-email-domains@1.0.2': resolution: {integrity: sha512-SDKwyYTjk3y5aZBxxc38yRecpJPjsqn57STz1bNxYYlv4k11bBe7QB8w4llXDTmQXKT1mFvgGmJv+8Zdu3YmJw==} - '@types/dlv@1.1.5': - resolution: {integrity: sha512-JHOWNfiWepAhfwlSw17kiWrWrk6od2dEQgHltJw9AS0JPFoLZJBge5+Dnil2NfdjAvJ/+vGSX60/BRW20PpUXw==} - '@types/doctrine@0.0.9': resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} @@ -5109,14 +5076,6 @@ packages: alien-signals@1.0.7: resolution: {integrity: sha512-OfUBerxNtc4PsNwkSu8KVHMOJUKmFLmLmeYsBBTnwzlezm+LmvJk31iE7Ggk1hS/S7GIrn9QNGm+NlkhxJmMQQ==} - analytics-utils@1.0.14: - resolution: {integrity: sha512-9v0kPd8v0GuBvfQcg5BO48AElaEAr9IXMAfJWXYMAhrD3QprgozEIUgMp/de0vS136PUOBB+10XQH9eBgBmfMw==} - peerDependencies: - '@types/dlv': ^1.0.0 - - analytics@0.8.16: - resolution: {integrity: sha512-LEFQ47G9V1zVp9WIh2xhnbmSFEJq+WEzSv6voJ5uba88lefiIIYeG2nq87gFu83ocz1qtb9u7XgeaKKVBbbgWA==} - ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -6194,9 +6153,6 @@ packages: disposable-email-domains@1.0.62: resolution: {integrity: sha512-LBQvhRw7mznQTPoyZbsmYeNOZt1pN5aCsx4BAU/3siVFuiM9f2oyKzUaB8v1jbxFjE3aYqYiMo63kAL4pHgfWQ==} - dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} @@ -11310,42 +11266,6 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - '@analytics/cookie-utils@0.2.12': - dependencies: - '@analytics/global-storage-utils': 0.1.7 - - '@analytics/core@0.12.17(@types/dlv@1.1.5)': - dependencies: - '@analytics/global-storage-utils': 0.1.7 - '@analytics/type-utils': 0.6.2 - analytics-utils: 1.0.14(@types/dlv@1.1.5) - transitivePeerDependencies: - - '@types/dlv' - - '@analytics/global-storage-utils@0.1.7': - dependencies: - '@analytics/type-utils': 0.6.2 - - '@analytics/google-analytics@1.1.0': {} - - '@analytics/localstorage-utils@0.1.10': - dependencies: - '@analytics/global-storage-utils': 0.1.7 - - '@analytics/session-storage-utils@0.0.7': - dependencies: - '@analytics/global-storage-utils': 0.1.7 - - '@analytics/storage-utils@0.4.2': - dependencies: - '@analytics/cookie-utils': 0.2.12 - '@analytics/global-storage-utils': 0.1.7 - '@analytics/localstorage-utils': 0.1.10 - '@analytics/session-storage-utils': 0.0.7 - '@analytics/type-utils': 0.6.2 - - '@analytics/type-utils@0.6.2': {} - '@apidevtools/swagger-methods@3.0.2': {} '@asamuzakjp/css-color@3.1.1': @@ -14924,8 +14844,6 @@ snapshots: '@types/disposable-email-domains@1.0.2': {} - '@types/dlv@1.1.5': {} - '@types/doctrine@0.0.9': {} '@types/eslint@7.29.0': @@ -15951,19 +15869,6 @@ snapshots: alien-signals@1.0.7: {} - analytics-utils@1.0.14(@types/dlv@1.1.5): - dependencies: - '@analytics/type-utils': 0.6.2 - '@types/dlv': 1.1.5 - dlv: 1.1.3 - - analytics@0.8.16(@types/dlv@1.1.5): - dependencies: - '@analytics/core': 0.12.17(@types/dlv@1.1.5) - '@analytics/storage-utils': 0.4.2 - transitivePeerDependencies: - - '@types/dlv' - ansi-colors@4.1.3: {} ansi-escapes@4.3.2: @@ -17247,8 +17152,6 @@ snapshots: disposable-email-domains@1.0.62: {} - dlv@1.1.3: {} - doctrine@2.1.0: dependencies: esutils: 2.0.3