@@ -26,39 +26,50 @@ npm install trpc-chrome
2626yarn add trpc-chrome
2727```
2828
29- ** 2. Add a ` chromeLink ` to the client in your content script.**
29+ ** 2. Add ` createChromeHandler ` in your background script.**
3030
3131``` typescript
32- // content .ts
33- import { createTRPCClient } from ' @trpc/client ' ;
34- import { chromeLink } from ' trpc-chrome/link ' ;
32+ // background .ts
33+ import { initTRPC } from ' @trpc/server ' ;
34+ import { createChromeHandler } from ' trpc-chrome/adapter ' ;
3535
36- import type { AppRouter } from ' ./appRouter' ;
36+ const t = initTRPC .create ({
37+ isServer: false ,
38+ allowOutsideOfServer: true ,
39+ });
3740
38- const port = chrome .runtime .connect (chrome .runtime .id );
41+ const appRouter = t .router ({
42+ // ...procedures
43+ });
3944
40- export const chromeClient = createTRPCClient <AppRouter >({
41- links: [/* 👉 */ chromeLink ({ port })],
45+ export type AppRouter = typeof appRouter ;
46+
47+ createChromeHandler ({
48+ router: appRouter /* 👈 */ ,
4249});
4350```
4451
45- ** 3. Add ` createChromeHandler ` in your background script.**
52+ ** 3. Add a ` chromeLink ` to the client in your content script.**
4653
4754``` typescript
48- // background.ts
49- import { createChromeHandler } from ' trpc-chrome/adapter' ;
55+ // content.ts
56+ import { createTRPCClient } from ' @trpc/client' ;
57+ import { chromeLink } from ' trpc-chrome/link' ;
5058
51- import { appRouter } from ' ./appRouter ' ;
59+ import type { AppRouter } from ' ./background ' ;
5260
53- createChromeHandler ({ router: appRouter /* 👈 */ });
61+ const port = chrome .runtime .connect ();
62+ export const chromeClient = createTRPCClient <AppRouter >({
63+ links: [/* 👉 */ chromeLink ({ port })],
64+ });
5465```
5566
5667## Requirements
5768
5869Peer dependencies:
5970
60- - [ ` tRPC ` ] ( https://github.com/trpc/trpc ) Server v10 (` @trpc/server@next ` ) must be installed.
61- - [ ` tRPC ` ] ( https://github.com/trpc/trpc ) Client v10 (` @trpc/client@next ` ) must be installed.
71+ - [ ` tRPC ` ] ( https://github.com/trpc/trpc ) Server v10 (` @trpc/server ` ) must be installed.
72+ - [ ` tRPC ` ] ( https://github.com/trpc/trpc ) Client v10 (` @trpc/client ` ) must be installed.
6273
6374## Example
6475
0 commit comments