Compare commits

..

43 Commits

Author SHA1 Message Date
wobsoriano
2c28424ecd chore(release): v0.10.3 2023-05-20 11:11:11 -07:00
wobsoriano
18cd492ffd feat: export createH3ApiHandler for h3 apps 2023-05-20 11:11:07 -07:00
wobsoriano
c2ae94b4a7 chore(deps): bump h3 to 1.6.6 2023-05-20 11:09:04 -07:00
wobsoriano
94eb3c6257 replace bumpp with changelogen 2023-05-20 11:08:44 -07:00
wobsoriano
e55670169e remove unused imports in playground 2023-05-15 09:06:45 -07:00
wobsoriano
4f7fbbe108 chore: release v0.10.2 2023-05-15 09:03:34 -07:00
wobsoriano
c32fdf7893 feat: allow providing a transform output type 2023-05-15 09:00:04 -07:00
wobsoriano
10bc1d3a4d chore: release v0.10.1 2023-05-12 13:09:29 -07:00
wobsoriano
7bd62822d3 remove nuxt from peer deps 2023-05-12 13:09:24 -07:00
wobsoriano
967271089f fix docs build 2023-05-12 11:28:07 -07:00
wobsoriano
169c6aa534 chore: release v0.10.0 2023-05-12 11:26:02 -07:00
wobsoriano
2d025788ce feat(deps): add nuxt as a peer dependeny 2023-05-12 11:24:29 -07:00
wobsoriano
4af2b2ef3f feat(deps): bump @trpc/client and @trpc/server to 10.26.0 2023-05-12 11:20:45 -07:00
wobsoriano
ae0b7824f4 fix: asyncData types 2023-05-12 11:19:37 -07:00
wobsoriano
4339bf5059 fix: transform types 2023-05-12 11:07:44 -07:00
wobsoriano
252e2261e9 update pnpm nuxt overrides 2023-05-12 10:58:47 -07:00
wobsoriano
40eaf44f39 bump local deps 2023-05-12 10:42:46 -07:00
wobsoriano
ad827bb716 chore: release v0.9.0 2023-04-14 13:06:07 -07:00
wobsoriano
08125cbf0c fix types 2023-04-14 13:05:53 -07:00
wobsoriano
fb5723b071 feat(deps): bump @trpc/client and @trpc/server to 10.20.0 2023-04-14 11:13:38 -07:00
wobsoriano
8c35279cc2 bump local deps 2023-04-14 11:12:30 -07:00
Robert Soriano
61a5bcd2ee Merge pull request #88 from Colonel-Sandvich/next
Update `HTTPLinkOptions` import
2023-04-14 08:27:22 -07:00
Colonel-Sandvich
eaeab1565d Update HTTPLinkOptions import 2023-04-14 16:18:27 +01:00
Robert Soriano
e7453bfc70 Merge pull request #86 from danielroe/fix/github-module
fix: use latest `@nuxtlabs/github` module
2023-04-13 16:19:14 -07:00
Daniel Roe
54ef27d524 fix: use latest @nuxtlabs/github module 2023-04-13 23:54:49 +01:00
Robert Soriano
38d83dac34 Merge pull request #83 from CRBroughton/trpc-10.19.1
chore: bump dependencies for nuxt 3.3.3 + devtools 0.3.2
2023-04-07 20:37:57 -07:00
CRBroughton
0f7e52248f chore: bump dependencies for nuxt 3.3.3 2023-04-07 21:38:55 +01:00
wobsoriano
be55641338 fix: trpc-nuxt docs 2023-04-03 16:04:08 -07:00
wobsoriano
6ba6e70b92 chore: release v0.8.0 2023-03-27 22:55:56 -07:00
wobsoriano
b710f809c7 bump local deps 2023-03-27 22:54:26 -07:00
Robert Soriano
4f647afa36 Merge pull request #80 from CRBroughton/nuxt-3.2.2-support 2023-03-27 21:25:00 -07:00
CRBroughton
1defbe5954 chore: upgrade dependencies for nuxt 3.2.2 2023-03-27 21:48:14 +01:00
Robert Soriano
fa6ba65d35 Merge pull request #76 from robinWongM/hotfix/subscribe-not-working
fix: pass all arguments to proxied trpc client method
2023-03-18 13:56:08 -07:00
Robert Soriano
d4af221e89 Merge pull request #75 from kedniko/patch-1
Update 2.recommended.md
2023-03-18 13:55:45 -07:00
Robin Wong
6595a1d306 fix: pass all arguments to proxied trpc client method 2023-03-18 03:15:49 +08:00
kedniko
b506cd5f14 Update 2.recommended.md 2023-03-10 18:31:26 +01:00
wobsoriano
7a69573fb9 chore: release v0.7.0 2023-02-20 09:18:07 -08:00
wobsoriano
8e26e781d4 fix type errors 2023-02-20 09:18:03 -08:00
wobsoriano
8efb63e70c bump tsup to 6.6.3 2023-02-20 09:09:10 -08:00
wobsoriano
4f6c07b0a1 feat(deps): require trpc >10.12.0 2023-02-20 09:08:44 -08:00
wobsoriano
aa3fe5527d feat(deps): bump ufo to 1.1.0 2023-02-20 09:07:44 -08:00
wobsoriano
6f17913eab feat(deps): bump ofetch to 1.0.1 2023-02-20 09:07:18 -08:00
wobsoriano
d6c60cb2b3 feat(deps): bump h3 to 1.5.0 2023-02-20 09:06:56 -08:00
11 changed files with 4102 additions and 2656 deletions

16
CHANGELOG.md Normal file
View File

@@ -0,0 +1,16 @@
# Changelog
## v0.10.3
[compare changes](https://github.com/wobsoriano/trpc-nuxt/compare/v0.10.2...v0.10.3)
### 🚀 Enhancements
- Export createH3ApiHandler for h3 apps ([18cd492](https://github.com/wobsoriano/trpc-nuxt/commit/18cd492))
### ❤️ Contributors
- Wobsoriano ([@wobsoriano](http://github.com/wobsoriano))

View File

@@ -96,7 +96,7 @@ import { inferAsyncReturnType } from '@trpc/server'
* Creates context for an incoming request
* @link https://trpc.io/docs/context
*/
export const createContext = () => {}
export const createContext = () => ({})
export type Context = inferAsyncReturnType<typeof createContext>;
```

View File

@@ -8,10 +8,10 @@
"preview": "nuxi preview"
},
"dependencies": {
"nuxt": "^3.0.0"
"nuxt": "3.4.3"
},
"devDependencies": {
"@nuxt-themes/docus": "^1.1.10",
"@nuxtlabs/github-module": "^1.5.4"
"@nuxt-themes/docus": "^1.11.1",
"@nuxtlabs/github-module": "^1.6.3"
}
}

View File

@@ -2,8 +2,8 @@
"name": "trpc-nuxt",
"description": "End-to-end typesafe APIs in Nuxt applications.",
"type": "module",
"packageManager": "pnpm@7.18.2",
"version": "0.6.0",
"packageManager": "pnpm@7.32.4",
"version": "0.10.3",
"license": "MIT",
"sideEffects": false,
"exports": {
@@ -31,28 +31,28 @@
"build": "tsup",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"release": "bumpp && npm publish",
"release": "changelogen --release && npm publish && git push --follow-tags",
"update-deps": "taze -w && pnpm i"
},
"peerDependencies": {
"@trpc/client": "^10.10.0",
"@trpc/server": "^10.10.0"
"@trpc/client": "^10.26.0",
"@trpc/server": "^10.26.0"
},
"dependencies": {
"h3": "^1.1.0",
"ofetch": "^1.0.0",
"ohash": "^1.0.0",
"ufo": "^1.0.1"
"h3": "^1.6.6",
"ofetch": "^1.0.1",
"ohash": "^1.1.2",
"ufo": "^1.1.2"
},
"devDependencies": {
"@nuxt/eslint-config": "^0.1.1",
"@trpc/client": "^10.10.0",
"@trpc/server": "^10.10.0",
"bumpp": "^8.2.1",
"eslint": "^8.33.0",
"taze": "^0.8.5",
"tsup": "6.4.0",
"typescript": "^4.9.5"
"@trpc/client": "^10.26.0",
"@trpc/server": "^10.26.0",
"changelogen": "^0.5.3",
"eslint": "^8.40.0",
"taze": "^0.10.1",
"tsup": "6.7.0",
"typescript": "^5.0.4"
},
"eslintConfig": {
"extends": [
@@ -75,10 +75,10 @@
],
"pnpm": {
"overrides": {
"nuxt": "3.0.0"
"nuxt": "3.4.3"
}
},
"engines": {
"node": "^16.13.0 || ^18.12.0"
}
}
}

View File

@@ -9,13 +9,14 @@
"postinstall": "nuxt prepare"
},
"dependencies": {
"@trpc/client": "^10.8.1",
"@trpc/server": "^10.8.1",
"superjson": "^1.12.1",
"@trpc/client": "^10.26.0",
"@trpc/server": "^10.26.0",
"superjson": "^1.12.3",
"trpc-nuxt": "workspace:*",
"zod": "^3.20.2"
"zod": "^3.21.4"
},
"devDependencies": {
"nuxt": "^3.0.0"
"@types/node": "^18.16.8",
"nuxt": "3.4.3"
}
}

View File

@@ -8,8 +8,8 @@ const { data: todo, pending, error } = await useAsyncData(() => $client.todo.get
<div v-if="pending">
Loading...
</div>
<div v-else-if="error?.data?.code">
{{ error.data.code }}
<div v-else-if="error">
{{ error.message }} - {{ error.cause }}
</div>
<div v-else>
ID: {{ todo?.id }} <br>

6652
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -61,7 +61,7 @@ export function createNuxtProxyDecoration<TRouter extends AnyRouter> (name: stri
}), asyncDataOptions)
}
return (client as any)[path][lastArg](input)
return (client as any)[path][lastArg](...args)
})
}

View File

@@ -3,10 +3,10 @@ import { type AnyRouter } from '@trpc/server'
import { FetchError } from 'ofetch'
// @ts-expect-error: Nuxt auto-imports
import { useRequestHeaders } from '#imports'
import { type HTTPLinkOptions as _HTTPLinkOptions } from '@trpc/client/dist/links/internals/httpUtils'
import { type HTTPLinkOptions as _HTTPLinkOptions } from '@trpc/client/dist/links/httpLink'
import { type FetchEsque } from '@trpc/client/dist/internals/types'
function customFetch(input: RequestInfo | URL, init?: RequestInit) {
function customFetch(input: RequestInfo | URL, init?: RequestInit & { method: 'GET' }) {
return globalThis.$fetch.raw(input.toString(), init)
.catch((e) => {
if (e instanceof FetchError && e.response) { return e.response }
@@ -70,6 +70,7 @@ export function httpBatchLink<TRouter extends AnyRouter>(opts?: HttpBatchLinkOpt
return _httpBatchLink<TRouter>({
url: '/api/trpc',
// @ts-expect-error: Missing property from batchLink. Fix this later.
headers () {
return headers
},

View File

@@ -16,9 +16,8 @@ import { inferTransformedProcedureOutput } from '@trpc/server/shared'
import type {
AsyncData,
AsyncDataOptions,
KeyOfRes,
KeysOf,
PickFrom,
_Transform
} from 'nuxt/dist/app/composables/asyncData'
interface TRPCRequestOptions extends _TRPCRequestOptions {
@@ -51,13 +50,14 @@ type DecorateProcedure<
> = TProcedure extends AnyQueryProcedure
? {
useQuery: <
TData = inferTransformedProcedureOutput<TProcedure>,
Transform extends _Transform<TData> = _Transform<TData, TData>,
PickKeys extends KeyOfRes<Transform> = KeyOfRes<Transform>,
ResT = inferTransformedProcedureOutput<TProcedure>,
DataE = TRPCClientErrorLike<TProcedure>,
DataT = ResT,
PickKeys extends KeysOf<DataT> = KeysOf<DataT>,
>(
input: inferProcedureInput<TProcedure>,
opts?: AsyncDataOptions<TData, Transform, PickKeys> & { trpc?: TRPCRequestOptions },
) => AsyncData<PickFrom<ReturnType<Transform>, PickKeys>, TRPCClientErrorLike<TProcedure>>,
opts?: AsyncDataOptions<ResT, DataT, PickKeys> & { trpc?: TRPCRequestOptions },
) => AsyncData<PickFrom<DataT, PickKeys>, DataE>,
query: Resolver<TProcedure>
} : TProcedure extends AnyMutationProcedure ? {
mutate: Resolver<TProcedure>

View File

@@ -50,9 +50,13 @@ export interface ResolveHTTPRequestOptions<TRouter extends AnyRouter> {
}
function getPath (event: H3Event): string | null {
if (typeof event.context.params.trpc === 'string') { return event.context.params.trpc }
const { params } = event.context
if (Array.isArray(event.context.params.trpc)) { return event.context.params.trpc.join('/') }
if (typeof params?.trpc === 'string') { return params.trpc }
if (params?.trpc && Array.isArray(params.trpc)) {
return (params.trpc as string[]).join('/')
}
return null
}
@@ -124,3 +128,5 @@ export function createNuxtApiHandler<TRouter extends AnyRouter> ({
return body
})
}
export const createH3ApiHandler = createNuxtApiHandler