© 2026 Hedgehog Software, LLC
const config = { webpack: (config, {isServer}) => { if (!isServer) { config.resolve = { ...config.resolve, fallback: { "zlib-sync": false, "os": false, "net": false, "dns": false, "tls": false, "fs": false, "request": false, }, }; } return config; }, reactStrictMode: true,
"use client"; import type { edgeRouter } from "@comcord/api"; // import { loggerLink } from "@trpc/client"; import { experimental_createTRPCNextAppDirClient } from "@trpc/next/app-dir/client"; import { experimental_nextHttpLink } from "@trpc/next/app-dir/links/nextHttp"; import superjson from "superjson"; import { getEdgeUrl } from "./shared"; export const edgeApiForClient = experimental_createTRPCNextAppDirClient< typeof edgeRouter >({ config() { return { transformer: superjson, links: [ // loggerLink({ // enabled: (op) => true, // }), experimental_nextHttpLink({ batch: true, url: getEdgeUrl() + "/api/trpc", headers() { return { "x-trpc-source": "client", }; }, }), ], }; }, });
import type { NextRequest } from "next/server"; import { edgeCreateContext, edgeRouter } from "@packages/api"; import { fetchRequestHandler } from "@trpc/server/adapters/fetch"; //export const runtime = "edge"; const handler = (req: NextRequest) => fetchRequestHandler({ endpoint: "/api/trpc", router: edgeRouter, req: req, createContext: () => edgeCreateContext({ req }), onError: ({ error, path }) => { console.log("Error in tRPC handler (edge) on path", path); console.error(error); }, }); export { handler as GET, handler as POST };