vconn
v1.2.2
Published
VCONN is a lightweight, end-to-end type safety ensuring communication library mainly for replacing Next.JS' Server Actions.
Downloads
23
Readme
Intro
VCONN is a lightweight, end-to-end type safe fullstack communications library that makes it easy to build fully typesafe APIs without schemas or code generation. It's designed to be a modern alternative to Next.JS' Server Actions, providing equivalent safety and developer experience at faster speeds and a lighter feel.
Features
- ✅ Production ready and well-tested
- 🧙♂️ Full static typesafety & autocompletion on the client
- 🐎 Snappy DX - No code generation or build pipeline
- 🍃 Lightweight - Zero dependencies and minimal client-side footprint
- 🐻 Easy to integrate into existing projects
- 🔋 Built with TypeScript and Zod for robust type safety
- 🛡️ Input validation out of the box
- 🎯 Perfect for Next.JS applications
Quickstart
First, install VCONN:
pnpm add vconnServer Setup
// @/lib/vconn.ts
import { VCONNServer } from "vconn";
import { z } from "zod";
// Define your actions
const actions = {
greet: {
schema: z.object({
name: z.string(),
}),
handler: async ({ name }: { name: string }) => {
return `Hello, ${name}!`;
},
},
};
// Create the server
export const server = new VCONNServer({
actions,
debugLog: true, // Optional: Enable debug logging
});Setup the Server Handler
// @/app/api/vconn/route.ts
import { server } from "@/lib/vconn";
import { NextRequest } from "next/server";
export async function POST(req: NextRequest) {
return await server.handleRequest(req);
}Client Setup
// @/lib/vconnClient.ts
import { VCONNClientConstructor } from "vconn";
// Create the client
const client = new VCONNClientConstructor({
actions: server.getActionTypes(),
baseUrl: "/api/vconn", // Your API endpoint
}).getClient();
// Use the client
// Fully type-safe functions, without importing function data directly.
const greeting = await client.greet({ name: "World" });
console.log(greeting); // "Hello, World!"Documentation
For more detailed documentation, please refer to the DOCS.md file!
Contributing
We welcome contributions! Please read our Contributing Guidelines before submitting a pull request.
License
VCONN is licensed under the MIT License.
About
VCONN is developed and maintained with 💝 by Nitlix.
