vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
40 lines (39 loc) • 1.87 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.preview = preview;
const prepareViteApiCall_js_1 = require("./prepareViteApiCall.js");
const vite_1 = require("vite");
const runtime_1 = require("@brillout/vite-plugin-server-entry/runtime");
const getOutDirs_js_1 = require("../vite/shared/getOutDirs.js");
const utils_js_1 = require("./utils.js");
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
const node_path_1 = __importDefault(require("node:path"));
const utils_js_2 = require("../runtime/utils.js");
/**
* Programmatically trigger `$ vike preview`
*
* https://vike.dev/api#preview
*/
async function preview(options = {}) {
(0, utils_js_2.onSetupPreview)();
const { viteConfigFromUserEnhanced, viteConfigResolved } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(options, 'preview');
if (viteConfigResolved.vitePluginServerEntry?.inject) {
const outDir = (0, getOutDirs_js_1.getOutDirs)(viteConfigResolved).outDirRoot;
const { outServerIndex } = await (0, runtime_1.importServerProductionIndex)({ outDir });
const outServerIndexRelative = node_path_1.default.relative(viteConfigResolved.root, outServerIndex);
(0, utils_js_1.assertWarning)(false, `Never run ${picocolors_1.default.cyan('$ vike preview')} in production, run ${picocolors_1.default.cyan(`$ node ${outServerIndexRelative}`)} instead (or Bun/Deno).`, { onlyOnce: true });
return {
viteConfig: viteConfigResolved,
};
}
else {
const server = await (0, vite_1.preview)(viteConfigFromUserEnhanced);
return {
viteServer: server,
viteConfig: server.config,
};
}
}