GV is a blazing-fast, browser-native development server and build tool written in Go. It’s inspired by Vite but designed to run without Node.js, using the power of native ESM in modern browsers and CDN-based dependency resolution.
⚡ Powered by Go. 🔌 Plugin-friendly. 🧠 Node-free.
We should be able to use JavaScript frameworks, without 'node' or any runtime, just your browser.
- Native ESM support in modern browsers
- CDN-based module fetching (e.g.,
esm.sh,skypack) - Local caching of remote modules
- Hot Module Replacement (HMR)
- Zero-config dev server
-
esbuild-based transpilation -
babel-based transpilation - Plugin system (inspired by Vite/Rollup)
- Written in Go with extensibility in mind
- No Node.js required — ever
- TypeScript support
- Adapter to support any http server
For Linux, MacOS and Windows
curl -fsSL https://raw.githubusercontent.com/struckchure/gv/main/scripts/install.sh | bashFor Windows
irm https://raw.githubusercontent.com/struckchure/gv/main/scripts/install.ps1 | iexgit clone https://github.com/struckchure/gv
cd gv/examples/react
go run .Then open your browser to http://localhost:3000.
- 📜 Transpiling: Uses
babelinternally for.ts,.jsx,.tsx, etc. - 🌐 CDN Resolution: Bare imports (like
react) are rewritten to point tohttps://esm.sh/reactand cached locally. - 🔥 HMR: WebSocket server pushes updates to the browser with minimal reloads.
- 🧩 Plugins: Extend GV with hooks like
transform,resolveId, andload.
Well, your project structure can be anyhow you want, but here's a sample react project
.
├── index.html
├── main.go
├── main.jsx
├── router.js
└── routes
├── layout.jsx
├── login
│ └── page.jsx
├── page.jsx
└── register
└── page.jsx
Import from CDNs or local files directly:
import { createRoot } from "https://esm.sh/react-dom@19.1.0/client";
import { RouterProvider } from "https://esm.sh/react-router@7.5.0";
import React from "https://esm.sh/react@19.1.0";
import { router } from "./router.js";
createRoot(document.getElementById("root")).render(
<RouterProvider router={router} />
);Check here.
MIT © 2025 Mohammed Al-Ameen