@alignable/bifrost 0.0.29 → 0.0.31

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 CHANGED
@@ -1,15 +1,19 @@
1
- import { PageContextBuiltIn } from 'vike/types';
2
- import { A as AugmentMe, P as PageContextNoProxy } from './internal-c8c22383.js';
3
- export { N as BifrostConfig, a as BifrostProxyConfig, D as DocumentProps, b as LayoutComponent, L as LayoutMap, c as PageContext } from './internal-c8c22383.js';
1
+ export { Config, GuardAsync, GuardSync, Meta, OnBeforePrerenderStartAsync, OnBeforePrerenderStartSync, OnBeforeRenderAsync, OnBeforeRenderSync, OnBeforeRouteAsync, OnBeforeRouteSync, OnHydrationEndAsync, OnHydrationEndSync, OnPageTransitionEndAsync, OnPageTransitionEndSync, OnPageTransitionStartAsync, OnPageTransitionStartSync, OnPrerenderStartAsync, OnPrerenderStartSync, OnRenderClientAsync, OnRenderClientSync, OnRenderHtmlAsync, OnRenderHtmlSync, RouteAsync, RouteSync } from 'vike/types';
2
+ import { navigate as navigate$1 } from 'vike/client/router';
3
+ import { A as ApplicationFacingPageContext, a as AugmentMe } from './internal-b4ad8d6b.js';
4
+ export { N as BifrostConfig, P as BifrostProxyConfig, D as DocumentProps, b as LayoutComponent, L as LayoutMap, c as PageContext } from './internal-b4ad8d6b.js';
4
5
  export { PageContextProvider, usePageContext } from './renderer/usePageContext.js';
5
6
  import 'react';
6
7
  import './proxy/pages/_config.js';
7
8
  import './renderer/_config.js';
8
9
  import './controller-16e58bbd.js';
9
10
 
10
- type OptionalPromise<T> = Promise<T> | T;
11
- type OnBeforeRender = (pageContext: PageContextBuiltIn & AugmentMe.PageContextInit) => OptionalPromise<{
12
- pageContext: Partial<PageContextNoProxy>;
13
- }>;
11
+ declare const navigate: typeof navigate$1;
12
+ declare global {
13
+ namespace Vike {
14
+ interface PageContext extends ApplicationFacingPageContext, AugmentMe.PageContextInit {
15
+ }
16
+ }
17
+ }
14
18
 
15
- export { AugmentMe, OnBeforeRender };
19
+ export { AugmentMe, navigate };
package/dist/index.js CHANGED
@@ -3,8 +3,16 @@ import {
3
3
  usePageContext
4
4
  } from "./chunk-IYGONC4I.js";
5
5
  import "./chunk-EYYCKU6F.js";
6
+
7
+ // index.ts
8
+ var navigate = async (url, opts) => {
9
+ window.Turbolinks.visit(url, {
10
+ action: opts?.overwriteLastHistoryEntry ? "replace" : "advance"
11
+ });
12
+ };
6
13
  export {
7
14
  PageContextProvider,
15
+ navigate,
8
16
  usePageContext
9
17
  };
10
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../index.ts"],"sourcesContent":["export type {\n Config,\n Meta,\n GuardAsync,\n GuardSync,\n OnBeforePrerenderStartAsync,\n OnBeforePrerenderStartSync,\n OnBeforeRenderAsync,\n OnBeforeRenderSync,\n OnBeforeRouteAsync,\n OnBeforeRouteSync,\n OnHydrationEndAsync,\n OnHydrationEndSync,\n OnPageTransitionEndAsync,\n OnPageTransitionEndSync,\n OnPageTransitionStartAsync,\n OnPageTransitionStartSync,\n OnPrerenderStartAsync,\n OnPrerenderStartSync,\n OnRenderClientAsync,\n OnRenderClientSync,\n OnRenderHtmlAsync,\n OnRenderHtmlSync,\n RouteAsync,\n RouteSync,\n} from \"vike/types\";\nimport { navigate as vikeNavigate } from \"vike/client/router\";\nimport { ApplicationFacingPageContext, AugmentMe } from \"./types/internal.js\";\n\nexport type {\n DocumentProps,\n LayoutMap,\n NoProxyConfig as BifrostConfig,\n ProxyConfig as BifrostProxyConfig,\n LayoutComponent,\n AugmentMe,\n PageContext,\n} from \"./types/internal\";\nexport {\n usePageContext,\n PageContextProvider,\n} from \"./renderer/usePageContext.js\";\n\nexport const navigate: typeof vikeNavigate = async (url, opts) => {\n window.Turbolinks.visit(url, {\n action: opts?.overwriteLastHistoryEntry ? \"replace\" : \"advance\",\n });\n};\n\ndeclare global {\n namespace Vike {\n interface PageContext\n extends ApplicationFacingPageContext,\n AugmentMe.PageContextInit {}\n }\n}\n"],"mappings":";;;;;;;AA2CO,IAAM,WAAgC,OAAO,KAAK,SAAS;AAChE,SAAO,WAAW,MAAM,KAAK;AAAA,IAC3B,QAAQ,MAAM,4BAA4B,YAAY;AAAA,EACxD,CAAC;AACH;","names":[]}
@@ -79,16 +79,18 @@ type NoProxyConfig = ConfigConstructor<typeof _default$1, {
79
79
  }>;
80
80
  type PageProps = Record<string, unknown>;
81
81
  type Page = React.ComponentType<PageProps>;
82
- type PageContextNoProxyCommon = {
82
+ interface ApplicationFacingPageContext {
83
83
  pageProps: PageProps;
84
- redirectTo?: string;
85
84
  documentProps?: DocumentProps;
86
85
  layoutProps: AugmentMe.LayoutProps;
86
+ }
87
+ interface PageContextNoProxyCommon extends ApplicationFacingPageContext {
88
+ redirectTo?: string;
87
89
  config: NoProxyConfig;
88
- };
90
+ }
89
91
  type PageContextNoProxyServer = PageContextBuiltInServer<Page> & PageContextNoProxyCommon;
90
92
  type PageContextNoProxyClient = PageContextBuiltInClientWithClientRouting<Page> & PageContextNoProxyCommon;
91
93
  type PageContextNoProxy = PageContextNoProxyServer | PageContextNoProxyClient;
92
94
  type PageContext = PageContextNoProxy | PageContextProxy | PageContextProxyRestorationVisit;
93
95
 
94
- export { AugmentMe as A, DocumentProps as D, LayoutMap as L, NoProxyConfig as N, PageContextNoProxy as P, ProxyConfig as a, LayoutComponent as b, PageContext as c, PageContextNoProxyClient as d, PageContextNoProxyServer as e, PageContextProxyInit as f, PageContextProxyClient as g, PageContextProxyServer as h, PageContextProxyRestorationVisit as i };
96
+ export { ApplicationFacingPageContext as A, DocumentProps as D, LayoutMap as L, NoProxyConfig as N, ProxyConfig as P, AugmentMe as a, LayoutComponent as b, PageContext as c, PageContextNoProxy as d, PageContextNoProxyClient as e, PageContextNoProxyServer as f, PageContextProxyInit as g, PageContextProxyClient as h, PageContextProxyServer as i, PageContextProxyRestorationVisit as j };
@@ -1,4 +1,4 @@
1
- import { f as PageContextProxyInit, A as AugmentMe } from '../../internal-c8c22383.js';
1
+ import { g as PageContextProxyInit, a as AugmentMe } from '../../internal-b4ad8d6b.js';
2
2
  import 'react';
3
3
  import 'vike/types';
4
4
  import './_config.js';
@@ -1,4 +1,4 @@
1
- import { g as PageContextProxyClient } from '../../internal-c8c22383.js';
1
+ import { h as PageContextProxyClient } from '../../internal-b4ad8d6b.js';
2
2
  import 'react';
3
3
  import 'vike/types';
4
4
  import './_config.js';
@@ -1,5 +1,5 @@
1
1
  import * as vike_dist_esm_node_runtime_html_renderHtml_js from 'vike/dist/esm/node/runtime/html/renderHtml.js';
2
- import { h as PageContextProxyServer } from '../../internal-c8c22383.js';
2
+ import { i as PageContextProxyServer } from '../../internal-b4ad8d6b.js';
3
3
  import 'react';
4
4
  import 'vike/types';
5
5
  import './_config.js';
@@ -1,4 +1,4 @@
1
- import { i as PageContextProxyRestorationVisit } from '../../../internal-c8c22383.js';
1
+ import { j as PageContextProxyRestorationVisit } from '../../../internal-b4ad8d6b.js';
2
2
  import 'react';
3
3
  import 'vike/types';
4
4
  import '../_config.js';
@@ -4,7 +4,8 @@ var passToClient = [
4
4
  "pageProps",
5
5
  "redirectTo",
6
6
  "documentProps",
7
- "scripts"
7
+ "scripts",
8
+ "is404"
8
9
  ];
9
10
  var config_default = {
10
11
  passToClient,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../renderer/+config.ts"],"sourcesContent":["import { type Config } from \"vike/types\";\n\nconst passToClient = [\n \"layoutProps\",\n \"pageProps\",\n \"redirectTo\",\n \"documentProps\",\n \"scripts\",\n];\nexport default {\n passToClient,\n onRenderClient: \"import:@alignable/bifrost/renderer/onRenderClient\",\n onRenderHtml: \"import:@alignable/bifrost/renderer/onRenderHtml\",\n onBeforeRoute: \"import:@alignable/bifrost/renderer/onBeforeRoute\",\n clientRouting: true,\n hydrationCanBeAborted: true,\n meta: {\n Layout: { env: \"server-and-client\" },\n layoutProps: { env: \"server-and-client\" },\n documentProps: { env: \"server-and-client\" },\n scripts: { env: \"server-and-client\" },\n favicon: { env: \"server-only\" },\n onClientInit: { env: \"client-only\" },\n },\n} satisfies Config;\n"],"mappings":";AAEA,IAAM,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,IAAO,iBAAQ;AAAA,EACb;AAAA,EACA,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,eAAe;AAAA,EACf,eAAe;AAAA,EACf,uBAAuB;AAAA,EACvB,MAAM;AAAA,IACJ,QAAQ,EAAE,KAAK,oBAAoB;AAAA,IACnC,aAAa,EAAE,KAAK,oBAAoB;AAAA,IACxC,eAAe,EAAE,KAAK,oBAAoB;AAAA,IAC1C,SAAS,EAAE,KAAK,oBAAoB;AAAA,IACpC,SAAS,EAAE,KAAK,cAAc;AAAA,IAC9B,cAAc,EAAE,KAAK,cAAc;AAAA,EACrC;AACF;","names":[]}
1
+ {"version":3,"sources":["../../renderer/+config.ts"],"sourcesContent":["import { type Config } from \"vike/types\";\n\nconst passToClient = [\n \"layoutProps\",\n \"pageProps\",\n \"redirectTo\",\n \"documentProps\",\n \"scripts\",\n \"is404\",\n];\nexport default {\n passToClient,\n onRenderClient: \"import:@alignable/bifrost/renderer/onRenderClient\",\n onRenderHtml: \"import:@alignable/bifrost/renderer/onRenderHtml\",\n onBeforeRoute: \"import:@alignable/bifrost/renderer/onBeforeRoute\",\n clientRouting: true,\n hydrationCanBeAborted: true,\n meta: {\n Layout: { env: \"server-and-client\" },\n layoutProps: { env: \"server-and-client\" },\n documentProps: { env: \"server-and-client\" },\n scripts: { env: \"server-and-client\" },\n favicon: { env: \"server-only\" },\n onClientInit: { env: \"client-only\" },\n },\n} satisfies Config;\n"],"mappings":";AAEA,IAAM,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,IAAO,iBAAQ;AAAA,EACb;AAAA,EACA,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,eAAe;AAAA,EACf,eAAe;AAAA,EACf,uBAAuB;AAAA,EACvB,MAAM;AAAA,IACJ,QAAQ,EAAE,KAAK,oBAAoB;AAAA,IACnC,aAAa,EAAE,KAAK,oBAAoB;AAAA,IACxC,eAAe,EAAE,KAAK,oBAAoB;AAAA,IAC1C,SAAS,EAAE,KAAK,oBAAoB;AAAA,IACpC,SAAS,EAAE,KAAK,cAAc;AAAA,IAC9B,cAAc,EAAE,KAAK,cAAc;AAAA,EACrC;AACF;","names":[]}
@@ -1,4 +1,4 @@
1
- import { P as PageContextNoProxy } from '../internal-c8c22383.js';
1
+ import { d as PageContextNoProxy } from '../internal-b4ad8d6b.js';
2
2
  import 'react';
3
3
  import 'vike/types';
4
4
  import '../proxy/pages/_config.js';
@@ -1,10 +1,23 @@
1
1
  import { S as Snapshot } from '../controller-16e58bbd.js';
2
2
 
3
- declare function onBeforeRoute(_pageContext: any): {
3
+ declare const onBeforeRoute: () => {
4
4
  pageContext: {
5
5
  snapshot: Snapshot;
6
+ isBackwardNavigation: boolean;
6
7
  _pageId: string;
7
8
  };
8
- } | undefined;
9
+ } | {
10
+ pageContext: {
11
+ isBackwardNavigation: boolean;
12
+ snapshot?: undefined;
13
+ _pageId?: undefined;
14
+ };
15
+ } | {
16
+ pageContext: {
17
+ snapshot?: undefined;
18
+ isBackwardNavigation?: undefined;
19
+ _pageId?: undefined;
20
+ };
21
+ };
9
22
 
10
23
  export { onBeforeRoute as default };
@@ -1,29 +1,35 @@
1
1
  // renderer/onBeforeRoute.ts
2
- function onBeforeRoute(_pageContext) {
3
- if (typeof window === "undefined")
4
- return void 0;
5
- const Turbolinks = window.Turbolinks;
6
- const currentVisit = Turbolinks.controller.currentVisit;
7
- if (!currentVisit || currentVisit.state === "completed") {
8
- const snapshot = Turbolinks.controller.getCachedSnapshotForLocation(
9
- window.location.href
10
- );
11
- Turbolinks.controller.historyPoppedToLocationWithRestorationIdentifier(
12
- window.location.href,
13
- ""
14
- );
15
- if (!!snapshot) {
16
- return {
17
- pageContext: {
18
- snapshot,
19
- _pageId: "/proxy/pages/restorationVisit"
20
- }
21
- };
2
+ var onBeforeRoute = () => {
3
+ if (typeof window !== "undefined") {
4
+ const Turbolinks = window.Turbolinks;
5
+ const currentVisit = Turbolinks.controller.currentVisit;
6
+ if (!currentVisit || currentVisit.state === "completed") {
7
+ const snapshot = Turbolinks.controller.getCachedSnapshotForLocation(
8
+ window.location.href
9
+ );
10
+ Turbolinks.controller.historyPoppedToLocationWithRestorationIdentifier(
11
+ window.location.href,
12
+ ""
13
+ );
14
+ if (!!snapshot) {
15
+ return {
16
+ pageContext: {
17
+ snapshot,
18
+ isBackwardNavigation: true,
19
+ _pageId: "/proxy/pages/restorationVisit"
20
+ }
21
+ };
22
+ } else {
23
+ return {
24
+ pageContext: { isBackwardNavigation: true }
25
+ };
26
+ }
22
27
  }
23
28
  }
24
- return void 0;
25
- }
29
+ return { pageContext: {} };
30
+ };
31
+ var onBeforeRoute_default = onBeforeRoute;
26
32
  export {
27
- onBeforeRoute as default
33
+ onBeforeRoute_default as default
28
34
  };
29
35
  //# sourceMappingURL=onBeforeRoute.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../renderer/onBeforeRoute.ts"],"sourcesContent":["// do NOT import turbolinks in this file. It is used on server side.\n\nexport default function onBeforeRoute(_pageContext: any) {\n if (typeof window === \"undefined\") return undefined;\n const Turbolinks = window.Turbolinks;\n\n const currentVisit = Turbolinks.controller.currentVisit;\n if (!currentVisit || currentVisit.state === \"completed\") {\n // old/nonexistent currentVisit means VPS is doing history navigation. Ideally we might turn off VPS' onpopstate listener.\n const snapshot = Turbolinks.controller.getCachedSnapshotForLocation(\n window.location.href\n );\n Turbolinks.controller.historyPoppedToLocationWithRestorationIdentifier(\n window.location.href,\n \"\"\n );\n\n if (!!snapshot) {\n return {\n pageContext: {\n snapshot,\n _pageId: \"/proxy/pages/restorationVisit\",\n },\n };\n }\n }\n return undefined;\n}\n"],"mappings":";AAEe,SAAR,cAA+B,cAAmB;AACvD,MAAI,OAAO,WAAW;AAAa,WAAO;AAC1C,QAAM,aAAa,OAAO;AAE1B,QAAM,eAAe,WAAW,WAAW;AAC3C,MAAI,CAAC,gBAAgB,aAAa,UAAU,aAAa;AAEvD,UAAM,WAAW,WAAW,WAAW;AAAA,MACrC,OAAO,SAAS;AAAA,IAClB;AACA,eAAW,WAAW;AAAA,MACpB,OAAO,SAAS;AAAA,MAChB;AAAA,IACF;AAEA,QAAI,CAAC,CAAC,UAAU;AACd,aAAO;AAAA,QACL,aAAa;AAAA,UACX;AAAA,UACA,SAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../renderer/onBeforeRoute.ts"],"sourcesContent":["// do NOT import turbolinks in this file. It is used on server side.\n\nconst onBeforeRoute = () => {\n if (typeof window !== \"undefined\") {\n const Turbolinks = window.Turbolinks;\n\n const currentVisit = Turbolinks.controller.currentVisit;\n if (!currentVisit || currentVisit.state === \"completed\") {\n // old/nonexistent currentVisit means VPS is doing history navigation. Ideally we might turn off VPS' onpopstate listener.\n const snapshot = Turbolinks.controller.getCachedSnapshotForLocation(\n window.location.href\n );\n Turbolinks.controller.historyPoppedToLocationWithRestorationIdentifier(\n window.location.href,\n \"\"\n );\n\n if (!!snapshot) {\n return {\n pageContext: {\n snapshot,\n isBackwardNavigation: true,\n _pageId: \"/proxy/pages/restorationVisit\",\n },\n };\n } else {\n return {\n pageContext: { isBackwardNavigation: true },\n };\n }\n }\n }\n return { pageContext: {} };\n};\n\nexport default onBeforeRoute;\n"],"mappings":";AAEA,IAAM,gBAAgB,MAAM;AAC1B,MAAI,OAAO,WAAW,aAAa;AACjC,UAAM,aAAa,OAAO;AAE1B,UAAM,eAAe,WAAW,WAAW;AAC3C,QAAI,CAAC,gBAAgB,aAAa,UAAU,aAAa;AAEvD,YAAM,WAAW,WAAW,WAAW;AAAA,QACrC,OAAO,SAAS;AAAA,MAClB;AACA,iBAAW,WAAW;AAAA,QACpB,OAAO,SAAS;AAAA,QAChB;AAAA,MACF;AAEA,UAAI,CAAC,CAAC,UAAU;AACd,eAAO;AAAA,UACL,aAAa;AAAA,YACX;AAAA,YACA,sBAAsB;AAAA,YACtB,SAAS;AAAA,UACX;AAAA,QACF;AAAA,MACF,OAAO;AACL,eAAO;AAAA,UACL,aAAa,EAAE,sBAAsB,KAAK;AAAA,QAC5C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO,EAAE,aAAa,CAAC,EAAE;AAC3B;AAEA,IAAO,wBAAQ;","names":[]}
@@ -1,4 +1,4 @@
1
- import { d as PageContextNoProxyClient } from '../internal-c8c22383.js';
1
+ import { e as PageContextNoProxyClient } from '../internal-b4ad8d6b.js';
2
2
  import 'react';
3
3
  import 'vike/types';
4
4
  import '../proxy/pages/_config.js';
@@ -29,6 +29,10 @@ async function onRenderClient(pageContext) {
29
29
  Turbolinks.visit(pageContext.redirectTo);
30
30
  return;
31
31
  }
32
+ if (pageContext.isBackwardNavigation && pageContext.is404) {
33
+ Turbolinks.controller.viewInvalidated();
34
+ return;
35
+ }
32
36
  const { Page, pageProps } = pageContext;
33
37
  const { Layout = PassThruLayout } = pageContext.config;
34
38
  const layoutProps = getPageContextOrConfig(pageContext, "layoutProps") || {};
@@ -1 +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\";\nimport { runClientInit } from \"../lib/runClientInit.js\";\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 await runClientInit(pageContext.configEntries);\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, 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;AAG3B,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,UAAM,cAAc,YAAY,aAAa;AAC7C,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,OAAO,MAAM;AAEtD,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
+ {"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\";\nimport { runClientInit } from \"../lib/runClientInit.js\";\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 // Back button leading to 404 means we hit a page bifrost can't handle in the browser history.\n // Reload allows us to revert to passthru proxy and/or let ALB handle\n if (pageContext.isBackwardNavigation && pageContext.is404) {\n Turbolinks.controller.viewInvalidated();\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 await runClientInit(pageContext.configEntries);\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, 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;AAG3B,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;AAIA,MAAI,YAAY,wBAAwB,YAAY,OAAO;AACzD,eAAW,WAAW,gBAAgB;AACtC;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,UAAM,cAAc,YAAY,aAAa;AAC7C,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,OAAO,MAAM;AAEtD,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,5 +1,5 @@
1
1
  import * as vike_dist_esm_node_runtime_html_renderHtml_js from 'vike/dist/esm/node/runtime/html/renderHtml.js';
2
- import { e as PageContextNoProxyServer } from '../internal-c8c22383.js';
2
+ import { f as PageContextNoProxyServer } from '../internal-b4ad8d6b.js';
3
3
  import 'react';
4
4
  import 'vike/types';
5
5
  import '../proxy/pages/_config.js';
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { c as PageContext } from '../internal-c8c22383.js';
2
+ import { c as PageContext } from '../internal-b4ad8d6b.js';
3
3
  import 'vike/types';
4
4
  import '../proxy/pages/_config.js';
5
5
  import './_config.js';
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { D as DocumentProps } from '../../internal-c8c22383.js';
2
+ import { D as DocumentProps } from '../../internal-b4ad8d6b.js';
3
3
  import 'vike/types';
4
4
  import '../../proxy/pages/_config.js';
5
5
  import '../_config.js';
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.29",
4
+ "version": "0.0.31",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
7
7
  "exports": {
@@ -83,14 +83,14 @@
83
83
  "react-dom": "^18.x.x",
84
84
  "tough-cookie": "^4.1.2",
85
85
  "uuid": "^9.0.0",
86
- "vike": "0.4.144-commit-e40e9b1"
86
+ "vike": "0.4.144-commit-6aef8a6"
87
87
  },
88
88
  "peerDependencies": {
89
89
  "jsdom": "^22.1.0",
90
90
  "react": "^18.x.x",
91
91
  "react-dom": "^18.x.x",
92
92
  "typescript": ">=4.7",
93
- "vike": "0.4.144-commit-e40e9b1"
93
+ "vike": "0.4.144-commit-6aef8a6"
94
94
  },
95
95
  "devDependencies": {
96
96
  "@types/jsdom": "^21.1.2",