From 33a93b634e77de728527f631a0e8eb6d84c99181 Mon Sep 17 00:00:00 2001 From: Phil Kuang Date: Thu, 2 Dec 2021 08:54:00 -0500 Subject: [PATCH] refactor(analytics-module-ga): rename gaAddress option to scriptSrc Signed-off-by: Phil Kuang --- .changeset/sixty-files-talk.md | 2 +- plugins/analytics-module-ga/config.d.ts | 4 ++-- .../implementations/AnalyticsApi/GoogleAnalytics.ts | 12 +++++------- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/.changeset/sixty-files-talk.md b/.changeset/sixty-files-talk.md index b19e1d0820..67d8c48b7e 100644 --- a/.changeset/sixty-files-talk.md +++ b/.changeset/sixty-files-talk.md @@ -2,4 +2,4 @@ '@backstage/plugin-analytics-module-ga': patch --- -Support self hosted analytics.js script via `gaAddress` config option +Support self hosted analytics.js script via `scriptSrc` config option diff --git a/plugins/analytics-module-ga/config.d.ts b/plugins/analytics-module-ga/config.d.ts index ac4202fff8..ac534daae8 100644 --- a/plugins/analytics-module-ga/config.d.ts +++ b/plugins/analytics-module-ga/config.d.ts @@ -29,10 +29,10 @@ export interface Config { /** * URL to Google Analytics analytics.js script - * Defaults to https://www.google-analytics.com/analytics.js + * Defaults to fetching from GA source (eg. https://www.google-analytics.com/analytics.js) * @visibility frontend */ - gaAddress?: string; + scriptSrc?: string; /** * Whether or not to log analytics debug statements to the console. diff --git a/plugins/analytics-module-ga/src/apis/implementations/AnalyticsApi/GoogleAnalytics.ts b/plugins/analytics-module-ga/src/apis/implementations/AnalyticsApi/GoogleAnalytics.ts index 7db2ac1926..23da7c8589 100644 --- a/plugins/analytics-module-ga/src/apis/implementations/AnalyticsApi/GoogleAnalytics.ts +++ b/plugins/analytics-module-ga/src/apis/implementations/AnalyticsApi/GoogleAnalytics.ts @@ -42,13 +42,13 @@ export class GoogleAnalytics implements AnalyticsApi { private constructor({ cdmConfig, trackingId, - gaAddress, + scriptSrc, testMode, debug, }: { cdmConfig: CustomDimensionOrMetricConfig[]; trackingId: string; - gaAddress: string; + scriptSrc?: string; testMode: boolean; debug: boolean; }) { @@ -56,9 +56,9 @@ export class GoogleAnalytics implements AnalyticsApi { // Initialize Google Analytics. ReactGA.initialize(trackingId, { - gaAddress, testMode, debug, + gaAddress: scriptSrc, titleCase: false, }); } @@ -69,9 +69,7 @@ export class GoogleAnalytics implements AnalyticsApi { static fromConfig(config: Config) { // Get all necessary configuration. const trackingId = config.getString('app.analytics.ga.trackingId'); - const gaAddress = - config.getOptionalString('app.analytics.ga.gaAddress') ?? - 'https://www.google-analytics.com/analytics.js'; + const scriptSrc = config.getOptionalString('app.analytics.ga.scriptSrc'); const debug = config.getOptionalBoolean('app.analytics.ga.debug') ?? false; const testMode = config.getOptionalBoolean('app.analytics.ga.testMode') ?? false; @@ -92,7 +90,7 @@ export class GoogleAnalytics implements AnalyticsApi { // Return an implementation instance. return new GoogleAnalytics({ trackingId, - gaAddress, + scriptSrc, cdmConfig, testMode, debug,