one
Version:
One is a new React Framework that makes Vite serve both native and web.
69 lines • 2.87 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all) __defProp(target, name, {
get: all[name],
enumerable: true
});
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
get: () => from[key],
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
});
}
return to;
};
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
value: true
}), mod);
var headless_server_exports = {};
__export(headless_server_exports, {
compileManifest: () => import_createHandleRequest.compileManifest,
createServer: () => createServer,
createWorkerHandler: () => import_workerHandler.createWorkerHandler,
getFetchStaticHtml: () => import_staticHtmlFetcher.getFetchStaticHtml,
setFetchStaticHtml: () => import_staticHtmlFetcher.setFetchStaticHtml
});
module.exports = __toCommonJS(headless_server_exports);
var import_workerHandler = require("./server/workerHandler.cjs");
var import_createHandleRequest = require("./createHandleRequest.cjs");
var import_staticHtmlFetcher = require("./server/staticHtmlFetcher.cjs");
var import_setServerGlobals = require("./server/setServerGlobals.cjs");
var import_setupBuildOptions = require("./server/setupBuildOptions.cjs");
var import_workerHandler2 = require("./server/workerHandler.cjs");
async function createServer(options) {
const manifest = options.manifest || options.buildInfo?.manifest;
if (!manifest) throw new Error("one/headless-server: manifest is required");
const buildInfo = {
manifest,
oneOptions: options.oneOptions,
routeToBuildInfo: options.buildInfo?.routeToBuildInfo ?? {},
routeMap: options.buildInfo?.routeMap ?? {},
preloads: options.buildInfo?.preloads ?? {},
cssPreloads: options.buildInfo?.cssPreloads ?? {}
};
(0, import_setupBuildOptions.setupBuildInfo)(buildInfo);
(0, import_setServerGlobals.setServerGlobals)();
const handler = (0, import_workerHandler2.createWorkerHandler)({
oneOptions: options.oneOptions,
buildInfo,
lazyRoutes: options.routes
});
return {
/** handle an incoming request — returns Response or null (unmatched) */
fetch: handler.handleRequest,
/** hot-swap the route table without recreating the server */
updateRoutes(newManifest, newRoutes) {
const newBuildInfo = {
...buildInfo,
manifest: newManifest
};
(0, import_setupBuildOptions.setupBuildInfo)(newBuildInfo);
handler.updateRoutes(newBuildInfo, newRoutes);
}
};
}