@neutron-build/cli 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -724,9 +724,13 @@ async function buildRuntimeBundle(options, target) {
724
724
  ...(options.runtimeAliases ? { resolve: { alias: options.runtimeAliases } } : {}),
725
725
  ssr: {
726
726
  target: target === "worker" ? "webworker" : "node",
727
+ // Bundle @neutron-build/core with the same preact the renderer uses, so
728
+ // inline hook components (e.g. Link) in app-mode routes don't hit the
729
+ // two-preact-instance "__H" crash at runtime — matching the build/dev paths.
727
730
  noExternal: [
728
731
  "preact",
729
732
  "preact-render-to-string",
733
+ "@neutron-build/core",
730
734
  ...(options.runtimeNoExternal || []),
731
735
  ],
732
736
  },
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"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","sourcesContent":["import * as path from \"node:path\";\nimport * as fs from \"node:fs\";\nimport { createHash } from \"node:crypto\";\nimport { build as viteBuild, loadConfigFromFile, mergeConfig, createServer } from \"vite\";\nimport { neutronPlugin, CLIENT_ROUTE_QUERY } from \"@neutron-build/core/vite\";\nimport {\n discoverRoutes,\n adapterCloudflare,\n adapterDocker,\n adapterStatic,\n adapterVercel,\n prepareContentCollections,\n prepareRouteTypes,\n resolveRuntime,\n resolveRuntimeAliases,\n resolveRuntimeNoExternal,\n mergeSeoMetaInput,\n renderDocumentHead,\n setActiveMarkdownConfig,\n} from \"@neutron-build/core\";\nimport type {\n NeutronConfig,\n NeutronAdapter,\n Route,\n RouteModule,\n AppContext,\n LoaderArgs,\n HeadersArgs,\n HeadArgs,\n SeoMetaInput,\n GetStaticPathsResult,\n} from \"@neutron-build/core\";\nimport { renderToString } from \"preact-render-to-string\";\nimport { h } from \"preact\";\n\nexport async function build(): Promise<void> {\n const cwd = process.cwd();\n const routesDir = path.resolve(cwd, \"src/routes\");\n const outputDir = path.resolve(cwd, \"dist\");\n const neutronConfig = await loadNeutronConfig(cwd);\n const runtime = resolveRuntime(neutronConfig);\n const runtimeAliases = resolveRuntimeAliases(runtime);\n const runtimeNoExternal = resolveRuntimeNoExternal(runtime);\n const buildArgs = parseBuildArgs(process.argv.slice(3));\n const selectedAdapter = resolveAdapterForBuild(neutronConfig, buildArgs);\n\n // Wire user-supplied markdown config (marked extensions, remark/rehype\n // plugins) so it's picked up by content rendering throughout the build.\n setActiveMarkdownConfig(neutronConfig.markdown);\n\n await prepareContentCollections({\n rootDir: cwd,\n // Manifest is only a runtime fallback for sites lacking a content.config.ts.\n // Skipping the write avoids a JSON.stringify overflow on very large content\n // sets (Node's max string length is ~512 MiB and KaTeX-rendered HTML can\n // push the combined manifest past that).\n writeManifest: false,\n writeTypes: true,\n markdownConfig: neutronConfig.markdown,\n } as any);\n await prepareRouteTypes({\n rootDir: cwd,\n routesDir: \"src/routes\",\n writeTypes: true,\n });\n\n if (!fs.existsSync(routesDir)) {\n console.error(`Routes directory not found: ${routesDir}`);\n process.exit(1);\n }\n\n console.log(\"Building Neutron app...\\n\");\n\n const routes = discoverRoutes({ routesDir });\n const pageRoutes = routes.filter(\n (r) => !r.file.includes(\"_layout\")\n );\n const staticRouteCount = pageRoutes.filter((route) => route.config.mode === \"static\").length;\n const appRouteCount = pageRoutes.filter((route) => route.config.mode === \"app\").length;\n\n // Static-only sites can still use <Island> for interactive hydration; if any\n // source file references Island from the client entrypoint, we need the full\n // client bundle (not just CSS) so the island-runtime + component code ship\n // to the browser.\n function fileUsesIsland(p: string): boolean {\n try {\n const src = fs.readFileSync(p, \"utf-8\");\n return /\\bIsland\\b/.test(src) && /from\\s+[\"'][^\"']*@neutron-build\\/core\\/client[\"']/.test(src);\n } catch {\n return false;\n }\n }\n function walkForIslands(dir: string): boolean {\n for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {\n if (entry.name === \"node_modules\" || entry.name.startsWith(\".\")) continue;\n const p = path.join(dir, entry.name);\n if (entry.isDirectory()) {\n if (walkForIslands(p)) return true;\n } else if (/\\.(tsx|ts|jsx|js)$/.test(entry.name) && fileUsesIsland(p)) {\n return true;\n }\n }\n return false;\n }\n const srcDir = path.join(cwd, \"src\");\n const hasIslands =\n routes.some((r) => fileUsesIsland(r.file)) ||\n (fs.existsSync(srcDir) && walkForIslands(srcDir));\n void staticRouteCount;\n\n // List only page routes — `_layout` files are layouts, not navigable routes,\n // and listing them produced confusing duplicates (e.g. `/` shown twice).\n console.log(`Found ${pageRoutes.length} routes:\\n`);\n for (const route of pageRoutes) {\n const isStatic = route.config.mode === \"static\";\n const type = isStatic ? \"static\" : \"app\";\n const hasParams = route.params.length > 0;\n const paramNote = hasParams ? \" (has params)\" : \"\";\n console.log(` ${route.path} (${type})${paramNote}`);\n }\n if (hasIslands && appRouteCount === 0) {\n console.log(\"\\n (static routes with islands — client bundle will be emitted for hydration)\");\n }\n console.log(\"\");\n\n const loadedConfig = await loadConfigFromFile(\n { command: \"build\", mode: \"production\" },\n undefined,\n cwd\n );\n\n const userConfig = loadedConfig?.config || {};\n\n // CSS Modules: pin scoped class names to a deterministic function of (local\n // name, file path). The static/app pages are pre-rendered by a Vite *dev* SSR\n // instance (createServer below) while their CSS is emitted by a separate Vite\n // *build* instance; Vite's default scoped-name hashing differs between the two,\n // so module classes in the HTML would not match any rule in the emitted CSS.\n // Forcing one deterministic name in every Vite instance keeps them in sync.\n const cwdFwd = cwd.replace(/\\\\/g, \"/\");\n const cssConfig = {\n modules: {\n generateScopedName(name: string, filename: string): string {\n const clean = filename.replace(/\\?.*$/, \"\").replace(/\\\\/g, \"/\");\n const rel = clean.startsWith(cwdFwd + \"/\") ? clean.slice(cwdFwd.length + 1) : clean;\n const hash = createHash(\"sha256\").update(`${rel}#${name}`).digest(\"hex\").slice(0, 8);\n const safe = name.replace(/[^a-zA-Z0-9_-]/g, \"_\");\n return `_${safe}_${hash}`;\n },\n },\n };\n\n // Build client assets. For static-only sites (no app routes), create a\n // temporary CSS-only entry so Vite still extracts stylesheets without\n // requiring an index.html entry point.\n if (appRouteCount > 0 || hasIslands) {\n console.log(\"Building client bundle...\");\n await viteBuild(\n mergeConfig(userConfig, {\n configFile: false,\n root: cwd,\n plugins: [neutronPlugin({ routesDir, rootDir: cwd, routeRules: neutronConfig.routes })],\n css: cssConfig,\n resolve: {\n ...(runtimeAliases ? { alias: runtimeAliases } : {}),\n dedupe: [\"preact\", \"preact/hooks\", \"preact/compat\", \"preact/jsx-runtime\"],\n },\n build: {\n outDir: outputDir,\n emptyOutDir: true,\n },\n })\n );\n } else {\n console.log(\"Building CSS bundle (static site)...\");\n const cssEntryDir = path.join(cwd, \".neutron\");\n fs.mkdirSync(cssEntryDir, { recursive: true });\n const cssEntryPath = path.join(cssEntryDir, \"_css-entry.js\");\n // Import every route + layout MODULE through the client-route pipeline so Vite\n // walks the real import graph and extracts ALL reachable CSS — side-effect\n // imports, component-level CSS, AND CSS Modules — not just side-effect `*.css`\n // imports textually present in the route file. The ?CLIENT_ROUTE_QUERY suffix\n // makes neutronPlugin strip server-only code (loader/action) while keeping CSS\n // imports in build mode, exactly as the client bundle does. Root-relative paths\n // (`/src/...`) are used so Vite resolves them from the project root.\n // Namespace-import + export each module so its component graph is NOT\n // tree-shaken. Side-effect-only imports would keep `import \"x.css\"` lines but\n // drop value-imported CSS Modules (`import s from \"x.module.css\"`) once the\n // unused component that references them is shaken away.\n const importLines: string[] = [];\n const keepRefs: string[] = [];\n routes.forEach((route, i) => {\n const abs = route.file.replace(/\\\\/g, \"/\");\n const rel = abs.startsWith(cwdFwd + \"/\") ? abs.slice(cwdFwd.length) : \"/@fs\" + abs;\n importLines.push(`import * as __r${i} from ${JSON.stringify(rel + \"?\" + CLIENT_ROUTE_QUERY)};`);\n keepRefs.push(`__r${i}`);\n });\n fs.writeFileSync(\n cssEntryPath,\n importLines.join(\"\\n\") + `\\nexport const __keep = [${keepRefs.join(\", \")}];\\n`\n );\n await viteBuild(\n mergeConfig(userConfig, {\n configFile: false,\n root: cwd,\n plugins: [neutronPlugin({ routesDir, rootDir: cwd, routeRules: neutronConfig.routes })],\n css: cssConfig,\n resolve: {\n ...(runtimeAliases ? { alias: runtimeAliases } : {}),\n dedupe: [\"preact\", \"preact/hooks\", \"preact/compat\", \"preact/jsx-runtime\"],\n },\n build: {\n outDir: outputDir,\n emptyOutDir: true,\n lib: { entry: cssEntryPath, formats: [\"es\"] as const },\n rollupOptions: {\n output: { assetFileNames: \"assets/[name]-[hash][extname]\" },\n },\n cssCodeSplit: false,\n },\n })\n );\n try { fs.unlinkSync(cssEntryPath); } catch {}\n // Remove the JS lib output — we only need the extracted CSS.\n for (const f of fs.readdirSync(outputDir)) {\n if (f.endsWith(\".mjs\") || f.endsWith(\".js\")) {\n try { fs.unlinkSync(path.join(outputDir, f)); } catch {}\n }\n }\n }\n\n const clientEntryScriptSrc = extractClientEntryScriptSrc(outputDir);\n if (clientEntryScriptSrc) {\n writeClientEntryMetadata(outputDir, clientEntryScriptSrc);\n }\n\n // Collect CSS files produced by the client build for injection into static HTML\n const clientCssFiles = extractClientCssFiles(outputDir);\n\n const ensureRuntimeBundle = createRuntimeBundleBuilder({\n cwd,\n outputDir,\n routesDir,\n routeRules: neutronConfig.routes,\n routes,\n pageRoutes,\n clientEntryScriptSrc,\n userConfig,\n runtimeAliases,\n runtimeNoExternal,\n });\n\n // Create a Vite SSR server for rendering\n const server = await createServer(\n mergeConfig(userConfig, {\n configFile: false,\n root: cwd,\n plugins: [neutronPlugin({ routesDir, rootDir: cwd, routeRules: neutronConfig.routes })],\n css: cssConfig,\n resolve: {\n ...(runtimeAliases ? { alias: runtimeAliases } : {}),\n // Force one preact copy so route components and the renderer share the\n // same hooks dispatcher (otherwise hooks crash during pre-render).\n dedupe: [\"preact\", \"preact/hooks\", \"preact/jsx-runtime\", \"preact/compat\"],\n },\n ssr: {\n // Process these through Vite's SSR graph (deduped) instead of native\n // node resolution, so preact-render-to-string binds to the app's preact.\n // @neutron-build/core MUST share the SSR graph's preact too: its inline\n // components (e.g. Link) use hooks, and if core resolves preact natively\n // while the renderer/route components use the SSR-graph copy, the hooks\n // dispatcher is unset and pre-render crashes (\"reading '__H'\").\n noExternal: [\"preact\", \"preact/hooks\", \"preact-render-to-string\", \"@neutron-build/core\", ...runtimeNoExternal],\n },\n server: {\n middlewareMode: true,\n hmr: false,\n ws: false,\n // Allow loading the CLI-provided renderer from outside the app root.\n fs: { strict: false },\n },\n optimizeDeps: {\n noDiscovery: true,\n },\n appType: \"custom\",\n })\n );\n\n // Resolve the renderer through the SAME Vite SSR server that loads the route\n // modules, so preact-render-to-string and the components share ONE preact\n // instance. The CLI's own preact-render-to-string can otherwise bind to a\n // different preact copy (e.g. under pnpm, or a linked/monorepo install),\n // leaving the hooks dispatcher unset and crashing any component that uses\n // useState/useEffect during pre-render with \"Cannot read properties of\n // undefined (reading '__H')\".\n let appH = h;\n let appRender = renderToString;\n try {\n // Load the renderer + preact through the SAME Vite SSR graph as the route\n // components so they share ONE preact instance (otherwise hooks crash during\n // pre-render). This resolves them from the app, where preact and (ideally)\n // preact-render-to-string are installed at a single matched version. If the\n // app doesn't ship preact-render-to-string, we fall back to the CLI copy,\n // which is correct whenever the app and CLI resolve the same preact.\n const appPreact = (await server.ssrLoadModule(\"preact\")) as { h?: typeof h };\n const appRts = (await server.ssrLoadModule(\"preact-render-to-string\")) as {\n renderToString?: typeof renderToString;\n default?: { renderToString?: typeof renderToString };\n };\n if (appPreact?.h) appH = appPreact.h;\n const rts = appRts?.renderToString ?? appRts?.default?.renderToString;\n if (rts) appRender = rts;\n } catch {\n // Fall back to the CLI-bundled renderer (single-preact installs are fine).\n }\n\n // Get layouts map\n const layouts = new Map<string, Route>();\n for (const route of routes) {\n if (route.file.includes(\"_layout\")) {\n layouts.set(route.id, route);\n }\n }\n const moduleCache = new Map<string, Promise<RouteModule>>();\n const staticHeadersByRoute: Record<string, Record<string, string>> = {};\n\n function getLayoutChain(route: Route): Route[] {\n const chain: Route[] = [];\n let currentId: string | null = route.parentId;\n\n while (currentId) {\n const parent = layouts.get(currentId);\n if (parent) {\n chain.push(parent);\n currentId = parent.parentId;\n } else {\n break;\n }\n }\n\n return chain;\n }\n\n async function loadRouteModule(route: Route): Promise<RouteModule> {\n let pending = moduleCache.get(route.file);\n if (!pending) {\n pending = server.ssrLoadModule(route.file).then((loaded) => loaded as RouteModule);\n moduleCache.set(route.file, pending);\n }\n return pending;\n }\n\n async function resolveRouteHeaders(\n route: Route,\n layoutChain: Route[],\n request: Request,\n context: AppContext,\n params: Record<string, string>,\n loaderData: unknown\n ): Promise<Record<string, string>> {\n const allRoutes = [...layoutChain].reverse();\n allRoutes.push(route);\n\n const loaderDataMap: Record<string, unknown> = {};\n if (loaderData !== undefined) {\n loaderDataMap[route.id] = loaderData;\n }\n\n const merged = new Headers();\n for (const currentRoute of allRoutes) {\n const currentModule = await loadRouteModule(currentRoute);\n if (!currentModule.headers) {\n continue;\n }\n\n const args: HeadersArgs = {\n request,\n params,\n context,\n loaderData: loaderDataMap,\n };\n const resolved = normalizeHeaders(await currentModule.headers(args));\n for (const [name, value] of Object.entries(resolved)) {\n merged.set(name, value);\n }\n }\n\n return headersToRecord(merged);\n }\n\n async function resolveRouteHeadHtml(\n route: Route,\n layoutChain: Route[],\n request: Request,\n context: AppContext,\n params: Record<string, string>,\n loaderData: unknown,\n pathname: string\n ): Promise<string> {\n const allRoutes = [...layoutChain].reverse();\n allRoutes.push(route);\n\n const loaderDataMap: Record<string, unknown> = {};\n if (loaderData !== undefined) {\n loaderDataMap[route.id] = loaderData;\n }\n\n let mergedSeo: SeoMetaInput | null = null;\n const headFragments: string[] = [];\n\n for (const currentRoute of allRoutes) {\n const currentModule = await loadRouteModule(currentRoute);\n if (!currentModule.head) {\n continue;\n }\n\n const args: HeadArgs = {\n request,\n params,\n context,\n loaderData: loaderDataMap,\n pathname,\n };\n // Routes use `head({ data })` — provide `data` as an alias for\n // the current route's loader data so destructuring works.\n const headArgsWithData = {\n ...args,\n data: loaderDataMap[currentRoute.id] ?? loaderData,\n };\n const resolved = await currentModule.head(headArgsWithData);\n if (!resolved) {\n continue;\n }\n\n if (typeof resolved === \"string\") {\n headFragments.push(resolved);\n continue;\n }\n\n mergedSeo = mergeSeoMetaInput(mergedSeo, resolved);\n }\n\n return renderDocumentHead(pathname, mergedSeo, headFragments);\n }\n\n // Render static routes\n console.log(\"\\nRendering static routes...\");\n \n const staticRoutes = pageRoutes.filter((r) => r.config.mode === \"static\");\n let renderedCount = 0;\n let skippedCount = 0;\n\n for (const route of staticRoutes) {\n try {\n const module = await loadRouteModule(route);\n\n if (!module?.default) {\n console.log(` Skipping ${route.path} (no component)`);\n skippedCount++;\n continue;\n }\n\n // Handle dynamic routes with getStaticPaths\n if (route.params.length > 0) {\n if (!module.getStaticPaths) {\n console.log(` Skipping ${route.path} (needs getStaticPaths export)`);\n skippedCount++;\n continue;\n }\n\n // Get all paths to render — supports both array and { paths: [] } forms\n const result = await module.getStaticPaths();\n const pathList = Array.isArray(result) ? result : (result as GetStaticPathsResult).paths;\n\n for (const { params, props } of pathList) {\n // Build the actual path by substituting params\n const resolvedPath = resolvePath(route.path, params);\n const context: AppContext = {};\n const request = new Request(\"http://localhost\" + resolvedPath);\n\n // Call the route's loader (same as static routes) so content,\n // TOC, pagination, etc. are available. Fall back to props from\n // getStaticPaths if there is no loader.\n let loaderData: unknown = props || {};\n if (module.loader) {\n loaderData = await module.loader({\n request,\n params,\n context,\n } as LoaderArgs);\n }\n\n const layoutChain = getLayoutChain(route);\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let element: any = appH(module.default as any, {\n data: loaderData,\n params,\n });\n\n for (const layoutRoute of [...layoutChain].reverse()) {\n const layoutModule = await loadRouteModule(layoutRoute);\n // Call layout loaders so sidebars, nav trees, etc. are populated.\n let layoutData: unknown = {};\n if (layoutModule?.loader) {\n layoutData = await layoutModule.loader({\n request,\n params,\n context,\n } as LoaderArgs);\n }\n if (layoutModule?.default) {\n element = appH(layoutModule.default as any, { data: layoutData }, element);\n }\n }\n\n const html = appRender(element);\n const headHtml = await resolveRouteHeadHtml(\n route,\n layoutChain,\n request,\n context,\n params,\n loaderData,\n resolvedPath\n );\n const fullHtml = wrapHtml(\n html,\n resolvedPath,\n loaderData,\n clientEntryScriptSrc,\n headHtml,\n clientCssFiles\n );\n\n const outPath = getOutputPath(outputDir, resolvedPath);\n fs.mkdirSync(path.dirname(outPath), { recursive: true });\n fs.writeFileSync(outPath, fullHtml);\n\n const routeHeaders = await resolveRouteHeaders(\n route,\n layoutChain,\n request,\n context,\n params,\n loaderData\n );\n if (Object.keys(routeHeaders).length > 0) {\n staticHeadersByRoute[resolvedPath] = routeHeaders;\n }\n\n console.log(` ${resolvedPath} → ${path.relative(outputDir, outPath)}`);\n renderedCount++;\n }\n continue;\n }\n\n // Static route without params\n const context: AppContext = {};\n const request = new Request(\"http://localhost\" + route.path);\n let loaderData: unknown = undefined;\n if (module.loader) {\n loaderData = await module.loader({\n request,\n params: {},\n context,\n } as LoaderArgs);\n }\n\n const layoutChain = getLayoutChain(route);\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let element: any = appH(module.default as any, {\n data: loaderData,\n params: {},\n });\n\n for (const layoutRoute of [...layoutChain].reverse()) {\n const layoutModule = await loadRouteModule(layoutRoute);\n let layoutData: unknown = {};\n if (layoutModule?.loader) {\n layoutData = await layoutModule.loader({\n request,\n params: {},\n context,\n } as LoaderArgs);\n }\n if (layoutModule?.default) {\n element = h(layoutModule.default as any, { data: layoutData }, element);\n }\n }\n\n const html = appRender(element);\n const headHtml = await resolveRouteHeadHtml(\n route,\n layoutChain,\n request,\n context,\n {},\n loaderData,\n route.path\n );\n const fullHtml = wrapHtml(\n html,\n route.path,\n loaderData,\n clientEntryScriptSrc,\n headHtml,\n clientCssFiles\n );\n\n const outPath = getOutputPath(outputDir, route.path);\n fs.mkdirSync(path.dirname(outPath), { recursive: true });\n fs.writeFileSync(outPath, fullHtml);\n\n const routeHeaders = await resolveRouteHeaders(\n route,\n layoutChain,\n request,\n context,\n {},\n loaderData\n );\n if (Object.keys(routeHeaders).length > 0) {\n staticHeadersByRoute[route.path] = routeHeaders;\n }\n\n console.log(` ${route.path} → ${path.relative(outputDir, outPath)}`);\n renderedCount++;\n } catch (error) {\n console.error(` Error rendering ${route.path}:`, error);\n skippedCount++;\n }\n }\n\n if (Object.keys(staticHeadersByRoute).length > 0) {\n writeStaticHeadersMetadata(outputDir, staticHeadersByRoute);\n }\n\n // Allow pending module processing to settle before closing middleware server.\n await new Promise((resolve) => setTimeout(resolve, 50));\n await server.close();\n\n if (selectedAdapter) {\n console.log(`\\nRunning adapter: ${selectedAdapter.name}`);\n await selectedAdapter.adapt({\n rootDir: cwd,\n outDir: outputDir,\n routes: {\n total: pageRoutes.length,\n static: staticRouteCount,\n app: appRouteCount,\n },\n clientEntryScriptSrc,\n ensureRuntimeBundle,\n log: (message: string) => {\n console.log(` [adapter] ${message}`);\n },\n } as any);\n }\n\n console.log(`\\nRendered ${renderedCount} pages, skipped ${skippedCount}.`);\n console.log(`\\nBuild complete!`);\n console.log(`Output: ${outputDir}`);\n}\n\n/**\n * Resolve a route pattern with params to an actual path.\n * Handles both named params and catch-all (splat) params:\n * \"/blog/:slug\" + { slug: \"hello\" } → \"/blog/hello\"\n * \"/docs/*\" + { \"*\": \"getting-started/intro\" } → \"/docs/getting-started/intro\"\n */\nfunction resolvePath(pattern: string, params: Record<string, string>): string {\n let resolved = pattern;\n\n for (const [key, value] of Object.entries(params)) {\n // Named param — :slug or [slug]\n const bracketReplaced = resolved.replace(`[${key}]`, value);\n const colonReplaced = resolved.replace(`:${key}`, value);\n\n if (bracketReplaced !== resolved) {\n resolved = bracketReplaced;\n } else if (colonReplaced !== resolved) {\n resolved = colonReplaced;\n } else {\n // Catch-all — replace *paramName (e.g., *slug) or bare *\n const splatPattern = key === \"*\" ? \"*\" : `*${key}`;\n resolved = resolved.replace(splatPattern, value);\n }\n }\n\n return resolved;\n}\n\nfunction wrapHtml(\n content: string,\n routePath: string,\n _loaderData?: unknown,\n clientEntryScriptSrc: string | null = null,\n headHtml: string = renderDocumentHead(routePath, null),\n cssFiles: string[] = []\n): string {\n // Detect islands in content — only load client runtime if interactive islands exist\n const hasIslands = content.includes(\"<neutron-island\");\n const clientScript = hasIslands && clientEntryScriptSrc\n ? `<script type=\"module\" src=\"${escapeHtml(clientEntryScriptSrc)}\"></script>`\n : \"\";\n\n const cssLinks = cssFiles\n .map((href) => `<link rel=\"stylesheet\" href=\"${escapeHtml(href)}\">`)\n .join(\"\\n\");\n\n return `<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n${headHtml}\n${cssLinks}\n</head>\n<body>\n<div id=\"app\">${content}</div>\n${clientScript}\n</body>\n</html>`;\n}\n\nfunction escapeHtml(str: string): string {\n return str\n .replace(/&/g, \"&amp;\")\n .replace(/</g, \"&lt;\")\n .replace(/>/g, \"&gt;\")\n .replace(/\"/g, \"&quot;\")\n .replace(/'/g, \"&#039;\");\n}\n\nfunction getOutputPath(outputDir: string, routePath: string): string {\n if (routePath === \"/\") {\n return path.join(outputDir, \"index.html\");\n }\n\n const cleanPath = routePath.replace(/\\/$/, \"\");\n return path.join(outputDir, cleanPath, \"index.html\");\n}\n\nfunction extractClientCssFiles(outputDir: string): string[] {\n const assetsDir = path.join(outputDir, \"assets\");\n if (!fs.existsSync(assetsDir)) return [];\n return fs\n .readdirSync(assetsDir)\n .filter((name) => name.endsWith(\".css\"))\n .map((name) => `/assets/${name}`);\n}\n\nfunction extractClientEntryScriptSrc(outputDir: string): string | null {\n const assetsDir = path.join(outputDir, \"assets\");\n if (fs.existsSync(assetsDir)) {\n const candidates = fs\n .readdirSync(assetsDir)\n .filter((name) => name.startsWith(\"index-\") && name.endsWith(\".js\"))\n .sort();\n\n if (candidates.length > 0) {\n return `/assets/${candidates[candidates.length - 1]}`;\n }\n }\n\n const indexPath = path.join(outputDir, \"index.html\");\n if (!fs.existsSync(indexPath)) {\n return null;\n }\n\n const html = fs.readFileSync(indexPath, \"utf-8\");\n const match = html.match(/<script[^>]*type=\"module\"[^>]*src=\"([^\"]+)\"[^>]*><\\/script>/i);\n return match?.[1] || null;\n}\n\nfunction writeClientEntryMetadata(outputDir: string, src: string): void {\n const metadataPath = path.join(outputDir, \".neutron-client-entry.json\");\n fs.writeFileSync(metadataPath, JSON.stringify({ src }, null, 2));\n}\n\nfunction normalizeHeaders(\n value: Headers | Record<string, string> | null | undefined\n): Record<string, string> {\n if (!value) {\n return {};\n }\n\n if (value instanceof Headers) {\n return headersToRecord(value);\n }\n\n const output: Record<string, string> = {};\n for (const [name, headerValue] of Object.entries(value)) {\n const lower = name.toLowerCase();\n if (lower === \"content-length\" || lower === \"set-cookie\") {\n continue;\n }\n output[name] = String(headerValue);\n }\n return output;\n}\n\nfunction headersToRecord(headers: Headers): Record<string, string> {\n const output: Record<string, string> = {};\n headers.forEach((value, name) => {\n const lower = name.toLowerCase();\n if (lower === \"content-length\" || lower === \"set-cookie\") {\n return;\n }\n output[name] = value;\n });\n return output;\n}\n\nfunction writeStaticHeadersMetadata(\n outputDir: string,\n headersByRoute: Record<string, Record<string, string>>\n): void {\n const metadataPath = path.join(outputDir, \".neutron-static-headers.json\");\n fs.writeFileSync(metadataPath, JSON.stringify(headersByRoute, null, 2));\n}\n\ninterface BuildArgs {\n preset: \"vercel\" | \"cloudflare\" | \"docker\" | \"static\" | null;\n cloudflareMode: \"pages\" | \"workers\";\n}\n\ninterface RuntimeBundleBuilderOptions {\n cwd: string;\n outputDir: string;\n routesDir: string;\n routeRules?: NeutronConfig[\"routes\"];\n routes: Route[];\n pageRoutes: Route[];\n clientEntryScriptSrc: string | null;\n userConfig: any;\n runtimeAliases?: Record<string, string>;\n runtimeNoExternal?: string[];\n}\n\ninterface RuntimeBundleArtifact {\n target: \"node\" | \"worker\";\n outDir: string;\n entryPath: string;\n entryRelativePath: string;\n}\n\ninterface RuntimeRouteDef {\n id: string;\n path: string;\n parentId: string | null;\n params: string[];\n mode: \"static\" | \"app\";\n cache?: {\n maxAge?: number;\n loaderMaxAge?: number;\n };\n isLayout: boolean;\n file: string;\n}\n\nfunction parseBuildArgs(argv: string[]): BuildArgs {\n let preset: BuildArgs[\"preset\"] = null;\n let cloudflareMode: BuildArgs[\"cloudflareMode\"] = \"pages\";\n\n for (let i = 0; i < argv.length; i++) {\n const arg = argv[i];\n if (arg === \"--preset\" && argv[i + 1]) {\n const value = argv[++i];\n if (value === \"vercel\" || value === \"cloudflare\" || value === \"docker\" || value === \"static\") {\n preset = value;\n }\n continue;\n }\n if (arg.startsWith(\"--preset=\")) {\n const value = arg.split(\"=\")[1];\n if (value === \"vercel\" || value === \"cloudflare\" || value === \"docker\" || value === \"static\") {\n preset = value;\n }\n continue;\n }\n if (arg === \"--cloudflare-mode\" && argv[i + 1]) {\n const value = argv[++i];\n if (value === \"pages\" || value === \"workers\") {\n cloudflareMode = value;\n }\n continue;\n }\n if (arg.startsWith(\"--cloudflare-mode=\")) {\n const value = arg.split(\"=\")[1];\n if (value === \"pages\" || value === \"workers\") {\n cloudflareMode = value;\n }\n }\n }\n\n return { preset, cloudflareMode };\n}\n\nfunction resolveAdapterForBuild(\n config: NeutronConfig,\n args: BuildArgs\n): NeutronAdapter | undefined {\n if (args.preset === \"vercel\") {\n return adapterVercel();\n }\n if (args.preset === \"cloudflare\") {\n return adapterCloudflare({ mode: args.cloudflareMode });\n }\n if (args.preset === \"docker\") {\n return adapterDocker();\n }\n if (args.preset === \"static\") {\n return adapterStatic();\n }\n return config.adapter;\n}\n\nfunction createRuntimeBundleBuilder(\n options: RuntimeBundleBuilderOptions\n): (target: RuntimeBundleArtifact[\"target\"]) => Promise<RuntimeBundleArtifact> {\n const pending = new Map<\n RuntimeBundleArtifact[\"target\"],\n Promise<RuntimeBundleArtifact>\n >();\n\n return async (target: RuntimeBundleArtifact[\"target\"]): Promise<RuntimeBundleArtifact> => {\n let bundle = pending.get(target);\n if (!bundle) {\n bundle = buildRuntimeBundle(options, target);\n pending.set(target, bundle);\n }\n return bundle;\n };\n}\n\nasync function buildRuntimeBundle(\n options: RuntimeBundleBuilderOptions,\n target: RuntimeBundleArtifact[\"target\"]\n): Promise<RuntimeBundleArtifact> {\n const appRoutes = options.pageRoutes.filter((route) => route.config.mode === \"app\");\n if (appRoutes.length === 0) {\n throw new Error(`No app routes found; cannot build ${target} runtime bundle.`);\n }\n\n const runtimeRoutes = collectRuntimeRoutes(options.routes, appRoutes);\n const runtimeDir = path.join(options.cwd, \".neutron\", \"runtime\");\n fs.mkdirSync(runtimeDir, { recursive: true });\n\n const entryPath = path.join(runtimeDir, `entry.${target}.ts`);\n fs.writeFileSync(\n entryPath,\n generateRuntimeEntrySource(\n runtimeRoutes,\n appRoutes,\n options.clientEntryScriptSrc,\n entryPath,\n options.routeRules\n ),\n \"utf-8\"\n );\n\n const bundleOutDir = path.join(options.outputDir, \"server\", target);\n await viteBuild(\n mergeConfig(options.userConfig, {\n configFile: false,\n root: options.cwd,\n plugins: [\n neutronPlugin({\n routesDir: options.routesDir,\n rootDir: options.cwd,\n routeRules: options.routeRules,\n }),\n ],\n ...(options.runtimeAliases ? { resolve: { alias: options.runtimeAliases } } : {}),\n ssr: {\n target: target === \"worker\" ? \"webworker\" : \"node\",\n // Bundle @neutron-build/core with the same preact the renderer uses, so\n // inline hook components (e.g. Link) in app-mode routes don't hit the\n // two-preact-instance \"__H\" crash at runtime — matching the build/dev paths.\n noExternal: [\n \"preact\",\n \"preact-render-to-string\",\n \"@neutron-build/core\",\n ...(options.runtimeNoExternal || []),\n ],\n },\n build: {\n ssr: entryPath,\n outDir: bundleOutDir,\n emptyOutDir: true,\n rollupOptions: {\n output: {\n format: \"esm\",\n entryFileNames: \"entry.js\",\n chunkFileNames: \"chunks/[name]-[hash].js\",\n assetFileNames: \"assets/[name]-[hash][extname]\",\n },\n },\n },\n })\n );\n\n const entryRelativePath = path.relative(options.outputDir, path.join(bundleOutDir, \"entry.js\"));\n return {\n target,\n outDir: bundleOutDir,\n entryPath: path.join(bundleOutDir, \"entry.js\"),\n entryRelativePath: entryRelativePath.split(path.sep).join(\"/\"),\n };\n}\n\nfunction collectRuntimeRoutes(routes: Route[], appRoutes: Route[]): RuntimeRouteDef[] {\n const byId = new Map<string, Route>(routes.map((route) => [route.id, route]));\n const includedIds = new Set<string>();\n\n for (const route of appRoutes) {\n includedIds.add(route.id);\n let parentId = route.parentId;\n while (parentId) {\n includedIds.add(parentId);\n parentId = byId.get(parentId)?.parentId ?? null;\n }\n }\n\n return routes\n .filter((route) => includedIds.has(route.id))\n .map((route) => ({\n id: route.id,\n path: route.path,\n parentId: route.parentId,\n params: route.params,\n mode: route.config.mode,\n cache: route.config.cache,\n isLayout: route.file.includes(\"_layout\"),\n file: route.file,\n }));\n}\n\nfunction generateRuntimeEntrySource(\n runtimeRoutes: RuntimeRouteDef[],\n appRoutes: Route[],\n clientEntryScriptSrc: string | null,\n entryPath: string,\n routeRules: NeutronConfig[\"routes\"] | undefined\n): string {\n const imports: string[] = [];\n const moduleEntries: string[] = [];\n const routeDefs: string[] = [];\n const appRouteIds = appRoutes.map((route) => route.id);\n const routeRulesJson = JSON.stringify(routeRules || {});\n\n runtimeRoutes.forEach((route, index) => {\n const importVar = `routeModule${index}`;\n const relPath = relativeImportPath(path.dirname(entryPath), route.file);\n imports.push(`import * as ${importVar} from \"${relPath}\";`);\n moduleEntries.push(` \"${escapeJsString(route.id)}\": ${importVar},`);\n routeDefs.push(` {\n id: \"${escapeJsString(route.id)}\",\n path: \"${escapeJsString(route.path)}\",\n parentId: ${route.parentId ? `\"${escapeJsString(route.parentId)}\"` : \"null\"},\n params: ${JSON.stringify(route.params)},\n mode: \"${route.mode}\",\n cache: ${JSON.stringify(route.cache || null)},\n isLayout: ${route.isLayout ? \"true\" : \"false\"},\n },`);\n });\n\n return `import { h } from \"preact\";\nimport { createRouter, runMiddlewareChain, renderToString, encodeSerializedPayloadAsJson, serializeForInlineScript, mergeSeoMetaInput, renderDocumentHead, compileRouteRules, resolveRouteRuleRedirect, resolveRouteRuleRewrite, resolveRouteRuleHeaders } from \"@neutron-build/core/runtime-edge\";\n${imports.join(\"\\n\")}\n\nconst CLIENT_ENTRY_SCRIPT_SRC = ${JSON.stringify(clientEntryScriptSrc)};\nconst ROUTE_RULES = compileRouteRules(${routeRulesJson});\n\nconst ROUTE_DEFS = [\n${routeDefs.join(\"\\n\")}\n];\n\nconst ROUTE_MODULES = {\n${moduleEntries.join(\"\\n\")}\n};\n\nconst APP_ROUTE_IDS = new Set(${JSON.stringify(appRouteIds)});\nconst ROUTE_DEF_BY_ID = new Map(ROUTE_DEFS.map((route) => [route.id, route]));\nconst ROUTES_BY_ID = new Map(ROUTE_DEFS.map((route) => [route.id, toRuntimeRoute(route)]));\nconst LOADER_DATA_CACHE = new Map();\nconst LOADER_CACHE_MAX_ENTRIES = 4000;\n\nconst router = createRouter();\nfor (const routeDef of ROUTE_DEFS) {\n if (!routeDef.isLayout && APP_ROUTE_IDS.has(routeDef.id)) {\n router.insert(toRuntimeRoute(routeDef));\n }\n}\n\nasync function handleNeutronRequestInner(request) {\n const requestUrl = new URL(request.url);\n const pathname = normalizePathname(requestUrl.pathname);\n if (!pathname) {\n return new Response(\"Bad Request\", { status: 400 });\n }\n\n const redirect = resolveRouteRuleRedirect(ROUTE_RULES, pathname, requestUrl.search);\n if (redirect) {\n return new Response(null, {\n status: redirect.status,\n headers: {\n Location: redirect.location,\n },\n });\n }\n\n const rewrite = resolveRouteRuleRewrite(ROUTE_RULES, pathname);\n const effectivePathname = rewrite?.pathname || pathname;\n\n const match = router.match(effectivePathname);\n if (!match || !APP_ROUTE_IDS.has(match.route.id)) {\n return new Response(\"Not Found\", { status: 404 });\n }\n\n const layoutChain = getLayoutChain(match.route);\n const allRoutes = [...layoutChain, match.route];\n const routeModules = new Map();\n for (const route of allRoutes) {\n routeModules.set(route.id, ROUTE_MODULES[route.id] || {});\n }\n\n const middlewares = [];\n for (const route of allRoutes) {\n const mod = routeModules.get(route.id);\n if (mod?.middleware) {\n middlewares.push(mod.middleware);\n }\n }\n\n const context = {};\n if (isMutationMethod(request.method)) {\n invalidateLoaderDataCacheForPath(effectivePathname);\n }\n\n const response = await runMiddlewareChain(middlewares, request, context, async () => {\n let actionData = undefined;\n const pageModule = routeModules.get(match.route.id);\n\n if (!pageModule?.default) {\n return new Response(\"Not Found\", { status: 404 });\n }\n\n if (isMutationMethod(request.method) && pageModule.action) {\n try {\n const actionResult = await pageModule.action({\n request,\n params: match.params,\n context,\n });\n if (actionResult instanceof Response) {\n return actionResult;\n }\n actionData = actionResult;\n } catch (error) {\n if (error instanceof Response) {\n return error;\n }\n return renderErrorResponse(allRoutes, routeModules, match.route, toError(error));\n }\n }\n\n const loaderResults = await Promise.all(\n allRoutes.map(async (route) => {\n const mod = routeModules.get(route.id);\n if (!mod?.loader) {\n return { routeId: route.id, data: null, error: null };\n }\n const routeParams = route.id === match.route.id ? match.params : {};\n const loaderCacheMaxAge = route.config?.cache?.loaderMaxAge || 0;\n const canCacheLoaderData =\n loaderCacheMaxAge > 0 && isLoaderDataCacheableRequest(request);\n const canReadLoaderCache =\n canCacheLoaderData && isLoaderDataCacheReadableMethod(request.method);\n const loaderCacheKey = canCacheLoaderData\n ? buildLoaderDataCacheKey(request, route.id, routeParams)\n : null;\n if (loaderCacheKey && canReadLoaderCache) {\n const cachedData = readCachedLoaderData(loaderCacheKey);\n if (cachedData !== null) {\n return { routeId: route.id, data: cachedData, error: null };\n }\n }\n try {\n const data = await mod.loader({\n request,\n params: routeParams,\n context,\n });\n if (loaderCacheKey) {\n storeLoaderDataCache(loaderCacheKey, data, loaderCacheMaxAge);\n }\n return { routeId: route.id, data, error: null };\n } catch (error) {\n return { routeId: route.id, data: null, error };\n }\n })\n );\n\n const loaderData = {};\n for (const result of loaderResults) {\n if (result.error) {\n if (result.error instanceof Response) {\n return result.error;\n }\n const errorRoute = allRoutes.find((route) => route.id === result.routeId) || match.route;\n return renderErrorResponse(allRoutes, routeModules, errorRoute, toError(result.error));\n }\n if (result.data !== null) {\n loaderData[result.routeId] = result.data;\n }\n }\n\n const routeHeaders = await resolveRouteHeaders(allRoutes, routeModules, {\n request,\n params: match.params,\n context,\n loaderData,\n actionData,\n });\n\n if (isJsonRequest(request)) {\n const payload = { ...loaderData };\n if (actionData !== undefined) {\n payload.__action__ = actionData;\n }\n routeHeaders.set(\"Content-Type\", \"application/json\");\n return new Response(encodeSerializedPayloadAsJson(payload), { headers: routeHeaders });\n }\n\n try {\n let element = h(pageModule.default, {\n data: loaderData[match.route.id],\n params: match.params,\n actionData,\n });\n\n for (let i = layoutChain.length - 1; i >= 0; i--) {\n const layoutRoute = layoutChain[i];\n const layoutModule = routeModules.get(layoutRoute.id);\n if (layoutModule?.default) {\n element = h(layoutModule.default, { data: loaderData[layoutRoute.id] }, element);\n }\n }\n\n const routeHeadHtml = await resolveRouteHeadHtml(allRoutes, routeModules, {\n request,\n params: match.params,\n context,\n loaderData,\n actionData,\n pathname,\n });\n const html = renderToString(element);\n const fullHtml = wrapHtml(html, pathname, loaderData, actionData, routeHeadHtml);\n return new Response(fullHtml, {\n headers: withDefaultContentType(routeHeaders, \"text/html; charset=utf-8\"),\n });\n } catch (error) {\n return renderErrorResponse(allRoutes, routeModules, match.route, toError(error));\n }\n });\n\n if (isMutationMethod(request.method)) {\n applyMutationInvalidationToLoaderDataCache(effectivePathname, response);\n }\n\n applyRouteRuleHeaders(response, pathname);\n return response;\n}\n\nfunction toRuntimeRoute(routeDef) {\n const config = { mode: routeDef.mode };\n if (routeDef.cache) {\n config.cache = routeDef.cache;\n }\n\n return {\n id: routeDef.id,\n path: routeDef.path,\n file: routeDef.id,\n pattern: /^$/,\n params: routeDef.params,\n config,\n parentId: routeDef.parentId,\n };\n}\n\nfunction getLayoutChain(route) {\n const layouts = [];\n let parentId = route.parentId;\n while (parentId) {\n const routeDef = ROUTE_DEF_BY_ID.get(parentId);\n if (!routeDef) {\n break;\n }\n if (routeDef.isLayout) {\n const layoutRoute = ROUTES_BY_ID.get(routeDef.id);\n if (layoutRoute) {\n layouts.unshift(layoutRoute);\n }\n }\n parentId = routeDef.parentId;\n }\n return layouts;\n}\n\nfunction normalizePathname(pathname) {\n let decoded;\n try {\n decoded = decodeURIComponent(pathname || \"/\");\n } catch {\n return null;\n }\n\n if (!decoded.startsWith(\"/\") || decoded.includes(\"..\")) {\n return null;\n }\n if (decoded.length > 1 && decoded.endsWith(\"/\")) {\n return decoded.slice(0, -1);\n }\n return decoded;\n}\n\nfunction applyRouteRuleHeaders(response, pathname) {\n const matches = resolveRouteRuleHeaders(ROUTE_RULES, pathname);\n for (const match of matches) {\n for (const [name, value] of Object.entries(match.headers || {})) {\n try {\n if (!response.headers.has(name)) {\n response.headers.set(name, String(value));\n }\n } catch {\n // Ignore immutable Response headers (for example, redirect responses).\n }\n }\n }\n}\n\nfunction isMutationMethod(method) {\n const normalized = String(method || \"GET\").toUpperCase();\n return normalized === \"POST\" || normalized === \"PUT\" || normalized === \"PATCH\" || normalized === \"DELETE\";\n}\n\nfunction isJsonRequest(request) {\n const accept = request.headers.get(\"Accept\") || \"\";\n return accept.includes(\"application/json\");\n}\n\nfunction isLoaderDataCacheableRequest(request) {\n const cacheControl = request.headers.get(\"Cache-Control\") || \"\";\n if (cacheControl.includes(\"no-cache\") || cacheControl.includes(\"no-store\")) {\n return false;\n }\n\n if (request.headers.has(\"Authorization\") || request.headers.has(\"Cookie\")) {\n return false;\n }\n\n return true;\n}\n\nfunction isLoaderDataCacheReadableMethod(method) {\n const normalized = String(method || \"GET\").toUpperCase();\n return normalized === \"GET\" || normalized === \"HEAD\";\n}\n\nfunction buildLoaderDataCacheKey(request, routeId, params) {\n const url = new URL(request.url);\n const encodedParams = stableEncodeParams(params);\n return \\`\\${url.pathname}::\\${url.search}::\\${routeId}::\\${encodedParams}\\`;\n}\n\nfunction stableEncodeParams(params) {\n const sortedEntries = Object.entries(params).sort(([left], [right]) =>\n left.localeCompare(right)\n );\n return JSON.stringify(sortedEntries);\n}\n\nfunction readCachedLoaderData(key) {\n const entry = LOADER_DATA_CACHE.get(key);\n if (!entry) {\n return null;\n }\n if (entry.expiresAt <= Date.now()) {\n LOADER_DATA_CACHE.delete(key);\n return null;\n }\n return entry.data;\n}\n\nfunction storeLoaderDataCache(key, data, maxAgeSec) {\n if (!(maxAgeSec > 0)) {\n return;\n }\n\n if (!LOADER_DATA_CACHE.has(key) && LOADER_DATA_CACHE.size >= LOADER_CACHE_MAX_ENTRIES) {\n const oldest = LOADER_DATA_CACHE.keys().next().value;\n if (typeof oldest === \"string\") {\n LOADER_DATA_CACHE.delete(oldest);\n }\n }\n\n LOADER_DATA_CACHE.set(key, {\n data,\n expiresAt: Date.now() + maxAgeSec * 1000,\n });\n}\n\nfunction invalidateLoaderDataCacheForPath(pathname) {\n const normalized = normalizePathname(pathname);\n if (!normalized) {\n return;\n }\n const prefix = \\`\\${normalized}::\\`;\n for (const key of LOADER_DATA_CACHE.keys()) {\n if (key.startsWith(prefix)) {\n LOADER_DATA_CACHE.delete(key);\n }\n }\n}\n\nfunction applyMutationInvalidationToLoaderDataCache(pathname, response) {\n const directive = response.headers.get(\"x-neutron-invalidate\");\n if (!directive) {\n return;\n }\n\n const tokens = directive\n .split(\",\")\n .map((token) => token.trim())\n .filter(Boolean);\n\n if (tokens.length === 0) {\n return;\n }\n\n for (const token of tokens) {\n if (token === \"*\") {\n LOADER_DATA_CACHE.clear();\n return;\n }\n if (token === \"self\") {\n invalidateLoaderDataCacheForPath(pathname);\n continue;\n }\n const normalized = normalizePathname(token);\n if (normalized) {\n invalidateLoaderDataCacheForPath(normalized);\n }\n }\n}\n\nasync function resolveRouteHeaders(allRoutes, routeModules, args) {\n const headers = new Headers();\n for (const route of allRoutes) {\n const mod = routeModules.get(route.id);\n if (!mod?.headers) {\n continue;\n }\n const resolved = await mod.headers(args);\n const next = toHeaders(resolved);\n next.forEach((value, name) => {\n headers.set(name, value);\n });\n }\n return headers;\n}\n\nasync function resolveRouteHeadHtml(allRoutes, routeModules, args) {\n let mergedSeo = null;\n const headFragments = [];\n\n for (const route of allRoutes) {\n const mod = routeModules.get(route.id);\n if (!mod?.head) {\n continue;\n }\n\n const resolved = await mod.head(args);\n if (!resolved) {\n continue;\n }\n\n if (typeof resolved === \"string\") {\n headFragments.push(resolved);\n continue;\n }\n\n mergedSeo = mergeSeoMetaInput(mergedSeo, resolved);\n }\n\n return renderDocumentHead(args.pathname, mergedSeo, headFragments);\n}\n\nfunction toHeaders(value) {\n if (!value) {\n return new Headers();\n }\n if (value instanceof Headers) {\n return new Headers(value);\n }\n const headers = new Headers();\n for (const [name, headerValue] of Object.entries(value)) {\n headers.set(name, String(headerValue));\n }\n return headers;\n}\n\nfunction withDefaultContentType(headers, fallback) {\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", fallback);\n }\n return headers;\n}\n\nfunction renderErrorResponse(allRoutes, modules, route, error) {\n const boundary = findNearestErrorBoundary(allRoutes, modules, route);\n if (!boundary) {\n return new Response(renderDefaultError(error), {\n status: 500,\n headers: { \"Content-Type\": \"text/html; charset=utf-8\" },\n });\n }\n\n const boundaryElement = h(boundary, { error });\n const boundaryHtml = renderToString(boundaryElement);\n return new Response(wrapHtml(boundaryHtml, route.path, {}), {\n status: 500,\n headers: { \"Content-Type\": \"text/html; charset=utf-8\" },\n });\n}\n\n// Apply baseline security headers to every response from the production handler\n// (the dev server does this already; the generated handler must match).\nexport async function handleNeutronRequest(request) {\n const response = await handleNeutronRequestInner(request);\n const defaults = {\n \"X-Content-Type-Options\": \"nosniff\",\n \"X-Frame-Options\": \"DENY\",\n \"Referrer-Policy\": \"strict-origin-when-cross-origin\",\n };\n for (const [name, value] of Object.entries(defaults)) {\n if (!response.headers.has(name)) {\n response.headers.set(name, value);\n }\n }\n return response;\n}\n\nfunction findNearestErrorBoundary(allRoutes, modules, route) {\n const pageModule = modules.get(route.id);\n if (pageModule?.ErrorBoundary) {\n return pageModule.ErrorBoundary;\n }\n\n for (let i = allRoutes.length - 2; i >= 0; i--) {\n const layoutModule = modules.get(allRoutes[i].id);\n if (layoutModule?.ErrorBoundary) {\n return layoutModule.ErrorBoundary;\n }\n }\n\n return undefined;\n}\n\nfunction renderDefaultError(error) {\n return \\`<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>Error - Neutron</title>\n</head>\n<body>\n <h1>Application Error</h1>\n <pre>\\${escapeHtml(error.message || \"Unknown error\")}</pre>\n</body>\n</html>\\`;\n}\n\nfunction wrapHtml(content, pathname, loaderData, actionData, headHtml = \"\") {\n const allData = { ...loaderData };\n if (actionData !== undefined) {\n allData.__action__ = actionData;\n }\n const dataScript = Object.keys(allData).length > 0\n ? \\`<script>window.__NEUTRON_DATA_SERIALIZED__=\\${serializeForInlineScript(allData)};</script>\\`\n : \"\";\n const clientScript = CLIENT_ENTRY_SCRIPT_SRC\n ? \\`<script type=\"module\" src=\"\\${escapeHtml(CLIENT_ENTRY_SCRIPT_SRC)}\"></script>\\`\n : \"\";\n\n return \\`<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n\\${headHtml || renderDocumentHead(pathname, null)}\n</head>\n<body>\n<div id=\"app\">\\${content}</div>\n\\${dataScript}\n\\${clientScript}\n</body>\n</html>\\`;\n}\n\nfunction escapeHtml(str) {\n return String(str)\n .replace(/&/g, \"&amp;\")\n .replace(/</g, \"&lt;\")\n .replace(/>/g, \"&gt;\")\n .replace(/\"/g, \"&quot;\");\n}\n\nfunction toError(value) {\n if (value instanceof Error) {\n return value;\n }\n if (typeof value === \"string\") {\n return new Error(value);\n }\n return new Error(\"Unknown error\");\n}\n`;\n}\n\nfunction relativeImportPath(fromDir: string, filePath: string): string {\n const rel = path.relative(fromDir, filePath).split(path.sep).join(\"/\");\n return rel.startsWith(\".\") ? rel : `./${rel}`;\n}\n\nfunction escapeJsString(value: string): string {\n return value.replace(/\\\\/g, \"\\\\\\\\\").replace(/\"/g, '\\\\\"');\n}\n\nasync function loadNeutronConfig(cwd: string): Promise<NeutronConfig> {\n const candidates = [\n \"neutron.config.ts\",\n \"neutron.config.js\",\n \"neutron.config.mjs\",\n \"neutron.config.cjs\",\n ];\n\n for (const file of candidates) {\n const fullPath = path.resolve(cwd, file);\n if (!fs.existsSync(fullPath)) {\n continue;\n }\n\n const loaded = await loadConfigFromFile(\n { command: \"build\", mode: \"production\" },\n fullPath,\n cwd\n );\n\n if (loaded?.config) {\n return loaded.config as NeutronConfig;\n }\n }\n\n return {};\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"deploy-check.js","sourceRoot":"","sources":["../../src/commands/deploy-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy-check.js","sourceRoot":"","sources":["../../src/commands/deploy-check.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from \"node:fs\";\nimport * as path from \"node:path\";\n\ntype DeployPreset = \"vercel\" | \"cloudflare\" | \"docker\" | \"static\";\n\ninterface DeployCheckArgs {\n preset: DeployPreset | null;\n distDir: string;\n}\n\ninterface AdapterMetadata {\n routes?: {\n app?: number;\n };\n compression?: {\n enabled?: boolean;\n files?: number;\n };\n}\n\nexport async function deployCheck(): Promise<void> {\n const cwd = process.cwd();\n const args = parseDeployCheckArgs(process.argv.slice(3));\n const distDir = path.resolve(cwd, args.distDir);\n\n if (!fs.existsSync(distDir)) {\n console.error(`Dist directory not found: ${distDir}`);\n process.exit(1);\n }\n\n const presets = args.preset ? [args.preset] : detectPresetsFromDist(distDir);\n if (presets.length === 0) {\n console.error(\n \"No deployment preset detected. Pass --preset vercel|cloudflare|docker|static or run a preset build first.\"\n );\n process.exit(1);\n }\n\n let hasFailures = false;\n for (const preset of presets) {\n const failures = runChecksForPreset(preset, distDir);\n if (failures.length > 0) {\n hasFailures = true;\n console.error(`\\n[deploy-check] ${preset}: FAILED`);\n for (const failure of failures) {\n console.error(` - ${failure}`);\n }\n } else {\n console.log(`[deploy-check] ${preset}: OK`);\n }\n }\n\n if (hasFailures) {\n process.exit(1);\n }\n}\n\nfunction parseDeployCheckArgs(argv: string[]): DeployCheckArgs {\n let preset: DeployPreset | null = null;\n let distDir = \"dist\";\n\n for (let i = 0; i < argv.length; i++) {\n const arg = argv[i];\n if (arg === \"--preset\" && argv[i + 1]) {\n const value = argv[++i];\n if (value === \"vercel\" || value === \"cloudflare\" || value === \"docker\" || value === \"static\") {\n preset = value;\n }\n continue;\n }\n if (arg.startsWith(\"--preset=\")) {\n const value = arg.split(\"=\")[1];\n if (value === \"vercel\" || value === \"cloudflare\" || value === \"docker\" || value === \"static\") {\n preset = value;\n }\n continue;\n }\n if (arg === \"--dist\" && argv[i + 1]) {\n distDir = argv[++i];\n continue;\n }\n if (arg.startsWith(\"--dist=\")) {\n distDir = arg.split(\"=\")[1];\n }\n }\n\n return { preset, distDir };\n}\n\nfunction detectPresetsFromDist(distDir: string): DeployPreset[] {\n const output: DeployPreset[] = [];\n if (fs.existsSync(path.join(distDir, \".neutron-adapter-vercel.json\"))) {\n output.push(\"vercel\");\n }\n if (fs.existsSync(path.join(distDir, \".neutron-adapter-cloudflare.json\"))) {\n output.push(\"cloudflare\");\n }\n if (fs.existsSync(path.join(distDir, \".neutron-adapter-docker.json\"))) {\n output.push(\"docker\");\n }\n if (fs.existsSync(path.join(distDir, \".neutron-adapter-static.json\"))) {\n output.push(\"static\");\n }\n return output;\n}\n\nfunction runChecksForPreset(preset: DeployPreset, distDir: string): string[] {\n const failures: string[] = [];\n\n const requireFile = (relativePath: string): void => {\n const fullPath = path.join(distDir, relativePath);\n if (!fs.existsSync(fullPath)) {\n failures.push(`Missing file: ${relativePath}`);\n }\n };\n\n requireFile(\"index.html\");\n\n if (preset === \"vercel\") {\n requireFile(\"vercel.json\");\n const metadata = readMetadata(path.join(distDir, \".neutron-adapter-vercel.json\"));\n if ((metadata.routes?.app || 0) > 0) {\n requireFile(\"api/__neutron.mjs\");\n requireFile(\"server/node/entry.js\");\n }\n }\n\n if (preset === \"cloudflare\") {\n requireFile(\"wrangler.json\");\n const metadata = readMetadata(path.join(distDir, \".neutron-adapter-cloudflare.json\"));\n if ((metadata.routes?.app || 0) > 0) {\n requireFile(\"_worker.js\");\n requireFile(\"server/worker/entry.js\");\n }\n }\n\n if (preset === \"docker\") {\n requireFile(\"Dockerfile\");\n requireFile(\"server.mjs\");\n const metadata = readMetadata(path.join(distDir, \".neutron-adapter-docker.json\"));\n if ((metadata.routes?.app || 0) > 0) {\n requireFile(\"server/node/entry.js\");\n }\n }\n\n if (preset === \"static\") {\n requireFile(\"_headers\");\n requireFile(\".neutron-static-policy.json\");\n const metadataPath = path.join(distDir, \".neutron-adapter-static.json\");\n requireFile(\".neutron-adapter-static.json\");\n const metadata = readMetadata(metadataPath);\n if (metadata.compression?.enabled) {\n const compressedCount = countFilesBySuffix(distDir, [\".br\", \".gz\"]);\n if (compressedCount === 0) {\n failures.push(\n \"Static compression enabled but no .br/.gz files found in dist output.\"\n );\n }\n }\n }\n\n return failures;\n}\n\nfunction readMetadata(metadataPath: string): AdapterMetadata {\n if (!fs.existsSync(metadataPath)) {\n return {};\n }\n try {\n const raw = fs.readFileSync(metadataPath, \"utf-8\");\n return JSON.parse(raw) as AdapterMetadata;\n } catch {\n return {};\n }\n}\n\nfunction countFilesBySuffix(dir: string, suffixes: string[]): number {\n let count = 0;\n const entries = fs.readdirSync(dir, { withFileTypes: true });\n\n for (const entry of entries) {\n const fullPath = path.join(dir, entry.name);\n if (entry.isDirectory()) {\n count += countFilesBySuffix(fullPath, suffixes);\n continue;\n }\n if (!entry.isFile()) {\n continue;\n }\n if (suffixes.some((suffix) => entry.name.endsWith(suffix))) {\n count += 1;\n }\n }\n\n return count;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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","sourcesContent":["import * as path from \"node:path\";\nimport * as fs from \"node:fs\";\nimport { createServer, loadConfigFromFile, mergeConfig } from \"vite\";\nimport {\n neutronPlugin,\n} from \"@neutron-build/core/vite\";\nimport {\n prepareContentCollections,\n prepareRouteTypes,\n resolveRuntime,\n resolveRuntimeAliases,\n resolveRuntimeNoExternal,\n type NeutronConfig,\n} from \"@neutron-build/core\";\n\nexport async function dev(): Promise<void> {\n const cwd = process.cwd();\n const routesDir = path.resolve(cwd, \"src/routes\");\n const neutronConfig = await loadNeutronConfig(cwd);\n const runtime = resolveRuntime(neutronConfig);\n const runtimeAliases = resolveRuntimeAliases(runtime);\n const runtimeNoExternal = resolveRuntimeNoExternal(runtime);\n\n // Parse CLI args\n const args = process.argv.slice(3);\n let port = 3000;\n let host: string | undefined;\n for (let i = 0; i < args.length; i++) {\n if (args[i] === \"--port\" && args[i + 1]) {\n port = parseInt(args[i + 1], 10);\n i++;\n } else if (args[i].startsWith(\"--port=\")) {\n port = parseInt(args[i].split(\"=\")[1], 10);\n } else if (args[i] === \"--host\" && args[i + 1]) {\n host = args[i + 1];\n i++;\n } else if (args[i].startsWith(\"--host=\")) {\n host = args[i].split(\"=\")[1];\n }\n }\n\n await prepareContentCollections({\n rootDir: cwd,\n writeManifest: false,\n writeTypes: true,\n });\n await prepareRouteTypes({\n rootDir: cwd,\n routesDir: \"src/routes\",\n writeTypes: true,\n });\n\n if (!fs.existsSync(routesDir)) {\n console.error(`Routes directory not found: ${routesDir}`);\n console.error(`Create src/routes/ with your route files.`);\n process.exit(1);\n }\n\n const loadedConfig = await loadConfigFromFile(\n { command: \"serve\", mode: \"development\" },\n undefined,\n cwd\n );\n\n const userConfig = loadedConfig?.config || {};\n\n // Strip plugins that the CLI will add to avoid duplicates from mergeConfig concatenation\n const cliPluginNames = new Set([\"neutron:core\"]);\n const filteredPlugins = (userConfig.plugins || []).filter((plugin: unknown) => {\n if (plugin && typeof plugin === \"object\" && \"name\" in plugin) {\n return !cliPluginNames.has((plugin as { name: string }).name);\n }\n return true;\n });\n\n const server = await createServer(\n mergeConfig({ ...userConfig, plugins: filteredPlugins }, {\n // Prevent Vite's resolveConfig from loading vite.config.ts a second time.\n // We already loaded it above via loadConfigFromFile and merged the result.\n // Without this, plugins (including @prefresh/vite) are instantiated twice,\n // causing double HMR preamble injection (\"Identifier 'flushUpdates' has\n // already been declared\").\n configFile: false,\n root: cwd,\n plugins: [\n neutronPlugin({\n routesDir,\n rootDir: cwd,\n writeRouteTypes: true,\n routeRules: neutronConfig.routes,\n }),\n ],\n resolve: {\n ...(runtimeAliases ? { alias: runtimeAliases } : {}),\n // One preact copy so dev SSR components and the renderer share a hooks\n // dispatcher (matches the build path).\n dedupe: [\"preact\", \"preact/hooks\", \"preact/jsx-runtime\", \"preact/compat\"],\n },\n ssr: {\n // @neutron-build/core shares the SSR graph's preact too, so its inline\n // hook components (e.g. Link) don't crash dev SSR with \"reading '__H'\".\n noExternal: [\"preact\", \"preact/hooks\", \"preact-render-to-string\", \"@neutron-build/core\", ...runtimeNoExternal],\n },\n server: {\n port,\n ...(host ? { host } : {}),\n },\n })\n );\n\n await server.listen();\n\n const resolvedPort = server.config.server.port || port;\n\n console.log(`\n Neutron dev server running:\n\n Local: http://localhost:${resolvedPort}\n Routes: ${routesDir}\n\n Press Ctrl+C to stop\n`);\n}\n\nasync function loadNeutronConfig(cwd: string): Promise<NeutronConfig> {\n const candidates = [\n \"neutron.config.ts\",\n \"neutron.config.js\",\n \"neutron.config.mjs\",\n \"neutron.config.cjs\",\n ];\n\n for (const file of candidates) {\n const fullPath = path.resolve(cwd, file);\n if (!fs.existsSync(fullPath)) {\n continue;\n }\n\n const loaded = await loadConfigFromFile(\n { command: \"serve\", mode: \"development\" },\n fullPath,\n cwd\n );\n if (loaded?.config) {\n return loaded.config as NeutronConfig;\n }\n }\n\n return {};\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/commands/preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../../src/commands/preview.ts"],"names":[],"mappings":"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","sourcesContent":["import * as http from \"node:http\";\nimport * as fs from \"node:fs\";\nimport * as path from \"node:path\";\nimport {\n compileRouteRules,\n discoverRoutes,\n prepareContentCollections,\n resolveRouteRuleHeaders,\n resolveRouteRuleRedirect,\n resolveRouteRuleRewrite,\n resolveRuntime,\n} from \"@neutron-build/core\";\nimport { startServer } from \"@neutron-build/core/server\";\nimport type { NeutronConfig } from \"@neutron-build/core\";\nimport { loadConfigFromFile, loadEnv } from \"vite\";\n\nexport async function preview(): Promise<void> {\n const cwd = process.cwd();\n applyEnv(cwd, \"production\");\n const neutronConfig = await loadNeutronConfig(cwd);\n await prepareContentCollections({\n rootDir: cwd,\n writeManifest: false,\n writeTypes: false,\n });\n const distDir = path.resolve(cwd, \"dist\");\n const routesDir = path.resolve(cwd, \"src/routes\");\n const port = neutronConfig.server?.port || 4173;\n const compiledRouteRules = compileRouteRules(neutronConfig.routes);\n\n if (!fs.existsSync(distDir)) {\n console.error(`Build output not found: ${distDir}`);\n console.error(`Run 'neutron build' first.`);\n process.exit(1);\n }\n\n const hasAppRoutes = detectAppRoutes(routesDir);\n if (hasAppRoutes) {\n console.log(\"\\nDetected app routes. Starting Neutron production preview server...\\n\");\n await startServer({\n ...neutronConfig.server,\n routes: neutronConfig.routes,\n runtime: resolveRuntime(neutronConfig),\n rootDir: cwd,\n distDir: \"dist\",\n routesDir: \"src/routes\",\n host: neutronConfig.server?.host || \"0.0.0.0\",\n port,\n });\n return;\n }\n\n console.log(\"\\nDetected static-only build. Starting static preview server...\\n\");\n\n const server = http.createServer((req, res) => {\n const requestUrl = resolveRequestUrl(req);\n if (!requestUrl) {\n res.statusCode = 400;\n res.setHeader(\"Content-Type\", \"text/plain\");\n res.end(\"Bad Request\");\n return;\n }\n\n const pathname = normalizePathname(requestUrl.pathname);\n if (!pathname) {\n res.statusCode = 400;\n res.setHeader(\"Content-Type\", \"text/plain\");\n res.end(\"Bad Request\");\n return;\n }\n\n const redirect = resolveRouteRuleRedirect(compiledRouteRules, pathname, requestUrl.search);\n if (redirect) {\n res.statusCode = redirect.status;\n res.setHeader(\"Location\", redirect.location);\n res.end();\n return;\n }\n\n const rewrite = resolveRouteRuleRewrite(compiledRouteRules, pathname);\n const effectivePathname = normalizePathname(rewrite?.pathname || pathname);\n if (!effectivePathname) {\n res.statusCode = 400;\n res.setHeader(\"Content-Type\", \"text/plain\");\n res.end(\"Bad Request\");\n return;\n }\n\n // Serve static files\n let filePath = resolveDistFilePath(distDir, effectivePathname);\n if (!filePath) {\n res.statusCode = 403;\n res.setHeader(\"Content-Type\", \"text/plain\");\n res.end(\"Forbidden\");\n return;\n }\n\n // Try index.html for directories\n if (fs.existsSync(filePath) && fs.statSync(filePath).isDirectory()) {\n filePath = path.join(filePath, \"index.html\");\n if (!isWithinDirectory(distDir, filePath)) {\n res.statusCode = 403;\n res.setHeader(\"Content-Type\", \"text/plain\");\n res.end(\"Forbidden\");\n return;\n }\n }\n\n // Try .html extension\n if (!fs.existsSync(filePath)) {\n const htmlPath = filePath + \".html\";\n if (fs.existsSync(htmlPath) && isWithinDirectory(distDir, htmlPath)) {\n filePath = htmlPath;\n }\n }\n\n if (fs.existsSync(filePath) && fs.statSync(filePath).isFile()) {\n const ext = path.extname(filePath);\n const types: Record<string, string> = {\n \".html\": \"text/html\",\n \".css\": \"text/css\",\n \".js\": \"application/javascript\",\n \".mjs\": \"application/javascript\",\n \".json\": \"application/json\",\n \".png\": \"image/png\",\n \".jpg\": \"image/jpeg\",\n \".svg\": \"image/svg+xml\",\n \".ico\": \"image/x-icon\",\n \".woff\": \"font/woff\",\n \".woff2\": \"font/woff2\",\n };\n\n res.setHeader(\"Content-Type\", types[ext] || \"application/octet-stream\");\n applyRouteRuleHeaders(\n res,\n resolveRouteRuleHeaders(compiledRouteRules, pathname)\n );\n \n const stream = fs.createReadStream(filePath);\n stream.pipe(res);\n stream.on(\"error\", () => {\n res.statusCode = 500;\n res.end(\"Internal Server Error\");\n });\n } else {\n res.statusCode = 404;\n res.setHeader(\"Content-Type\", \"text/plain\");\n applyRouteRuleHeaders(\n res,\n resolveRouteRuleHeaders(compiledRouteRules, pathname)\n );\n res.end(\"Not Found\");\n }\n });\n\n server.listen(port, \"0.0.0.0\", () => {\n console.log(`\\n Preview server running:\\n`);\n console.log(` Local: http://localhost:${port}\\n`);\n console.log(` Press Ctrl+C to stop\\n`);\n });\n\n process.on(\"SIGTERM\", () => {\n console.log(\"\\nShutting down...\");\n server.close();\n process.exit(0);\n });\n\n process.on(\"SIGINT\", () => {\n console.log(\"\\nShutting down...\");\n server.close();\n process.exit(0);\n });\n}\n\nfunction detectAppRoutes(routesDir: string): boolean {\n if (!fs.existsSync(routesDir)) {\n return false;\n }\n\n const routes = discoverRoutes({ routesDir });\n return routes.some((route) => !route.file.includes(\"_layout\") && route.config.mode === \"app\");\n}\n\nasync function loadNeutronConfig(cwd: string): Promise<NeutronConfig> {\n const candidates = [\n \"neutron.config.ts\",\n \"neutron.config.js\",\n \"neutron.config.mjs\",\n \"neutron.config.cjs\",\n ];\n\n for (const file of candidates) {\n const fullPath = path.resolve(cwd, file);\n if (!fs.existsSync(fullPath)) {\n continue;\n }\n\n const loaded = await loadConfigFromFile(\n { command: \"serve\", mode: \"production\" },\n fullPath,\n cwd\n );\n if (loaded?.config) {\n return loaded.config as NeutronConfig;\n }\n }\n\n return {};\n}\n\nfunction applyEnv(cwd: string, mode: string): void {\n const env = loadEnv(mode, cwd, \"\");\n for (const [key, value] of Object.entries(env)) {\n if (process.env[key] === undefined) {\n process.env[key] = value;\n }\n }\n}\n\nfunction normalizePathname(pathname: string): string {\n if (!pathname) {\n return \"/\";\n }\n\n let decoded: string;\n try {\n decoded = decodeURIComponent(pathname);\n } catch {\n return \"\";\n }\n\n if (!decoded.startsWith(\"/\") || decoded.includes(\"..\")) {\n return \"\";\n }\n\n if (decoded.length > 1 && decoded.endsWith(\"/\")) {\n return decoded.slice(0, -1);\n }\n return decoded;\n}\n\nfunction applyRouteRuleHeaders(\n response: http.ServerResponse,\n matches: Array<{ headers: Record<string, string> }>\n): void {\n for (const match of matches) {\n for (const [name, value] of Object.entries(match.headers || {})) {\n if (!response.hasHeader(name)) {\n response.setHeader(name, String(value));\n }\n }\n }\n}\n\nfunction resolveRequestUrl(req: http.IncomingMessage): URL | null {\n const host = req.headers.host || \"localhost\";\n try {\n return new URL(req.url || \"/\", `http://${host}`);\n } catch {\n return null;\n }\n}\n\nfunction resolveDistFilePath(distDir: string, pathname: string): string | null {\n const resolved = path.resolve(distDir, `.${pathname}`);\n return isWithinDirectory(distDir, resolved) ? resolved : null;\n}\n\nfunction isWithinDirectory(baseDir: string, candidatePath: string): boolean {\n const relative = path.relative(baseDir, candidatePath);\n return (\n relative === \"\" ||\n (!relative.startsWith(\"..\") && !path.isAbsolute(relative))\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"release-check.js","sourceRoot":"","sources":["../../src/commands/release-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,MAAM,KAAK,EAAE,CAAC;IACd,MAAM,WAAW,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"release-check.js","sourceRoot":"","sources":["../../src/commands/release-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,MAAM,KAAK,EAAE,CAAC;IACd,MAAM,WAAW,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC9C,CAAC","sourcesContent":["import { build } from \"./build.js\";\nimport { deployCheck } from \"./deploy-check.js\";\n\nexport async function releaseCheck(): Promise<void> {\n console.log(\"Running release-grade checks...\");\n await build();\n await deployCheck();\n console.log(\"Release-grade checks passed.\");\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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","sourcesContent":["import * as fs from \"node:fs\";\nimport * as path from \"node:path\";\nimport { createServer, startServer } from \"@neutron-build/core/server\";\nimport { prepareContentCollections, resolveRuntime, type NeutronConfig } from \"@neutron-build/core\";\nimport { loadConfigFromFile, loadEnv } from \"vite\";\n\nexport async function start() {\n const cwd = process.cwd();\n applyEnv(cwd, \"production\");\n const neutronConfig = await loadNeutronConfig(cwd);\n await prepareContentCollections({\n rootDir: cwd,\n writeManifest: false,\n writeTypes: false,\n });\n\n // Parse CLI args\n const args = process.argv.slice(3);\n let port = neutronConfig.server?.port || 3000;\n let host = neutronConfig.server?.host || \"0.0.0.0\";\n\n for (let i = 0; i < args.length; i++) {\n if (args[i] === \"--port\" && args[i + 1]) {\n port = parseInt(args[i + 1], 10);\n i++;\n } else if (args[i].startsWith(\"--port=\")) {\n port = parseInt(args[i].split(\"=\")[1], 10);\n } else if (args[i] === \"--host\" && args[i + 1]) {\n host = args[i + 1];\n i++;\n } else if (args[i].startsWith(\"--host=\")) {\n host = args[i].split(\"=\")[1];\n }\n }\n\n await startServer({\n ...neutronConfig.server,\n routes: neutronConfig.routes,\n runtime: resolveRuntime(neutronConfig),\n port,\n host,\n rootDir: cwd,\n });\n}\n\nexport { createServer };\n\nasync function loadNeutronConfig(cwd: string): Promise<NeutronConfig> {\n const candidates = [\n \"neutron.config.ts\",\n \"neutron.config.js\",\n \"neutron.config.mjs\",\n \"neutron.config.cjs\",\n ];\n\n for (const file of candidates) {\n const fullPath = path.resolve(cwd, file);\n if (!fs.existsSync(fullPath)) {\n continue;\n }\n\n const loaded = await loadConfigFromFile(\n { command: \"serve\", mode: \"production\" },\n fullPath,\n cwd\n );\n if (loaded?.config) {\n return loaded.config as NeutronConfig;\n }\n }\n\n return {};\n}\n\nfunction applyEnv(cwd: string, mode: string): void {\n const env = loadEnv(mode, cwd, \"\");\n for (const [key, value] of Object.entries(env)) {\n if (process.env[key] === undefined) {\n process.env[key] = value;\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/commands/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/commands/worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,OAAO,EACP,WAAW,GACZ,MAAM,MAAM,CAAC;AACd,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,wBAAwB,GAEzB,MAAM,qBAAqB,CAAC;AAoB7B,MAAM,uBAAuB,GAAG;IAC9B,eAAe;IACf,gBAAgB;IAChB,qBAAqB;IACrB,sBAAsB;IACtB,WAAW;IACX,WAAW;CACZ,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEnF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,8GAA8G,CAC/G,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,MAAM,kBAAkB,CAC3C,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EACrC,SAAS,EACT,GAAG,CACJ,CAAC;IACF,MAAM,UAAU,GAAG,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC;IAE9C,MAAM,UAAU,GAAG,MAAM,YAAY,CACnC,WAAW,CAAC,UAAU,EAAE;QACtB,UAAU,EAAE,KAAK;QACjB,IAAI,EAAE,GAAG;QACT,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,MAAM,EAAE;YACN,cAAc,EAAE,IAAI;YACpB,GAAG,EAAE,KAAK;YACV,EAAE,EAAE,KAAK;SACV;QACD,YAAY,EAAE;YACZ,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,EAAE;SACZ;QACD,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,OAAO;KAClB,CAAC,CACH,CAAC;IAEF,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,IAAI,QAAkD,CAAC;IACvD,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,MAAM,QAAQ,GAAG,KAAK,IAAmB,EAAE;QACzC,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,YAAY,GAAG,IAAI,CAAC;QACpB,eAAe,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,QAAQ,EAAE,EAAE,CAAC;QACrB,CAAC;gBAAS,CAAC;YACT,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,KAAK,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,KAAK,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAEnD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,MAAM,EAAE,eAAe,CAAC,MAAM;YAC9B,GAAG,EAAE,CAAC,OAAe,EAAE,EAAE;gBACvB,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC;YACrC,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,QAAQ,GAAG,MAAoC,CAAC;QAClD,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,QAAQ,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAExC,MAAM,IAAI,OAAO,CAAO,GAAG,EAAE;YAC3B,0DAA0D;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,EAAE,CAAC;QACjB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,MAA+B,EAAE,SAAiB;IAC7E,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC;IAC/C,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,kBAAkB,SAAS,iDAAiD,CAC7E,CAAC;IACJ,CAAC;IACD,OAAO,SAAyB,CAAC;AACnC,CAAC;AAED,SAAS,eAAe,CAAC,IAAc;IACrC,IAAI,KAAyB,CAAC;IAC9B,IAAI,IAAI,GAAG,aAAa,CAAC;IACzB,IAAI,IAAI,GAAG,KAAK,CAAC;IAEjB,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,gBAAgB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,MAAM,UAAU,GAAG,gBAAgB,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAElF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,GAAG,KAAK,SAAS,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3C,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ,IAAI,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1C,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK;QACL,IAAI;QACJ,IAAI;QACJ,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,GAAW,EACX,QAAiB,EACjB,WAAoB;IAEpB,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,uBAAuB,CAAC,CAAC,MAAM,CAC3E,CAAC,SAAS,EAAuB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CACvD,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAClD,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,IAAY;IACxD,MAAM,UAAU,GAAG;QACjB,mBAAmB;QACnB,mBAAmB;QACnB,oBAAoB;QACpB,oBAAoB;KACrB,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnF,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,MAAuB,CAAC;QACxC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW,EAAE,IAAY;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACnC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import * as fs from \"node:fs\";\nimport * as path from \"node:path\";\nimport {\n createServer,\n loadConfigFromFile,\n loadEnv,\n mergeConfig,\n} from \"vite\";\nimport {\n resolveRuntime,\n resolveRuntimeAliases,\n resolveRuntimeNoExternal,\n type NeutronConfig,\n} from \"@neutron-build/core\";\n\ninterface WorkerRunContext {\n mode: string;\n args: string[];\n signal: AbortSignal;\n log: (message: string) => void;\n}\n\ntype WorkerRunner = (\n context: WorkerRunContext\n) => unknown | void | Promise<unknown | void>;\n\ninterface WorkerArgs {\n entry?: string;\n mode: string;\n once: boolean;\n workerArgs: string[];\n}\n\nconst WORKER_ENTRY_CANDIDATES = [\n \"src/worker.ts\",\n \"src/worker.tsx\",\n \"src/worker/index.ts\",\n \"src/worker/index.tsx\",\n \"worker.ts\",\n \"worker.js\",\n];\n\nexport async function worker(): Promise<void> {\n const cwd = process.cwd();\n const args = parseWorkerArgs(process.argv.slice(3));\n applyEnv(cwd, args.mode);\n const neutronConfig = await loadNeutronConfig(cwd, args.mode);\n const entryPath = resolveWorkerEntry(cwd, args.entry, neutronConfig.worker?.entry);\n\n if (!entryPath) {\n console.error(\n \"Worker entry not found. Provide --entry <path>, set worker.entry in neutron.config, or create src/worker.ts.\"\n );\n process.exit(1);\n }\n\n const runtime = resolveRuntime(neutronConfig);\n const runtimeAliases = resolveRuntimeAliases(runtime);\n const runtimeNoExternal = resolveRuntimeNoExternal(runtime);\n const loadedConfig = await loadConfigFromFile(\n { command: \"serve\", mode: args.mode },\n undefined,\n cwd\n );\n const userConfig = loadedConfig?.config || {};\n\n const viteServer = await createServer(\n mergeConfig(userConfig, {\n configFile: false,\n root: cwd,\n ...(runtimeAliases ? { resolve: { alias: runtimeAliases } } : {}),\n ...(runtimeNoExternal.length > 0 ? { ssr: { noExternal: runtimeNoExternal } } : {}),\n server: {\n middlewareMode: true,\n hmr: false,\n ws: false,\n },\n optimizeDeps: {\n disabled: true,\n noDiscovery: true,\n entries: [],\n },\n appType: \"custom\",\n logLevel: \"error\",\n })\n );\n\n const abortController = new AbortController();\n let teardown: (() => Promise<void> | void) | undefined;\n let shuttingDown = false;\n\n const shutdown = async (): Promise<void> => {\n if (shuttingDown) {\n return;\n }\n shuttingDown = true;\n abortController.abort();\n try {\n await teardown?.();\n } finally {\n await viteServer.close();\n }\n };\n\n process.on(\"SIGTERM\", () => {\n void shutdown().finally(() => process.exit(0));\n });\n process.on(\"SIGINT\", () => {\n void shutdown().finally(() => process.exit(0));\n });\n\n try {\n const module = await viteServer.ssrLoadModule(entryPath);\n const run = resolveWorkerRunner(module, entryPath);\n\n const result = await run({\n mode: args.mode,\n args: args.workerArgs,\n signal: abortController.signal,\n log: (message: string) => {\n console.log(`[worker] ${message}`);\n },\n });\n\n if (typeof result === \"function\") {\n teardown = result as () => Promise<void> | void;\n }\n\n if (args.once) {\n await shutdown();\n return;\n }\n\n console.log(`\\n Neutron worker running:\\n`);\n console.log(` Entry: ${path.relative(cwd, entryPath)}\\n`);\n console.log(` Press Ctrl+C to stop\\n`);\n\n await new Promise<void>(() => {\n // Keep process alive until a shutdown signal is received.\n });\n } catch (error) {\n await shutdown();\n throw error;\n }\n}\n\nfunction resolveWorkerRunner(module: Record<string, unknown>, entryPath: string): WorkerRunner {\n const candidate = module.run || module.default;\n if (typeof candidate !== \"function\") {\n throw new Error(\n `Worker module \"${entryPath}\" must export \"run\" (or default) as a function.`\n );\n }\n return candidate as WorkerRunner;\n}\n\nfunction parseWorkerArgs(argv: string[]): WorkerArgs {\n let entry: string | undefined;\n let mode = \"development\";\n let once = false;\n\n const passthroughIndex = argv.indexOf(\"--\");\n const workerArgs = passthroughIndex >= 0 ? argv.slice(passthroughIndex + 1) : [];\n const parsedArgs = passthroughIndex >= 0 ? argv.slice(0, passthroughIndex) : argv;\n\n for (let i = 0; i < parsedArgs.length; i++) {\n const arg = parsedArgs[i];\n if (arg === \"--entry\" && parsedArgs[i + 1]) {\n entry = parsedArgs[++i];\n continue;\n }\n if (arg.startsWith(\"--entry=\")) {\n entry = arg.split(\"=\")[1];\n continue;\n }\n if (arg === \"--mode\" && parsedArgs[i + 1]) {\n mode = parsedArgs[++i];\n continue;\n }\n if (arg.startsWith(\"--mode=\")) {\n mode = arg.split(\"=\")[1];\n continue;\n }\n if (arg === \"--once\") {\n once = true;\n }\n }\n\n return {\n entry,\n mode,\n once,\n workerArgs,\n };\n}\n\nfunction resolveWorkerEntry(\n cwd: string,\n cliEntry?: string,\n configEntry?: string\n): string | null {\n const candidates = [cliEntry, configEntry, ...WORKER_ENTRY_CANDIDATES].filter(\n (candidate): candidate is string => Boolean(candidate)\n );\n\n for (const candidate of candidates) {\n const absolutePath = path.resolve(cwd, candidate);\n if (fs.existsSync(absolutePath)) {\n return absolutePath;\n }\n }\n\n return null;\n}\n\nasync function loadNeutronConfig(cwd: string, mode: string): Promise<NeutronConfig> {\n const candidates = [\n \"neutron.config.ts\",\n \"neutron.config.js\",\n \"neutron.config.mjs\",\n \"neutron.config.cjs\",\n ];\n\n for (const file of candidates) {\n const fullPath = path.resolve(cwd, file);\n if (!fs.existsSync(fullPath)) {\n continue;\n }\n\n const loaded = await loadConfigFromFile({ command: \"serve\", mode }, fullPath, cwd);\n if (loaded?.config) {\n return loaded.config as NeutronConfig;\n }\n }\n\n return {};\n}\n\nfunction applyEnv(cwd: string, mode: string): void {\n const env = loadEnv(mode, cwd, \"\");\n for (const [key, value] of Object.entries(env)) {\n if (process.env[key] === undefined) {\n process.env[key] = value;\n }\n }\n}\n"]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,KAAK,UAAU,IAAI;IACjB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,KAAK;YACR,MAAM,GAAG,EAAE,CAAC;YACZ,MAAM;QACR,KAAK,OAAO;YACV,MAAM,KAAK,EAAE,CAAC;YACd,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,OAAO,EAAE,CAAC;YAChB,MAAM;QACR,KAAK,OAAO;YACV,MAAM,KAAK,EAAE,CAAC;YACd,MAAM;QACR,KAAK,cAAc;YACjB,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QACR,KAAK,eAAe;YAClB,MAAM,YAAY,EAAE,CAAC;YACrB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,MAAM,EAAE,CAAC;YACf,MAAM;QACR;YACE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;CAsBjB,CAAC,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAExB,KAAK,UAAU,IAAI;IACjB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,KAAK;YACR,MAAM,GAAG,EAAE,CAAC;YACZ,MAAM;QACR,KAAK,OAAO;YACV,MAAM,KAAK,EAAE,CAAC;YACd,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,OAAO,EAAE,CAAC;YAChB,MAAM;QACR,KAAK,OAAO;YACV,MAAM,KAAK,EAAE,CAAC;YACd,MAAM;QACR,KAAK,cAAc;YACjB,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM;QACR,KAAK,eAAe;YAClB,MAAM,YAAY,EAAE,CAAC;YACrB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM,MAAM,EAAE,CAAC;YACf,MAAM;QACR;YACE,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;CAsBjB,CAAC,CAAC;YACG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC","sourcesContent":["#!/usr/bin/env node\nimport { dev } from \"./commands/dev.js\";\nimport { build } from \"./commands/build.js\";\nimport { preview } from \"./commands/preview.js\";\nimport { start } from \"./commands/start.js\";\nimport { deployCheck } from \"./commands/deploy-check.js\";\nimport { worker } from \"./commands/worker.js\";\nimport { releaseCheck } from \"./commands/release-check.js\";\n\nconst args = process.argv.slice(2);\nconst command = args[0];\n\nasync function main() {\n switch (command) {\n case \"dev\":\n await dev();\n break;\n case \"build\":\n await build();\n break;\n case \"preview\":\n await preview();\n break;\n case \"start\":\n await start();\n break;\n case \"deploy-check\":\n await deployCheck();\n break;\n case \"release-check\":\n await releaseCheck();\n break;\n case \"worker\":\n await worker();\n break;\n default:\n console.log(`Neutron TypeScript CLI\n\nUsage:\n neutron-ts dev Start development server\n neutron-ts build Build for production\n --preset vercel|cloudflare|docker|static\n --cloudflare-mode pages|workers\n neutron-ts start Start production server\n neutron-ts preview Preview production build\n neutron-ts release-check\n --preset vercel|cloudflare|docker|static\n --dist dist\n neutron-ts worker Run background worker module\n --entry src/worker.ts\n --mode development|production\n --once\n neutron-ts deploy-check\n --preset vercel|cloudflare|docker|static\n --dist dist\n\nNOTE: The global 'neutron' command is the universal CLI.\nTS-specific commands use 'neutron-ts' (or 'npx neutron-ts').\n`);\n process.exit(1);\n }\n}\n\nmain().catch((err) => {\n console.error(err);\n process.exit(1);\n});\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neutron-build/cli",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "CLI for the Neutron framework. Dev server, production builds, and deployment.",
5
5
  "author": "Tyler",
6
6
  "license": "MIT",
@@ -35,7 +35,7 @@
35
35
  "preact": "^10.25.4",
36
36
  "preact-render-to-string": "^6.5.11",
37
37
  "vite": "^6.0.7",
38
- "@neutron-build/core": "0.1.1"
38
+ "@neutron-build/core": "^0.1.2"
39
39
  },
40
40
  "devDependencies": {
41
41
  "@types/node": "^22.10.7",