Separating routers into their own modules and merging them causes "any" type in client
Hi all,
I've separated my router into multiple files, but when merging them I get
any
types for all procedures in the client. This happens with both mergeRouters
and composing a parent router
with multiple child router
s.
It seems like trpc is loosing type information... I've verified that both my client and server trpc have the same version, 10.23.0
, and that my typescript configuration is correct according to the docs.
My environment is:
node: v19.2.0
npm 8.19.3
Anyone know what's up with this? Thanks!9 Replies
Have you reloaded your typescript server?
Could you share some of the relevant code?
Hello, I hope its ok to revive this, with a possibly similiar question...
I had / have a nextjs app with a very large router, and I thought it would be a good idea to break it apart into a monorepo because I wanted to be able to create more than one app, with the same api
I started here https://github.com/clerkinc/t3-turbo-and-clerk/
GitHub
GitHub - clerkinc/t3-turbo-and-clerk: A t3 Turbo starter with Clerk...
A t3 Turbo starter with Clerk as the auth provider. - GitHub - clerkinc/t3-turbo-and-clerk: A t3 Turbo starter with Clerk as the auth provider.
and then I broke apart my router into their respective service routers (example, I have a large Asana router, and Dropbox, and Salesforce....) I made each "service" a module in the monorepo, because they also have components and other "service" specific things.... now here is my issue....
how can I build up the big router, from the different modules? I keep running into issues where I can't export "router" from
api
to each service and add to the router, because then I have to import it back and that's a cycle... So I thought maybe I can import the clients from the services, build middlewares in api
and export procedures.... but then I still need to use router
from api
to build up the whole thing.....
Is what I am trying to do even possible?
does the whole, complete router need to be exported in one shot? Can I even have external modules bring functionality into the tRPC router? I feel like I must be missing something....Hello, replying back late. Issue was I was using the "Volar" extension in VSCode (since this is a Vue project). I fixed the issue by disabling the extension
hello there, I am also facing a similar issue with the types showing as any for procedures in my client.
Hey, did you find a solution by any chance?
@Khojo can you share your code, maybe it can be due to absolute imports incase if you are using absolute imports instead of relative.
I've faced same issue in my next.js project, later I switched to relative import from absolute and it's resolved
@Mr. Joker this was it