nksaraf/vinxi
nksaraf/vinxi has 2,798 GitHub stars and 102 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-06 20:33 UTC. Last push 2026-03-21.
The Full Stack JavaScript SDK
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original
The JavaScript toolkit to build full stack apps and frameworks with your own opinions.
powered by vite and nitro
vinxi
Compose full stack applications (and frameworks) using Vite, the versatile bundler and dev server, and Nitro, the universal production server.
Inspired by the Bun.App API, the core primitive in Vinxi is the router, which is simply a brief specification defining how a group of URLs should be handled.
Vinxi supports many common router types:
- 'static' - for serving uncompiled, static assets
- 'http' - for creating traditional web servers
- 'spa' - for building and serving single page application assets
- 'client' - for building and serving of SSR application assets
- custom - for adapting Vinxi to your use case
Creating a new router is as simple as adding a specification object to the routers array in the createApp call:
import { createApp } from "vinxi";
export default createApp({
routers: [
// A static router serving files from the `public` directory
{
name: "public",
type: "static",
dir: "./public",
base: "/",
},
// A http router for an api
{
name: "api",
type: "http",
handler: "./app/api.ts",
base: "/api",
plugins: () => [
// Vite plugins applying exclusively to `http` router
],
},
],
});
Frameworks actively being developed on vinxi:
There are also a few other frameworks experimenting with vinxi:
Examples
Goals
Primary goal is to build the tools needed to build a NextJS or SolidStart style metaframework on top of vite without worrying about a lot of the wiring required to keep dev and prod working along with SSR, SPA, RSC, and all the other acronyms. etc. On top of that, we should be able to deploy anywhere easily.
Mostly trying to disappear for the user outside the app.js file
The surface layer we are intending to tackle:
- Full stack builds (handle manifest stuff to figure out what assets to load at prod runtime)
- Dev time asset handling (avoiding FOUC in SSR frameworks) and smoothing over some of vite's dev/prod mismatching behaviours by providing common manifest APIs that work in dev and prod the same way
- File system router (not any specific file system conventions, just an API for interfacing with FileSystemRouters and utils to implement your conventions in them)
- Building the server, and providing a simple opaque
handlerAPI to control the server - Adapter stuff to deploy to various platforms with support for all the features they provide
- Not to abstract away the platforms. Let people use what they want to the fullest
- Have little opinion about how the app should be authored or structured
Roadmap
-
vinxi deploy - hooks throughout the app licycle:
- dev: app:created, app:started, router:created
Try it out
npm install vinxi
React SSR
import reactRefresh from "@vitejs/plugin-react";
import { createApp } from "vinxi";
export default createApp({
routers: [
{
name: "public",
type: "static",
dir: "./public",
},
{
name: "client",
type: "client",
handler: "./app/client.tsx",
target: "browser",
plugins: () => [reactRefresh()],
base: "/_build",
},
{
name: "ssr",
type: "http",
handler: "./app/server.tsx",
target: "server",
},
],
});
Solid SSR
import { createApp } from "vinxi";
import solid from "vite-plugin-solid";
export default createApp({
routers: [
{
name: "public",
type: "static",
dir: "./public",
},
{
name: "client",
type: "client",
handler: "./app/client.tsx",
target: "browser",
plugins: () => [solid({ ssr: true })],
base: "/_build",
},
{
name: "ssr",
type: "http",
handler: "./app/server.tsx",
target: "server",
plugins: () => [solid({ ssr: true })],
},
],
});
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,568 starspublic-apis/public-apis
A collective list of free APIs
496,843 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
439,252 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,103 stars