From fa7db27be1579a7110d2db90155148d64691f9ca Mon Sep 17 00:00:00 2001 From: Robert Soriano Date: Tue, 17 May 2022 15:04:51 -0700 Subject: [PATCH] update readme --- README.md | 6 ++++++ playground/app.vue | 4 ++-- playground/server/fn/index.ts | 16 ++++++++++++++++ src/module.ts | 25 +++++-------------------- 4 files changed, 29 insertions(+), 22 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..e17027b --- /dev/null +++ b/README.md @@ -0,0 +1,6 @@ +# tRPC-Nuxt + +[![Build Size](https://img.shields.io/bundlephobia/minzip/trpc-nuxt?label=bundle%20size&style=flat&colorA=000000&colorB=000000)](https://bundlephobia.com/result?p=trpc-nuxt) +[![Version](https://img.shields.io/npm/v/trpc-nuxt?style=flat&colorA=000000&colorB=000000)](https://www.npmjs.com/package/trpc-nuxt) + +End-to-end typesafe APIs with [tRPC.io](https://trpc.io/) in Nuxt applications. diff --git a/playground/app.vue b/playground/app.vue index 92a6fd4..5d0e327 100644 --- a/playground/app.vue +++ b/playground/app.vue @@ -1,6 +1,6 @@ diff --git a/playground/server/fn/index.ts b/playground/server/fn/index.ts index 811abf5..497dcdb 100644 --- a/playground/server/fn/index.ts +++ b/playground/server/fn/index.ts @@ -13,4 +13,20 @@ export const router = trpc resolve: () => 'world', }) +// optional +export const createContext = () => { + // ... + return { + /** context data */ + } +} + +// optional +export const responseMeta = () => { + // ... + return { + // { headers: ... } + } +} + export type Router = typeof router diff --git a/src/module.ts b/src/module.ts index 8bbd882..b53815a 100644 --- a/src/module.ts +++ b/src/module.ts @@ -1,4 +1,4 @@ -import { dirname, join, resolve } from 'pathe' +import { dirname, join } from 'pathe' import { addServerHandler, defineNuxtModule } from '@nuxt/kit' import fs from 'fs-extra' @@ -31,9 +31,6 @@ export default defineNuxtModule({ ) }) - const srcDir = nuxt.options.srcDir - const optionsPath = resolve(srcDir, 'server/fn/index.ts') - await fs.ensureDir(dirname(clientPath)) await fs.writeFile(clientPath, ` @@ -61,24 +58,12 @@ export default defineNuxtModule({ await fs.writeFile(handlerPath, ` import { createTRPCHandler } from 'trpc-nuxt/api' import * as functions from '~/server/fn' + export default createTRPCHandler({ - router: functions.router + router: functions.router, + createContext: functions.createContext ?? undefined, + responseMeta: functions.responseMeta ?? undefined, }) `) - - if (!fs.existsSync(optionsPath)) { - await fs.writeFile(optionsPath, ` - // Generated by trpc-nuxt - import * as trpc from '@trpc/server' - - export const router = trpc - .router() - .query('hello', { - resolve: () => 'world', - }); - - export type Router = typeof router - `.trimStart()) - } }, })