@alignable/bifrost 0.0.10 → 0.0.12
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/index.d.ts +1 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/PageShell.d.ts.map +1 -1
- package/dist/lib/getElementAttributes.d.ts +2 -0
- package/dist/lib/getElementAttributes.d.ts.map +1 -0
- package/dist/lib/getElementAttributes.js +7 -0
- package/dist/lib/turbolinks/browser_adapter.d.ts.map +1 -1
- package/dist/lib/turbolinks/browser_adapter.js +1 -4
- package/dist/lib/turbolinks/controller.d.ts +18 -44
- package/dist/lib/turbolinks/controller.d.ts.map +1 -1
- package/dist/lib/turbolinks/controller.js +42 -113
- package/dist/lib/turbolinks/head_details.d.ts +1 -0
- package/dist/lib/turbolinks/head_details.d.ts.map +1 -1
- package/dist/lib/turbolinks/head_details.js +5 -0
- package/dist/lib/turbolinks/index.d.ts +3 -3
- package/dist/lib/turbolinks/index.d.ts.map +1 -1
- package/dist/lib/turbolinks/index.js +18 -18
- package/dist/lib/turbolinks/lruCache.d.ts.map +1 -0
- package/dist/lib/turbolinks/mergeHead.d.ts +2 -0
- package/dist/lib/turbolinks/mergeHead.d.ts.map +1 -0
- package/dist/lib/{mergeHead.js → turbolinks/mergeHead.js} +27 -33
- package/dist/lib/turbolinks/util.d.ts +4 -0
- package/dist/lib/turbolinks/util.d.ts.map +1 -1
- package/dist/lib/turbolinks/util.js +40 -0
- package/dist/lib/turbolinks/visit.d.ts +5 -23
- package/dist/lib/turbolinks/visit.d.ts.map +1 -1
- package/dist/lib/turbolinks/visit.js +54 -118
- package/dist/proxy/pages/onRenderClient.d.ts.map +1 -1
- package/dist/proxy/pages/onRenderClient.js +40 -29
- package/dist/proxy/pages/onRenderHtml.d.ts.map +1 -1
- package/dist/proxy/pages/onRenderHtml.js +19 -5
- package/dist/proxy/pages/restorationVisit/+config.d.ts +2 -0
- package/dist/proxy/pages/restorationVisit/+config.d.ts.map +1 -1
- package/dist/proxy/pages/restorationVisit/+config.js +3 -0
- package/dist/proxy/pages/restorationVisit/onRenderClient.d.ts +3 -0
- package/dist/proxy/pages/restorationVisit/onRenderClient.d.ts.map +1 -0
- package/dist/proxy/pages/restorationVisit/onRenderClient.js +41 -0
- package/dist/renderer/onBeforeRoute.d.ts +1 -6
- package/dist/renderer/onBeforeRoute.d.ts.map +1 -1
- package/dist/renderer/onBeforeRoute.js +19 -11
- package/dist/renderer/onRenderClient.d.ts.map +1 -1
- package/dist/renderer/onRenderClient.js +29 -23
- package/dist/renderer/onRenderHtml.d.ts.map +1 -1
- package/dist/renderer/onRenderHtml.js +12 -16
- package/dist/renderer/utils/buildHead.d.ts +4 -0
- package/dist/renderer/utils/buildHead.d.ts.map +1 -0
- package/dist/renderer/utils/buildHead.js +10 -0
- package/dist/types/internal.d.ts +28 -17
- package/dist/types/internal.d.ts.map +1 -1
- package/package.json +13 -5
- package/dist/lib/dispatchTurbolinks.d.ts +0 -28
- package/dist/lib/dispatchTurbolinks.d.ts.map +0 -1
- package/dist/lib/dispatchTurbolinks.js +0 -5
- package/dist/lib/domUtils.d.ts +0 -3
- package/dist/lib/domUtils.d.ts.map +0 -1
- package/dist/lib/domUtils.js +0 -34
- package/dist/lib/getGlobalObject.d.ts +0 -5
- package/dist/lib/getGlobalObject.d.ts.map +0 -1
- package/dist/lib/getGlobalObject.js +0 -7
- package/dist/lib/linkInterceptor.d.ts +0 -2
- package/dist/lib/linkInterceptor.d.ts.map +0 -1
- package/dist/lib/linkInterceptor.js +0 -74
- package/dist/lib/lruCache.d.ts.map +0 -1
- package/dist/lib/mergeHead.d.ts +0 -2
- package/dist/lib/mergeHead.d.ts.map +0 -1
- package/dist/lib/navigateAnywhere.d.ts +0 -3
- package/dist/lib/navigateAnywhere.d.ts.map +0 -1
- package/dist/lib/navigateAnywhere.js +0 -15
- package/dist/lib/snapshots.d.ts +0 -9
- package/dist/lib/snapshots.d.ts.map +0 -1
- package/dist/lib/snapshots.js +0 -50
- package/dist/lib/turbolinks/history.d.ts +0 -22
- package/dist/lib/turbolinks/history.d.ts.map +0 -1
- package/dist/lib/turbolinks/history.js +0 -60
- package/dist/lib/turbolinks/namespace.d.ts +0 -12
- package/dist/lib/turbolinks/namespace.d.ts.map +0 -1
- package/dist/lib/turbolinks/namespace.js +0 -20
- package/dist/lib/turbolinks/passthrough_renderer.d.ts +0 -32
- package/dist/lib/turbolinks/passthrough_renderer.d.ts.map +0 -1
- package/dist/lib/turbolinks/passthrough_renderer.js +0 -128
- package/dist/lib/turbolinks/renderer.d.ts +0 -14
- package/dist/lib/turbolinks/renderer.d.ts.map +0 -1
- package/dist/lib/turbolinks/renderer.js +0 -28
- package/dist/lib/turbolinks/scroll_manager.d.ts +0 -16
- package/dist/lib/turbolinks/scroll_manager.d.ts.map +0 -1
- package/dist/lib/turbolinks/scroll_manager.js +0 -32
- package/dist/lib/turbolinks/snapshot.d.ts +0 -25
- package/dist/lib/turbolinks/snapshot.d.ts.map +0 -1
- package/dist/lib/turbolinks/snapshot.js +0 -77
- package/dist/lib/turbolinks/snapshot_cache.d.ts +0 -18
- package/dist/lib/turbolinks/snapshot_cache.d.ts.map +0 -1
- package/dist/lib/turbolinks/snapshot_cache.js +0 -42
- package/dist/lib/turbolinks/snapshot_renderer copy.d.ts +0 -45
- package/dist/lib/turbolinks/snapshot_renderer copy.d.ts.map +0 -1
- package/dist/lib/turbolinks/snapshot_renderer copy.js +0 -179
- package/dist/lib/turbolinks/snapshot_renderer.d.ts +0 -43
- package/dist/lib/turbolinks/snapshot_renderer.d.ts.map +0 -1
- package/dist/lib/turbolinks/snapshot_renderer.js +0 -139
- package/dist/lib/turbolinks/view.d.ts +0 -21
- package/dist/lib/turbolinks/view.d.ts.map +0 -1
- package/dist/lib/turbolinks/view.js +0 -42
- package/dist/lib/turbolinks.d.ts +0 -5
- package/dist/lib/turbolinks.d.ts.map +0 -1
- package/dist/lib/turbolinks.js +0 -14
- package/dist/proxy/pages/onPageTransitionStart.d.ts +0 -3
- package/dist/proxy/pages/onPageTransitionStart.d.ts.map +0 -1
- package/dist/proxy/pages/onPageTransitionStart.js +0 -9
- package/dist/renderer/utils/formatMetaObject.d.ts +0 -4
- package/dist/renderer/utils/formatMetaObject.d.ts.map +0 -1
- package/dist/renderer/utils/formatMetaObject.js +0 -3
- /package/dist/lib/{lruCache.d.ts → turbolinks/lruCache.d.ts} +0 -0
- /package/dist/lib/{lruCache.js → turbolinks/lruCache.js} +0 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { PageShell } from "../../../lib/PageShell.js";
|
|
3
|
+
import { renderReact } from "../../../lib/renderReact.js";
|
|
4
|
+
import { Turbolinks } from "../../../lib/turbolinks/index.js";
|
|
5
|
+
import { getElementAttributes } from "../../../lib/getElementAttributes.js";
|
|
6
|
+
import { copyElementAttributes } from "../../../lib/turbolinks/util.js";
|
|
7
|
+
export default async function onRenderClient(pageContext) {
|
|
8
|
+
if (pageContext.isHydration) {
|
|
9
|
+
throw new Error("restoration visit should never happen on initial render");
|
|
10
|
+
}
|
|
11
|
+
const { layoutProps, layout, bodyEl, headEl } = pageContext;
|
|
12
|
+
const { layoutMap } = pageContext.config;
|
|
13
|
+
if (!layoutMap) {
|
|
14
|
+
throw new Error("layoutMap needs to be defined in config");
|
|
15
|
+
}
|
|
16
|
+
const Layout = layoutMap[layout];
|
|
17
|
+
function render(body) {
|
|
18
|
+
renderReact(React.createElement(PageShell, { key: pageContext.urlOriginal, pageContext: pageContext },
|
|
19
|
+
React.createElement(Layout, { ...layoutProps },
|
|
20
|
+
React.createElement("div", { id: "proxied-body", dangerouslySetInnerHTML: { __html: body } }))), pageContext.isHydration);
|
|
21
|
+
}
|
|
22
|
+
const proxyBodyEl = bodyEl.querySelector("#proxied-body");
|
|
23
|
+
if (!proxyBodyEl) {
|
|
24
|
+
throw new Error("proxied body not found in cached snapshot");
|
|
25
|
+
}
|
|
26
|
+
Turbolinks._vpsOnRenderClient(headEl, true, () => {
|
|
27
|
+
// merge body attributes
|
|
28
|
+
document.body
|
|
29
|
+
.getAttributeNames()
|
|
30
|
+
.forEach((n) => document.body.removeAttribute(n));
|
|
31
|
+
copyElementAttributes(document.body, bodyEl);
|
|
32
|
+
// render body with react
|
|
33
|
+
render(proxyBodyEl.innerHTML);
|
|
34
|
+
});
|
|
35
|
+
// cache page context will save it and return it to us during restoration visits
|
|
36
|
+
Turbolinks._vpsCachePageContext({
|
|
37
|
+
layoutProps,
|
|
38
|
+
layout,
|
|
39
|
+
bodyAttrs: getElementAttributes(bodyEl),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
export default function onBeforeRoute(_pageContext: any): {
|
|
2
|
-
pageContext:
|
|
3
|
-
_pageId: string;
|
|
4
|
-
layoutProps: Record<string, unknown>;
|
|
5
|
-
proxySendClient?: import("../types/internal.js").Proxy | undefined;
|
|
6
|
-
layout: string;
|
|
7
|
-
};
|
|
2
|
+
pageContext: any;
|
|
8
3
|
} | undefined;
|
|
9
4
|
//# sourceMappingURL=onBeforeRoute.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onBeforeRoute.d.ts","sourceRoot":"","sources":["../../renderer/onBeforeRoute.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,YAAY,EAAE,GAAG
|
|
1
|
+
{"version":3,"file":"onBeforeRoute.d.ts","sourceRoot":"","sources":["../../renderer/onBeforeRoute.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,YAAY,EAAE,GAAG;;cA2BtD"}
|
|
@@ -1,15 +1,23 @@
|
|
|
1
|
-
import
|
|
1
|
+
// do NOT import turbolinks in this file. It is used on server side.
|
|
2
2
|
export default function onBeforeRoute(_pageContext) {
|
|
3
|
-
|
|
4
|
-
if (!!snapshot?.proxySendClient) {
|
|
5
|
-
return {
|
|
6
|
-
pageContext: {
|
|
7
|
-
...snapshot,
|
|
8
|
-
_pageId: "/proxy/pages/restorationVisit",
|
|
9
|
-
},
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
3
|
+
if (typeof window === "undefined")
|
|
13
4
|
return undefined;
|
|
5
|
+
const Turbolinks = window.Turbolinks;
|
|
6
|
+
const currentVisit = Turbolinks.controller.currentVisit;
|
|
7
|
+
if (!currentVisit || currentVisit.state === "completed") {
|
|
8
|
+
// old/nonexistent currentVisit means VPS is doing history navigation. Ideally we might turn off VPS' onpopstate listener.
|
|
9
|
+
const snapshot = Turbolinks.controller.getCachedSnapshotForLocation(window.location.href);
|
|
10
|
+
Turbolinks.controller.historyPoppedToLocationWithRestorationIdentifier(window.location.href, "");
|
|
11
|
+
if (!!snapshot) {
|
|
12
|
+
return {
|
|
13
|
+
pageContext: {
|
|
14
|
+
...snapshot.pageContext,
|
|
15
|
+
bodyEl: snapshot.bodyEl,
|
|
16
|
+
headEl: snapshot.headEl,
|
|
17
|
+
_pageId: "/proxy/pages/restorationVisit",
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
}
|
|
14
21
|
}
|
|
22
|
+
return undefined;
|
|
15
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onRenderClient.d.ts","sourceRoot":"","sources":["../../renderer/onRenderClient.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"onRenderClient.d.ts","sourceRoot":"","sources":["../../renderer/onRenderClient.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAahE,wBAA8B,cAAc,CAC1C,WAAW,EAAE,wBAAwB,iBA0CtC"}
|
|
@@ -1,36 +1,42 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { renderReact } from "../lib/renderReact.js";
|
|
3
3
|
import { PageShell } from "../lib/PageShell.js";
|
|
4
|
-
import {
|
|
4
|
+
import { Turbolinks } from "../lib/turbolinks/index.js";
|
|
5
|
+
import { documentPropsToReact } from "./utils/buildHead.js";
|
|
5
6
|
import { getDocumentProps } from "./getDocumentProps.js";
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
import { formatMetaObject } from "./utils/formatMetaObject.js";
|
|
10
|
-
setupTurbolinks();
|
|
7
|
+
import { createRoot } from "react-dom/client";
|
|
8
|
+
Turbolinks.start();
|
|
9
|
+
const PassThruLayout = ({ children, }) => React.createElement(React.Fragment, null, children);
|
|
11
10
|
export default async function onRenderClient(pageContext) {
|
|
12
|
-
if (
|
|
11
|
+
if (pageContext.redirectTo) {
|
|
12
|
+
Turbolinks.visit(pageContext.redirectTo);
|
|
13
13
|
return;
|
|
14
|
+
}
|
|
14
15
|
const { Page, pageProps } = pageContext;
|
|
15
|
-
const { Layout, layoutProps } = pageContext.config;
|
|
16
|
+
const { Layout = PassThruLayout, layoutProps } = pageContext.config;
|
|
16
17
|
if (!Page)
|
|
17
18
|
throw new Error("Client-side render() hook expects Page to be exported");
|
|
18
|
-
if (!Layout)
|
|
19
|
-
throw new Error("Client-side render() hook expects Layout to be exported");
|
|
20
|
-
document.removeEventListener("click", turbolinksClickListener);
|
|
21
|
-
cacheProxiedBody();
|
|
22
|
-
const { title = "", description = "", viewport } = getDocumentProps(pageContext);
|
|
23
|
-
document.title = title;
|
|
24
|
-
document.head
|
|
25
|
-
.querySelector("meta[name='description']")
|
|
26
|
-
?.setAttribute("content", description);
|
|
27
|
-
if (viewport) {
|
|
28
|
-
document.head
|
|
29
|
-
.querySelector("meta[name='viewport']")
|
|
30
|
-
?.setAttribute("content", formatMetaObject(viewport));
|
|
31
|
-
}
|
|
32
19
|
const page = (React.createElement(PageShell, { pageContext: pageContext },
|
|
33
20
|
React.createElement(Layout, { ...layoutProps },
|
|
34
21
|
React.createElement(Page, { ...pageProps }))));
|
|
35
|
-
|
|
22
|
+
if (pageContext.isHydration) {
|
|
23
|
+
// During hydration of initial ssr, body is in dom, not page props (to avoid double-send)
|
|
24
|
+
renderReact(page, pageContext.isHydration);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
const head = document.createElement("head");
|
|
28
|
+
createRoot(head).render(documentPropsToReact(getDocumentProps(pageContext)));
|
|
29
|
+
pageContext.config.scripts?.forEach((s) => {
|
|
30
|
+
head.insertAdjacentHTML("beforeend", s);
|
|
31
|
+
});
|
|
32
|
+
requestAnimationFrame(() => {
|
|
33
|
+
Turbolinks._vpsOnRenderClient(head, false, () => {
|
|
34
|
+
// clear anything on body
|
|
35
|
+
document.body
|
|
36
|
+
.getAttributeNames()
|
|
37
|
+
.forEach((n) => document.body.removeAttribute(n));
|
|
38
|
+
renderReact(page, pageContext.isHydration);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
36
42
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onRenderHtml.d.ts","sourceRoot":"","sources":["../../renderer/onRenderHtml.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAIhE,wBAA8B,YAAY,CACxC,WAAW,EAAE,wBAAwB;;;
|
|
1
|
+
{"version":3,"file":"onRenderHtml.d.ts","sourceRoot":"","sources":["../../renderer/onRenderHtml.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAIhE,wBAA8B,YAAY,CACxC,WAAW,EAAE,wBAAwB;;;GAiDtC"}
|
|
@@ -2,8 +2,8 @@ import ReactDOMServer from "react-dom/server";
|
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { PageShell } from "../lib/PageShell.js";
|
|
4
4
|
import { escapeInject, dangerouslySkipEscape } from "vite-plugin-ssr/server";
|
|
5
|
+
import { documentPropsToReact } from "./utils/buildHead.js";
|
|
5
6
|
import { getDocumentProps } from "./getDocumentProps.js";
|
|
6
|
-
import { formatMetaObject } from "./utils/formatMetaObject.js";
|
|
7
7
|
export default async function onRenderHtml(pageContext) {
|
|
8
8
|
const { Page, pageProps } = pageContext;
|
|
9
9
|
const { Layout, layoutProps } = pageContext.config;
|
|
@@ -14,24 +14,20 @@ export default async function onRenderHtml(pageContext) {
|
|
|
14
14
|
const pageHtml = ReactDOMServer.renderToString(React.createElement(PageShell, { pageContext: pageContext },
|
|
15
15
|
React.createElement(Layout, { ...layoutProps },
|
|
16
16
|
React.createElement(Page, { ...pageProps }))));
|
|
17
|
-
const
|
|
18
|
-
const googleAnalyticsTag = dangerouslySkipEscape(googleAnalytics);
|
|
19
|
-
const osanoTag = dangerouslySkipEscape(osano);
|
|
20
|
-
// // See https://vite-plugin-ssr.com/head
|
|
21
|
-
const { title = "", description = "", viewport } = getDocumentProps(pageContext);
|
|
22
|
-
if (!title) {
|
|
23
|
-
console.warn(`No title set for ${pageContext.urlOriginal}!`);
|
|
24
|
-
}
|
|
25
|
-
const viewportTag = !viewport ? "" : escapeInject `<meta content="${formatMetaObject(viewport)}" name="viewport">`;
|
|
17
|
+
const headHtml = ReactDOMServer.renderToString(documentPropsToReact(getDocumentProps(pageContext)));
|
|
26
18
|
const documentHtml = escapeInject `<!DOCTYPE html>
|
|
27
19
|
<html lang="en">
|
|
28
20
|
<head>
|
|
29
|
-
${
|
|
30
|
-
${
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
21
|
+
${dangerouslySkipEscape(headHtml)}
|
|
22
|
+
${dangerouslySkipEscape(Object.values(pageContext.config.scripts || {}).join(""))}
|
|
23
|
+
${dangerouslySkipEscape(`<script>
|
|
24
|
+
window.Turbolinks = {controller:{restorationIdentifier: ''}};
|
|
25
|
+
addEventListener("DOMContentLoaded", () => {
|
|
26
|
+
const event = new Event("turbolinks:load", { bubbles: true, cancelable: true });
|
|
27
|
+
event.data = {url: window.location.href};
|
|
28
|
+
document.dispatchEvent(event);
|
|
29
|
+
})
|
|
30
|
+
</script>`)}
|
|
35
31
|
</head>
|
|
36
32
|
<body>
|
|
37
33
|
<div id="page-view">${dangerouslySkipEscape(pageHtml)}</div>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildHead.d.ts","sourceRoot":"","sources":["../../../renderer/utils/buildHead.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,wBAAgB,oBAAoB,CAAC,EACnC,KAAU,EACV,WAAgB,EAChB,QAAa,GACd,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CAcpC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export function documentPropsToReact({ title = "", description = "", viewport = {}, }) {
|
|
3
|
+
return (React.createElement(React.Fragment, null,
|
|
4
|
+
React.createElement("title", null, title),
|
|
5
|
+
React.createElement("meta", { name: "title", property: "og:title", content: title }),
|
|
6
|
+
React.createElement("meta", { name: "description", content: description }),
|
|
7
|
+
React.createElement("meta", { name: "viewport", content: Object.entries(viewport)
|
|
8
|
+
.map((e) => e.join("="))
|
|
9
|
+
.join(", ") })));
|
|
10
|
+
}
|
package/dist/types/internal.d.ts
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { PropsWithChildren } from "react";
|
|
2
|
-
import { PageContextBuiltIn, PageContextBuiltInClientWithClientRouting as PageContextBuiltInClient } from "vite-plugin-ssr/types";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
2
|
+
import { Config, ConfigNonHeaderFile, PageContextBuiltIn, PageContextBuiltInClientWithClientRouting as PageContextBuiltInClient } from "vite-plugin-ssr/types";
|
|
3
|
+
import InternalProxyConfig from "../proxy/pages/+config.js";
|
|
4
|
+
import InternalNoProxyConfig from "../renderer/+config.js";
|
|
5
|
+
type ConfigConstructor<LibConfig extends ConfigNonHeaderFile, T extends {
|
|
6
|
+
[K in keyof LibConfig["meta"]]: any;
|
|
7
|
+
}> = Config & Partial<T>;
|
|
8
8
|
export type Layout<LayoutProps> = React.ComponentType<PropsWithChildren<LayoutProps>>;
|
|
9
9
|
export type LayoutMap<LayoutProps> = Record<string, Layout<LayoutProps>>;
|
|
10
|
+
export type ProxyConfig<LayoutProps> = ConfigConstructor<typeof InternalProxyConfig, {
|
|
11
|
+
layoutMap: LayoutMap<LayoutProps>;
|
|
12
|
+
}>;
|
|
10
13
|
type PageContextProxyCommon<LayoutProps = Record<string, unknown>> = {
|
|
11
14
|
layout: string;
|
|
12
15
|
layoutProps: LayoutProps;
|
|
13
|
-
config:
|
|
14
|
-
layoutMap: LayoutMap<LayoutProps>;
|
|
15
|
-
};
|
|
16
|
+
config: ProxyConfig<LayoutProps>;
|
|
16
17
|
};
|
|
17
18
|
type PageContextProxyClientHydration = {
|
|
18
19
|
isHydration: true;
|
|
@@ -21,32 +22,42 @@ type PageContextProxyClientHydration = {
|
|
|
21
22
|
type PageContextProxyClientNav = {
|
|
22
23
|
isHydration: false;
|
|
23
24
|
redirectTo?: string;
|
|
24
|
-
proxySendClient?:
|
|
25
|
+
proxySendClient?: string;
|
|
25
26
|
};
|
|
26
27
|
export type PageContextProxyServer = PageContextBuiltIn<Page> & PageContextProxyCommon & {
|
|
27
|
-
proxy:
|
|
28
|
+
proxy: string;
|
|
28
29
|
};
|
|
29
30
|
export type PageContextProxyClient = PageContextBuiltInClient<Page> & PageContextProxyCommon & (PageContextProxyClientHydration | PageContextProxyClientNav);
|
|
30
31
|
export type PageContextProxy = PageContextProxyServer | PageContextProxyClient;
|
|
32
|
+
export type PageContextProxyRestorationVisit = PageContextBuiltInClient<Page> & {
|
|
33
|
+
bodyEl: Element;
|
|
34
|
+
headEl: HTMLHeadElement;
|
|
35
|
+
} & PageContextProxyCommon;
|
|
31
36
|
export interface DocumentProps {
|
|
32
37
|
title?: string;
|
|
33
38
|
description?: string;
|
|
39
|
+
viewport?: {
|
|
40
|
+
[key: string]: string;
|
|
41
|
+
};
|
|
34
42
|
}
|
|
43
|
+
export type NoProxyConfig<LayoutProps> = ConfigConstructor<typeof InternalNoProxyConfig, {
|
|
44
|
+
Layout: Layout<LayoutProps>;
|
|
45
|
+
layoutProps: LayoutProps;
|
|
46
|
+
documentProps: DocumentProps;
|
|
47
|
+
scripts: string[];
|
|
48
|
+
isLoggedIn: boolean;
|
|
49
|
+
}>;
|
|
35
50
|
type PageProps = Record<string, unknown>;
|
|
36
51
|
type Page = React.ComponentType<PageProps>;
|
|
37
52
|
interface PageContextNoProxyCommon<LayoutProps = Record<string, unknown>> {
|
|
38
53
|
pageProps: PageProps;
|
|
39
54
|
redirectTo?: string;
|
|
40
55
|
documentProps?: DocumentProps;
|
|
41
|
-
config:
|
|
42
|
-
Layout: Layout<LayoutProps>;
|
|
43
|
-
layoutProps?: LayoutProps;
|
|
44
|
-
documentProps?: DocumentProps;
|
|
45
|
-
};
|
|
56
|
+
config: NoProxyConfig<LayoutProps>;
|
|
46
57
|
}
|
|
47
58
|
export type PageContextNoProxyServer = PageContextBuiltIn<Page> & PageContextNoProxyCommon;
|
|
48
59
|
export type PageContextNoProxyClient = PageContextBuiltInClient<Page> & PageContextNoProxyCommon;
|
|
49
60
|
export type PageContextNoProxy = PageContextNoProxyServer | PageContextNoProxyClient;
|
|
50
|
-
export type PageContext = PageContextNoProxy | PageContextProxy;
|
|
61
|
+
export type PageContext = PageContextNoProxy | PageContextProxy | PageContextProxyRestorationVisit;
|
|
51
62
|
export {};
|
|
52
63
|
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../types/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EACL,kBAAkB,EAClB,yCAAyC,IAAI,wBAAwB,EACtE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../types/internal.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alignable/bifrost",
|
|
3
3
|
"repository": "https://github.com/Alignable/bifrost.git",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.12",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
7
7
|
"exports": {
|
|
@@ -49,6 +49,10 @@
|
|
|
49
49
|
"types": "./dist/proxy/pages/restorationVisit/route.d.ts",
|
|
50
50
|
"default": "./dist/proxy/pages/restorationVisit/route.js"
|
|
51
51
|
},
|
|
52
|
+
"./proxy/pages/restorationVisit/onRenderClient": {
|
|
53
|
+
"types": "./dist/proxy/pages/restorationVisit/onRenderClient.d.ts",
|
|
54
|
+
"default": "./dist/proxy/pages/restorationVisit/onRenderClient.js"
|
|
55
|
+
},
|
|
52
56
|
".": {
|
|
53
57
|
"types": "./dist/index.d.ts",
|
|
54
58
|
"default": "./dist/index.js"
|
|
@@ -66,23 +70,27 @@
|
|
|
66
70
|
"scripts": {
|
|
67
71
|
"dev": "vite",
|
|
68
72
|
"release": "release-me patch",
|
|
69
|
-
"build": "rm -rf dist/ && yarn tsc"
|
|
73
|
+
"build": "rm -rf dist/ && yarn tsc",
|
|
74
|
+
"tsc": "tsc"
|
|
70
75
|
},
|
|
71
76
|
"files": [
|
|
72
77
|
"dist/"
|
|
73
78
|
],
|
|
74
79
|
"dependencies": {
|
|
75
80
|
"cross-env": "^7.0.3",
|
|
81
|
+
"jsdom": "^22.1.0",
|
|
76
82
|
"react": "^18.x.x",
|
|
77
83
|
"react-dom": "^18.x.x",
|
|
84
|
+
"tough-cookie": "^4.1.2",
|
|
78
85
|
"uuid": "^9.0.0",
|
|
79
|
-
"vite-plugin-ssr": "0.4.
|
|
86
|
+
"vite-plugin-ssr": "0.4.131-commit-35ca471f7"
|
|
80
87
|
},
|
|
81
88
|
"peerDependencies": {
|
|
82
89
|
"react": "^18.x.x",
|
|
83
90
|
"react-dom": "^18.x.x",
|
|
84
|
-
"
|
|
85
|
-
"
|
|
91
|
+
"typescript": ">=4.7",
|
|
92
|
+
"jsdom": "^22.1.0",
|
|
93
|
+
"vite-plugin-ssr": "0.4.131-commit-35ca471f7"
|
|
86
94
|
},
|
|
87
95
|
"devDependencies": {
|
|
88
96
|
"@types/node": "^18.11.9",
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export interface TurbolinksTiming {
|
|
2
|
-
requestEnd: number;
|
|
3
|
-
requestStart: number;
|
|
4
|
-
visitEnd: number;
|
|
5
|
-
visitStart: number;
|
|
6
|
-
}
|
|
7
|
-
export type TurbolinksEvents = {
|
|
8
|
-
"turbolinks:click": {
|
|
9
|
-
url: string;
|
|
10
|
-
};
|
|
11
|
-
"turbolinks:before-visit": {
|
|
12
|
-
url: string;
|
|
13
|
-
};
|
|
14
|
-
"turbolinks:visit": {
|
|
15
|
-
url: string;
|
|
16
|
-
};
|
|
17
|
-
"turbolinks:before-cache": {};
|
|
18
|
-
"turbolinks:before-render": {
|
|
19
|
-
newBody: string;
|
|
20
|
-
};
|
|
21
|
-
"turbolinks:render": {};
|
|
22
|
-
"turbolinks:load": {
|
|
23
|
-
url: string;
|
|
24
|
-
timing?: TurbolinksTiming;
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
export declare function dispatchTurbolinks<E extends keyof TurbolinksEvents>(name: E, data: TurbolinksEvents[E], target?: EventTarget): void;
|
|
28
|
-
//# sourceMappingURL=dispatchTurbolinks.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dispatchTurbolinks.d.ts","sourceRoot":"","sources":["../../lib/dispatchTurbolinks.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAGD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,yBAAyB,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,kBAAkB,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,yBAAyB,EAAE,EAAE,CAAC;IAC9B,0BAA0B,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC;IAC/C,mBAAmB,EAAE,EAAE,CAAC;IACxB,iBAAiB,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAC;CAC/D,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,gBAAgB,EACjE,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACzB,MAAM,GAAE,WAAsB,QAK/B"}
|
package/dist/lib/domUtils.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"domUtils.d.ts","sourceRoot":"","sources":["../../lib/domUtils.ts"],"names":[],"mappings":"AASA,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,MAAM,IAAI,WAepE;AAQD,wBAAgB,6BAA6B,CAC3C,iBAAiB,EAAE,iBAAiB,EAAE,QAMvC"}
|
package/dist/lib/domUtils.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
function copyElementAttributes(destinationElement, sourceElement) {
|
|
2
|
-
for (const { name, value } of Array.from(sourceElement.attributes)) {
|
|
3
|
-
destinationElement.setAttribute(name, value);
|
|
4
|
-
}
|
|
5
|
-
}
|
|
6
|
-
export function createScriptElement(element, cb) {
|
|
7
|
-
if (element.getAttribute("data-turbolinks-eval") == "false") {
|
|
8
|
-
return element;
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
const createdScriptElement = document.createElement("script");
|
|
12
|
-
createdScriptElement.textContent = element.textContent;
|
|
13
|
-
// async false makes scripts run in-order. it wont block js execution (thankfully)
|
|
14
|
-
// https://github.com/turbolinks/turbolinks/issues/282#issuecomment-355731712
|
|
15
|
-
createdScriptElement.async = false;
|
|
16
|
-
copyElementAttributes(createdScriptElement, element);
|
|
17
|
-
if (cb) {
|
|
18
|
-
createdScriptElement.addEventListener("load", cb);
|
|
19
|
-
}
|
|
20
|
-
return createdScriptElement;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
function replaceElementWithElement(fromElement, toElement) {
|
|
24
|
-
const parentElement = fromElement.parentElement;
|
|
25
|
-
if (parentElement) {
|
|
26
|
-
return parentElement.replaceChild(toElement, fromElement);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
export function activateNewBodyScriptElements(newScriptElements) {
|
|
30
|
-
for (const inertScriptElement of newScriptElements) {
|
|
31
|
-
const activatedScriptElement = createScriptElement(inertScriptElement);
|
|
32
|
-
replaceElementWithElement(inertScriptElement, activatedScriptElement);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export declare function getGlobalObject<T extends Record<string, unknown> = never>(key: `${string}.ts`, defaultValue: T): T;
|
|
2
|
-
declare global {
|
|
3
|
-
var __vite_plugin_ssr: undefined | Record<string, Record<string, unknown>>;
|
|
4
|
-
}
|
|
5
|
-
//# sourceMappingURL=getGlobalObject.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getGlobalObject.d.ts","sourceRoot":"","sources":["../../lib/getGlobalObject.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,EAEvE,GAAG,EAAE,GAAG,MAAM,KAAK,EACnB,YAAY,EAAE,CAAC,GACd,CAAC,CAIH;AACD,OAAO,CAAC,MAAM,CAAC;IACb,IAAI,iBAAiB,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAC3E"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export function getGlobalObject(
|
|
2
|
-
// We use the filename as key; each `getGlobalObject()` call should live in a unique filename.
|
|
3
|
-
key, defaultValue) {
|
|
4
|
-
const allGlobalObjects = (globalThis.__vite_plugin_ssr = globalThis.__vite_plugin_ssr || {});
|
|
5
|
-
const globalObject = (allGlobalObjects[key] = allGlobalObjects[key] || defaultValue);
|
|
6
|
-
return globalObject;
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"linkInterceptor.d.ts","sourceRoot":"","sources":["../../lib/linkInterceptor.ts"],"names":[],"mappings":"AA2EA,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,UAAU,QAgBxD"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { dispatchTurbolinks } from "./dispatchTurbolinks.js";
|
|
2
|
-
import { Turbolinks } from "./turbolinks.js";
|
|
3
|
-
function isAction(action) {
|
|
4
|
-
return action == "advance" || action == "replace" || action == "restore";
|
|
5
|
-
}
|
|
6
|
-
// TODO: polyfilled closest may not be required. check caniuse?
|
|
7
|
-
const closest = (() => {
|
|
8
|
-
const html = typeof window !== 'undefined' && document.documentElement;
|
|
9
|
-
const match = html.matches ||
|
|
10
|
-
html.webkitMatchesSelector ||
|
|
11
|
-
html.msMatchesSelector ||
|
|
12
|
-
html.mozMatchesSelector;
|
|
13
|
-
const closest = (html && html.closest) ||
|
|
14
|
-
function (selector) {
|
|
15
|
-
let element = this;
|
|
16
|
-
while (element) {
|
|
17
|
-
if (match.call(element, selector)) {
|
|
18
|
-
return element;
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
element = element.parentElement;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
return function (element, selector) {
|
|
26
|
-
return closest.call(element, selector);
|
|
27
|
-
};
|
|
28
|
-
})();
|
|
29
|
-
function elementIsVisitable(element) {
|
|
30
|
-
const container = closest(element, "[data-turbolinks]");
|
|
31
|
-
if (container) {
|
|
32
|
-
return container.getAttribute("data-turbolinks") != "false";
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
return true;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
function getVisitableLinkForTarget(target) {
|
|
39
|
-
if (target instanceof Element && elementIsVisitable(target)) {
|
|
40
|
-
return closest(target, "a[href]:not([target]):not([download])");
|
|
41
|
-
}
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
// stolen from turbolinks controller.ts
|
|
45
|
-
function clickEventIsSignificant(event) {
|
|
46
|
-
return !((event.target && event.target.isContentEditable) ||
|
|
47
|
-
event.defaultPrevented ||
|
|
48
|
-
event.which > 1 ||
|
|
49
|
-
event.altKey ||
|
|
50
|
-
event.ctrlKey ||
|
|
51
|
-
event.metaKey ||
|
|
52
|
-
event.shiftKey);
|
|
53
|
-
}
|
|
54
|
-
function getActionForLink(link) {
|
|
55
|
-
const action = link.getAttribute("data-turbolinks-action");
|
|
56
|
-
return isAction(action) ? action : "advance";
|
|
57
|
-
}
|
|
58
|
-
export function turbolinksClickListener(event) {
|
|
59
|
-
if (clickEventIsSignificant(event)) {
|
|
60
|
-
const link = getVisitableLinkForTarget(event.target);
|
|
61
|
-
if (link) {
|
|
62
|
-
const location = link.getAttribute("href") || "";
|
|
63
|
-
if (location) {
|
|
64
|
-
const action = getActionForLink(link);
|
|
65
|
-
event.preventDefault();
|
|
66
|
-
// TODO: technically canceling these events should do various things, but afaict we never do that in alignableweb
|
|
67
|
-
dispatchTurbolinks("turbolinks:click", { url: location }, link);
|
|
68
|
-
dispatchTurbolinks("turbolinks:before-visit", { url: location });
|
|
69
|
-
dispatchTurbolinks("turbolinks:visit", { url: location });
|
|
70
|
-
Turbolinks.visit(location, { action });
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lruCache.d.ts","sourceRoot":"","sources":["../../lib/lruCache.ts"],"names":[],"mappings":"AAAA,qBAAa,QAAQ,CAAC,CAAC;IACrB,OAAO,CAAC,MAAM,CAAwC;IACtD,OAAO,CAAC,UAAU,CAAC;gBAEP,UAAU,EAAE,MAAM;IAIvB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAa/B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;CAUjC"}
|
package/dist/lib/mergeHead.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mergeHead.d.ts","sourceRoot":"","sources":["../../lib/mergeHead.ts"],"names":[],"mappings":"AAUA,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,QAuBrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigateAnywhere.d.ts","sourceRoot":"","sources":["../../lib/navigateAnywhere.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAIzD,wBAAgB,gBAAgB,CAC9B,EAAE,CAAC,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,WAWtC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { navigate } from "vite-plugin-ssr/client/router";
|
|
2
|
-
// handle internal and external navigation
|
|
3
|
-
// returns whether or not we redirected
|
|
4
|
-
export function navigateAnywhere(to, opts) {
|
|
5
|
-
if (to) {
|
|
6
|
-
const url = new URL(to, window.location.href);
|
|
7
|
-
if (url.host !== window.location.host) {
|
|
8
|
-
window.location.href = to;
|
|
9
|
-
}
|
|
10
|
-
else {
|
|
11
|
-
navigate(url.pathname + url.hash + url.search, opts);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return !!to;
|
|
15
|
-
}
|
package/dist/lib/snapshots.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { PageContextProxyClient } from "../types/internal.js";
|
|
2
|
-
type Snapshot = Pick<Extract<PageContextProxyClient, {
|
|
3
|
-
isHydration: false;
|
|
4
|
-
}>, "proxySendClient" | "layout" | "layoutProps">;
|
|
5
|
-
export declare function writeRestorationIdentifier(pageContext: PageContextProxyClient): void;
|
|
6
|
-
export declare function cacheProxiedBody(): void;
|
|
7
|
-
export declare function getSnapshot(): Snapshot | undefined;
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=snapshots.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../lib/snapshots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAS,MAAM,sBAAsB,CAAC;AAKrE,KAAK,QAAQ,GAAG,IAAI,CAClB,OAAO,CAAC,sBAAsB,EAAE;IAAE,WAAW,EAAE,KAAK,CAAA;CAAE,CAAC,EACvD,iBAAiB,GAAG,QAAQ,GAAG,aAAa,CAC7C,CAAC;AAMF,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,sBAAsB,QAkBpC;AASD,wBAAgB,gBAAgB,SAiB/B;AAGD,wBAAgB,WAAW,IAAI,QAAQ,GAAG,SAAS,CAGlD"}
|