@stryke/trpc-next 0.5.1 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,15 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.createTRPCServerActionHandler = createTRPCServerActionHandler;
7
7
  var _server = require("@trpc/next/app-dir/server");
8
8
  var _defu = _interopRequireDefault(require("defu"));
9
- var _headers = require("next/headers");
10
9
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- function createTRPCServerActionHandler(e, t = async () => ({})) {
12
- return (0, _server.experimental_createServerActionHandler)(e, {
10
+ function createTRPCServerActionHandler(e, t, o = async () => ({})) {
11
+ return (0, _server.experimental_createServerActionHandler)(t, {
13
12
  createContext: async () => {
14
- const o = await Promise.resolve(t());
15
- return (0, _defu.default)(o, {
13
+ const r = await Promise.resolve(o());
14
+ return (0, _defu.default)(r, {
16
15
  headers: {
17
- cookies: (await (0, _headers.headers)()).get("cookie") ?? ""
16
+ cookies: (await e()).toString() ?? ""
18
17
  }
19
18
  });
20
19
  }
@@ -1,5 +1,6 @@
1
1
  import type { MaybePromise } from "@stryke/types";
2
2
  import type { AnyRootTypes, RootConfig } from "@trpc/server/unstable-core-do-not-import";
3
+ import type { ReadonlyRequestCookies } from "next/dist/server/web/spec-extension/adapters/request-cookies";
3
4
  import type { BaseContext } from "./types";
4
5
  /**
5
6
  * This client invokes procedures directly on the server without fetching over HTTP.
@@ -9,7 +10,7 @@ import type { BaseContext } from "./types";
9
10
  */
10
11
  export declare function createTRPCServerActionHandler<TInstance extends {
11
12
  _config: RootConfig<AnyRootTypes>;
12
- }, TContext extends BaseContext = BaseContext>(t: TInstance, createContext?: () => MaybePromise<TContext>): <TProc extends import("@trpc/server/unstable-core-do-not-import").AnyProcedure>(proc: TProc) => import("@trpc/next/app-dir/server").TRPCActionHandler<{
13
+ }, TContext extends BaseContext = BaseContext>(cookies: () => Promise<ReadonlyRequestCookies>, t: TInstance, createContext?: () => MaybePromise<TContext>): <TProc extends import("@trpc/server/unstable-core-do-not-import").AnyProcedure>(proc: TProc) => import("@trpc/next/app-dir/server").TRPCActionHandler<{
13
14
  input: import("@trpc/server/unstable-core-do-not-import").inferProcedureInput<TProc>;
14
15
  output: import("@trpc/server/unstable-core-do-not-import").inferProcedureOutput<TProc>;
15
16
  errorShape: import("@trpc/server/unstable-core-do-not-import").inferClientTypes<TInstance>["errorShape"];
@@ -1 +1 @@
1
- import{experimental_createServerActionHandler as r}from"@trpc/next/app-dir/server";import n from"defu";import{headers as s}from"next/headers";export function createTRPCServerActionHandler(e,t=async()=>({})){return r(e,{createContext:async()=>{const o=await Promise.resolve(t());return n(o,{headers:{cookies:(await s()).get("cookie")??""}})}})}
1
+ import{experimental_createServerActionHandler as n}from"@trpc/next/app-dir/server";import s from"defu";export function createTRPCServerActionHandler(e,t,o=async()=>({})){return n(t,{createContext:async()=>{const r=await Promise.resolve(o());return s(r,{headers:{cookies:(await e()).toString()??""}})}})}
package/dist/server.cjs CHANGED
@@ -19,10 +19,9 @@ Object.defineProperty(exports, "redirect", {
19
19
  var _client = require("@trpc/client");
20
20
  var _nextCache = require("@trpc/next/app-dir/links/nextCache");
21
21
  var _server = require("@trpc/next/app-dir/server");
22
- var _headers = require("next/headers");
23
22
  var _shared = require("./shared.cjs");
24
23
  var _nextAppDir = require("@trpc/server/adapters/next-app-dir");
25
- function createTRPCServer(r, t = () => ({})) {
24
+ function createTRPCServer(r, t, o = () => ({})) {
26
25
  return (0, _server.experimental_createTRPCNextAppDirServer)({
27
26
  config() {
28
27
  return {
@@ -30,11 +29,11 @@ function createTRPCServer(r, t = () => ({})) {
30
29
  enabled: e => !0
31
30
  }), (0, _nextCache.experimental_nextCacheLink)({
32
31
  revalidate: 5,
33
- router: r,
32
+ router: t,
34
33
  transformer: _shared.transformer,
35
34
  createContext: async () => {
36
- const e = await Promise.resolve(t());
37
- return e.headers ??= {}, e.headers["x-trpc-source"] = "rsc-invoke", e.headers.cookie = (await (0, _headers.cookies)()).toString(), e;
35
+ const e = await Promise.resolve(o());
36
+ return e.headers ??= {}, e.headers["x-trpc-source"] = "rsc-invoke", e.headers.cookie = (await r()).toString(), e;
38
37
  }
39
38
  })]
40
39
  };
package/dist/server.d.ts CHANGED
@@ -3,6 +3,7 @@ import type { Resolver } from "@trpc/client";
3
3
  import type { AnyTRPCRouter, inferRouterContext } from "@trpc/server";
4
4
  import type { AnyProcedure, AnyRootTypes, inferProcedureInput, inferTransformedProcedureOutput, ProcedureType, RouterRecord } from "@trpc/server/unstable-core-do-not-import";
5
5
  import type { ResolverDef } from "@trpc/tanstack-react-query";
6
+ import type { ReadonlyRequestCookies } from "next/dist/server/web/spec-extension/adapters/request-cookies";
6
7
  export type DecorateProcedureServer<TType extends ProcedureType, TDef extends ResolverDef> = TType extends "query" ? {
7
8
  query: Resolver<TDef>;
8
9
  revalidate: (input?: TDef["input"]) => Promise<{
@@ -30,5 +31,5 @@ export type NextAppDirDecorateRouterRecord<TRoot extends AnyRootTypes, TRecord e
30
31
  * @param router - The router created by the user
31
32
  * @param createContext - An optional function to generate a context
32
33
  */
33
- export declare function createTRPCServer<TRouter extends AnyTRPCRouter, TContext extends inferRouterContext<TRouter>>(router: TRouter, createContext?: () => MaybePromise<TContext>): NextAppDirDecorateRouterRecord<TRouter["_def"]["_config"]["$types"], TRouter["_def"]["record"]>;
34
+ export declare function createTRPCServer<TRouter extends AnyTRPCRouter, TContext extends inferRouterContext<TRouter> = inferRouterContext<TRouter>>(cookies: () => Promise<ReadonlyRequestCookies>, router: TRouter, createContext?: () => MaybePromise<TContext>): NextAppDirDecorateRouterRecord<TRouter["_def"]["_config"]["$types"], TRouter["_def"]["record"]>;
34
35
  export { experimental_notFound as notFound, experimental_redirect as redirect } from "@trpc/server/adapters/next-app-dir";
package/dist/server.mjs CHANGED
@@ -1 +1 @@
1
- import{loggerLink as o}from"@trpc/client";import{experimental_nextCacheLink as n}from"@trpc/next/app-dir/links/nextCache";import{experimental_createTRPCNextAppDirServer as p}from"@trpc/next/app-dir/server";import{cookies as u}from"next/headers";import{transformer as i}from"./shared";export function createTRPCServer(r,t=()=>({})){return p({config(){return{links:[o({enabled:e=>!0}),n({revalidate:5,router:r,transformer:i,createContext:async()=>{const e=await Promise.resolve(t());return e.headers??={},e.headers["x-trpc-source"]="rsc-invoke",e.headers.cookie=(await u()).toString(),e}})]}}})}export{experimental_notFound as notFound,experimental_redirect as redirect}from"@trpc/server/adapters/next-app-dir";
1
+ import{loggerLink as n}from"@trpc/client";import{experimental_nextCacheLink as s}from"@trpc/next/app-dir/links/nextCache";import{experimental_createTRPCNextAppDirServer as u}from"@trpc/next/app-dir/server";import{transformer as p}from"./shared";export function createTRPCServer(r,t,o=()=>({})){return u({config(){return{links:[n({enabled:e=>!0}),s({revalidate:5,router:t,transformer:p,createContext:async()=>{const e=await Promise.resolve(o());return e.headers??={},e.headers["x-trpc-source"]="rsc-invoke",e.headers.cookie=(await r()).toString(),e}})]}}})}export{experimental_notFound as notFound,experimental_redirect as redirect}from"@trpc/server/adapters/next-app-dir";
package/dist/shared.cjs CHANGED
@@ -25,7 +25,7 @@ _superjson.default.registerCustom({
25
25
  deserialize: e => _polyfill.Temporal.PlainDateTime.from(e)
26
26
  }, "Temporal.PlainDateTime");
27
27
  const transformer = exports.transformer = _superjson.default,
28
- createQueryClient = e => new _reactQuery.QueryClient((0, _defu.default)(e, {
28
+ createQueryClient = (e = {}) => new _reactQuery.QueryClient((0, _defu.default)(e, {
29
29
  defaultOptions: {
30
30
  queries: {
31
31
  staleTime: 1e3 * 30
package/dist/shared.d.ts CHANGED
@@ -7,7 +7,7 @@ export declare const transformer: DataTransformer;
7
7
  /**
8
8
  * Create a TRPC Tanstack Query client.
9
9
  *
10
- * @param config - The query client config
10
+ * @param queryClientConfig - The query client config
11
11
  * @returns The TRPC Tanstack Query client
12
12
  */
13
- export declare const createQueryClient: (config?: Partial<QueryClientConfig>) => QueryClient;
13
+ export declare const createQueryClient: (queryClientConfig?: Partial<QueryClientConfig>) => QueryClient;
package/dist/shared.mjs CHANGED
@@ -1 +1 @@
1
- import{Temporal as r}from"@js-temporal/polyfill";import{joinPaths as i}from"@stryke/path/join-paths";import{defaultShouldDehydrateQuery as o,QueryClient as n}from"@tanstack/react-query";import s from"defu";import a from"superjson";export function getTRPCServerUrl(e,t=1){return i(typeof e=="string"?e:e.host||"","api",t?`v${t}`:"","trpc")}a.registerCustom({isApplicable:e=>e instanceof r.PlainDate,serialize:e=>e.toJSON(),deserialize:e=>r.PlainDate.from(e)},"Temporal.PlainDate"),a.registerCustom({isApplicable:e=>e instanceof r.PlainDateTime,serialize:e=>e.toJSON(),deserialize:e=>r.PlainDateTime.from(e)},"Temporal.PlainDateTime");export const transformer=a,createQueryClient=e=>new n(s(e,{defaultOptions:{queries:{staleTime:1e3*30},dehydrate:{shouldDehydrateQuery:t=>o(t)||t.state.status==="pending",serializeData:transformer.serialize},hydrate:{deserializeData:transformer.deserialize}}}));
1
+ import{Temporal as r}from"@js-temporal/polyfill";import{joinPaths as i}from"@stryke/path/join-paths";import{defaultShouldDehydrateQuery as o,QueryClient as n}from"@tanstack/react-query";import s from"defu";import a from"superjson";export function getTRPCServerUrl(e,t=1){return i(typeof e=="string"?e:e.host||"","api",t?`v${t}`:"","trpc")}a.registerCustom({isApplicable:e=>e instanceof r.PlainDate,serialize:e=>e.toJSON(),deserialize:e=>r.PlainDate.from(e)},"Temporal.PlainDate"),a.registerCustom({isApplicable:e=>e instanceof r.PlainDateTime,serialize:e=>e.toJSON(),deserialize:e=>r.PlainDateTime.from(e)},"Temporal.PlainDateTime");export const transformer=a,createQueryClient=(e={})=>new n(s(e,{defaultOptions:{queries:{staleTime:1e3*30},dehydrate:{shouldDehydrateQuery:t=>o(t)||t.state.status==="pending",serializeData:transformer.serialize},hydrate:{deserializeData:transformer.deserialize}}}));
@@ -7,27 +7,26 @@ exports.createTRPCTanstackQueryServer = createTRPCTanstackQueryServer;
7
7
  var _reactQuery = require("@tanstack/react-query");
8
8
  var _tanstackReactQuery = require("@trpc/tanstack-react-query");
9
9
  var _defu = _interopRequireDefault(require("defu"));
10
- var _headers = require("next/headers");
11
10
  var _react = _interopRequireWildcard(require("react"));
12
11
  require("server-only");
13
12
  var _shared = require("../shared.cjs");
14
13
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
15
14
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
16
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
- function createTRPCTanstackQueryServer(n, i = () => ({}), a) {
18
- const c = (0, _react.cache)(async () => {
19
- const e = await Promise.resolve(i()),
20
- t = new Headers(await (0, _headers.headers)());
16
+ function createTRPCTanstackQueryServer(n, i, a = () => ({}), c = {}) {
17
+ const s = (0, _react.cache)(async () => {
18
+ const e = await Promise.resolve(a()),
19
+ t = new Headers(await n());
21
20
  return t.set("x-trpc-source", "rsc"), (0, _defu.default)({
22
21
  headers: Object.fromEntries(t)
23
22
  }, e);
24
23
  }),
25
- r = (0, _react.cache)(() => (0, _shared.createQueryClient)(a));
24
+ r = (0, _react.cache)(() => (0, _shared.createQueryClient)(c));
26
25
  return {
27
26
  trpc: (0, _tanstackReactQuery.createTRPCOptionsProxy)({
28
- router: n,
27
+ router: i,
29
28
  queryClient: r,
30
- ctx: c
29
+ ctx: s
31
30
  }),
32
31
  HydrateClient: e => {
33
32
  const t = (0, _reactQuery.dehydrate)(r());
@@ -9,10 +9,10 @@ import "server-only";
9
9
  *
10
10
  * @param router - The TRPC router
11
11
  * @param createContext - The context creator function
12
- * @param config - The query client config
12
+ * @param queryClientConfig - The query client config
13
13
  * @returns The TRPC Tanstack Query server
14
14
  */
15
- export declare function createTRPCTanstackQueryServer<TRouter extends AnyTRPCRouter, TContext extends inferRouterContext<TRouter>>(router: TRouter, createContext?: () => MaybePromise<TContext>, config?: Partial<QueryClientConfig>): {
15
+ export declare function createTRPCTanstackQueryServer<TRouter extends AnyTRPCRouter, TContext extends inferRouterContext<TRouter> = inferRouterContext<TRouter>>(headers: () => Promise<Headers>, router: TRouter, createContext?: () => MaybePromise<TContext>, queryClientConfig?: Partial<QueryClientConfig>): {
16
16
  trpc: import("@trpc/tanstack-react-query").TRPCOptionsProxy<TRouter>;
17
17
  HydrateClient: (props: {
18
18
  children: React.ReactNode;
@@ -1 +1 @@
1
- import{dehydrate as s,HydrationBoundary as y}from"@tanstack/react-query";import{createTRPCOptionsProxy as p}from"@trpc/tanstack-react-query";import u from"defu";import{headers as m}from"next/headers";import d,{cache as o}from"react";import"server-only";import{createQueryClient as f}from"../shared";export function createTRPCTanstackQueryServer(n,i=()=>({}),a){const c=o(async()=>{const e=await Promise.resolve(i()),t=new Headers(await m());return t.set("x-trpc-source","rsc"),u({headers:Object.fromEntries(t)},e)}),r=o(()=>f(a));return{trpc:p({router:n,queryClient:r,ctx:c}),HydrateClient:e=>{const t=s(r());return d.createElement(y,{state:t},e.children)},prefetch:e=>{const t=r();e.queryKey[1]?.type==="infinite"?t.prefetchInfiniteQuery(e):t.prefetchQuery(e)}}}
1
+ import{dehydrate as y,HydrationBoundary as u}from"@tanstack/react-query";import{createTRPCOptionsProxy as p}from"@trpc/tanstack-react-query";import m from"defu";import C,{cache as o}from"react";import"server-only";import{createQueryClient as d}from"../shared";export function createTRPCTanstackQueryServer(n,i,a=()=>({}),c={}){const s=o(async()=>{const e=await Promise.resolve(a()),t=new Headers(await n());return t.set("x-trpc-source","rsc"),m({headers:Object.fromEntries(t)},e)}),r=o(()=>d(c));return{trpc:p({router:i,queryClient:r,ctx:s}),HydrateClient:e=>{const t=y(r());return C.createElement(u,{state:t},e.children)},prefetch:e=>{const t=r();e.queryKey[1]?.type==="infinite"?t.prefetchInfiniteQuery(e):t.prefetchQuery(e)}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stryke/trpc-next",
3
- "version": "0.5.1",
3
+ "version": "0.5.3",
4
4
  "type": "module",
5
5
  "description": "A package to help in using tRPC in modern NextJs applications.",
6
6
  "repository": {
@@ -22,10 +22,10 @@
22
22
  "dependencies": {
23
23
  "@js-temporal/polyfill": "^0.5.0",
24
24
  "@tanstack/react-query": "^5.70.0",
25
- "@trpc/client": "^11.0.1",
26
- "@trpc/next": "^11.0.1",
27
- "@trpc/server": "^11.0.1",
28
- "@trpc/tanstack-react-query": "^11.0.1",
25
+ "@trpc/client": "next",
26
+ "@trpc/next": "next",
27
+ "@trpc/server": "next",
28
+ "@trpc/tanstack-react-query": "next",
29
29
  "defu": "^6.1.4",
30
30
  "server-only": "^0.0.1",
31
31
  "superjson": "2.2.2",