one
Version:
One is a new React Framework that makes Vite serve both native and web.
75 lines (73 loc) • 3.77 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.native.js");
var import_createHandleRequest = require("./createHandleRequest.native.js");
var import_staticHtmlFetcher = require("./server/staticHtmlFetcher.native.js");
var import_setServerGlobals = require("./server/setServerGlobals.native.js");
var import_setupBuildOptions = require("./server/setupBuildOptions.native.js");
var import_workerHandler2 = require("./server/workerHandler.native.js");
async function createServer(options) {
var _ref, _ref1, _ref2, _ref3;
var _options_buildInfo, _options_buildInfo1, _options_buildInfo2, _options_buildInfo3, _options_buildInfo4;
var manifest = options.manifest || ((_options_buildInfo = options.buildInfo) === null || _options_buildInfo === void 0 ? void 0 : _options_buildInfo.manifest);
if (!manifest) throw new Error("one/headless-server: manifest is required");
var buildInfo = {
manifest,
oneOptions: options.oneOptions,
routeToBuildInfo: (_ref = (_options_buildInfo1 = options.buildInfo) === null || _options_buildInfo1 === void 0 ? void 0 : _options_buildInfo1.routeToBuildInfo) !== null && _ref !== void 0 ? _ref : {},
routeMap: (_ref1 = (_options_buildInfo2 = options.buildInfo) === null || _options_buildInfo2 === void 0 ? void 0 : _options_buildInfo2.routeMap) !== null && _ref1 !== void 0 ? _ref1 : {},
preloads: (_ref2 = (_options_buildInfo3 = options.buildInfo) === null || _options_buildInfo3 === void 0 ? void 0 : _options_buildInfo3.preloads) !== null && _ref2 !== void 0 ? _ref2 : {},
cssPreloads: (_ref3 = (_options_buildInfo4 = options.buildInfo) === null || _options_buildInfo4 === void 0 ? void 0 : _options_buildInfo4.cssPreloads) !== null && _ref3 !== void 0 ? _ref3 : {}
};
(0, import_setupBuildOptions.setupBuildInfo)(buildInfo);
(0, import_setServerGlobals.setServerGlobals)();
var 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) {
var newBuildInfo = {
...buildInfo,
manifest: newManifest
};
(0, import_setupBuildOptions.setupBuildInfo)(newBuildInfo);
handler.updateRoutes(newBuildInfo, newRoutes);
}
};
}
//# sourceMappingURL=headless-server.native.js.map