T
Join ServertRPC
❓-help
The inferred type of this node exceeds the maximum length the compiler will serialize.
Hey, there I am running into this error when I have more than 12 routers in the mergeRouters function.
version: latest
related: https://github.com/trpc/trpc/issues/2568 // that din't work for me.
The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed.
version: latest
related: https://github.com/trpc/trpc/issues/2568 // that din't work for me.
Are you able to share your code?
it's a private repo, I can share snippet if you like to.
I am referring to cal.com setup, my local setup for cal.com also error out the same way.
https://github.com/calcom/cal.com/blob/main/packages/trpc/server/routers/viewer.tsx#LL1281C20-L1281C20,
I am referring to cal.com setup, my local setup for cal.com also error out the same way.
https://github.com/calcom/cal.com/blob/main/packages/trpc/server/routers/viewer.tsx#LL1281C20-L1281C20,
export const appRouter = mergeRouters(
router12,
router({
router1,
router2,
router3,
router4,
router5,
router6,
router7,
router8,
router9
router10,
router11,
// router13,
// router14,
// router15,
}),
);
uncommenting any of the last three gives that type error on appRouter
Interesting
I think it's worth opening a fresh issue for this, but it would be very helpful to have a reproduction repo
Oh and I forgot to mention,
it works when I set
I dont know, if that's okay or will have cons for it
it works when I set
declaration: false
in tsconfig.json
.I dont know, if that's okay or will have cons for it
Just to be sure, do you have strict:true enabled?
That can help a lot of perf things
yup, it's set to true
Great
I'd open a GitHub issue then
sure, thanks.
in the past we have recommended turning off that option if you dont need it
https://www.typescriptlang.org/tsconfig#declaration
https://www.typescriptlang.org/tsconfig#declaration
tldr; it generate a d.ts file for every file. which is unnecessary in most cases
Just for my own sanity, why are you merging 2 un-namespaced routers with the second one an already merged set of namespaced routers?
just so that I get to question right
Did you mean I could do this instead ?
I followed this setup,
https://github.com/calcom/cal.com/blob/main/packages/trpc/server/routers/viewer.tsx#LL1281C20-L1281C20,
Also, thanks you made me realize
https://trpc.io/docs/typedoc/server/functions/router-1#deprecated
Did you mean I could do this instead ?
export const appRouter = mergeRouters(
router12,
router1,
router2,
router3,
......
);
I followed this setup,
https://github.com/calcom/cal.com/blob/main/packages/trpc/server/routers/viewer.tsx#LL1281C20-L1281C20,
Also, thanks you made me realize
router()
is Deprecatedhttps://trpc.io/docs/typedoc/server/functions/router-1#deprecated
Yes that’s what i meant…or use router({…}) for namespaced endpoints. I’ve never seen the two mixed so I’m curious
https://trpc.io/docs/server/merging-routers#merging-with-tmergerouters
https://trpc.io/docs/server/merging-routers#merging-with-tmergerouters
I moved everything into
Just a head ups @Nick Lucas, it's fixed for me now. I hadn't created a github issue, as I couldn't reproduce the issue easily.
thanks a lot all of you.
router({ })
, and the type error is gone. Just a head ups @Nick Lucas, it's fixed for me now. I hadn't created a github issue, as I couldn't reproduce the issue easily.
thanks a lot all of you.