refactor: using adapter primitives in place of nextjs adapter

This commit is contained in:
2026-02-09 22:01:25 +05:30
parent 4dd55a3e66
commit fc87ad1658
5 changed files with 40 additions and 13 deletions

View File

@@ -5,7 +5,7 @@
"scripts": { "scripts": {
"dev": "vite dev --port 3000", "dev": "vite dev --port 3000",
"build": "vite build", "build": "vite build",
"preview": "vite preview", "start": "vite preview",
"test": "vitest run" "test": "vitest run"
}, },
"dependencies": { "dependencies": {

View File

@@ -1,7 +1,15 @@
// Both work just fine // import { getApp as getBkndApp } from "bknd/adapter/nextjs";
// import { getApp as getBkndApp } from "bknd/adapter/react-router";
import { getApp as getBkndApp } from "bknd/adapter/nextjs";
import config from "../bknd.config"; import config from "../bknd.config";
import { BkndConfig, createFrameworkApp } from "bknd/adapter";
// --------------------------------- TANSTACK ADAPTER PROTOTYPE -----------------------------------
export async function getApp<Env = NodeJS.ProcessEnv>(
config: BkndConfig<Env>,
args: Env = process.env as Env,
) {
return await createFrameworkApp(config, args);
}
// --------------------------------- TANSTACK ADAPTER PROTOTYPE -----------------------------------
export async function getApi({ export async function getApi({
headers, headers,
@@ -10,7 +18,8 @@ export async function getApi({
verify?: boolean; verify?: boolean;
headers?: Headers; headers?: Headers;
}) { }) {
const app = await getBkndApp(config, process.env); const app = await getApp(config, process.env);
// const app = await getBkndApp(config, process.env);
if (verify) { if (verify) {
const api = app.getApi({ headers }); const api = app.getApi({ headers });

View File

@@ -37,7 +37,7 @@ function RootDocument({ children }: { children: React.ReactNode }) {
<HeadContent /> <HeadContent />
</head> </head>
<body> <body>
<ClientProvider verbose baseUrl="http://localhost:3000"> <ClientProvider verbose baseUrl={import.meta.env.APP_URL}>
{children} {children}
</ClientProvider> </ClientProvider>
<TanStackDevtools <TanStackDevtools

View File

@@ -3,7 +3,6 @@ import { useAuth } from "bknd/client";
import "bknd/dist/styles.css"; import "bknd/dist/styles.css";
import { Admin } from "bknd/ui"; import { Admin } from "bknd/ui";
export const Route = createFileRoute("/admin/$")({ export const Route = createFileRoute("/admin/$")({
ssr: false, ssr: false,
component: RouteComponent, component: RouteComponent,
@@ -18,7 +17,7 @@ function RouteComponent() {
basepath: "/admin", basepath: "/admin",
logo_return_path: "/../", logo_return_path: "/../",
}} }}
baseUrl="http://localhost:3000" baseUrl={import.meta.env.APP_URL}
/> />
); );
} }

View File

@@ -1,12 +1,31 @@
import { createFileRoute } from "@tanstack/react-router"; import { createFileRoute } from "@tanstack/react-router";
import config from "../../bknd.config"; import config from "../../bknd.config";
import { BkndConfig, createFrameworkApp } from "bknd/adapter";
// Works fine // import { getApp } from "bknd/adapter/nextjs";
import { serve } from "bknd/adapter/nextjs"; // const handler = serve({
// ...config,
// });
const handler = serve({ // --------------------------------- TANSTACK ADAPTER PROTOTYPE -----------------------------------
...config,
}); export async function getApp<Env = NodeJS.ProcessEnv>(
config: BkndConfig<Env>,
args: Env = process.env as Env,
) {
return await createFrameworkApp(config, args);
}
function serve(config: BkndConfig) {
return async (request: Request) => {
const app = await getApp(config, process.env);
return app.fetch(request);
};
}
const handler = serve(config);
// --------------------------------- TANSTACK ADAPTER PROTOTYPE -----------------------------------
export const Route = createFileRoute("/api/$")({ export const Route = createFileRoute("/api/$")({
server: { server: {