From 443a1af6c3be3b479b8c232b8f74bac466a88ce5 Mon Sep 17 00:00:00 2001 From: Eric Spishak-Thomas Date: Thu, 7 Nov 2024 17:25:08 -0500 Subject: [PATCH 1/4] Add an option to prefix an endpoint path with an environment variable. --- packages/web/src/generic.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/web/src/generic.ts b/packages/web/src/generic.ts index 0e19896..3f1e3da 100644 --- a/packages/web/src/generic.ts +++ b/packages/web/src/generic.ts @@ -65,6 +65,8 @@ function inject( } if (props.endpoint) { script.dataset.endpoint = props.endpoint; + } else if (process.env.ENDPOINT_PATH_PREFIX) { + script.dataset.endpoint = `/${process.env.ENDPOINT_PATH_PREFIX}/_vercel/insights`; } if (props.dsn) { script.dataset.dsn = props.dsn; From 80e6c340f80e274281a7b0b5ea326d55f87e228e Mon Sep 17 00:00:00 2001 From: Eric Spishak-Thomas Date: Fri, 8 Nov 2024 10:10:45 -0500 Subject: [PATCH 2/4] prefiv environment variable with next_public_ so it gets inlined at build time --- packages/web/src/generic.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/web/src/generic.ts b/packages/web/src/generic.ts index 3f1e3da..9e75375 100644 --- a/packages/web/src/generic.ts +++ b/packages/web/src/generic.ts @@ -66,7 +66,7 @@ function inject( if (props.endpoint) { script.dataset.endpoint = props.endpoint; } else if (process.env.ENDPOINT_PATH_PREFIX) { - script.dataset.endpoint = `/${process.env.ENDPOINT_PATH_PREFIX}/_vercel/insights`; + script.dataset.endpoint = `/${process.env.NEXT_PUBLIC_ENDPOINT_PATH_PREFIX}/_vercel/insights`; } if (props.dsn) { script.dataset.dsn = props.dsn; From 40c1c03ac9faff663f1a3ef5ec6111c266390002 Mon Sep 17 00:00:00 2001 From: Eric Spishak-Thomas Date: Fri, 8 Nov 2024 11:58:11 -0500 Subject: [PATCH 3/4] correct env name everywhere, and make more specific --- packages/web/src/generic.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/web/src/generic.ts b/packages/web/src/generic.ts index 9e75375..e07aeb6 100644 --- a/packages/web/src/generic.ts +++ b/packages/web/src/generic.ts @@ -65,8 +65,8 @@ function inject( } if (props.endpoint) { script.dataset.endpoint = props.endpoint; - } else if (process.env.ENDPOINT_PATH_PREFIX) { - script.dataset.endpoint = `/${process.env.NEXT_PUBLIC_ENDPOINT_PATH_PREFIX}/_vercel/insights`; + } else if (process.env.NEXT_PUBLIC_SPEED_INSIGHTS_ENDPOINT_PATH_PREFIX) { + script.dataset.endpoint = `/${process.env.NEXT_PUBLIC_SPEED_INSIGHTS_ENDPOINT_PATH_PREFIX}/_vercel/insights`; } if (props.dsn) { script.dataset.dsn = props.dsn; From ca52ba34a9636dcf09af6a1c4289769ea52a02ce Mon Sep 17 00:00:00 2001 From: feugy Date: Thu, 14 Nov 2024 09:14:35 +0100 Subject: [PATCH 4/4] chore: use correct name --- packages/web/package.json | 2 +- packages/web/src/generic.ts | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/web/package.json b/packages/web/package.json index ef95d31..4d17fbf 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,6 +1,6 @@ { "name": "@vercel/analytics", - "version": "1.4.0", + "version": "1.5.0-canary.1", "description": "Gain real-time traffic insights with Vercel Web Analytics", "keywords": [ "analytics", diff --git a/packages/web/src/generic.ts b/packages/web/src/generic.ts index e07aeb6..ab478c9 100644 --- a/packages/web/src/generic.ts +++ b/packages/web/src/generic.ts @@ -18,6 +18,8 @@ export const DEV_SCRIPT_URL = 'https://va.vercel-scripts.com/v1/script.debug.js'; export const PROD_SCRIPT_URL = '/_vercel/insights/script.js'; +export const basepathVariableName = 'NEXT_PUBLIC_WEB_ANALYTICS_BASEPATH'; + /** * Injects the Vercel Web Analytics script into the page head and starts tracking page views. Read more in our [documentation](https://vercel.com/docs/concepts/analytics/package). * @param [props] - Analytics options. @@ -65,8 +67,8 @@ function inject( } if (props.endpoint) { script.dataset.endpoint = props.endpoint; - } else if (process.env.NEXT_PUBLIC_SPEED_INSIGHTS_ENDPOINT_PATH_PREFIX) { - script.dataset.endpoint = `/${process.env.NEXT_PUBLIC_SPEED_INSIGHTS_ENDPOINT_PATH_PREFIX}/_vercel/insights`; + } else if (process.env[basepathVariableName]) { + script.dataset.endpoint = `/${process.env[basepathVariableName]}/_vercel/insights`; } if (props.dsn) { script.dataset.dsn = props.dsn;