Minimal Full-Stack JavaScript

npm create domco
import { html } from "client:page";

export default {
	fetch(req) {
		return new Response(
			html, // bundled client application
			{ headers: { "content-type": "text/html" } },
		);
	},
};

domco seamlessly integrates a server into your Vite application, allowing you to add an API or server render pages. domco supports the standard default fetch export API, just like Cloudflare, Bun, and Deno.

With domco, you can develop and deploy using Node.js, providing the flexibility to stay within a familiar environment, while also supporting other runtimes. Additionally, you gain access to Vite’s build pipeline, plugin ecosystem, and live reloading out of the box.

Feature overview

Add a framework, or don’t

With domco, it’s easy to achieve the same developer experience as other frameworks that are based around a UI library, without having to pull in additional dependencies. By default, domco only bundles only the code you write, making it efficient and straightforward.

If you need a UI framework, you can still use any Vite plugin as you would in a traditional Vite application. These plugins will also work on the server.

Only what you need

domco is lightweight, relying solely on Vite as its dependency. This results in quick installation times, fast build and development processes, and a reduced risk of supply chain attacks.

domco is open source under the MIT License. Contributions are welcome, see the contributing guide for instructions.