UNPKG

ssr-to-html

Version:

Crawl a server rendered application and output html files

89 lines (88 loc) 3.66 kB
var __create = Object.create; var __defProp = Object.defineProperty; var __defProps = Object.defineProperties; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropDescs = Object.getOwnPropertyDescriptors; var __getOwnPropNames = Object.getOwnPropertyNames; var __getOwnPropSymbols = Object.getOwnPropertySymbols; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; var __propIsEnum = Object.prototype.propertyIsEnumerable; var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __spreadValues = (a, b) => { for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]); if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) { if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]); } return a; }; var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __reExport = (target, module2, copyDefault, desc) => { if (module2 && typeof module2 === "object" || typeof module2 === "function") { for (let key of __getOwnPropNames(module2)) if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default")) __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable }); } return target; }; var __toESM = (module2, isNodeMode) => { return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2); }; var __toCommonJS = /* @__PURE__ */ ((cache) => { return (module2, temp) => { return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp); }; })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0); var start_server_exports = {}; __export(start_server_exports, { default: () => start_server_default }); var import_net = __toESM(require("net")); var import_child_process = __toESM(require("child_process")); var start_server_default = async (cmd, port, wait) => { const proc = import_child_process.default.spawn(cmd, { shell: true, stdio: "inherit", windowsHide: true, env: __spreadProps(__spreadValues({}, process.env), { PORT: `${port}` }) }); const close = () => { proc.unref(); proc.kill(); }; let remaining = wait > 0 ? wait : Infinity; while (!await isPortInUse(port)) { if (remaining >= 100) { remaining -= 100; await sleep(100); } else { close(); throw new Error(`site-write: timeout while wating for server to start on port "${port}".`); } } return close; }; function isPortInUse(port) { return new Promise((resolve) => { const connection = import_net.default.connect(port).setNoDelay(true).setKeepAlive(false).on("error", () => done(false)).on("connect", () => done(true)); function done(connected) { connection.end(); resolve(connected); } }); } function sleep(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); } module.exports = __toCommonJS(start_server_exports); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = {});