ai-spector 0.6.3 → 0.6.4
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.
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type { PrototypeScreenMapEntry } from "./types.js";
|
|
2
2
|
/** All deploy-prefix paths that need an index.html copy (every URL segment). */
|
|
3
3
|
export declare function spaFallbackDeployPaths(deployBase: string, previewOrRoute: string): string[];
|
|
4
|
+
/** Relative base href so `./assets/…` resolves to the SPA build root, not the nested folder. */
|
|
5
|
+
export declare function baseHrefForRouteDepth(routeSegmentCount: number): string;
|
|
6
|
+
export declare function injectSpaFallbackBaseHref(html: string, baseHref: string): string;
|
|
4
7
|
/**
|
|
5
8
|
* Copy the SPA entry index.html into each screen route directory so zip/static hosts
|
|
6
9
|
* can serve deep links without nginx try_files (e.g. dist/trip/x/print/index.html).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spa-route-fallbacks.d.ts","sourceRoot":"","sources":["../../src/prototype/spa-route-fallbacks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAI1D,gFAAgF;AAChF,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,MAAM,EAAE,CAaV;
|
|
1
|
+
{"version":3,"file":"spa-route-fallbacks.d.ts","sourceRoot":"","sources":["../../src/prototype/spa-route-fallbacks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAI1D,gFAAgF;AAChF,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GACrB,MAAM,EAAE,CAaV;AA8BD,gGAAgG;AAChG,wBAAgB,qBAAqB,CAAC,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAKvE;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAShF;AASD;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,uBAAuB,EAAE,CAAC;CACpC,GAAG,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CA2CrD"}
|
|
@@ -27,6 +27,40 @@ function deployPathToRepoIndexPath(deployPath, repoBuildDest, deployBase) {
|
|
|
27
27
|
: normalizedDeploy;
|
|
28
28
|
return join(repoBuildDest, routePart, "index.html").replace(/\\/g, "/");
|
|
29
29
|
}
|
|
30
|
+
function routePartFromDeployPath(deployPath, deployBase) {
|
|
31
|
+
const normalizedDeploy = deployPath.replace(/\\/g, "/");
|
|
32
|
+
const base = deployBase.replace(/\/$/, "");
|
|
33
|
+
if (normalizedDeploy === base) {
|
|
34
|
+
return "";
|
|
35
|
+
}
|
|
36
|
+
if (normalizedDeploy.startsWith(`${base}/`)) {
|
|
37
|
+
return normalizedDeploy.slice(base.length + 1);
|
|
38
|
+
}
|
|
39
|
+
return normalizedDeploy;
|
|
40
|
+
}
|
|
41
|
+
/** Relative base href so `./assets/…` resolves to the SPA build root, not the nested folder. */
|
|
42
|
+
export function baseHrefForRouteDepth(routeSegmentCount) {
|
|
43
|
+
if (routeSegmentCount <= 0) {
|
|
44
|
+
return "./";
|
|
45
|
+
}
|
|
46
|
+
return "../".repeat(routeSegmentCount);
|
|
47
|
+
}
|
|
48
|
+
export function injectSpaFallbackBaseHref(html, baseHref) {
|
|
49
|
+
const baseTag = `<base href="${baseHref.replace(/"/g, """)}">`;
|
|
50
|
+
if (/<base\s[\s\S]*?\/?>/i.test(html)) {
|
|
51
|
+
return html.replace(/<base\s[\s\S]*?\/?>/i, baseTag);
|
|
52
|
+
}
|
|
53
|
+
if (/<head(\s[^>]*)?>/i.test(html)) {
|
|
54
|
+
return html.replace(/<head(\s[^>]*)?>/i, (match) => `${match}\n ${baseTag}`);
|
|
55
|
+
}
|
|
56
|
+
return `${baseTag}\n${html}`;
|
|
57
|
+
}
|
|
58
|
+
function fallbackIndexHtml(rootIndexHtml, deployPath, deployBase) {
|
|
59
|
+
const depth = routePartFromDeployPath(deployPath, deployBase)
|
|
60
|
+
.split("/")
|
|
61
|
+
.filter(Boolean).length;
|
|
62
|
+
return injectSpaFallbackBaseHref(rootIndexHtml, baseHrefForRouteDepth(depth));
|
|
63
|
+
}
|
|
30
64
|
/**
|
|
31
65
|
* Copy the SPA entry index.html into each screen route directory so zip/static hosts
|
|
32
66
|
* can serve deep links without nginx try_files (e.g. dist/trip/x/print/index.html).
|
|
@@ -57,7 +91,7 @@ export async function writeSpaRouteFallbacks(opts) {
|
|
|
57
91
|
continue;
|
|
58
92
|
}
|
|
59
93
|
await mkdir(dirname(absIndex), { recursive: true });
|
|
60
|
-
await writeFile(absIndex, indexHtml, "utf8");
|
|
94
|
+
await writeFile(absIndex, fallbackIndexHtml(indexHtml, deployPath, deployBase), "utf8");
|
|
61
95
|
written.push(relIndex.replace(/\\/g, "/"));
|
|
62
96
|
}
|
|
63
97
|
return { filesWritten: written.length, paths: written };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spa-route-fallbacks.js","sourceRoot":"","sources":["../../src/prototype/spa-route-fallbacks.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"spa-route-fallbacks.js","sourceRoot":"","sources":["../../src/prototype/spa-route-fallbacks.ts"],"names":[],"mappings":"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"}
|