Meta-frameworks on Lunx's Engine
lunx dev and lunx build build SvelteKit, Nuxt, Remix, Astro and eight more with lunx's own plugin host on Rolldown and Oxc. No Vite, Rollup or vite-node code runs.
Meta-frameworks ship as Vite plugins. Lunx's plugin host implements that plugin API, so the framework's own plugins run as they are.
Rolldown bundles and Oxc compiles, in dev and build. Each framework's component compiler (Svelte, Vue, Angular) still compiles its components.
Nitro (Nuxt) imports Rollup; React Router and Nuxt use vite-node. Lunx serves both APIs from the same engine.
Support matrix
| Field | Type | Default | Description |
|---|---|---|---|
| SvelteKit, React Router, Remix, TanStack Start | Built by lunx | — | dev + build on lunx's plugin host |
| Qwik City, Astro, Nuxt, SolidStart | Built by lunx | — | dev + build on lunx's plugin host |
| VitePress, Waku, Marko Run, Analog | Built by lunx | — | dev + build on lunx's plugin host |
| Next.js, Docusaurus, Gatsby, RedwoodJS, Stencil | Framework CLI | — | lunx runs the framework's own CLI and bundler and says so in the output |
Usage
Nothing to configure: run lunx in the project.
npx lunx dev # [lunx] SvelteKit project → built by lunx npx lunx build
Keep your framework config (svelte.config.js, nuxt.config.ts, vite.config.ts): lunx reads it as the framework expects.
Options
| Field | Type | Default | Description |
|---|---|---|---|
| LUNX_PLUGIN_HOST=0 | env | — | Run the framework's own CLI instead of lunx's plugin host. |
| delegate: false | lunx.config | — | Ignore the meta-framework and build the project as a plain app. |
node_modules, lunx warns and uses its built-in support for that framework instead of exiting. Install dependencies to get the full framework.The repository checks every framework above in dev and build (npm run test:meta, 28/28 in 1.2.0).