@alignable/bifrost 0.0.12 → 0.0.14

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,3 +1,8 @@
1
- export type { DocumentProps, LayoutMap, NoProxyConfig as BifrostConfig } from "./types/internal";
1
+ import { PageContextBuiltIn } from "vite-plugin-ssr/types";
2
+ import { PageContextProxy } from "./types/internal";
3
+ export type { DocumentProps, LayoutMap, NoProxyConfig as BifrostConfig, } from "./types/internal";
2
4
  export { usePageContext } from "./renderer/usePageContext.js";
5
+ export type OnBeforeRender = (pageContext: PageContextBuiltIn) => Promise<{
6
+ pageContext: Partial<PageContextProxy>;
7
+ }>;
3
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC"}
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,OAAO,CAAC;IACxE,WAAW,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACxC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { PageContextNoProxy } from "../types/internal.js";
2
+ type ConfigOrContext = PageContextNoProxy | PageContextNoProxy["config"];
3
+ /**
4
+ * Get page configs that are definable in config and in runtime via onBeforeRoute. documentProps, for example.
5
+ */
6
+ export declare function getPageContextOrConfig<T extends keyof ConfigOrContext>(pageContext: PageContextNoProxy, prop: T): ConfigOrContext[T];
7
+ export {};
8
+ //# sourceMappingURL=getConfigOrPageContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getConfigOrPageContext.d.ts","sourceRoot":"","sources":["../../renderer/getConfigOrPageContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,KAAK,eAAe,GAAG,kBAAkB,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAEzE;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,eAAe,EACpE,WAAW,EAAE,kBAAkB,EAC/B,IAAI,EAAE,CAAC,GACN,eAAe,CAAC,CAAC,CAAC,CAEpB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Get page configs that are definable in config and in runtime via onBeforeRoute. documentProps, for example.
3
+ */
4
+ export function getPageContextOrConfig(pageContext, prop) {
5
+ return pageContext[prop] || pageContext.config[prop];
6
+ }
@@ -1 +1 @@
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
+ {"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,iBA6CtC"}
@@ -3,7 +3,7 @@ import { renderReact } from "../lib/renderReact.js";
3
3
  import { PageShell } from "../lib/PageShell.js";
4
4
  import { Turbolinks } from "../lib/turbolinks/index.js";
5
5
  import { documentPropsToReact } from "./utils/buildHead.js";
6
- import { getDocumentProps } from "./getDocumentProps.js";
6
+ import { getPageContextOrConfig } from "./getConfigOrPageContext.js";
7
7
  import { createRoot } from "react-dom/client";
8
8
  Turbolinks.start();
9
9
  const PassThruLayout = ({ children, }) => React.createElement(React.Fragment, null, children);
@@ -13,7 +13,8 @@ export default async function onRenderClient(pageContext) {
13
13
  return;
14
14
  }
15
15
  const { Page, pageProps } = pageContext;
16
- const { Layout = PassThruLayout, layoutProps } = pageContext.config;
16
+ const { Layout = PassThruLayout } = pageContext.config;
17
+ const layoutProps = getPageContextOrConfig(pageContext, "layoutProps") || {};
17
18
  if (!Page)
18
19
  throw new Error("Client-side render() hook expects Page to be exported");
19
20
  const page = (React.createElement(PageShell, { pageContext: pageContext },
@@ -25,7 +26,7 @@ export default async function onRenderClient(pageContext) {
25
26
  }
26
27
  else {
27
28
  const head = document.createElement("head");
28
- createRoot(head).render(documentPropsToReact(getDocumentProps(pageContext)));
29
+ createRoot(head).render(documentPropsToReact(getPageContextOrConfig(pageContext, "documentProps") || {}));
29
30
  pageContext.config.scripts?.forEach((s) => {
30
31
  head.insertAdjacentHTML("beforeend", s);
31
32
  });
@@ -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;;;GAiDtC"}
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;;;GAoDtC"}
@@ -3,10 +3,11 @@ import React from "react";
3
3
  import { PageShell } from "../lib/PageShell.js";
4
4
  import { escapeInject, dangerouslySkipEscape } from "vite-plugin-ssr/server";
5
5
  import { documentPropsToReact } from "./utils/buildHead.js";
6
- import { getDocumentProps } from "./getDocumentProps.js";
6
+ import { getPageContextOrConfig } from "./getConfigOrPageContext.js";
7
7
  export default async function onRenderHtml(pageContext) {
8
8
  const { Page, pageProps } = pageContext;
9
- const { Layout, layoutProps } = pageContext.config;
9
+ const { Layout } = pageContext.config;
10
+ const layoutProps = getPageContextOrConfig(pageContext, "layoutProps") || {};
10
11
  if (!Page)
11
12
  throw new Error("Server-side render() hook expects Page to be exported");
12
13
  if (!Layout)
@@ -14,7 +15,7 @@ export default async function onRenderHtml(pageContext) {
14
15
  const pageHtml = ReactDOMServer.renderToString(React.createElement(PageShell, { pageContext: pageContext },
15
16
  React.createElement(Layout, { ...layoutProps },
16
17
  React.createElement(Page, { ...pageProps }))));
17
- const headHtml = ReactDOMServer.renderToString(documentPropsToReact(getDocumentProps(pageContext)));
18
+ const headHtml = ReactDOMServer.renderToString(documentPropsToReact(getPageContextOrConfig(pageContext, "documentProps") || {}));
18
19
  const documentHtml = escapeInject `<!DOCTYPE html>
19
20
  <html lang="en">
20
21
  <head>
@@ -53,6 +53,7 @@ interface PageContextNoProxyCommon<LayoutProps = Record<string, unknown>> {
53
53
  pageProps: PageProps;
54
54
  redirectTo?: string;
55
55
  documentProps?: DocumentProps;
56
+ layoutProps: LayoutProps;
56
57
  config: NoProxyConfig<LayoutProps>;
57
58
  }
58
59
  export type PageContextNoProxyServer = PageContextBuiltIn<Page> & PageContextNoProxyCommon;
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../types/internal.ts"],"names":[],"mappings":"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"}
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.12",
4
+ "version": "0.0.14",
5
5
  "type": "module",
6
6
  "types": "./dist/index.d.ts",
7
7
  "exports": {
@@ -1,3 +0,0 @@
1
- import { PageContextNoProxy } from "../types/internal.js";
2
- export declare function getDocumentProps(pageContext: PageContextNoProxy): import("../types/internal.js").DocumentProps;
3
- //# sourceMappingURL=getDocumentProps.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getDocumentProps.d.ts","sourceRoot":"","sources":["../../renderer/getDocumentProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,kBAAkB,gDAE/D"}
@@ -1,3 +0,0 @@
1
- export function getDocumentProps(pageContext) {
2
- return pageContext.config.documentProps || pageContext.documentProps || {};
3
- }