From 9bff6df7f5b36cb0c43cfc7f3a4f11dfe2d0d9e7 Mon Sep 17 00:00:00 2001 From: Arman Date: Tue, 2 May 2023 12:18:30 +0200 Subject: [PATCH] feat-cloud-gtm --- package-lock.json | 6 ++ package.json | 1 + src/lib/actions/analytics.ts | 12 +++- src/lib/system.ts | 3 +- vite.config.ts.timestamp-1682949685828.mjs | 76 +++++++++++----------- 5 files changed, 57 insertions(+), 41 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7b4f5476f4..1201290435 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.1", "dependencies": { "@analytics/google-analytics": "^1.0.5", + "@analytics/google-tag-manager": "^0.5.3", "@appwrite.io/pink": "^0.0.4", "@aw-labs/appwrite-console": "^13.1.0", "@popperjs/core": "^2.11.6", @@ -114,6 +115,11 @@ "resolved": "https://registry.npmjs.org/@analytics/google-analytics/-/google-analytics-1.0.5.tgz", "integrity": "sha512-I/yfiCVQo8AeT72KPa6z571LJKDbLdm4ntDqOHiE2Xehw9UjKcXQWiKTHL1/nfOOiekfpLf/6rFS5P6dQ0vImw==" }, + "node_modules/@analytics/google-tag-manager": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@analytics/google-tag-manager/-/google-tag-manager-0.5.3.tgz", + "integrity": "sha512-hk9cQtccAA48y3yP7wZ7k0ugi7qqi4dGB/w8d+hXwnPbo52MNu07ZtclL94S4GCb2vfVPfUgGz8vpuYBUO1xZw==" + }, "node_modules/@analytics/localstorage-utils": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/@analytics/localstorage-utils/-/localstorage-utils-0.1.8.tgz", diff --git a/package.json b/package.json index 890feb96d1..f10776a936 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ }, "dependencies": { "@analytics/google-analytics": "^1.0.5", + "@analytics/google-tag-manager": "^0.5.3", "@appwrite.io/pink": "^0.0.4", "@aw-labs/appwrite-console": "^13.1.0", "@popperjs/core": "^2.11.6", diff --git a/src/lib/actions/analytics.ts b/src/lib/actions/analytics.ts index c4324b9704..66a0181404 100644 --- a/src/lib/actions/analytics.ts +++ b/src/lib/actions/analytics.ts @@ -1,7 +1,8 @@ import { page } from '$app/stores'; import { user } from '$lib/stores/user'; -import { ENV, MODE, VARS } from '$lib/system'; +import { ENV, MODE, VARS, isCloud } from '$lib/system'; import googleAnalytics from '@analytics/google-analytics'; +import googleTagManager from '@analytics/google-tag-manager'; import { AppwriteException } from '@aw-labs/appwrite-console'; import Analytics from 'analytics'; import { get } from 'svelte/store'; @@ -11,7 +12,14 @@ const analytics = Analytics({ plugins: [ googleAnalytics({ measurementIds: [VARS.GOOGLE_ANALYTICS || 'G-R4YJ9JN8L4'] - }) + }), + ...(isCloud + ? [ + googleTagManager({ + containerId: [VARS.GOOGLE_TAG || 'GTM-P3T9TBV'] + }) + ] + : []) ] }); diff --git a/src/lib/system.ts b/src/lib/system.ts index 596e4faca8..9847882851 100644 --- a/src/lib/system.ts +++ b/src/lib/system.ts @@ -10,7 +10,8 @@ export const VARS = { | undefined, CONSOLE_MODE: import.meta.env?.VITE_CONSOLE_MODE?.toString() as string | undefined, VERCEL_ENV: import.meta.env?.VITE_VERCEL_ENV?.toString() as string | undefined, - GOOGLE_ANALYTICS: import.meta.env?.VITE_GA_PROJECT?.toString() as string | undefined + GOOGLE_ANALYTICS: import.meta.env?.VITE_GA_PROJECT?.toString() as string | undefined, + GOOGLE_TAG: import.meta.env?.VITE_GTM_PROJECT?.toString() as string | undefined }; export const ENV = { diff --git a/vite.config.ts.timestamp-1682949685828.mjs b/vite.config.ts.timestamp-1682949685828.mjs index 8f6c39bf2d..839d5dbde4 100644 --- a/vite.config.ts.timestamp-1682949685828.mjs +++ b/vite.config.ts.timestamp-1682949685828.mjs @@ -1,45 +1,45 @@ // vite.config.ts -import { defineConfig } from "file:///home/thomas/Programming/Work/Appwrite/console/node_modules/vitest/dist/config.js"; -import { sveltekit } from "file:///home/thomas/Programming/Work/Appwrite/console/node_modules/@sveltejs/kit/src/exports/vite/index.js"; +import { defineConfig } from 'file:///home/thomas/Programming/Work/Appwrite/console/node_modules/vitest/dist/config.js'; +import { sveltekit } from 'file:///home/thomas/Programming/Work/Appwrite/console/node_modules/@sveltejs/kit/src/exports/vite/index.js'; var config = defineConfig({ - plugins: [sveltekit()], - optimizeDeps: { - include: ["echarts", "prismjs"] - }, - ssr: { - noExternal: ["echarts", "prismjs", "@analytics/google-analytics", "analytics"] - }, - define: { - "import.meta.env.VERCEL_ANALYTICS_ID": JSON.stringify(process.env.VERCEL_ANALYTICS_ID) - }, - legacy: { - buildSsrCjsExternalHeuristics: true - }, - server: { - port: 3e3 - } + plugins: [sveltekit()], + optimizeDeps: { + include: ['echarts', 'prismjs'] + }, + ssr: { + noExternal: ['echarts', 'prismjs', '@analytics/google-analytics', 'analytics'] + }, + define: { + 'import.meta.env.VERCEL_ANALYTICS_ID': JSON.stringify(process.env.VERCEL_ANALYTICS_ID) + }, + legacy: { + buildSsrCjsExternalHeuristics: true + }, + server: { + port: 3e3 + } }); var testConfig = defineConfig({ - resolve: { - // hotfix for https://github.com/vitest-dev/vitest/issues/2834 - conditions: ["browser"] - }, - test: { - include: ["tests/unit/**/*.test.ts"], - environment: "jsdom", - globals: true, - threads: true, - setupFiles: ["./tests/unit/setup.ts"], - deps: { - inline: ["@analytics/type-utils"] + resolve: { + // hotfix for https://github.com/vitest-dev/vitest/issues/2834 + conditions: ['browser'] + }, + test: { + include: ['tests/unit/**/*.test.ts'], + environment: 'jsdom', + globals: true, + threads: true, + setupFiles: ['./tests/unit/setup.ts'], + deps: { + inline: ['@analytics/type-utils'] + } } - } }); -var vite_config_default = process.env.VITEST ? { - ...config, - ...testConfig -} : config; -export { - vite_config_default as default -}; +var vite_config_default = process.env.VITEST + ? { + ...config, + ...testConfig + } + : config; +export { vite_config_default as default }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvaG9tZS90aG9tYXMvUHJvZ3JhbW1pbmcvV29yay9BcHB3cml0ZS9jb25zb2xlXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvaG9tZS90aG9tYXMvUHJvZ3JhbW1pbmcvV29yay9BcHB3cml0ZS9jb25zb2xlL3ZpdGUuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9ob21lL3Rob21hcy9Qcm9ncmFtbWluZy9Xb3JrL0FwcHdyaXRlL2NvbnNvbGUvdml0ZS5jb25maWcudHNcIjtpbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tICd2aXRlc3QvY29uZmlnJztcbmltcG9ydCB7IHN2ZWx0ZWtpdCB9IGZyb20gJ0BzdmVsdGVqcy9raXQvdml0ZSc7XG5cbmNvbnN0IGNvbmZpZyA9IGRlZmluZUNvbmZpZyh7XG4gICAgcGx1Z2luczogW3N2ZWx0ZWtpdCgpXSxcbiAgICBvcHRpbWl6ZURlcHM6IHtcbiAgICAgICAgaW5jbHVkZTogWydlY2hhcnRzJywgJ3ByaXNtanMnXVxuICAgIH0sXG4gICAgc3NyOiB7XG4gICAgICAgIG5vRXh0ZXJuYWw6IFsnZWNoYXJ0cycsICdwcmlzbWpzJywgJ0BhbmFseXRpY3MvZ29vZ2xlLWFuYWx5dGljcycsICdhbmFseXRpY3MnXVxuICAgIH0sXG4gICAgZGVmaW5lOiB7XG4gICAgICAgICdpbXBvcnQubWV0YS5lbnYuVkVSQ0VMX0FOQUxZVElDU19JRCc6IEpTT04uc3RyaW5naWZ5KHByb2Nlc3MuZW52LlZFUkNFTF9BTkFMWVRJQ1NfSUQpXG4gICAgfSxcbiAgICBsZWdhY3k6IHtcbiAgICAgICAgYnVpbGRTc3JDanNFeHRlcm5hbEhldXJpc3RpY3M6IHRydWVcbiAgICB9LFxuICAgIHNlcnZlcjoge1xuICAgICAgICBwb3J0OiAzMDAwXG4gICAgfVxufSk7XG5cbmNvbnN0IHRlc3RDb25maWcgPSBkZWZpbmVDb25maWcoe1xuICAgIHJlc29sdmU6IHtcbiAgICAgICAgLy8gaG90Zml4IGZvciBodHRwczovL2dpdGh1Yi5jb20vdml0ZXN0LWRldi92aXRlc3QvaXNzdWVzLzI4MzRcbiAgICAgICAgY29uZGl0aW9uczogWydicm93c2VyJ11cbiAgICB9LFxuICAgIHRlc3Q6IHtcbiAgICAgICAgaW5jbHVkZTogWyd0ZXN0cy91bml0LyoqLyoudGVzdC50cyddLFxuICAgICAgICBlbnZpcm9ubWVudDogJ2pzZG9tJyxcbiAgICAgICAgZ2xvYmFsczogdHJ1ZSxcbiAgICAgICAgdGhyZWFkczogdHJ1ZSxcbiAgICAgICAgc2V0dXBGaWxlczogWycuL3Rlc3RzL3VuaXQvc2V0dXAudHMnXSxcbiAgICAgICAgZGVwczoge1xuICAgICAgICAgICAgaW5saW5lOiBbJ0BhbmFseXRpY3MvdHlwZS11dGlscyddXG4gICAgICAgIH1cbiAgICB9XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgcHJvY2Vzcy5lbnYuVklURVNUXG4gICAgPyB7XG4gICAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAgIC4uLnRlc3RDb25maWdcbiAgICAgIH1cbiAgICA6IGNvbmZpZztcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBNFQsU0FBUyxvQkFBb0I7QUFDelYsU0FBUyxpQkFBaUI7QUFFMUIsSUFBTSxTQUFTLGFBQWE7QUFBQSxFQUN4QixTQUFTLENBQUMsVUFBVSxDQUFDO0FBQUEsRUFDckIsY0FBYztBQUFBLElBQ1YsU0FBUyxDQUFDLFdBQVcsU0FBUztBQUFBLEVBQ2xDO0FBQUEsRUFDQSxLQUFLO0FBQUEsSUFDRCxZQUFZLENBQUMsV0FBVyxXQUFXLCtCQUErQixXQUFXO0FBQUEsRUFDakY7QUFBQSxFQUNBLFFBQVE7QUFBQSxJQUNKLHVDQUF1QyxLQUFLLFVBQVUsUUFBUSxJQUFJLG1CQUFtQjtBQUFBLEVBQ3pGO0FBQUEsRUFDQSxRQUFRO0FBQUEsSUFDSiwrQkFBK0I7QUFBQSxFQUNuQztBQUFBLEVBQ0EsUUFBUTtBQUFBLElBQ0osTUFBTTtBQUFBLEVBQ1Y7QUFDSixDQUFDO0FBRUQsSUFBTSxhQUFhLGFBQWE7QUFBQSxFQUM1QixTQUFTO0FBQUE7QUFBQSxJQUVMLFlBQVksQ0FBQyxTQUFTO0FBQUEsRUFDMUI7QUFBQSxFQUNBLE1BQU07QUFBQSxJQUNGLFNBQVMsQ0FBQyx5QkFBeUI7QUFBQSxJQUNuQyxhQUFhO0FBQUEsSUFDYixTQUFTO0FBQUEsSUFDVCxTQUFTO0FBQUEsSUFDVCxZQUFZLENBQUMsdUJBQXVCO0FBQUEsSUFDcEMsTUFBTTtBQUFBLE1BQ0YsUUFBUSxDQUFDLHVCQUF1QjtBQUFBLElBQ3BDO0FBQUEsRUFDSjtBQUNKLENBQUM7QUFFRCxJQUFPLHNCQUFRLFFBQVEsSUFBSSxTQUNyQjtBQUFBLEVBQ0ksR0FBRztBQUFBLEVBQ0gsR0FBRztBQUNQLElBQ0E7IiwKICAibmFtZXMiOiBbXQp9Cg==