UNPKG

one

Version:

One is a new React Framework that makes Vite serve both native and web.

43 lines (42 loc) 2.51 kB
import { createWorkerHandler } from "./server/workerHandler.native.js"; import { compileManifest } from "./createHandleRequest.native.js"; import { getFetchStaticHtml, setFetchStaticHtml } from "./server/staticHtmlFetcher.native.js"; import { setServerGlobals } from "./server/setServerGlobals.native.js"; import { setupBuildInfo } from "./server/setupBuildOptions.native.js"; import { createWorkerHandler as createWorkerHandler2 } from "./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 : {} }; setupBuildInfo(buildInfo); setServerGlobals(); var handler = createWorkerHandler2({ 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 }; setupBuildInfo(newBuildInfo); handler.updateRoutes(newBuildInfo, newRoutes); } }; } export { compileManifest, createServer, createWorkerHandler, getFetchStaticHtml, setFetchStaticHtml }; //# sourceMappingURL=headless-server.native.js.map