change semantics

Update README deployment steps and add deploy:secrets script to package.json

update local inference script and README

update lockfile

reconfigure package scripts for development

update test execution

pass server tests

Update README with revised Bun commands and workspace details

remove pnpm package manager designator

create bun server
This commit is contained in:
geoffsee
2025-06-02 18:41:16 -04:00
committed by Geoff Seemueller
parent 1055cda2f1
commit 497eb22ad8
218 changed files with 1273 additions and 4987 deletions

View File

@@ -0,0 +1,6 @@
import type { Config } from "vike/types";
// https://vike.dev/config
export default {
passToClient: ["pageProps", "urlPathname"],
} satisfies Config;

View File

@@ -0,0 +1,16 @@
export { onRenderClient };
import React from "react";
import { hydrateRoot } from "react-dom/client";
import { Layout } from "../layout/Layout";
// See https://vike.dev/onRenderClient for usage details
async function onRenderClient(pageContext) {
const { Page, pageProps } = pageContext;
hydrateRoot(
document.getElementById("page-view"),
<Layout pageContext={pageContext}>
<Page {...pageProps} />
</Layout>,
);
}

View File

@@ -0,0 +1,56 @@
import React from "react";
export { onRenderHtml };
import { renderToStream } from "react-streaming/server";
import { escapeInject } from "vike/server";
import { Layout } from "../layout/Layout";
import type { OnRenderHtmlAsync } from "vike/types";
// See https://vike.dev/onRenderHtml for usage details
const onRenderHtml: OnRenderHtmlAsync = async (
pageContext,
): ReturnType<OnRenderHtmlAsync> => {
const { Page, pageProps } = pageContext;
const page = (
<Layout pageContext={pageContext}>
<Page {...pageProps} />
</Layout>
);
let ua;
try {
ua = pageContext.headers["user-agent"];
} catch (e) {
ua = "";
}
const res = escapeInject`<!DOCTYPE html>
<html data-theme="dark" lang="en">
<head>
<title>open-gsio</title>
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="UTF-8">
<meta name="description" content="Maker Site">
<script>
window.ga_tid = "open-gsio";
window.ga_api = "/api/metrics";
</script>
<script src="/cfga.min.js" async></script>
</head>
<body>
<div id="page-view">${await renderToStream(page, {userAgent: ua})}</div>
</body>
</html>`;
return {
documentHtml: res,
pageContext: {
enableEagerStreaming: true,
},
};
};

View File

@@ -0,0 +1,19 @@
// Top level control interface for navigation
export default {
"/": { sidebarLabel: "Home", heroLabel: "open-gsio" },
// "/about": { sidebarLabel: "About", heroLabel: "About Me" },
// "/resume": { sidebarLabel: "Resume", heroLabel: "resume" },
// "/demo": { sidebarLabel: "Demo", heroLabel: "Demos" },
// "/services": { sidebarLabel: "Services", heroLabel: "services" },
"/connect": { sidebarLabel: "Connect", heroLabel: "connect" },
"/privacy-policy": {
sidebarLabel: "",
heroLabel: "privacy policy",
hideNav: true,
},
"/terms-of-service": {
sidebarLabel: "",
heroLabel: "terms of service",
hideNav: true,
},
};

View File

@@ -0,0 +1,15 @@
export type { PageProps };
type Page = (pageProps: PageProps) => React.ReactElement;
type PageProps = Record<string, unknown>;
declare global {
namespace Vike {
interface PageContext {
Page: Page;
pageProps?: PageProps;
fetch?: typeof fetch;
env: import("@open-gsio/env");
}
}
}

View File

@@ -0,0 +1,22 @@
import React, { useContext } from "react";
import type { PageContext } from "vike/types";
export { PageContextProvider };
export { usePageContext };
const Context = React.createContext<PageContext>(undefined as any);
function PageContextProvider({
pageContext,
children,
}: {
pageContext: PageContext;
children: React.ReactNode;
}) {
return <Context.Provider value={pageContext}>{children}</Context.Provider>;
}
function usePageContext() {
const pageContext = useContext(Context);
return pageContext;
}