{"id":27124,"library":"lunarx","title":"LunarX","description":"LunarX is a lightweight SSR framework for React that emphasizes simplicity and flexibility, positioning itself as an alternative to Next.js and Remix. The current stable version is 0.3.2. It features file-based routing with minimal configuration, aiming for a simplified developer experience. Released under the MIT license, LunarX targets Node.js 16.8.0+. As an early-stage project (pre-1.0), it may undergo breaking changes. Key differentiators include a focus on being lightweight and less opinionated than established frameworks, though it lacks the ecosystem and maturity of Next.js or Remix.","status":"active","version":"0.3.2","language":"javascript","source_language":"en","source_url":"https://github.com/Iweavetales/lunarx","tags":["javascript","react","ssr","framework","light-weight","simplified","file-based-routing"],"install":[{"cmd":"npm install lunarx","lang":"bash","label":"npm"},{"cmd":"yarn add lunarx","lang":"bash","label":"yarn"},{"cmd":"pnpm add lunarx","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency for rendering components.","package":"react","optional":false},{"reason":"Peer dependency for server-side rendering of React components.","package":"react-dom","optional":false}],"imports":[{"note":"LunarX is a named export, not a default export. Common mistake for new users.","wrong":"import LunarX from 'lunarx'","symbol":"LunarX","correct":"import { LunarX } from 'lunarx'"},{"note":"The config helper is exported from a subpath 'lunarx/config', not the main package.","wrong":"import { defineConfig } from 'lunarx'","symbol":"defineConfig","correct":"import { defineConfig } from 'lunarx/config'"},{"note":"Router hooks are available from 'lunarx/router' since v0.2.0.","wrong":"import { useRouter } from 'lunarx'","symbol":"useRouter","correct":"import { useRouter } from 'lunarx/router'"}],"quickstart":{"code":"import { LunarX } from 'lunarx';\n\nconst app = LunarX.createApp({\n  routes: 'pages',\n  engine: {\n    port: 3000,\n  },\n});\n\n// pages/index.tsx\nexport default function Home() {\n  return <h1>Hello LunarX!</h1>;\n}\n\napp.start().then(() => {\n  console.log('Server running on http://localhost:3000');\n});","lang":"typescript","description":"Creates a LunarX app with file-based routing from a 'pages' directory and starts the server on port 3000."},"warnings":[{"fix":"Ensure your project has a 'pages' folder at root or configure with 'routes' option.","message":"File-based routing expects pages in a 'pages' directory by default; cannot be changed easily.","severity":"gotcha","affected_versions":">=0.1.0"},{"fix":"Use { server: { port: 3000 } } instead of { engine: { port: 3000 } }.","message":"The 'engine' option in createApp is deprecated in favor of 'server' since v0.3.0.","severity":"deprecated","affected_versions":">=0.3.0"},{"fix":"Pin exact version and test upgrades carefully.","message":"LunarX is in early development (pre-1.0); breaking changes may occur without major version bumps.","severity":"gotcha","affected_versions":">=0.1.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use 'import { defineConfig } from 'lunarx/config'' after installing the package.","cause":"Missing or incorrect import path for configuration utilities.","error":"Error: Cannot find module 'lunarx/config'"},{"fix":"Change to 'import { LunarX } from 'lunarx''.","cause":"Default import used instead of named import.","error":"TypeError: LunarX.createApp is not a function"},{"fix":"Create a 'pages' directory with an index.jsx or index.tsx file.","cause":"Missing pages directory or incorrect filename.","error":"Error: ENOENT: no such file or directory, open 'pages/index.jsx'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}