@base44-preview/vite-plugin 0.2.16-pr.25.411dcb7 → 0.2.16-pr.25.c6d6e08
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.
- package/dist/html-injections-plugin.d.ts.map +1 -1
- package/dist/html-injections-plugin.js +49 -49
- package/dist/html-injections-plugin.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -12
- package/dist/index.js.map +1 -1
- package/dist/injections/analytics-tracker.js +36 -45
- package/dist/injections/analytics-tracker.js.map +1 -1
- package/package.json +1 -1
- package/src/html-injections-plugin.ts +78 -64
- package/src/index.ts +8 -12
- package/src/injections/analytics-tracker.ts +44 -53
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-injections-plugin.d.ts","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,EAAE;IACD,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,
|
|
1
|
+
{"version":3,"file":"html-injections-plugin.d.ts","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,EAAE;IACD,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,GAsFM,MAAM,CACZ"}
|
|
@@ -1,74 +1,74 @@
|
|
|
1
1
|
export function htmlInjectionsPlugin({ hmrNotifier, navigationNotifier, visualEditAgent, analyticsTracker, }) {
|
|
2
2
|
return {
|
|
3
3
|
name: "html-injections",
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
4
|
+
transformIndexHtml: {
|
|
5
|
+
order: "pre",
|
|
6
|
+
handler(html, ctx) {
|
|
7
|
+
const isProductionBuild = ctx.bundle !== undefined; // bundle exists only during build
|
|
8
|
+
const mode = ctx.server?.config.mode ?? "production";
|
|
9
|
+
const isDev = mode !== "production";
|
|
10
|
+
const tags = [];
|
|
11
|
+
// Sandbox/dev injections - only in dev mode
|
|
12
|
+
if (isDev) {
|
|
13
|
+
tags.push({
|
|
14
|
+
tag: "script",
|
|
15
|
+
attrs: {
|
|
16
|
+
src: "/node_modules/@base44/vite-plugin/dist/injections/unhandled-errors-handlers.js",
|
|
17
|
+
type: "module",
|
|
18
|
+
},
|
|
19
|
+
injectTo: "head",
|
|
20
|
+
}, {
|
|
21
|
+
tag: "script",
|
|
22
|
+
attrs: {
|
|
23
|
+
src: "/node_modules/@base44/vite-plugin/dist/injections/sandbox-mount-observer.js",
|
|
24
|
+
type: "module",
|
|
25
|
+
},
|
|
26
|
+
injectTo: "body",
|
|
27
|
+
});
|
|
28
|
+
if (hmrNotifier) {
|
|
29
|
+
tags.push({
|
|
26
30
|
tag: "script",
|
|
27
31
|
attrs: {
|
|
28
32
|
src: "/node_modules/@base44/vite-plugin/dist/injections/sandbox-hmr-notifier.js",
|
|
29
33
|
type: "module",
|
|
30
34
|
},
|
|
31
35
|
injectTo: "head",
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
? [
|
|
37
|
-
{
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
if (navigationNotifier) {
|
|
39
|
+
tags.push({
|
|
38
40
|
tag: "script",
|
|
39
41
|
attrs: {
|
|
40
42
|
src: "/node_modules/@base44/vite-plugin/dist/injections/navigation-notifier.js",
|
|
41
43
|
type: "module",
|
|
42
44
|
},
|
|
43
45
|
injectTo: "head",
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
? [
|
|
49
|
-
{
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
if (visualEditAgent) {
|
|
49
|
+
tags.push({
|
|
50
50
|
tag: "script",
|
|
51
51
|
attrs: {
|
|
52
52
|
src: "/node_modules/@base44/vite-plugin/dist/injections/visual-edit-agent.js",
|
|
53
53
|
type: "module",
|
|
54
54
|
},
|
|
55
55
|
injectTo: "body",
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// Analytics tracker - only in production builds
|
|
60
|
+
if (isProductionBuild && analyticsTracker) {
|
|
61
|
+
tags.push({
|
|
62
|
+
tag: "script",
|
|
63
|
+
attrs: {
|
|
64
|
+
src: "/node_modules/@base44/vite-plugin/dist/injections/analytics-tracker.js",
|
|
65
|
+
type: "module",
|
|
56
66
|
},
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
tag: "script",
|
|
63
|
-
attrs: {
|
|
64
|
-
src: "/node_modules/@base44/vite-plugin/dist/injections/analytics-tracker.js",
|
|
65
|
-
type: "module",
|
|
66
|
-
},
|
|
67
|
-
injectTo: "head",
|
|
68
|
-
},
|
|
69
|
-
]
|
|
70
|
-
: []),
|
|
71
|
-
];
|
|
67
|
+
injectTo: "head",
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return tags;
|
|
71
|
+
},
|
|
72
72
|
},
|
|
73
73
|
};
|
|
74
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-injections-plugin.js","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,EACnC,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GAMjB;IACC,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"html-injections-plugin.js","sourceRoot":"","sources":["../src/html-injections-plugin.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,oBAAoB,CAAC,EACnC,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GAMjB;IACC,OAAO;QACL,IAAI,EAAE,iBAAiB;QACvB,kBAAkB,EAAE;YAClB,KAAK,EAAE,KAAK;YACZ,OAAO,CAAC,IAAI,EAAE,GAAG;gBACf,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,kCAAkC;gBACtF,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,IAAI,YAAY,CAAC;gBACrD,MAAM,KAAK,GAAG,IAAI,KAAK,YAAY,CAAC;gBAEpC,MAAM,IAAI,GAIL,EAAE,CAAC;gBAER,4CAA4C;gBAC5C,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,IAAI,CACP;wBACE,GAAG,EAAE,QAAQ;wBACb,KAAK,EAAE;4BACL,GAAG,EAAE,gFAAgF;4BACrF,IAAI,EAAE,QAAQ;yBACf;wBACD,QAAQ,EAAE,MAAM;qBACjB,EACD;wBACE,GAAG,EAAE,QAAQ;wBACb,KAAK,EAAE;4BACL,GAAG,EAAE,6EAA6E;4BAClF,IAAI,EAAE,QAAQ;yBACf;wBACD,QAAQ,EAAE,MAAM;qBACjB,CACF,CAAC;oBAEF,IAAI,WAAW,EAAE,CAAC;wBAChB,IAAI,CAAC,IAAI,CAAC;4BACR,GAAG,EAAE,QAAQ;4BACb,KAAK,EAAE;gCACL,GAAG,EAAE,2EAA2E;gCAChF,IAAI,EAAE,QAAQ;6BACf;4BACD,QAAQ,EAAE,MAAM;yBACjB,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,kBAAkB,EAAE,CAAC;wBACvB,IAAI,CAAC,IAAI,CAAC;4BACR,GAAG,EAAE,QAAQ;4BACb,KAAK,EAAE;gCACL,GAAG,EAAE,0EAA0E;gCAC/E,IAAI,EAAE,QAAQ;6BACf;4BACD,QAAQ,EAAE,MAAM;yBACjB,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,eAAe,EAAE,CAAC;wBACpB,IAAI,CAAC,IAAI,CAAC;4BACR,GAAG,EAAE,QAAQ;4BACb,KAAK,EAAE;gCACL,GAAG,EAAE,wEAAwE;gCAC7E,IAAI,EAAE,QAAQ;6BACf;4BACD,QAAQ,EAAE,MAAM;yBACjB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,gDAAgD;gBAChD,IAAI,iBAAiB,IAAI,gBAAgB,EAAE,CAAC;oBAC1C,IAAI,CAAC,IAAI,CAAC;wBACR,GAAG,EAAE,QAAQ;wBACb,KAAK,EAAE;4BACL,GAAG,EAAE,wEAAwE;4BAC7E,IAAI,EAAE,QAAQ;yBACf;wBACD,QAAQ,EAAE,MAAM;qBACjB,CAAC,CAAC;gBACL,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;SACF;KACQ,CAAC;AACd,CAAC"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,MAAM,CAAC;AAS/C,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,IAAI,GAAE;IACJ,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,MAAM,CAAC;AAS/C,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,IAAI,GAAE;IACJ,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvB,iBAgNP"}
|
package/dist/index.js
CHANGED
|
@@ -11,25 +11,20 @@ export default function vitePlugin(opts = {}) {
|
|
|
11
11
|
name: "base44",
|
|
12
12
|
config: ({ mode, root = process.cwd() }) => {
|
|
13
13
|
const env = loadEnv(mode ?? "development", root, "");
|
|
14
|
-
const isProductionBuild = mode === "production";
|
|
15
14
|
return {
|
|
16
15
|
resolve: {
|
|
17
16
|
alias: {
|
|
18
17
|
"@/": "/src/",
|
|
19
18
|
},
|
|
20
19
|
},
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
? JSON.stringify("")
|
|
25
|
-
: JSON.stringify(process.env.MODAL_SANDBOX_ID || ""),
|
|
26
|
-
...(legacySDKImports
|
|
27
|
-
? {
|
|
20
|
+
...(legacySDKImports
|
|
21
|
+
? {
|
|
22
|
+
define: {
|
|
28
23
|
"process.env.VITE_BASE44_APP_ID": JSON.stringify(env.VITE_BASE44_APP_ID),
|
|
29
24
|
"process.env.VITE_BASE44_BACKEND_URL": JSON.stringify(env.VITE_BASE44_BACKEND_URL),
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
},
|
|
26
|
+
}
|
|
27
|
+
: {}),
|
|
33
28
|
...(isRunningInSandbox
|
|
34
29
|
? {
|
|
35
30
|
server: {
|
|
@@ -154,9 +149,10 @@ export default function vitePlugin(opts = {}) {
|
|
|
154
149
|
},
|
|
155
150
|
errorOverlayPlugin(),
|
|
156
151
|
visualEditPlugin(),
|
|
157
|
-
htmlInjectionsPlugin({ hmrNotifier, navigationNotifier, visualEditAgent, analyticsTracker }),
|
|
158
152
|
]
|
|
159
153
|
: []),
|
|
154
|
+
// HTML injections - handles both dev (sandbox) and production injections
|
|
155
|
+
htmlInjectionsPlugin({ hmrNotifier, navigationNotifier, visualEditAgent, analyticsTracker }),
|
|
160
156
|
];
|
|
161
157
|
}
|
|
162
158
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAE1D,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,OAMI,EAAE;IAEN,MAAM,EACJ,gBAAgB,GAAG,KAAK,EACxB,WAAW,GAAG,KAAK,EACnB,kBAAkB,GAAG,KAAK,EAC1B,eAAe,GAAG,KAAK,EACvB,gBAAgB,GAAG,KAAK,GACzB,GAAG,IAAI,CAAC;IAET,OAAO;QACL;YACE,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;gBACzC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,IAAI,aAAa,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,48 +1,39 @@
|
|
|
1
|
-
//
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
async function initAnalytics() {
|
|
9
|
-
try {
|
|
10
|
-
// @ts-expect-error - SDK is provided by the consuming app, not this package
|
|
11
|
-
const { createClient } = await import("@base44/sdk");
|
|
12
|
-
const client = createClient({
|
|
13
|
-
appId: import.meta.env.VITE_BASE44_APP_ID,
|
|
14
|
-
serverUrl: import.meta.env.VITE_BASE44_BACKEND_URL || "",
|
|
15
|
-
});
|
|
16
|
-
function trackPageView() {
|
|
17
|
-
const path = window.location.pathname;
|
|
18
|
-
if (path === lastPath)
|
|
19
|
-
return;
|
|
20
|
-
lastPath = path;
|
|
21
|
-
const pageName = getPageNameFromPath(path) || "home";
|
|
22
|
-
client.appLogs.logUserInApp(pageName).catch(() => { });
|
|
23
|
-
}
|
|
24
|
-
// Intercept history.pushState
|
|
25
|
-
const originalPushState = history.pushState.bind(history);
|
|
26
|
-
history.pushState = function (...args) {
|
|
27
|
-
originalPushState(...args);
|
|
28
|
-
trackPageView();
|
|
29
|
-
};
|
|
30
|
-
// Intercept history.replaceState
|
|
31
|
-
const originalReplaceState = history.replaceState.bind(history);
|
|
32
|
-
history.replaceState = function (...args) {
|
|
33
|
-
originalReplaceState(...args);
|
|
34
|
-
trackPageView();
|
|
35
|
-
};
|
|
36
|
-
// Handle browser back/forward navigation
|
|
37
|
-
window.addEventListener("popstate", trackPageView);
|
|
38
|
-
// Track initial page view
|
|
39
|
-
trackPageView();
|
|
40
|
-
}
|
|
41
|
-
catch {
|
|
42
|
-
// Silently fail if SDK is not available
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
initAnalytics();
|
|
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;
|
|
46
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();
|
|
47
38
|
export {};
|
|
48
39
|
//# sourceMappingURL=analytics-tracker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics-tracker.js","sourceRoot":"","sources":["../../src/injections/analytics-tracker.ts"],"names":[],"mappings":"AAAA,
|
|
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
|
@@ -13,74 +13,88 @@ export function htmlInjectionsPlugin({
|
|
|
13
13
|
}) {
|
|
14
14
|
return {
|
|
15
15
|
name: "html-injections",
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
{
|
|
38
|
-
tag: "script",
|
|
39
|
-
attrs: {
|
|
40
|
-
src: "/node_modules/@base44/vite-plugin/dist/injections/sandbox-hmr-notifier.js",
|
|
41
|
-
type: "module",
|
|
42
|
-
},
|
|
43
|
-
injectTo: "head",
|
|
16
|
+
transformIndexHtml: {
|
|
17
|
+
order: "pre",
|
|
18
|
+
handler(html, ctx) {
|
|
19
|
+
const isProductionBuild = ctx.bundle !== undefined; // bundle exists only during build
|
|
20
|
+
const mode = ctx.server?.config.mode ?? "production";
|
|
21
|
+
const isDev = mode !== "production";
|
|
22
|
+
|
|
23
|
+
const tags: Array<{
|
|
24
|
+
tag: string;
|
|
25
|
+
attrs: Record<string, string>;
|
|
26
|
+
injectTo: "head" | "body";
|
|
27
|
+
}> = [];
|
|
28
|
+
|
|
29
|
+
// Sandbox/dev injections - only in dev mode
|
|
30
|
+
if (isDev) {
|
|
31
|
+
tags.push(
|
|
32
|
+
{
|
|
33
|
+
tag: "script",
|
|
34
|
+
attrs: {
|
|
35
|
+
src: "/node_modules/@base44/vite-plugin/dist/injections/unhandled-errors-handlers.js",
|
|
36
|
+
type: "module",
|
|
44
37
|
},
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
{
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
38
|
+
injectTo: "head",
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
tag: "script",
|
|
42
|
+
attrs: {
|
|
43
|
+
src: "/node_modules/@base44/vite-plugin/dist/injections/sandbox-mount-observer.js",
|
|
44
|
+
type: "module",
|
|
45
|
+
},
|
|
46
|
+
injectTo: "body",
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
if (hmrNotifier) {
|
|
51
|
+
tags.push({
|
|
52
|
+
tag: "script",
|
|
53
|
+
attrs: {
|
|
54
|
+
src: "/node_modules/@base44/vite-plugin/dist/injections/sandbox-hmr-notifier.js",
|
|
55
|
+
type: "module",
|
|
56
56
|
},
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
injectTo: "body",
|
|
57
|
+
injectTo: "head",
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
if (navigationNotifier) {
|
|
62
|
+
tags.push({
|
|
63
|
+
tag: "script",
|
|
64
|
+
attrs: {
|
|
65
|
+
src: "/node_modules/@base44/vite-plugin/dist/injections/navigation-notifier.js",
|
|
66
|
+
type: "module",
|
|
68
67
|
},
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
injectTo: "head",
|
|
68
|
+
injectTo: "head",
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
if (visualEditAgent) {
|
|
73
|
+
tags.push({
|
|
74
|
+
tag: "script",
|
|
75
|
+
attrs: {
|
|
76
|
+
src: "/node_modules/@base44/vite-plugin/dist/injections/visual-edit-agent.js",
|
|
77
|
+
type: "module",
|
|
80
78
|
},
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
injectTo: "body",
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Analytics tracker - only in production builds
|
|
85
|
+
if (isProductionBuild && analyticsTracker) {
|
|
86
|
+
tags.push({
|
|
87
|
+
tag: "script",
|
|
88
|
+
attrs: {
|
|
89
|
+
src: "/node_modules/@base44/vite-plugin/dist/injections/analytics-tracker.js",
|
|
90
|
+
type: "module",
|
|
91
|
+
},
|
|
92
|
+
injectTo: "head",
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return tags;
|
|
97
|
+
},
|
|
84
98
|
},
|
|
85
99
|
} as Plugin;
|
|
86
100
|
}
|
package/src/index.ts
CHANGED
|
@@ -29,7 +29,6 @@ export default function vitePlugin(
|
|
|
29
29
|
name: "base44",
|
|
30
30
|
config: ({ mode, root = process.cwd() }) => {
|
|
31
31
|
const env = loadEnv(mode ?? "development", root, "");
|
|
32
|
-
const isProductionBuild = mode === "production";
|
|
33
32
|
|
|
34
33
|
return {
|
|
35
34
|
resolve: {
|
|
@@ -37,22 +36,18 @@ export default function vitePlugin(
|
|
|
37
36
|
"@/": "/src/",
|
|
38
37
|
},
|
|
39
38
|
},
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
? JSON.stringify("")
|
|
44
|
-
: JSON.stringify(process.env.MODAL_SANDBOX_ID || ""),
|
|
45
|
-
...(legacySDKImports
|
|
46
|
-
? {
|
|
39
|
+
...(legacySDKImports
|
|
40
|
+
? {
|
|
41
|
+
define: {
|
|
47
42
|
"process.env.VITE_BASE44_APP_ID": JSON.stringify(
|
|
48
43
|
env.VITE_BASE44_APP_ID
|
|
49
44
|
),
|
|
50
45
|
"process.env.VITE_BASE44_BACKEND_URL": JSON.stringify(
|
|
51
46
|
env.VITE_BASE44_BACKEND_URL
|
|
52
47
|
),
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
|
|
48
|
+
},
|
|
49
|
+
}
|
|
50
|
+
: {}),
|
|
56
51
|
...(isRunningInSandbox
|
|
57
52
|
? ({
|
|
58
53
|
server: {
|
|
@@ -222,8 +217,9 @@ export default function vitePlugin(
|
|
|
222
217
|
} as Plugin,
|
|
223
218
|
errorOverlayPlugin(),
|
|
224
219
|
visualEditPlugin(),
|
|
225
|
-
htmlInjectionsPlugin({ hmrNotifier, navigationNotifier, visualEditAgent, analyticsTracker }),
|
|
226
220
|
]
|
|
227
221
|
: []),
|
|
222
|
+
// HTML injections - handles both dev (sandbox) and production injections
|
|
223
|
+
htmlInjectionsPlugin({ hmrNotifier, navigationNotifier, visualEditAgent, analyticsTracker }),
|
|
228
224
|
];
|
|
229
225
|
}
|
|
@@ -1,54 +1,45 @@
|
|
|
1
|
-
//
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const pageName = getPageNameFromPath(path) || "home";
|
|
26
|
-
client.appLogs.logUserInApp(pageName).catch(() => {});
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// Intercept history.pushState
|
|
30
|
-
const originalPushState = history.pushState.bind(history);
|
|
31
|
-
history.pushState = function (...args) {
|
|
32
|
-
originalPushState(...args);
|
|
33
|
-
trackPageView();
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
// Intercept history.replaceState
|
|
37
|
-
const originalReplaceState = history.replaceState.bind(history);
|
|
38
|
-
history.replaceState = function (...args) {
|
|
39
|
-
originalReplaceState(...args);
|
|
40
|
-
trackPageView();
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
// Handle browser back/forward navigation
|
|
44
|
-
window.addEventListener("popstate", trackPageView);
|
|
45
|
-
|
|
46
|
-
// Track initial page view
|
|
47
|
-
trackPageView();
|
|
48
|
-
} catch {
|
|
49
|
-
// Silently fail if SDK is not available
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
initAnalytics();
|
|
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(() => {});
|
|
54
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();
|