Weldawadyathink
Weldawadyathink
TtRPC
Created by Weldawadyathink on 10/4/2024 in #❓-help
Error with AppRouter type mismatch in Deno
Update: I threw together a minimal replication using Bun. It still works, and all the type errors are gone. So I think this issue might stem from Deno. I am going to look into submitting this as a bug report to deno.
7 replies
TtRPC
Created by Weldawadyathink on 10/4/2024 in #❓-help
Error with AppRouter type mismatch in Deno
/server/routers/book.ts
import { router, publicProcedure } from "../trpc.ts";
import { z } from "zod";

export const bookRouter = router({
hello: publicProcedure.input(z.string().nullish()).query(({ input }) => {
return `Hello, ${input ?? "World"}!`;
}),
test: publicProcedure.query(() => "Hi there"),
});
import { router, publicProcedure } from "../trpc.ts";
import { z } from "zod";

export const bookRouter = router({
hello: publicProcedure.input(z.string().nullish()).query(({ input }) => {
return `Hello, ${input ?? "World"}!`;
}),
test: publicProcedure.query(() => "Hi there"),
});
7 replies
TtRPC
Created by Weldawadyathink on 10/4/2024 in #❓-help
Error with AppRouter type mismatch in Deno
server/routers/_app.ts
import { router } from "../trpc.ts";

import { bookRouter } from "./book.ts";

export const appRouter = router({
book: bookRouter,
});

export type AppRouter = typeof appRouter;
import { router } from "../trpc.ts";

import { bookRouter } from "./book.ts";

export const appRouter = router({
book: bookRouter,
});

export type AppRouter = typeof appRouter;
7 replies
TtRPC
Created by Weldawadyathink on 10/4/2024 in #❓-help
Error with AppRouter type mismatch in Deno
server/main.ts
import { Hono } from "hono";
import { serveStatic } from "hono/deno";
import { trpcServer } from "@hono/trpc-server";
import { appRouter } from "./routers/_app.ts";
import { cors } from "hono/cors";

const app = new Hono();

app.use(cors());

app.use(
"/trpc/*",
trpcServer({
endpoint: "/trpc",
router: appRouter,
}),
);

app.use(
"*",
serveStatic({
root: "./dist/",
}),
);

export default app;
import { Hono } from "hono";
import { serveStatic } from "hono/deno";
import { trpcServer } from "@hono/trpc-server";
import { appRouter } from "./routers/_app.ts";
import { cors } from "hono/cors";

const app = new Hono();

app.use(cors());

app.use(
"/trpc/*",
trpcServer({
endpoint: "/trpc",
router: appRouter,
}),
);

app.use(
"*",
serveStatic({
root: "./dist/",
}),
);

export default app;
7 replies
TtRPC
Created by Weldawadyathink on 10/4/2024 in #❓-help
Error with AppRouter type mismatch in Deno
The server section has no type errors. It is setup according to the trpc v10 documentation.
7 replies
TtRPC
Created by Weldawadyathink on 10/4/2024 in #❓-help
Error with AppRouter type mismatch in Deno
Entire error message:
Deno: Type
CreateRouterInner<RootConfig<{ ctx: object; meta: object; errorShape: DefaultErrorShape; transformer: DefaultDataTransformer; }>, { book: CreateRouterInner<...>; }>
does not satisfy the constraint Router<AnyRouterDef<AnyRootConfig, any>>
The types returned by createCaller(...) are incompatible between these types.
Type 'DecoratedProcedureRecord<{ book: CreateRouterInner<RootConfig<{ ctx: object; meta: object; errorShape: DefaultErrorShape; transformer: DefaultDataTransformer; }>, { ...; }>; }> & { ...; }' is not assignable to type 'DecoratedProcedureRecord<any> & { query: inferHandlerFn<any>; mutation: inferHandlerFn<any>; subscription: inferHandlerFn<any>; }'.
Type
DecoratedProcedureRecord<{ book: CreateRouterInner<RootConfig<{ ctx: object; meta: object; errorShape: DefaultErrorShape; transformer: DefaultDataTransformer; }>, { ...; }>; }> & { ...; }
is not assignable to type DecoratedProcedureRecord<any>
Property query is incompatible with index signature.
Type inferHandlerFn<{}> is not assignable to type
DecoratedProcedureRecord<any> | DecorateProcedure<any>
Type inferHandlerFn<{}> is not assignable to type DecorateProcedure<any>
Types of parameters path and input are incompatible.
Type any is not assignable to type never
Deno: Type
CreateRouterInner<RootConfig<{ ctx: object; meta: object; errorShape: DefaultErrorShape; transformer: DefaultDataTransformer; }>, { book: CreateRouterInner<...>; }>
does not satisfy the constraint Router<AnyRouterDef<AnyRootConfig, any>>
The types returned by createCaller(...) are incompatible between these types.
Type 'DecoratedProcedureRecord<{ book: CreateRouterInner<RootConfig<{ ctx: object; meta: object; errorShape: DefaultErrorShape; transformer: DefaultDataTransformer; }>, { ...; }>; }> & { ...; }' is not assignable to type 'DecoratedProcedureRecord<any> & { query: inferHandlerFn<any>; mutation: inferHandlerFn<any>; subscription: inferHandlerFn<any>; }'.
Type
DecoratedProcedureRecord<{ book: CreateRouterInner<RootConfig<{ ctx: object; meta: object; errorShape: DefaultErrorShape; transformer: DefaultDataTransformer; }>, { ...; }>; }> & { ...; }
is not assignable to type DecoratedProcedureRecord<any>
Property query is incompatible with index signature.
Type inferHandlerFn<{}> is not assignable to type
DecoratedProcedureRecord<any> | DecorateProcedure<any>
Type inferHandlerFn<{}> is not assignable to type DecorateProcedure<any>
Types of parameters path and input are incompatible.
Type any is not assignable to type never
That doesn't have any formatting, so here is the bit that looks the most important to me:
Type inferHandlerFn<{}> is not assignable to type DecorateProcedure<any>
Types of parameters path and input are incompatible.
Type any is not assignable to type never
Type inferHandlerFn<{}> is not assignable to type DecorateProcedure<any>
Types of parameters path and input are incompatible.
Type any is not assignable to type never
7 replies