npm
Source
Description
@wolfstar/nitro-server is the Nitro build and dev server integration for Stars projects. The
stars CLI loads it on demand when experimental.enableNitro is enabled, so existing
stars.config options and CLI commands are unchanged. Install vite and nitro in the consuming project; the
integration uses the project’s own versions and Vite configuration.
When to use it
Enable the integration throughstars.config.ts — the CLI handles loading and lifecycle for you:
Programmatic build usage
The package exportsNitroBuilder. Pass a resolved StarsConfig and a BuilderContext from
@wolfstar/schema:
importFromProject (project-relative dependency loading with diagnostics) and
pluginRegistrations (the entry transform that activates installed plugins). This explicit boundary keeps the
integration independent of the CLI and framework runtimes.
watch() and close() implement the shared builder lifecycle. start, success, failure, and log events
expose build status.
Nitro uses nitro/vite with a virtual server entry forwarding requests to the application default export’s fetch
method. The configured preset and output directory are preserved.
Programmatic development server
The package also exportscreateNitroServer, a native Nitro development server through the same nitro/vite
integration. Server routes and Nitro’s own HMR reload without a production build:
createNitroServer creates a Nitro instance upfront and hands it to nitro/vite through its _nitro option. This is
the same extension point framework integrations like Nuxt use to own the instance. Two things follow from this:
server.fetch(request)dispatches straight through Nitro’s router without a listening socket. Useful for tests and for embedding the dev server behind another transport.server.close()also callsnitro.close(). Nitro’s own file watchers and hooks — registered by its Vite plugin — only run when Nitro closes; closing just the Vite server would leak them.
server.nitro exposes the underlying Nitro instance (hooks, logger, routing, updateConfig) for advanced
use. server.vite is the underlying ViteDevServer.