@alignable/bifrost 0.0.13 → 0.0.15

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.
Files changed (136) hide show
  1. package/dist/chunk-4DL7N7Y5.js +17 -0
  2. package/dist/chunk-4DL7N7Y5.js.map +1 -0
  3. package/dist/chunk-ABW2IXO4.js +936 -0
  4. package/dist/chunk-ABW2IXO4.js.map +1 -0
  5. package/dist/chunk-AIK6VRNF.js +20 -0
  6. package/dist/chunk-AIK6VRNF.js.map +1 -0
  7. package/dist/chunk-CXNEKD7R.js +9 -0
  8. package/dist/chunk-CXNEKD7R.js.map +1 -0
  9. package/dist/chunk-EYYCKU6F.js +11 -0
  10. package/dist/chunk-EYYCKU6F.js.map +1 -0
  11. package/dist/chunk-LEUA73GT.js +26 -0
  12. package/dist/chunk-LEUA73GT.js.map +1 -0
  13. package/dist/chunk-RQ34EW7E.js +13 -0
  14. package/dist/chunk-RQ34EW7E.js.map +1 -0
  15. package/dist/index.d.ts +14 -8
  16. package/dist/index.js +8 -1
  17. package/dist/index.js.map +1 -0
  18. package/dist/internal-fe09ebc7.d.ts +72 -0
  19. package/dist/proxy/pages/+config.d.ts +2 -2
  20. package/dist/proxy/pages/+config.js +17 -12
  21. package/dist/proxy/pages/+config.js.map +1 -0
  22. package/dist/proxy/pages/Page.d.ts +3 -2
  23. package/dist/proxy/pages/Page.js +7 -3
  24. package/dist/proxy/pages/Page.js.map +1 -0
  25. package/dist/proxy/pages/onBeforeRender.d.ts +9 -3
  26. package/dist/proxy/pages/onBeforeRender.js +9 -5
  27. package/dist/proxy/pages/onBeforeRender.js.map +1 -0
  28. package/dist/proxy/pages/onRenderClient.d.ts +9 -3
  29. package/dist/proxy/pages/onRenderClient.js +59 -51
  30. package/dist/proxy/pages/onRenderClient.js.map +1 -0
  31. package/dist/proxy/pages/onRenderHtml.d.ts +11 -4
  32. package/dist/proxy/pages/onRenderHtml.js +54 -39
  33. package/dist/proxy/pages/onRenderHtml.js.map +1 -0
  34. package/dist/proxy/pages/restorationVisit/+config.d.ts +2 -2
  35. package/dist/proxy/pages/restorationVisit/+config.js +19 -14
  36. package/dist/proxy/pages/restorationVisit/+config.js.map +1 -0
  37. package/dist/proxy/pages/restorationVisit/onRenderClient.d.ts +9 -3
  38. package/dist/proxy/pages/restorationVisit/onRenderClient.js +49 -39
  39. package/dist/proxy/pages/restorationVisit/onRenderClient.js.map +1 -0
  40. package/dist/proxy/pages/restorationVisit/route.d.ts +3 -2
  41. package/dist/proxy/pages/restorationVisit/route.js +7 -3
  42. package/dist/proxy/pages/restorationVisit/route.js.map +1 -0
  43. package/dist/renderer/+config.d.ts +2 -5
  44. package/dist/renderer/+config.js +25 -14
  45. package/dist/renderer/+config.js.map +1 -0
  46. package/dist/renderer/_error/Page.d.ts +2 -3
  47. package/dist/renderer/_error/Page.js +11 -12
  48. package/dist/renderer/_error/Page.js.map +1 -0
  49. package/dist/renderer/getConfigOrPageContext.d.ts +9 -4
  50. package/dist/renderer/getConfigOrPageContext.js +7 -6
  51. package/dist/renderer/getConfigOrPageContext.js.map +1 -0
  52. package/dist/renderer/onBeforeRoute.d.ts +3 -2
  53. package/dist/renderer/onBeforeRoute.js +28 -20
  54. package/dist/renderer/onBeforeRoute.js.map +1 -0
  55. package/dist/renderer/onRenderClient.d.ts +9 -3
  56. package/dist/renderer/onRenderClient.js +53 -38
  57. package/dist/renderer/onRenderClient.js.map +1 -0
  58. package/dist/renderer/onRenderHtml.d.ts +11 -4
  59. package/dist/renderer/onRenderHtml.js +43 -23
  60. package/dist/renderer/onRenderHtml.js.map +1 -0
  61. package/dist/renderer/usePageContext.d.ts +7 -4
  62. package/dist/renderer/usePageContext.js +10 -21
  63. package/dist/renderer/usePageContext.js.map +1 -0
  64. package/dist/renderer/utils/buildHead.d.ts +9 -4
  65. package/dist/renderer/utils/buildHead.js +7 -10
  66. package/dist/renderer/utils/buildHead.js.map +1 -0
  67. package/dist/renderer/utils/getGlobalObject.d.ts +3 -2
  68. package/dist/renderer/utils/getGlobalObject.js +7 -8
  69. package/dist/renderer/utils/getGlobalObject.js.map +1 -0
  70. package/package.json +5 -4
  71. package/dist/index.d.ts.map +0 -1
  72. package/dist/lib/PageShell.d.ts +0 -7
  73. package/dist/lib/PageShell.d.ts.map +0 -1
  74. package/dist/lib/PageShell.js +0 -6
  75. package/dist/lib/getElementAttributes.d.ts +0 -2
  76. package/dist/lib/getElementAttributes.d.ts.map +0 -1
  77. package/dist/lib/getElementAttributes.js +0 -7
  78. package/dist/lib/renderReact.d.ts +0 -3
  79. package/dist/lib/renderReact.d.ts.map +0 -1
  80. package/dist/lib/renderReact.js +0 -14
  81. package/dist/lib/turbolinks/adapter.d.ts +0 -17
  82. package/dist/lib/turbolinks/adapter.d.ts.map +0 -1
  83. package/dist/lib/turbolinks/adapter.js +0 -1
  84. package/dist/lib/turbolinks/browser_adapter.d.ts +0 -28
  85. package/dist/lib/turbolinks/browser_adapter.d.ts.map +0 -1
  86. package/dist/lib/turbolinks/browser_adapter.js +0 -68
  87. package/dist/lib/turbolinks/controller.d.ts +0 -75
  88. package/dist/lib/turbolinks/controller.d.ts.map +0 -1
  89. package/dist/lib/turbolinks/controller.js +0 -219
  90. package/dist/lib/turbolinks/head_details.d.ts +0 -24
  91. package/dist/lib/turbolinks/head_details.d.ts.map +0 -1
  92. package/dist/lib/turbolinks/head_details.js +0 -97
  93. package/dist/lib/turbolinks/index.d.ts +0 -14
  94. package/dist/lib/turbolinks/index.d.ts.map +0 -1
  95. package/dist/lib/turbolinks/index.js +0 -55
  96. package/dist/lib/turbolinks/location.d.ts +0 -23
  97. package/dist/lib/turbolinks/location.d.ts.map +0 -1
  98. package/dist/lib/turbolinks/location.js +0 -75
  99. package/dist/lib/turbolinks/lruCache.d.ts +0 -8
  100. package/dist/lib/turbolinks/lruCache.d.ts.map +0 -1
  101. package/dist/lib/turbolinks/lruCache.js +0 -25
  102. package/dist/lib/turbolinks/mergeHead.d.ts +0 -2
  103. package/dist/lib/turbolinks/mergeHead.d.ts.map +0 -1
  104. package/dist/lib/turbolinks/mergeHead.js +0 -120
  105. package/dist/lib/turbolinks/progress_bar.d.ts +0 -24
  106. package/dist/lib/turbolinks/progress_bar.d.ts.map +0 -1
  107. package/dist/lib/turbolinks/progress_bar.js +0 -99
  108. package/dist/lib/turbolinks/types.d.ts +0 -7
  109. package/dist/lib/turbolinks/types.d.ts.map +0 -1
  110. package/dist/lib/turbolinks/types.js +0 -3
  111. package/dist/lib/turbolinks/util.d.ts +0 -18
  112. package/dist/lib/turbolinks/util.d.ts.map +0 -1
  113. package/dist/lib/turbolinks/util.js +0 -125
  114. package/dist/lib/turbolinks/visit.d.ts +0 -55
  115. package/dist/lib/turbolinks/visit.d.ts.map +0 -1
  116. package/dist/lib/turbolinks/visit.js +0 -163
  117. package/dist/proxy/pages/+config.d.ts.map +0 -1
  118. package/dist/proxy/pages/Page.d.ts.map +0 -1
  119. package/dist/proxy/pages/onBeforeRender.d.ts.map +0 -1
  120. package/dist/proxy/pages/onRenderClient.d.ts.map +0 -1
  121. package/dist/proxy/pages/onRenderHtml.d.ts.map +0 -1
  122. package/dist/proxy/pages/restorationVisit/+config.d.ts.map +0 -1
  123. package/dist/proxy/pages/restorationVisit/onRenderClient.d.ts.map +0 -1
  124. package/dist/proxy/pages/restorationVisit/route.d.ts.map +0 -1
  125. package/dist/renderer/+config.d.ts.map +0 -1
  126. package/dist/renderer/_error/Page.d.ts.map +0 -1
  127. package/dist/renderer/getConfigOrPageContext.d.ts.map +0 -1
  128. package/dist/renderer/onBeforeRoute.d.ts.map +0 -1
  129. package/dist/renderer/onRenderClient.d.ts.map +0 -1
  130. package/dist/renderer/onRenderHtml.d.ts.map +0 -1
  131. package/dist/renderer/usePageContext.d.ts.map +0 -1
  132. package/dist/renderer/utils/buildHead.d.ts.map +0 -1
  133. package/dist/renderer/utils/getGlobalObject.d.ts.map +0 -1
  134. package/dist/types/internal.d.ts +0 -64
  135. package/dist/types/internal.d.ts.map +0 -1
  136. package/dist/types/internal.js +0 -1
@@ -1,43 +1,58 @@
1
+ import {
2
+ Turbolinks,
3
+ renderReact
4
+ } from "../chunk-ABW2IXO4.js";
5
+ import {
6
+ documentPropsToReact
7
+ } from "../chunk-AIK6VRNF.js";
8
+ import {
9
+ PageShell
10
+ } from "../chunk-4DL7N7Y5.js";
11
+ import {
12
+ getPageContextOrConfig
13
+ } from "../chunk-CXNEKD7R.js";
14
+ import "../chunk-LEUA73GT.js";
15
+ import "../chunk-EYYCKU6F.js";
16
+
17
+ // renderer/onRenderClient.tsx
1
18
  import React from "react";
2
- import { renderReact } from "../lib/renderReact.js";
3
- import { PageShell } from "../lib/PageShell.js";
4
- import { Turbolinks } from "../lib/turbolinks/index.js";
5
- import { documentPropsToReact } from "./utils/buildHead.js";
6
- import { getPageContextOrConfig } from "./getConfigOrPageContext.js";
7
19
  import { createRoot } from "react-dom/client";
8
20
  Turbolinks.start();
9
- const PassThruLayout = ({ children, }) => React.createElement(React.Fragment, null, children);
10
- export default async function onRenderClient(pageContext) {
11
- if (pageContext.redirectTo) {
12
- Turbolinks.visit(pageContext.redirectTo);
13
- return;
14
- }
15
- const { Page, pageProps } = pageContext;
16
- const { Layout = PassThruLayout } = pageContext.config;
17
- const layoutProps = getPageContextOrConfig(pageContext, "layoutProps") || {};
18
- if (!Page)
19
- throw new Error("Client-side render() hook expects Page to be exported");
20
- const page = (React.createElement(PageShell, { pageContext: pageContext },
21
- React.createElement(Layout, { ...layoutProps },
22
- React.createElement(Page, { ...pageProps }))));
23
- if (pageContext.isHydration) {
24
- // During hydration of initial ssr, body is in dom, not page props (to avoid double-send)
21
+ var PassThruLayout = ({
22
+ children
23
+ }) => /* @__PURE__ */ React.createElement(React.Fragment, null, children);
24
+ async function onRenderClient(pageContext) {
25
+ if (pageContext.redirectTo) {
26
+ Turbolinks.visit(pageContext.redirectTo);
27
+ return;
28
+ }
29
+ const { Page, pageProps } = pageContext;
30
+ const { Layout = PassThruLayout } = pageContext.config;
31
+ const layoutProps = getPageContextOrConfig(pageContext, "layoutProps") || {};
32
+ if (!Page)
33
+ throw new Error("Client-side render() hook expects Page to be exported");
34
+ const page = /* @__PURE__ */ React.createElement(PageShell, { pageContext }, /* @__PURE__ */ React.createElement(Layout, { ...layoutProps }, /* @__PURE__ */ React.createElement(Page, { ...pageProps })));
35
+ if (pageContext.isHydration) {
36
+ renderReact(page, pageContext.isHydration);
37
+ } else {
38
+ const head = document.createElement("head");
39
+ createRoot(head).render(
40
+ documentPropsToReact(
41
+ getPageContextOrConfig(pageContext, "documentProps") || {}
42
+ )
43
+ );
44
+ pageContext.config.scripts?.forEach((s) => {
45
+ head.insertAdjacentHTML("beforeend", s);
46
+ });
47
+ requestAnimationFrame(() => {
48
+ Turbolinks._vpsOnRenderClient(head, false, () => {
49
+ document.body.getAttributeNames().forEach((n) => document.body.removeAttribute(n));
25
50
  renderReact(page, pageContext.isHydration);
26
- }
27
- else {
28
- const head = document.createElement("head");
29
- createRoot(head).render(documentPropsToReact(getPageContextOrConfig(pageContext, "documentProps") || {}));
30
- pageContext.config.scripts?.forEach((s) => {
31
- head.insertAdjacentHTML("beforeend", s);
32
- });
33
- requestAnimationFrame(() => {
34
- Turbolinks._vpsOnRenderClient(head, false, () => {
35
- // clear anything on body
36
- document.body
37
- .getAttributeNames()
38
- .forEach((n) => document.body.removeAttribute(n));
39
- renderReact(page, pageContext.isHydration);
40
- });
41
- });
42
- }
51
+ });
52
+ });
53
+ }
43
54
  }
55
+ export {
56
+ onRenderClient as default
57
+ };
58
+ //# sourceMappingURL=onRenderClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../renderer/onRenderClient.tsx"],"sourcesContent":["import React, { PropsWithChildren } from \"react\";\nimport { renderReact } from \"../lib/renderReact.js\";\nimport { PageContextNoProxyClient } from \"../types/internal.js\";\nimport { PageShell } from \"../lib/PageShell.js\";\nimport { Turbolinks } from \"../lib/turbolinks/index.js\";\nimport { documentPropsToReact } from \"./utils/buildHead.js\";\nimport { getPageContextOrConfig } from \"./getConfigOrPageContext.js\";\nimport { createRoot } from \"react-dom/client\";\n\nTurbolinks.start();\n\nconst PassThruLayout: React.ComponentType<PropsWithChildren> = ({\n children,\n}) => <>{children}</>;\n\nexport default async function onRenderClient(\n pageContext: PageContextNoProxyClient\n) {\n if (pageContext.redirectTo) {\n Turbolinks.visit(pageContext.redirectTo);\n return;\n }\n\n const { Page, pageProps } = pageContext;\n const { Layout = PassThruLayout } = pageContext.config;\n const layoutProps = getPageContextOrConfig(pageContext, \"layoutProps\") || {};\n\n if (!Page)\n throw new Error(\"Client-side render() hook expects Page to be exported\");\n\n const page = (\n <PageShell pageContext={pageContext}>\n <Layout {...layoutProps}>\n <Page {...pageProps} />\n </Layout>\n </PageShell>\n );\n if (pageContext.isHydration) {\n // During hydration of initial ssr, body is in dom, not page props (to avoid double-send)\n renderReact(page, pageContext.isHydration);\n } else {\n const head = document.createElement(\"head\");\n createRoot(head).render(\n documentPropsToReact(\n getPageContextOrConfig(pageContext, \"documentProps\") || {}\n )\n );\n pageContext.config.scripts?.forEach((s) => {\n head.insertAdjacentHTML(\"beforeend\", s);\n });\n\n requestAnimationFrame(() => {\n Turbolinks._vpsOnRenderClient(head, false, () => {\n // clear anything on body\n document.body\n .getAttributeNames()\n .forEach((n) => document.body.removeAttribute(n));\n renderReact(page, pageContext.isHydration);\n });\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,OAAO,WAAkC;AAOzC,SAAS,kBAAkB;AAE3B,WAAW,MAAM;AAEjB,IAAM,iBAAyD,CAAC;AAAA,EAC9D;AACF,MAAM,0DAAG,QAAS;AAElB,eAAO,eACL,aACA;AACA,MAAI,YAAY,YAAY;AAC1B,eAAW,MAAM,YAAY,UAAU;AACvC;AAAA,EACF;AAEA,QAAM,EAAE,MAAM,UAAU,IAAI;AAC5B,QAAM,EAAE,SAAS,eAAe,IAAI,YAAY;AAChD,QAAM,cAAc,uBAAuB,aAAa,aAAa,KAAK,CAAC;AAE3E,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,uDAAuD;AAEzE,QAAM,OACJ,oCAAC,aAAU,eACT,oCAAC,UAAQ,GAAG,eACV,oCAAC,QAAM,GAAG,WAAW,CACvB,CACF;AAEF,MAAI,YAAY,aAAa;AAE3B,gBAAY,MAAM,YAAY,WAAW;AAAA,EAC3C,OAAO;AACL,UAAM,OAAO,SAAS,cAAc,MAAM;AAC1C,eAAW,IAAI,EAAE;AAAA,MACf;AAAA,QACE,uBAAuB,aAAa,eAAe,KAAK,CAAC;AAAA,MAC3D;AAAA,IACF;AACA,gBAAY,OAAO,SAAS,QAAQ,CAAC,MAAM;AACzC,WAAK,mBAAmB,aAAa,CAAC;AAAA,IACxC,CAAC;AAED,0BAAsB,MAAM;AAC1B,iBAAW,mBAAmB,MAAM,OAAO,MAAM;AAE/C,iBAAS,KACN,kBAAkB,EAClB,QAAQ,CAAC,MAAM,SAAS,KAAK,gBAAgB,CAAC,CAAC;AAClD,oBAAY,MAAM,YAAY,WAAW;AAAA,MAC3C,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;","names":[]}
@@ -1,6 +1,13 @@
1
- import { PageContextNoProxyServer } from "../types/internal.js";
2
- export default function onRenderHtml(pageContext: PageContextNoProxyServer): Promise<{
3
- documentHtml: import("vite-plugin-ssr/dist/types/node/runtime/html/renderHtml.js").TemplateWrapped;
1
+ import * as vite_plugin_ssr_dist_types_node_runtime_html_renderHtml_js from 'vite-plugin-ssr/dist/types/node/runtime/html/renderHtml.js';
2
+ import { e as PageContextNoProxyServer } from '../internal-fe09ebc7.js';
3
+ import 'react';
4
+ import 'vite-plugin-ssr/types';
5
+ import '../proxy/pages/_config.js';
6
+ import './_config.js';
7
+
8
+ declare function onRenderHtml(pageContext: PageContextNoProxyServer): Promise<{
9
+ documentHtml: vite_plugin_ssr_dist_types_node_runtime_html_renderHtml_js.TemplateWrapped;
4
10
  pageContext: {};
5
11
  }>;
6
- //# sourceMappingURL=onRenderHtml.d.ts.map
12
+
13
+ export { onRenderHtml as default };
@@ -1,26 +1,42 @@
1
+ import {
2
+ documentPropsToReact
3
+ } from "../chunk-AIK6VRNF.js";
4
+ import {
5
+ PageShell
6
+ } from "../chunk-4DL7N7Y5.js";
7
+ import {
8
+ getPageContextOrConfig
9
+ } from "../chunk-CXNEKD7R.js";
10
+ import "../chunk-LEUA73GT.js";
11
+ import "../chunk-EYYCKU6F.js";
12
+
13
+ // renderer/onRenderHtml.tsx
1
14
  import ReactDOMServer from "react-dom/server";
2
15
  import React from "react";
3
- import { PageShell } from "../lib/PageShell.js";
4
16
  import { escapeInject, dangerouslySkipEscape } from "vite-plugin-ssr/server";
5
- import { documentPropsToReact } from "./utils/buildHead.js";
6
- import { getPageContextOrConfig } from "./getConfigOrPageContext.js";
7
- export default async function onRenderHtml(pageContext) {
8
- const { Page, pageProps } = pageContext;
9
- const { Layout } = pageContext.config;
10
- const layoutProps = getPageContextOrConfig(pageContext, "layoutProps") || {};
11
- if (!Page)
12
- throw new Error("Server-side render() hook expects Page to be exported");
13
- if (!Layout)
14
- throw new Error("Server-side render() hook expects Layout to be exported");
15
- const pageHtml = ReactDOMServer.renderToString(React.createElement(PageShell, { pageContext: pageContext },
16
- React.createElement(Layout, { ...layoutProps },
17
- React.createElement(Page, { ...pageProps }))));
18
- const headHtml = ReactDOMServer.renderToString(documentPropsToReact(getPageContextOrConfig(pageContext, "documentProps") || {}));
19
- const documentHtml = escapeInject `<!DOCTYPE html>
17
+ async function onRenderHtml(pageContext) {
18
+ const { Page, pageProps } = pageContext;
19
+ const { Layout } = pageContext.config;
20
+ const layoutProps = getPageContextOrConfig(pageContext, "layoutProps") || {};
21
+ if (!Page)
22
+ throw new Error("Server-side render() hook expects Page to be exported");
23
+ if (!Layout)
24
+ throw new Error("Server-side render() hook expects Layout to be exported");
25
+ const pageHtml = ReactDOMServer.renderToString(
26
+ /* @__PURE__ */ React.createElement(PageShell, { pageContext }, /* @__PURE__ */ React.createElement(Layout, { ...layoutProps }, /* @__PURE__ */ React.createElement(Page, { ...pageProps })))
27
+ );
28
+ const headHtml = ReactDOMServer.renderToString(
29
+ documentPropsToReact(
30
+ getPageContextOrConfig(pageContext, "documentProps") || {}
31
+ )
32
+ );
33
+ const documentHtml = escapeInject`<!DOCTYPE html>
20
34
  <html lang="en">
21
35
  <head>
22
36
  ${dangerouslySkipEscape(headHtml)}
23
- ${dangerouslySkipEscape(Object.values(pageContext.config.scripts || {}).join(""))}
37
+ ${dangerouslySkipEscape(
38
+ Object.values(pageContext.config.scripts || {}).join("")
39
+ )}
24
40
  ${dangerouslySkipEscape(`<script>
25
41
  window.Turbolinks = {controller:{restorationIdentifier: ''}};
26
42
  addEventListener("DOMContentLoaded", () => {
@@ -34,10 +50,14 @@ export default async function onRenderHtml(pageContext) {
34
50
  <div id="page-view">${dangerouslySkipEscape(pageHtml)}</div>
35
51
  </body>
36
52
  </html>`;
37
- return {
38
- documentHtml,
39
- pageContext: {
40
- // We can add some `pageContext` here, which is useful if we want to do page redirection https://vite-plugin-ssr.com/page-redirection
41
- },
42
- };
53
+ return {
54
+ documentHtml,
55
+ pageContext: {
56
+ // We can add some `pageContext` here, which is useful if we want to do page redirection https://vite-plugin-ssr.com/page-redirection
57
+ }
58
+ };
43
59
  }
60
+ export {
61
+ onRenderHtml as default
62
+ };
63
+ //# sourceMappingURL=onRenderHtml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../renderer/onRenderHtml.tsx"],"sourcesContent":["import ReactDOMServer from \"react-dom/server\";\nimport React from \"react\";\nimport { PageShell } from \"../lib/PageShell.js\";\nimport { escapeInject, dangerouslySkipEscape } from \"vite-plugin-ssr/server\";\nimport { PageContextNoProxyServer } from \"../types/internal.js\";\nimport { documentPropsToReact } from \"./utils/buildHead.js\";\nimport { getPageContextOrConfig } from \"./getConfigOrPageContext.js\";\n\nexport default async function onRenderHtml(\n pageContext: PageContextNoProxyServer\n) {\n const { Page, pageProps } = pageContext;\n const { Layout } = pageContext.config;\n const layoutProps = getPageContextOrConfig(pageContext, \"layoutProps\") || {};\n\n if (!Page)\n throw new Error(\"Server-side render() hook expects Page to be exported\");\n if (!Layout)\n throw new Error(\"Server-side render() hook expects Layout to be exported\");\n\n const pageHtml = ReactDOMServer.renderToString(\n <PageShell pageContext={pageContext}>\n <Layout {...layoutProps}>\n <Page {...pageProps} />\n </Layout>\n </PageShell>\n );\n\n const headHtml = ReactDOMServer.renderToString(\n documentPropsToReact(\n getPageContextOrConfig(pageContext, \"documentProps\") || {}\n )\n );\n\n const documentHtml = escapeInject`<!DOCTYPE html>\n <html lang=\"en\">\n <head>\n ${dangerouslySkipEscape(headHtml)}\n ${dangerouslySkipEscape(\n Object.values(pageContext.config.scripts || {}).join(\"\")\n )}\n ${dangerouslySkipEscape(`<script>\n window.Turbolinks = {controller:{restorationIdentifier: ''}};\n addEventListener(\"DOMContentLoaded\", () => {\n const event = new Event(\"turbolinks:load\", { bubbles: true, cancelable: true });\n event.data = {url: window.location.href};\n document.dispatchEvent(event); \n })\n </script>`)}\n </head>\n <body>\n <div id=\"page-view\">${dangerouslySkipEscape(pageHtml)}</div>\n </body>\n </html>`;\n\n return {\n documentHtml,\n pageContext: {\n // We can add some `pageContext` here, which is useful if we want to do page redirection https://vite-plugin-ssr.com/page-redirection\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,OAAO,oBAAoB;AAC3B,OAAO,WAAW;AAElB,SAAS,cAAc,6BAA6B;AAKpD,eAAO,aACL,aACA;AACA,QAAM,EAAE,MAAM,UAAU,IAAI;AAC5B,QAAM,EAAE,OAAO,IAAI,YAAY;AAC/B,QAAM,cAAc,uBAAuB,aAAa,aAAa,KAAK,CAAC;AAE3E,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,uDAAuD;AACzE,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,yDAAyD;AAE3E,QAAM,WAAW,eAAe;AAAA,IAC9B,oCAAC,aAAU,eACT,oCAAC,UAAQ,GAAG,eACV,oCAAC,QAAM,GAAG,WAAW,CACvB,CACF;AAAA,EACF;AAEA,QAAM,WAAW,eAAe;AAAA,IAC9B;AAAA,MACE,uBAAuB,aAAa,eAAe,KAAK,CAAC;AAAA,IAC3D;AAAA,EACF;AAEA,QAAM,eAAe;AAAA;AAAA;AAAA,QAGf,sBAAsB,QAAQ,CAAC;AAAA,QAC/B;AAAA,IACA,OAAO,OAAO,YAAY,OAAO,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE;AAAA,EACzD,CAAC;AAAA,QACC,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAOd,CAAC;AAAA;AAAA;AAAA,8BAGa,sBAAsB,QAAQ,CAAC;AAAA;AAAA;AAI3D,SAAO;AAAA,IACL;AAAA,IACA,aAAa;AAAA;AAAA,IAEb;AAAA,EACF;AACF;","names":[]}
@@ -1,11 +1,14 @@
1
1
  import React from 'react';
2
- import { PageContext } from "../types/internal.js";
3
- export { PageContextProvider };
4
- export { usePageContext };
2
+ import { c as PageContext } from '../internal-fe09ebc7.js';
3
+ import 'vite-plugin-ssr/types';
4
+ import '../proxy/pages/_config.js';
5
+ import './_config.js';
6
+
5
7
  declare function PageContextProvider({ pageContext, children }: {
6
8
  pageContext: PageContext;
7
9
  children: React.ReactNode;
8
10
  }): JSX.Element;
9
11
  /** Access the pageContext from any React component */
10
12
  declare function usePageContext(): PageContext;
11
- //# sourceMappingURL=usePageContext.d.ts.map
13
+
14
+ export { PageContextProvider, usePageContext };
@@ -1,21 +1,10 @@
1
- // `usePageContext` allows us to access `pageContext` in any React component.
2
- // See https://vite-plugin-ssr.com/pageContext-anywhere
3
- import React, { useContext } from 'react';
4
- import { getGlobalObject } from './utils/getGlobalObject.js';
5
- export { PageContextProvider };
6
- export { usePageContext };
7
- const { Context } = getGlobalObject('PageContextProvider.ts', {
8
- Context: React.createContext(undefined)
9
- });
10
- function PageContextProvider({ pageContext, children }) {
11
- if (!pageContext)
12
- throw new Error('Argument pageContext missing');
13
- return React.createElement(Context.Provider, { value: pageContext }, children);
14
- }
15
- /** Access the pageContext from any React component */
16
- function usePageContext() {
17
- const pageContext = useContext(Context);
18
- if (!pageContext)
19
- throw new Error('<PageContextProvider> is needed for being able to use usePageContext()');
20
- return pageContext;
21
- }
1
+ import {
2
+ PageContextProvider,
3
+ usePageContext
4
+ } from "../chunk-LEUA73GT.js";
5
+ import "../chunk-EYYCKU6F.js";
6
+ export {
7
+ PageContextProvider,
8
+ usePageContext
9
+ };
10
+ //# sourceMappingURL=usePageContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,4 +1,9 @@
1
- import React from "react";
2
- import { DocumentProps } from "../../types/internal";
3
- export declare function documentPropsToReact({ title, description, viewport, }: DocumentProps): React.ReactElement;
4
- //# sourceMappingURL=buildHead.d.ts.map
1
+ import React from 'react';
2
+ import { D as DocumentProps } from '../../internal-fe09ebc7.js';
3
+ import 'vite-plugin-ssr/types';
4
+ import '../../proxy/pages/_config.js';
5
+ import '../_config.js';
6
+
7
+ declare function documentPropsToReact({ title, description, viewport, }: DocumentProps): React.ReactElement;
8
+
9
+ export { documentPropsToReact };
@@ -1,10 +1,7 @@
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
- }
1
+ import {
2
+ documentPropsToReact
3
+ } from "../../chunk-AIK6VRNF.js";
4
+ export {
5
+ documentPropsToReact
6
+ };
7
+ //# sourceMappingURL=buildHead.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,5 +1,6 @@
1
- export declare function getGlobalObject<T extends Record<string, unknown> = never>(key: `${string}.ts`, defaultValue: T): T;
1
+ declare function getGlobalObject<T extends Record<string, unknown> = never>(key: `${string}.ts`, defaultValue: T): T;
2
2
  declare global {
3
3
  var __vite_plugin_ssr: undefined | Record<string, Record<string, unknown>>;
4
4
  }
5
- //# sourceMappingURL=getGlobalObject.d.ts.map
5
+
6
+ export { getGlobalObject };
@@ -1,8 +1,7 @@
1
- // https://github.com/brillout/vike-react/blob/main/vike-react/renderer/utils/getGlobalObject.ts
2
- export function getGlobalObject(
3
- // We use the filename as key; each `getGlobalObject()` call should live in a unique filename.
4
- key, defaultValue) {
5
- const allGlobalObjects = (globalThis.__vite_plugin_ssr = globalThis.__vite_plugin_ssr || {});
6
- const globalObject = (allGlobalObjects[key] = allGlobalObjects[key] || defaultValue);
7
- return globalObject;
8
- }
1
+ import {
2
+ getGlobalObject
3
+ } from "../../chunk-EYYCKU6F.js";
4
+ export {
5
+ getGlobalObject
6
+ };
7
+ //# sourceMappingURL=getGlobalObject.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
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.13",
4
+ "version": "0.0.15",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
7
7
  "exports": {
@@ -68,9 +68,9 @@
68
68
  }
69
69
  },
70
70
  "scripts": {
71
- "dev": "vite",
71
+ "dev": "",
72
72
  "release": "release-me patch",
73
- "build": "rm -rf dist/ && yarn tsc",
73
+ "build": "tsup && node ./tsup-fix-filenames.js",
74
74
  "tsc": "tsc"
75
75
  },
76
76
  "files": [
@@ -86,10 +86,10 @@
86
86
  "vite-plugin-ssr": "0.4.131-commit-35ca471f7"
87
87
  },
88
88
  "peerDependencies": {
89
+ "jsdom": "^22.1.0",
89
90
  "react": "^18.x.x",
90
91
  "react-dom": "^18.x.x",
91
92
  "typescript": ">=4.7",
92
- "jsdom": "^22.1.0",
93
93
  "vite-plugin-ssr": "0.4.131-commit-35ca471f7"
94
94
  },
95
95
  "devDependencies": {
@@ -97,6 +97,7 @@
97
97
  "@types/react": "^18.0.8",
98
98
  "@types/react-dom": "^18.0.3",
99
99
  "@vitejs/plugin-react": "^3.0.0",
100
+ "tsup": "^7.1.0",
100
101
  "turbolinks": "5.3.0-beta.1",
101
102
  "typescript": "^5.0.4",
102
103
  "vite": "^4.0.3"
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,YAAY,EACV,aAAa,EACb,SAAS,EACT,aAAa,IAAI,aAAa,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,MAAM,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,kBAAkB,KAAK;IAChE,WAAW,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACxC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { ReactNode } from "react";
2
- import { PageContext } from "../types/internal.js";
3
- export declare function PageShell({ pageContext, children, }: {
4
- pageContext: PageContext;
5
- children: ReactNode;
6
- }): JSX.Element;
7
- //# sourceMappingURL=PageShell.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PageShell.d.ts","sourceRoot":"","sources":["../../lib/PageShell.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,wBAAgB,SAAS,CAAC,EACxB,WAAW,EACX,QAAQ,GACT,EAAE;IACD,WAAW,EAAE,WAAW,CAAC;IACzB,QAAQ,EAAE,SAAS,CAAC;CACrB,eAQA"}
@@ -1,6 +0,0 @@
1
- import React from "react";
2
- import { PageContextProvider } from "../renderer/usePageContext.js";
3
- export function PageShell({ pageContext, children, }) {
4
- return (React.createElement(React.StrictMode, null,
5
- React.createElement(PageContextProvider, { pageContext: pageContext }, children)));
6
- }
@@ -1,2 +0,0 @@
1
- export declare function getElementAttributes(element: Element): Record<string, string>;
2
- //# sourceMappingURL=getElementAttributes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getElementAttributes.d.ts","sourceRoot":"","sources":["../../lib/getElementAttributes.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,0BAMpD"}
@@ -1,7 +0,0 @@
1
- export function getElementAttributes(element) {
2
- const bodyAttrs = {};
3
- element.getAttributeNames().forEach((name) => {
4
- bodyAttrs[name] = element.getAttribute(name);
5
- });
6
- return bodyAttrs;
7
- }
@@ -1,3 +0,0 @@
1
- import { ReactNode } from "react";
2
- export declare function renderReact(page: ReactNode, isHydration: boolean): void;
3
- //# sourceMappingURL=renderReact.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderReact.d.ts","sourceRoot":"","sources":["../../lib/renderReact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKlC,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,QAUhE"}
@@ -1,14 +0,0 @@
1
- import { createRoot, hydrateRoot } from "react-dom/client";
2
- let root;
3
- export function renderReact(page, isHydration) {
4
- const container = document.getElementById("page-view");
5
- if (isHydration) {
6
- root = hydrateRoot(container, page);
7
- }
8
- else {
9
- if (!root) {
10
- root = createRoot(container);
11
- }
12
- root.render(page);
13
- }
14
- }
@@ -1,17 +0,0 @@
1
- import { Locatable } from "./location";
2
- import { Action } from "./types";
3
- import { Visit } from "./visit";
4
- export interface Adapter {
5
- visitProposedToLocationWithAction(location: Locatable, action: Action): void;
6
- visitStarted(visit: Visit): void;
7
- visitCompleted(visit: Visit): void;
8
- visitFailed(visit: Visit): void;
9
- visitRequestStarted(visit: Visit): void;
10
- visitRequestProgressed?(visit: Visit): void;
11
- visitRequestCompleted(visit: Visit): void;
12
- visitRequestFailedWithStatusCode(visit: Visit, statusCode: number): void;
13
- visitRequestFinished(visit: Visit): void;
14
- visitRendered(visit: Visit): void;
15
- pageInvalidated(): void;
16
- }
17
- //# sourceMappingURL=adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../lib/turbolinks/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,OAAO;IACtB,iCAAiC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7E,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACjC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACnC,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAChC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACxC,sBAAsB,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5C,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1C,gCAAgC,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACzE,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACzC,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAClC,eAAe,IAAI,IAAI,CAAC;CACzB"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,28 +0,0 @@
1
- import { Adapter } from "./adapter";
2
- import { Controller } from "./controller";
3
- import { Locatable } from "./location";
4
- import { ProgressBar } from "./progress_bar";
5
- import { Action } from "./types";
6
- import { Visit } from "./visit";
7
- export declare class BrowserAdapter implements Adapter {
8
- readonly controller: Controller;
9
- readonly progressBar: ProgressBar;
10
- progressBarTimeout?: number;
11
- constructor(controller: Controller);
12
- visitProposedToLocationWithAction(location: Locatable, action: Action): void;
13
- visitStarted(visit: Visit): void;
14
- visitRequestStarted(visit: Visit): void;
15
- visitRequestProgressed(visit: Visit): void;
16
- visitRequestCompleted(visit: Visit): void;
17
- visitRequestFailedWithStatusCode(visit: Visit, statusCode: number): void;
18
- visitRequestFinished(visit: Visit): void;
19
- visitCompleted(visit: Visit): void;
20
- pageInvalidated(): void;
21
- visitFailed(visit: Visit): void;
22
- visitRendered(visit: Visit): void;
23
- showProgressBarAfterDelay(): void;
24
- showProgressBar: () => void;
25
- hideProgressBar(): void;
26
- reload(): void;
27
- }
28
- //# sourceMappingURL=browser_adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser_adapter.d.ts","sourceRoot":"","sources":["../../../lib/turbolinks/browser_adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,cAAe,YAAW,OAAO;IAC5C,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,WAAW,cAAqB;IAEzC,kBAAkB,CAAC,EAAE,MAAM,CAAC;gBAEhB,UAAU,EAAE,UAAU;IAIlC,iCAAiC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;IAOrE,YAAY,CAAC,KAAK,EAAE,KAAK;IAMzB,mBAAmB,CAAC,KAAK,EAAE,KAAK;IAShC,sBAAsB,CAAC,KAAK,EAAE,KAAK;IAInC,qBAAqB,CAAC,KAAK,EAAE,KAAK;IAIlC,gCAAgC,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM;IAYjE,oBAAoB,CAAC,KAAK,EAAE,KAAK;IAIjC,cAAc,CAAC,KAAK,EAAE,KAAK;IAG3B,eAAe;IAIf,WAAW,CAAC,KAAK,EAAE,KAAK;IAExB,aAAa,CAAC,KAAK,EAAE,KAAK;IAI1B,yBAAyB;IAOzB,eAAe,aAEb;IAEF,eAAe;IAQf,MAAM;CAGP"}
@@ -1,68 +0,0 @@
1
- import { ProgressBar } from "./progress_bar";
2
- export class BrowserAdapter {
3
- constructor(controller) {
4
- this.progressBar = new ProgressBar();
5
- this.showProgressBar = () => {
6
- this.progressBar.show();
7
- };
8
- this.controller = controller;
9
- }
10
- visitProposedToLocationWithAction(location, action) {
11
- this.controller.startVisitToLocationWithAction(location, action);
12
- }
13
- visitStarted(visit) {
14
- visit.issueRequest();
15
- visit.changeHistory();
16
- visit.loadCachedSnapshot();
17
- }
18
- visitRequestStarted(visit) {
19
- this.progressBar.setValue(0);
20
- if (visit.hasCachedSnapshot() || visit.action != "restore") {
21
- this.showProgressBarAfterDelay();
22
- }
23
- else {
24
- this.showProgressBar();
25
- }
26
- }
27
- visitRequestProgressed(visit) {
28
- this.progressBar.setValue(visit.progress);
29
- }
30
- visitRequestCompleted(visit) {
31
- visit.loadResponse();
32
- }
33
- visitRequestFailedWithStatusCode(visit, statusCode) {
34
- switch (statusCode) {
35
- // TODO
36
- // case SystemStatusCode.networkFailure:
37
- // case SystemStatusCode.timeoutFailure:
38
- // case SystemStatusCode.contentTypeMismatch:
39
- // return this.reload()
40
- default:
41
- return visit.loadResponse();
42
- }
43
- }
44
- visitRequestFinished(visit) {
45
- this.hideProgressBar();
46
- }
47
- visitCompleted(visit) {
48
- }
49
- pageInvalidated() {
50
- this.reload();
51
- }
52
- visitFailed(visit) { }
53
- visitRendered(visit) { }
54
- // Private
55
- showProgressBarAfterDelay() {
56
- this.progressBarTimeout = window.setTimeout(this.showProgressBar, this.controller.progressBarDelay);
57
- }
58
- hideProgressBar() {
59
- this.progressBar.hide();
60
- if (this.progressBarTimeout != null) {
61
- window.clearTimeout(this.progressBarTimeout);
62
- delete this.progressBarTimeout;
63
- }
64
- }
65
- reload() {
66
- window.location.reload();
67
- }
68
- }