@base44-preview/vite-plugin 0.2.20-pr.33.42f673d → 0.2.20-pr.33.9a75a12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=analytics-tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics-tracker.d.ts","sourceRoot":"","sources":["../../src/injections/analytics-tracker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ // Analytics tracker - tracks page views in production
2
+ // This script is only injected in production builds
3
+ let lastPath = "";
4
+ function getPageNameFromPath(path) {
5
+ const segments = path.split("/").filter(Boolean);
6
+ return segments[0] || null;
7
+ }
8
+ function trackPageView() {
9
+ const path = window.location.pathname;
10
+ if (path === lastPath)
11
+ return;
12
+ lastPath = path;
13
+ const pageName = getPageNameFromPath(path) || "home";
14
+ const appId = import.meta.env.VITE_BASE44_APP_ID;
15
+ const serverUrl = import.meta.env.VITE_BASE44_BACKEND_URL || "";
16
+ if (!appId)
17
+ return;
18
+ fetch(`${serverUrl}/app-logs/${appId}/log-user-in-app/${pageName}`, {
19
+ method: "POST",
20
+ }).catch(() => { });
21
+ }
22
+ // Intercept history.pushState
23
+ const originalPushState = history.pushState.bind(history);
24
+ history.pushState = function (...args) {
25
+ originalPushState(...args);
26
+ trackPageView();
27
+ };
28
+ // Intercept history.replaceState
29
+ const originalReplaceState = history.replaceState.bind(history);
30
+ history.replaceState = function (...args) {
31
+ originalReplaceState(...args);
32
+ trackPageView();
33
+ };
34
+ // Handle browser back/forward navigation
35
+ window.addEventListener("popstate", trackPageView);
36
+ // Track initial page view
37
+ trackPageView();
38
+ export {};
39
+ //# sourceMappingURL=analytics-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics-tracker.js","sourceRoot":"","sources":["../../src/injections/analytics-tracker.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,oDAAoD;AAEpD,IAAI,QAAQ,GAAG,EAAE,CAAC;AAElB,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC7B,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACtC,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO;IAC9B,QAAQ,GAAG,IAAI,CAAC;IAEhB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC;IACjD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC;IAEhE,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,KAAK,CAAC,GAAG,SAAS,aAAa,KAAK,oBAAoB,QAAQ,EAAE,EAAE;QAClE,MAAM,EAAE,MAAM;KACf,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,8BAA8B;AAC9B,MAAM,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1D,OAAO,CAAC,SAAS,GAAG,UAAU,GAAG,IAAI;IACnC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC;IAC3B,aAAa,EAAE,CAAC;AAClB,CAAC,CAAC;AAEF,iCAAiC;AACjC,MAAM,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAChE,OAAO,CAAC,YAAY,GAAG,UAAU,GAAG,IAAI;IACtC,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9B,aAAa,EAAE,CAAC;AAClB,CAAC,CAAC;AAEF,yCAAyC;AACzC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEnD,0BAA0B;AAC1B,aAAa,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@base44-preview/vite-plugin",
3
- "version": "0.2.20-pr.33.42f673d",
3
+ "version": "0.2.20-pr.33.9a75a12",
4
4
  "description": "The Vite plugin for base44 based applications",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -0,0 +1,45 @@
1
+ // Analytics tracker - tracks page views in production
2
+ // This script is only injected in production builds
3
+
4
+ let lastPath = "";
5
+
6
+ function getPageNameFromPath(path: string): string | null {
7
+ const segments = path.split("/").filter(Boolean);
8
+ return segments[0] || null;
9
+ }
10
+
11
+ function trackPageView() {
12
+ const path = window.location.pathname;
13
+ if (path === lastPath) return;
14
+ lastPath = path;
15
+
16
+ const pageName = getPageNameFromPath(path) || "home";
17
+ const appId = import.meta.env.VITE_BASE44_APP_ID;
18
+ const serverUrl = import.meta.env.VITE_BASE44_BACKEND_URL || "";
19
+
20
+ if (!appId) return;
21
+
22
+ fetch(`${serverUrl}/app-logs/${appId}/log-user-in-app/${pageName}`, {
23
+ method: "POST",
24
+ }).catch(() => {});
25
+ }
26
+
27
+ // Intercept history.pushState
28
+ const originalPushState = history.pushState.bind(history);
29
+ history.pushState = function (...args) {
30
+ originalPushState(...args);
31
+ trackPageView();
32
+ };
33
+
34
+ // Intercept history.replaceState
35
+ const originalReplaceState = history.replaceState.bind(history);
36
+ history.replaceState = function (...args) {
37
+ originalReplaceState(...args);
38
+ trackPageView();
39
+ };
40
+
41
+ // Handle browser back/forward navigation
42
+ window.addEventListener("popstate", trackPageView);
43
+
44
+ // Track initial page view
45
+ trackPageView();