From a3c4c797883d6a9b91165e1abd6ccb23053621a3 Mon Sep 17 00:00:00 2001 From: Sidharth Vinod Date: Wed, 14 Jun 2023 23:02:26 +0530 Subject: [PATCH] Revert "Outbound link tracking" This reverts commit 094f451a821441da2d966ab8356a195662115170. --- package.json | 2 +- src/lib/util/plausible.ts | 85 --------------------------------------- src/lib/util/stats.ts | 5 +-- yarn.lock | 84 +++++++++++++++++++++++++++++++++++++- 4 files changed, 86 insertions(+), 90 deletions(-) delete mode 100644 src/lib/util/plausible.ts diff --git a/package.json b/package.json index 85e8124c..9f85f7fc 100644 --- a/package.json +++ b/package.json @@ -69,13 +69,13 @@ }, "dependencies": { "analytics": "0.8.7", + "analytics-plugin-plausible": "0.0.6", "daisyui": "2.52.0", "dayjs": "^1.11.7", "js-base64": "3.7.5", "mermaid": "10.2.3", "monaco-editor": "0.39.0", "pako": "2.1.0", - "plausible-tracker": "^0.3.8", "random-word-slugs": "0.1.7", "svg-pan-zoom": "3.6.1", "uuid": "9.0.0" diff --git a/src/lib/util/plausible.ts b/src/lib/util/plausible.ts deleted file mode 100644 index 72c25e96..00000000 --- a/src/lib/util/plausible.ts +++ /dev/null @@ -1,85 +0,0 @@ -// Copied from https://github.com/ian/analytics/blob/main/packages/plausible/src/plausible.ts -// Added changes to enable auto-tracking of outbound links -import type { AnalyticsInstance } from 'analytics'; -import Plausible from 'plausible-tracker'; - -interface IPluginProperties { - instance: AnalyticsInstance; - config: IPluginConfig; -} - -interface IPluginConfig { - apiHost?: string; - domain?: string; - hashMode?: boolean; - trackLocalhost?: boolean; - outboundLinkTracking?: boolean; -} - -interface IProperties { - payload: IPayload; -} - -interface IPayload { - event: string; - properties: Readonly>; -} - -interface IPluginContext { - plausible: ReturnType | null; -} - -const defaultConfig = { - enabled: true -}; - -export default function plausiblePlugin(pluginConfig: IPluginConfig) { - const context: IPluginContext = { - plausible: null - }; - - return { - name: 'plausible-analytics', - config: { - ...defaultConfig, - ...pluginConfig - }, - - initialize: ({ config }: IPluginProperties) => { - const { apiHost, domain, hashMode, trackLocalhost, outboundLinkTracking } = config; - - const plausibleConfig = Object.fromEntries( - Object.entries({ - apiHost, - domain, - hashMode, - trackLocalhost - }).filter(([, value]) => value !== undefined) - ); - - context.plausible = Plausible(plausibleConfig); - if (outboundLinkTracking) { - context.plausible.enableAutoOutboundTracking(); - } - }, - - loaded: () => { - return Boolean(context.plausible); - }, - - page: ({ payload }: IProperties) => { - if (!context.plausible) return; - - const { properties } = payload; - context.plausible.trackPageview({}, { props: properties }); - }, - - // Set parameter scope at event level with 'event' method - track: ({ payload }: IProperties) => { - if (!context.plausible) return; - - const { properties, event } = payload; - context.plausible.trackEvent(event, { props: properties }); - } - }; -} diff --git a/src/lib/util/stats.ts b/src/lib/util/stats.ts index 5b0383dc..bdb0263c 100644 --- a/src/lib/util/stats.ts +++ b/src/lib/util/stats.ts @@ -7,7 +7,7 @@ export const initAnalytics = async (): Promise => { try { const [{ Analytics }, { default: plausible }] = await Promise.all([ import('analytics'), - import('./plausible') + import('analytics-plugin-plausible') ]); analytics = Analytics({ app: 'mermaid-live-editor', @@ -16,8 +16,7 @@ export const initAnalytics = async (): Promise => { domain: 'mermaid.live', hashMode: false, // All tracked stats are public and available at https://p.mermaid.live/mermaid.live - apiHost: 'https://p.mermaid.live', - outboundLinkTracking: true + apiHost: 'https://p.mermaid.live' }) ] }); diff --git a/yarn.lock b/yarn.lock index 422e09db..9ad0e4ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19,6 +19,22 @@ dependencies: "@analytics/global-storage-utils" "^0.1.7" +"@analytics/cookie-utils@^0.2.9": + version "0.2.10" + resolved "https://registry.yarnpkg.com/@analytics/cookie-utils/-/cookie-utils-0.2.10.tgz#94d1ad0766c58c4a294e5ca54f59b0a69bd574b4" + integrity sha512-k7oyW1PkMCnEdCYmHCLLXAsKavQh5ZRh5EeugBEUTlPJs8x8ajF+W1T0PYVDS26Impkea1sJR2etv/6l2pKtlg== + dependencies: + "@analytics/global-storage-utils" "^0.1.5" + +"@analytics/core@^0.10.23": + version "0.10.23" + resolved "https://registry.yarnpkg.com/@analytics/core/-/core-0.10.23.tgz#869218c28bae4948bdecfd76415064e83bb8ca8d" + integrity sha512-crOJ7tNA5xak5YGiiX8IvPyqf4Hy3tMmTH4dTvQiOapO6BiBJcxBUkjtJNPwZlhS4nmsWh0skeTBr4Kv92RzeA== + dependencies: + "@analytics/global-storage-utils" "^0.1.4" + "@analytics/type-utils" "^0.5.4" + analytics-utils "^1.0.9" + "@analytics/core@^0.12.5": version "0.12.5" resolved "https://registry.yarnpkg.com/@analytics/core/-/core-0.12.5.tgz#dffdf847a384eaace5b8c109b5d29c673489e183" @@ -28,6 +44,13 @@ "@analytics/type-utils" "^0.6.2" analytics-utils "^1.0.12" +"@analytics/global-storage-utils@^0.1.4", "@analytics/global-storage-utils@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@analytics/global-storage-utils/-/global-storage-utils-0.1.5.tgz#54cc14f8d678610b5fca1e98215fe29fff662f31" + integrity sha512-DzOCd0qK7PGnz/dgBYNzLmaFBkxcEHM6/CpWMY7hel1IBUldMsyet4sdRgI2Nk+Wc6B/YvqVqos68p5ntB59zA== + dependencies: + "@analytics/type-utils" "^0.6.0" + "@analytics/global-storage-utils@^0.1.7": version "0.1.7" resolved "https://registry.yarnpkg.com/@analytics/global-storage-utils/-/global-storage-utils-0.1.7.tgz#c6a12eb133a6e44101b7c3529c82e3e89ac9ce46" @@ -42,6 +65,20 @@ dependencies: "@analytics/global-storage-utils" "^0.1.7" +"@analytics/localstorage-utils@^0.1.7": + version "0.1.8" + resolved "https://registry.yarnpkg.com/@analytics/localstorage-utils/-/localstorage-utils-0.1.8.tgz#eab6a9690ccd3c05d131e3a9788b4443affdb800" + integrity sha512-tU5rLEHdYRc4EmRXkWacMJSmu4SeJfQuxvthSHHRVx3hGBQ00MJRDGyDHMXcrLKQXrBpsJo6t/8YRavHLOxDPQ== + dependencies: + "@analytics/global-storage-utils" "^0.1.5" + +"@analytics/session-storage-utils@^0.0.4": + version "0.0.4" + resolved "https://registry.yarnpkg.com/@analytics/session-storage-utils/-/session-storage-utils-0.0.4.tgz#6aefe0eb012038f3722433c411485a2b7f540a15" + integrity sha512-HPVIUMpL9ua8uBj5kLsTOLbxUNP0GVYQowC9AwX1S/T39Eg8RKwbV/GYaDAqeCjEi8BGYOEguqI9kFGqxIt1iA== + dependencies: + "@analytics/global-storage-utils" "^0.1.4" + "@analytics/session-storage-utils@^0.0.7": version "0.0.7" resolved "https://registry.yarnpkg.com/@analytics/session-storage-utils/-/session-storage-utils-0.0.7.tgz#e355c60b14d4fbcf20983e5cfcb7cb838b4c57ab" @@ -49,6 +86,17 @@ dependencies: "@analytics/global-storage-utils" "^0.1.7" +"@analytics/storage-utils@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@analytics/storage-utils/-/storage-utils-0.3.0.tgz#7a9795af6b73e13194edb03eb27402c4877d9d96" + integrity sha512-uxOz5wdZkuxc7RaWlNsj/7iFr0GkkFqmxyIYY4oFk91E3/hyosny59lb8DEC/MpdUUAoNI+clU+I/PYcv3p1WA== + dependencies: + "@analytics/cookie-utils" "^0.2.9" + "@analytics/global-storage-utils" "^0.1.4" + "@analytics/localstorage-utils" "^0.1.7" + "@analytics/session-storage-utils" "^0.0.4" + "@analytics/type-utils" "^0.5.4" + "@analytics/storage-utils@^0.4.2": version "0.4.2" resolved "https://registry.yarnpkg.com/@analytics/storage-utils/-/storage-utils-0.4.2.tgz#222717832a533a1a2516aa3a22d5db80d14a881b" @@ -60,6 +108,16 @@ "@analytics/session-storage-utils" "^0.0.7" "@analytics/type-utils" "^0.6.2" +"@analytics/type-utils@^0.5.4": + version "0.5.4" + resolved "https://registry.yarnpkg.com/@analytics/type-utils/-/type-utils-0.5.4.tgz#1fcaa6d1d557c0377d1fbd8615624ac918d1727d" + integrity sha512-2CT5YTsvif3gYPYp5hPIhh66mUo/Cu+k5OiHbX3k5p+YsZ5Bggcp/wLEFnrdKG4tKgGn5SOKkEtL63VYhGXX7g== + +"@analytics/type-utils@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@analytics/type-utils/-/type-utils-0.6.0.tgz#1b8745516da5a654d292ed3f2db893c61cd3d9c5" + integrity sha512-1Yw7u/COtxx06BfwlI+kVhsa/upKYzmCNrT4c8QDeCY2KMYlnijkUjtHiPU08HxyTIVB5j6d75O0YWVIHwQS8g== + "@analytics/type-utils@^0.6.2": version "0.6.2" resolved "https://registry.yarnpkg.com/@analytics/type-utils/-/type-utils-0.6.2.tgz#60d706603a98a95681d4b1e9726c703fdd541a9e" @@ -856,6 +914,14 @@ am-i-a-dependency@1.1.2: resolved "https://registry.yarnpkg.com/am-i-a-dependency/-/am-i-a-dependency-1.1.2.tgz#f9d3422304d6f642f821e4c407565035f6167f1f" integrity sha512-h9Wm0GBuTJVKbtwDHBzdJr932O9iTR5lAgebGSke1b3V4pqzbwOsa1R3bYhff89Ch3+v3A4EgbX3vem+5Rl6Zg== +analytics-plugin-plausible@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/analytics-plugin-plausible/-/analytics-plugin-plausible-0.0.6.tgz#22595821f1d201cb2e58dde2bb688d78fae78725" + integrity sha512-gXeoJo85JLO91DckbPq23jn/QJW4vg1hA/bRcAbcAo5D6u6JUIg/rG6Ecwkk75sPefnGFIZ6qGHIoz1b2wFK9w== + dependencies: + analytics "^0.7.5" + plausible-tracker "^0.3.1" + analytics-utils@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/analytics-utils/-/analytics-utils-1.0.12.tgz#07bd63471d238e80f42d557fba039365f09c50db" @@ -864,6 +930,14 @@ analytics-utils@^1.0.12: "@analytics/type-utils" "^0.6.2" dlv "^1.1.3" +analytics-utils@^1.0.9: + version "1.0.10" + resolved "https://registry.yarnpkg.com/analytics-utils/-/analytics-utils-1.0.10.tgz#e44078176c67005e5b11aae1dc538202744a5ca5" + integrity sha512-ZKYKhip7Sf09qE85l4vZMBPR3fz6ISUTlwzkWSwJHbzLLzP5qrWQtcQlBcP9Pah7BMNSq8pqho+PX4ZKB014Yg== + dependencies: + "@analytics/type-utils" "^0.6.0" + dlv "^1.1.3" + analytics@0.8.7: version "0.8.7" resolved "https://registry.yarnpkg.com/analytics/-/analytics-0.8.7.tgz#cc23e8aaaaf7f0207e0ca88de5936af75d9cc0df" @@ -872,6 +946,14 @@ analytics@0.8.7: "@analytics/core" "^0.12.5" "@analytics/storage-utils" "^0.4.2" +analytics@^0.7.5: + version "0.7.23" + resolved "https://registry.yarnpkg.com/analytics/-/analytics-0.7.23.tgz#cff8d43c67fa851229232bc251e58a27e2f863eb" + integrity sha512-9zujZOUmDnRGRNoKIXwongMlOV1Odi+5ftRpfTPlYYQfX7Kl6ttSaP2caFQhKr5SenSCW2RMIxiLzX+LynE7sw== + dependencies: + "@analytics/core" "^0.10.23" + "@analytics/storage-utils" "^0.3.0" + ansi-colors@^4.1.1: version "4.1.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" @@ -4367,7 +4449,7 @@ pkg-types@^1.0.3: mlly "^1.2.0" pathe "^1.1.0" -plausible-tracker@^0.3.8: +plausible-tracker@^0.3.1: version "0.3.8" resolved "https://registry.yarnpkg.com/plausible-tracker/-/plausible-tracker-0.3.8.tgz#9b8b322cc41e0e1d6473869ef234deea365a5a40" integrity sha512-lmOWYQ7s9KOUJ1R+YTOR3HrjdbxIS2Z4de0P/Jx2dQPteznJl2eX3tXxKClpvbfyGP59B5bbhW8ftN59HbbFSg==