Skip to content

heitorlisboa/trpc-azure-adapter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tRPC adapter for Azure Functions

This is a simple adapter for Azure Functions that allows you to use tRPC with Azure Functions.

Warning

This package only supports the v4 programming model of Azure Functions, and there's no plan for supporting older versions.

Note

This package only supports tRPC v11, which is still a work in progress, but its functionality is stable and can be used in production. To install tRPC v11, you can use the following command:

npm install @trpc/server@next

# remember to also install @trpc/client@next on your client side
npm install @trpc/client@next

Installation

Install the package using your preferred package manager:

npm install trpc-azure-adapter       # npm
yarn add trpc-azure-adapter          # yarn
pnpm add trpc-azure-adapter          # pnpm

Usage

import { app } from '@azure/functions';
import { initTRPC } from '@trpc/server';
import { z } from 'zod';
// 1. Import the `createAzureApiHandler` function from the package:
import { createAzureApiHandler } from 'trpc-azure-adapter';

const t = initTRPC.create();

// 2. Create a new tRPC router:
const appRouter = t.router({
  greeting: t.procedure
    .input(
      z.object({
        name: z.string(),
      })
    )
    .query(async ({ input }) => {
      return { msg: `Hello ${input.name}` };
    }),
});

export type AppRouter = typeof appRouter;

// 3. Use the `createAzureApiHandler` function to create a new Azure Functions handler passing in the tRPC router:
app.http('trpc', {
  methods: ['GET', 'POST'],
  authLevel: 'anonymous',
  route: '{trpc}',
  handler: createAzureApiHandler({
    router: appRouter,
  }),
});

TODOs

  • Create example app

License

This project is licensed under the MIT License. See the LICENSE file for more information.

About

An adapter for using tRPC with Azure Functions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published