UNPKG

rakkasjs

Version:

Bleeding-edge React framework powered by Vite

71 lines (69 loc) 1.79 kB
import { doPrerender } from "./chunk-XEZ2E4P7.js"; import { cleanOptions } from "./chunk-FC2WGIJU.js"; import { version } from "./chunk-NPN2JRYM.js"; // src/cli/build.ts import multibuild from "@vavite/multibuild"; import pico from "picocolors"; async function build(root, options) { const buildOptions = cleanOptions(options); let config; let total; let viteSteps; let paths; let adapter; function logStep(index, name) { config.logger.info( "\n" + pico.magenta("rakkas") + ": " + name + " (" + pico.green(`${index}/${total}`) + ")" ); } process.env.NODE_ENV = options.mode || "production"; await multibuild( { root, base: options.base, mode: options.mode, configFile: options.config, logLevel: options.logLevel, clearScreen: options.clearScreen, build: buildOptions }, { onInitialConfigResolved(resolvedConfig) { config = resolvedConfig; config.logger.info( pico.black(pico.bgMagenta(" RAKKAS ")) + " " + pico.magenta(version) + " \u{1F483}" ); total = viteSteps = config.buildSteps?.length || 1; paths = config.api?.rakkas?.prerender || []; if (paths.length) { total += 1; } adapter = config.api?.rakkas?.adapter; if (adapter.bundle) { total += 1; } }, onStartBuildStep(info) { logStep(info.currentStepIndex + 1, "Building " + info.currentStep.name); } } ); let step = viteSteps + 1; if (paths.length) { logStep(step++, "Prerendering static routes"); await doPrerender(config, void 0, true); } if (adapter.bundle) { logStep(step++, `Adapting for ${adapter.name}`); await adapter.bundle(config.root); } } export { build };