one 1.1.345-1734464750388 → 1.1.346

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/dist/cjs/cli.cjs +5 -1
  2. package/dist/cjs/cli.js +5 -1
  3. package/dist/cjs/cli.js.map +1 -1
  4. package/dist/cjs/cli.native.js +5 -1
  5. package/dist/cjs/cli.native.js.map +2 -2
  6. package/dist/cjs/config.cjs +6 -6
  7. package/dist/cjs/config.js +3 -3
  8. package/dist/cjs/config.js.map +1 -1
  9. package/dist/cjs/config.native.js +3 -3
  10. package/dist/cjs/config.native.js.map +2 -2
  11. package/dist/cjs/serve-worker.cjs +34 -0
  12. package/dist/cjs/serve-worker.js +26 -0
  13. package/dist/cjs/serve-worker.js.map +6 -0
  14. package/dist/cjs/serve-worker.native.js +31 -0
  15. package/dist/cjs/serve-worker.native.js.map +6 -0
  16. package/dist/cjs/serve.cjs +17 -142
  17. package/dist/cjs/serve.js +9 -139
  18. package/dist/cjs/serve.js.map +2 -2
  19. package/dist/cjs/serve.native.js +8 -148
  20. package/dist/cjs/serve.native.js.map +2 -2
  21. package/dist/cjs/server/oneServe.cjs +173 -0
  22. package/dist/cjs/server/oneServe.js +160 -0
  23. package/dist/cjs/server/oneServe.js.map +6 -0
  24. package/dist/cjs/server/oneServe.native.js +174 -0
  25. package/dist/cjs/server/oneServe.native.js.map +6 -0
  26. package/dist/cjs/server/setupBuildOptions.cjs +28 -0
  27. package/dist/cjs/server/setupBuildOptions.js +23 -0
  28. package/dist/cjs/server/setupBuildOptions.js.map +6 -0
  29. package/dist/cjs/server/setupBuildOptions.native.js +29 -0
  30. package/dist/cjs/server/setupBuildOptions.native.js.map +6 -0
  31. package/dist/cjs/utils/ensureExists.cjs +28 -0
  32. package/dist/cjs/utils/ensureExists.js +24 -0
  33. package/dist/cjs/utils/ensureExists.js.map +6 -0
  34. package/dist/cjs/utils/ensureExists.native.js +29 -0
  35. package/dist/cjs/utils/ensureExists.native.js.map +6 -0
  36. package/dist/cjs/vite/build.cjs +38 -18
  37. package/dist/cjs/vite/build.js +38 -14
  38. package/dist/cjs/vite/build.js.map +1 -1
  39. package/dist/cjs/vite/build.native.js +29 -15
  40. package/dist/cjs/vite/build.native.js.map +2 -2
  41. package/dist/cjs/vite/one.cjs +4 -4
  42. package/dist/cjs/vite/one.js +3 -2
  43. package/dist/cjs/vite/one.js.map +1 -1
  44. package/dist/cjs/vite/one.native.js +3 -2
  45. package/dist/cjs/vite/one.native.js.map +2 -2
  46. package/dist/esm/cli.js +5 -1
  47. package/dist/esm/cli.js.map +1 -1
  48. package/dist/esm/cli.mjs +5 -1
  49. package/dist/esm/cli.mjs.map +1 -1
  50. package/dist/esm/cli.native.js +5 -1
  51. package/dist/esm/cli.native.js.map +2 -2
  52. package/dist/esm/config.js +3 -3
  53. package/dist/esm/config.js.map +1 -1
  54. package/dist/esm/config.mjs +6 -6
  55. package/dist/esm/config.mjs.map +1 -1
  56. package/dist/esm/config.native.js +3 -3
  57. package/dist/esm/config.native.js.map +2 -2
  58. package/dist/esm/serve-worker.js +13 -0
  59. package/dist/esm/serve-worker.js.map +6 -0
  60. package/dist/esm/serve-worker.mjs +11 -0
  61. package/dist/esm/serve-worker.mjs.map +1 -0
  62. package/dist/esm/serve-worker.native.js +13 -0
  63. package/dist/esm/serve-worker.native.js.map +6 -0
  64. package/dist/esm/serve.js +10 -140
  65. package/dist/esm/serve.js.map +2 -2
  66. package/dist/esm/serve.mjs +17 -142
  67. package/dist/esm/serve.mjs.map +1 -1
  68. package/dist/esm/serve.native.js +9 -149
  69. package/dist/esm/serve.native.js.map +2 -2
  70. package/dist/esm/server/oneServe.js +137 -0
  71. package/dist/esm/server/oneServe.js.map +6 -0
  72. package/dist/esm/server/oneServe.mjs +139 -0
  73. package/dist/esm/server/oneServe.mjs.map +1 -0
  74. package/dist/esm/server/oneServe.native.js +146 -0
  75. package/dist/esm/server/oneServe.native.js.map +6 -0
  76. package/dist/esm/server/setupBuildOptions.js +7 -0
  77. package/dist/esm/server/setupBuildOptions.js.map +6 -0
  78. package/dist/esm/server/setupBuildOptions.mjs +5 -0
  79. package/dist/esm/server/setupBuildOptions.mjs.map +1 -0
  80. package/dist/esm/server/setupBuildOptions.native.js +8 -0
  81. package/dist/esm/server/setupBuildOptions.native.js.map +6 -0
  82. package/dist/esm/utils/ensureExists.js +8 -0
  83. package/dist/esm/utils/ensureExists.js.map +6 -0
  84. package/dist/esm/utils/ensureExists.mjs +5 -0
  85. package/dist/esm/utils/ensureExists.mjs.map +1 -0
  86. package/dist/esm/utils/ensureExists.native.js +8 -0
  87. package/dist/esm/utils/ensureExists.native.js.map +6 -0
  88. package/dist/esm/vite/build.js +38 -14
  89. package/dist/esm/vite/build.js.map +1 -1
  90. package/dist/esm/vite/build.mjs +38 -18
  91. package/dist/esm/vite/build.mjs.map +1 -1
  92. package/dist/esm/vite/build.native.js +29 -15
  93. package/dist/esm/vite/build.native.js.map +2 -2
  94. package/dist/esm/vite/one.js +3 -2
  95. package/dist/esm/vite/one.js.map +1 -1
  96. package/dist/esm/vite/one.mjs +4 -4
  97. package/dist/esm/vite/one.mjs.map +1 -1
  98. package/dist/esm/vite/one.native.js +3 -2
  99. package/dist/esm/vite/one.native.js.map +2 -2
  100. package/package.json +14 -9
  101. package/src/cli.ts +4 -0
  102. package/src/config.ts +2 -3
  103. package/src/serve-worker.ts +19 -0
  104. package/src/serve.ts +13 -217
  105. package/src/server/oneServe.ts +216 -0
  106. package/src/server/setupBuildOptions.ts +7 -0
  107. package/src/utils/ensureExists.ts +5 -0
  108. package/src/vite/build.ts +43 -23
  109. package/src/vite/one.ts +2 -3
  110. package/src/vite/types.ts +2 -3
  111. package/types/config.d.ts.map +1 -1
  112. package/types/serve-worker.d.ts +3 -0
  113. package/types/serve-worker.d.ts.map +1 -0
  114. package/types/serve.d.ts +1 -1
  115. package/types/serve.d.ts.map +1 -1
  116. package/types/server/oneServe.d.ts +5 -0
  117. package/types/server/oneServe.d.ts.map +1 -0
  118. package/types/server/setupBuildOptions.d.ts +3 -0
  119. package/types/server/setupBuildOptions.d.ts.map +1 -0
  120. package/types/utils/ensureExists.d.ts +2 -0
  121. package/types/utils/ensureExists.d.ts.map +1 -0
  122. package/types/vite/build.d.ts.map +1 -1
  123. package/types/vite/one.d.ts.map +1 -1
  124. package/types/vite/types.d.ts +2 -2
  125. package/types/vite/types.d.ts.map +1 -1
@@ -0,0 +1,137 @@
1
+ import { join } from "node:path";
2
+ import { getServerEntry } from "vxrn/serve";
3
+ async function oneServe(oneOptions, vxrnOptions, buildInfo, app, serveStatic = !0) {
4
+ const { createHandleRequest } = await import("../createHandleRequest"), { isResponse } = await import("../utils/isResponse"), { isStatusRedirect } = await import("../utils/isStatus"), { resolveAPIRequest } = await import("../vite/resolveAPIRequest"), isAPIRequest = /* @__PURE__ */ new WeakMap(), root = vxrnOptions.root || ".", redirects = oneOptions.web?.redirects;
5
+ if (redirects)
6
+ for (const redirect of redirects)
7
+ app.get(redirect.source, (context) => {
8
+ const destinationUrl = redirect.destination.replace(/:\w+/g, (param) => {
9
+ const paramName = param.substring(1);
10
+ return context.req.param(paramName) || "";
11
+ });
12
+ return context.redirect(destinationUrl, redirect.permanent ? 301 : 302);
13
+ });
14
+ if (!buildInfo)
15
+ throw new Error("No build info found, have you run build?");
16
+ const { routeMap, builtRoutes } = buildInfo, routeToBuildInfo = {};
17
+ for (const route of builtRoutes) {
18
+ routeToBuildInfo[route.cleanPath] = route;
19
+ const bracketRoutePath = route.cleanPath.split("/").map((part) => part[0] === ":" ? `[${part.slice(1)}]` : part).join("/");
20
+ routeToBuildInfo[bracketRoutePath] = route;
21
+ }
22
+ const serverOptions = {
23
+ ...oneOptions,
24
+ root
25
+ }, render = (await import(getServerEntry(serverOptions))).default.render, apiCJS = oneOptions.build?.api?.outputFormat === "cjs", handleRequest = createHandleRequest(
26
+ {},
27
+ {
28
+ async handleAPI({ route, request, loaderProps }) {
29
+ const apiFile = join(
30
+ process.cwd(),
31
+ "dist",
32
+ "api",
33
+ route.page.replace("[", "_").replace("]", "_") + (apiCJS ? ".cjs" : ".js")
34
+ );
35
+ return isAPIRequest.set(request, !0), resolveAPIRequest(
36
+ async () => {
37
+ try {
38
+ return await import(apiFile);
39
+ } catch (err) {
40
+ return console.error(`
41
+ [one] Error importing API route at ${apiFile}:
42
+
43
+ ${err}
44
+
45
+ If this is an import error, you can likely fix this by adding this dependency to
46
+ the "optimizeDeps.include" array in your vite.config.ts.
47
+
48
+ \u{1F41E} For a better error message run "node" and enter:
49
+
50
+ import('${apiFile}')
51
+
52
+ `), {};
53
+ }
54
+ },
55
+ request,
56
+ loaderProps?.params || {}
57
+ );
58
+ },
59
+ async handleSSR({ route, url, loaderProps }) {
60
+ if (route.type === "ssr") {
61
+ const buildInfo2 = routeToBuildInfo[route.page];
62
+ if (!buildInfo2)
63
+ throw new Error(
64
+ `No buildinfo found for ${url}, route: ${route.page}, in keys: ${Object.keys(routeToBuildInfo)}`
65
+ );
66
+ try {
67
+ const loaderData = await (await import(buildInfo2.serverJsPath)).loader?.(loaderProps), preloads = buildInfo2.preloads, headers = new Headers();
68
+ return headers.set("content-type", "text/html"), new Response(
69
+ await render({
70
+ loaderData,
71
+ loaderProps,
72
+ path: loaderProps?.path || "/",
73
+ preloads
74
+ }),
75
+ {
76
+ headers
77
+ }
78
+ );
79
+ } catch (err) {
80
+ console.error(`[one] Error rendering SSR route ${route.page}
81
+
82
+ ${err?.stack ?? err}
83
+
84
+ url: ${url}`);
85
+ }
86
+ }
87
+ }
88
+ }
89
+ ), htmlFiles = {};
90
+ if (serveStatic) {
91
+ const { readFile } = await import("node:fs/promises");
92
+ for (const key in routeMap)
93
+ routeToBuildInfo[key]?.type !== "ssr" && (htmlFiles[key] = await readFile(join("dist/client", routeMap[key]), "utf-8"));
94
+ }
95
+ app.use(async (context, next) => {
96
+ const html = htmlFiles[context.req.path];
97
+ if (html)
98
+ return context.html(html);
99
+ try {
100
+ const request = context.req.raw, response = await handleRequest.handler(request);
101
+ if (response) {
102
+ if (isResponse(response)) {
103
+ if (isStatusRedirect(response.status)) {
104
+ const location = `${response.headers.get("location") || ""}`;
105
+ return response.headers.forEach((value, key) => {
106
+ context.header(key, value);
107
+ }), context.redirect(location, response.status);
108
+ }
109
+ if (isAPIRequest.get(request))
110
+ try {
111
+ response.headers.set("Cache-Control", "no-store");
112
+ } catch (err) {
113
+ console.info(
114
+ `Error udpating cache header on api route "${context.req.path}" to no-store, it is ${response.headers.get("cache-control")}, continue`,
115
+ err
116
+ );
117
+ }
118
+ return response;
119
+ }
120
+ return context.json(
121
+ response,
122
+ 200,
123
+ isAPIRequest.get(request) ? {
124
+ "Cache-Control": "no-store"
125
+ } : void 0
126
+ );
127
+ }
128
+ } catch (err) {
129
+ console.error(` [one] Error handling request: ${err.stack}`);
130
+ }
131
+ await next();
132
+ });
133
+ }
134
+ export {
135
+ oneServe
136
+ };
137
+ //# sourceMappingURL=oneServe.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/server/oneServe.ts"],
4
+ "mappings": "AACA,SAAS,YAAY;AAErB,SAAS,sBAAsB;AAI/B,eAAsB,SACpB,YACA,aACA,WACA,KACA,cAAc,IACd;AACA,QAAM,EAAE,oBAAoB,IAAI,MAAM,OAAO,wBAAwB,GAC/D,EAAE,WAAW,IAAI,MAAM,OAAO,qBAAqB,GACnD,EAAE,iBAAiB,IAAI,MAAM,OAAO,mBAAmB,GACvD,EAAE,kBAAkB,IAAI,MAAM,OAAO,2BAA2B,GAEhE,eAAe,oBAAI,QAAsB,GACzC,OAAO,YAAY,QAAQ,KAG3B,YAAY,WAAW,KAAK;AAClC,MAAI;AACF,eAAW,YAAY;AACrB,UAAI,IAAI,SAAS,QAAQ,CAAC,YAAY;AACpC,cAAM,iBAAiB,SAAS,YAAY,QAAQ,SAAS,CAAC,UAAU;AACtE,gBAAM,YAAY,MAAM,UAAU,CAAC;AACnC,iBAAO,QAAQ,IAAI,MAAM,SAAS,KAAK;AAAA,QACzC,CAAC;AACD,eAAO,QAAQ,SAAS,gBAAgB,SAAS,YAAY,MAAM,GAAG;AAAA,MACxE,CAAC;AAIL,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,0CAA0C;AAG5D,QAAM,EAAE,UAAU,YAAY,IAAI,WAE5B,mBAAuD,CAAC;AAC9D,aAAW,SAAS,aAAa;AAC/B,qBAAiB,MAAM,SAAS,IAAI;AAGpC,UAAM,mBAAmB,MAAM,UAC5B,MAAM,GAAG,EACT,IAAI,CAAC,SACG,KAAK,CAAC,MAAM,MAAM,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM,IACjD,EACA,KAAK,GAAG;AACX,qBAAiB,gBAAgB,IAAI;AAAA,EACvC;AAEA,QAAM,gBAAgB;AAAA,IACpB,GAAG;AAAA,IACH;AAAA,EACF,GAKM,UAFQ,MAAM,OADA,eAAe,aAAa,IAG3B,QAAQ,QACvB,SAAS,WAAW,OAAO,KAAK,iBAAiB,OAEjD,gBAAgB;AAAA,IACpB,CAAC;AAAA,IACD;AAAA,MACE,MAAM,UAAU,EAAE,OAAO,SAAS,YAAY,GAAG;AAC/C,cAAM,UAAU;AAAA,UACd,QAAQ,IAAI;AAAA,UACZ;AAAA,UACA;AAAA,UACA,MAAM,KAAK,QAAQ,KAAK,GAAG,EAAE,QAAQ,KAAK,GAAG,KAAK,SAAS,SAAS;AAAA,QACtE;AAEA,4BAAa,IAAI,SAAS,EAAI,GAEvB;AAAA,UACL,YAAY;AACV,gBAAI;AACF,qBAAO,MAAM,OAAO;AAAA,YACtB,SAAS,KAAK;AACZ,6BAAQ,MAAM;AAAA,sCAAyC,OAAO;AAAA;AAAA,IAExE,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAOK,OAAO;AAAA;AAAA,CAAQ,GACN,CAAC;AAAA,YACV;AAAA,UACF;AAAA,UACA;AAAA,UACA,aAAa,UAAU,CAAC;AAAA,QAC1B;AAAA,MACF;AAAA,MAEA,MAAM,UAAU,EAAE,OAAO,KAAK,YAAY,GAAG;AAC3C,YAAI,MAAM,SAAS,OAAO;AACxB,gBAAMA,aAAY,iBAAiB,MAAM,IAAI;AAC7C,cAAI,CAACA;AACH,kBAAM,IAAI;AAAA,cACR,0BAA0B,GAAG,YAAY,MAAM,IAAI,cAAc,OAAO,KAAK,gBAAgB,CAAC;AAAA,YAChG;AAGF,cAAI;AAEF,kBAAM,aAAa,OADF,MAAM,OAAOA,WAAU,eACN,SAAS,WAAW,GAChD,WAAWA,WAAU,UAErB,UAAU,IAAI,QAAQ;AAC5B,2BAAQ,IAAI,gBAAgB,WAAW,GAEhC,IAAI;AAAA,cACT,MAAM,OAAO;AAAA,gBACX;AAAA,gBACA;AAAA,gBACA,MAAM,aAAa,QAAQ;AAAA,gBAC3B;AAAA,cACF,CAAC;AAAA,cACD;AAAA,gBACE;AAAA,cACF;AAAA,YACF;AAAA,UACF,SAAS,KAAK;AACZ,oBAAQ,MAAM,mCAAmC,MAAM,IAAI;AAAA;AAAA,IAEnE,KAAM,SAAY,GAAG;AAAA;AAAA,SAEhB,GAAG,EAAE;AAAA,UACJ;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,GAGM,YAAoC,CAAC;AAE3C,MAAI,aAAa;AACf,UAAM,EAAE,SAAS,IAAI,MAAM,OAAO,kBAAkB;AAEpD,eAAW,OAAO;AAGhB,MAFa,iBAAiB,GAAG,GAEvB,SAAS,UAKnB,UAAU,GAAG,IAAI,MAAM,SAAS,KAAK,eAAe,SAAS,GAAG,CAAC,GAAG,OAAO;AAAA,EAE/E;AAEA,MAAI,IAAI,OAAO,SAAS,SAAS;AAE/B,UAAM,OAAO,UAAU,QAAQ,IAAI,IAAI;AACvC,QAAI;AACF,aAAO,QAAQ,KAAK,IAAI;AAG1B,QAAI;AACF,YAAM,UAAU,QAAQ,IAAI,KACtB,WAAW,MAAM,cAAc,QAAQ,OAAO;AAEpD,UAAI,UAAU;AACZ,YAAI,WAAW,QAAQ,GAAG;AACxB,cAAI,iBAAiB,SAAS,MAAM,GAAG;AACrC,kBAAM,WAAW,GAAG,SAAS,QAAQ,IAAI,UAAU,KAAK,EAAE;AAC1D,4BAAS,QAAQ,QAAQ,CAAC,OAAO,QAAQ;AACvC,sBAAQ,OAAO,KAAK,KAAK;AAAA,YAC3B,CAAC,GACM,QAAQ,SAAS,UAAU,SAAS,MAAM;AAAA,UACnD;AAEA,cAAI,aAAa,IAAI,OAAO;AAC1B,gBAAI;AAEF,uBAAS,QAAQ,IAAI,iBAAiB,UAAU;AAAA,YAClD,SAAS,KAAK;AACZ,sBAAQ;AAAA,gBACN,6CACE,QAAQ,IAAI,IACd,wBAAwB,SAAS,QAAQ,IAAI,eAAe,CAAC;AAAA,gBAC7D;AAAA,cACF;AAAA,YACF;AAGF,iBAAO;AAAA,QACT;AAEA,eAAO,QAAQ;AAAA,UACb;AAAA,UACA;AAAA,UACA,aAAa,IAAI,OAAO,IACpB;AAAA,YACE,iBAAiB;AAAA,UACnB,IACA;AAAA,QACN;AAAA,MACF;AAAA,IACF,SAAS,KAAK;AACZ,cAAQ,MAAM,kCAAmC,IAAY,KAAQ,EAAE;AAAA,IACzE;AAEA,UAAM,KAAK;AAAA,EACb,CAAC;AACH;",
5
+ "names": ["buildInfo"]
6
+ }
@@ -0,0 +1,139 @@
1
+ import { join } from "node:path";
2
+ import { getServerEntry } from "vxrn/serve";
3
+ async function oneServe(oneOptions, vxrnOptions, buildInfo, app, serveStatic = !0) {
4
+ const {
5
+ createHandleRequest
6
+ } = await import("../createHandleRequest.mjs"),
7
+ {
8
+ isResponse
9
+ } = await import("../utils/isResponse.mjs"),
10
+ {
11
+ isStatusRedirect
12
+ } = await import("../utils/isStatus.mjs"),
13
+ {
14
+ resolveAPIRequest
15
+ } = await import("../vite/resolveAPIRequest.mjs"),
16
+ isAPIRequest = /* @__PURE__ */new WeakMap(),
17
+ root = vxrnOptions.root || ".",
18
+ redirects = oneOptions.web?.redirects;
19
+ if (redirects) for (const redirect of redirects) app.get(redirect.source, context => {
20
+ const destinationUrl = redirect.destination.replace(/:\w+/g, param => {
21
+ const paramName = param.substring(1);
22
+ return context.req.param(paramName) || "";
23
+ });
24
+ return context.redirect(destinationUrl, redirect.permanent ? 301 : 302);
25
+ });
26
+ if (!buildInfo) throw new Error("No build info found, have you run build?");
27
+ const {
28
+ routeMap,
29
+ builtRoutes
30
+ } = buildInfo,
31
+ routeToBuildInfo = {};
32
+ for (const route of builtRoutes) {
33
+ routeToBuildInfo[route.cleanPath] = route;
34
+ const bracketRoutePath = route.cleanPath.split("/").map(part => part[0] === ":" ? `[${part.slice(1)}]` : part).join("/");
35
+ routeToBuildInfo[bracketRoutePath] = route;
36
+ }
37
+ const serverOptions = {
38
+ ...oneOptions,
39
+ root
40
+ },
41
+ render = (await import(getServerEntry(serverOptions))).default.render,
42
+ apiCJS = oneOptions.build?.api?.outputFormat === "cjs",
43
+ handleRequest = createHandleRequest({}, {
44
+ async handleAPI({
45
+ route,
46
+ request,
47
+ loaderProps
48
+ }) {
49
+ const apiFile = join(process.cwd(), "dist", "api", route.page.replace("[", "_").replace("]", "_") + (apiCJS ? ".cjs" : ".js"));
50
+ return isAPIRequest.set(request, !0), resolveAPIRequest(async () => {
51
+ try {
52
+ return await import(apiFile);
53
+ } catch (err) {
54
+ return console.error(`
55
+ [one] Error importing API route at ${apiFile}:
56
+
57
+ ${err}
58
+
59
+ If this is an import error, you can likely fix this by adding this dependency to
60
+ the "optimizeDeps.include" array in your vite.config.ts.
61
+
62
+ \u{1F41E} For a better error message run "node" and enter:
63
+
64
+ import('${apiFile}')
65
+
66
+ `), {};
67
+ }
68
+ }, request, loaderProps?.params || {});
69
+ },
70
+ async handleSSR({
71
+ route,
72
+ url,
73
+ loaderProps
74
+ }) {
75
+ if (route.type === "ssr") {
76
+ const buildInfo2 = routeToBuildInfo[route.page];
77
+ if (!buildInfo2) throw new Error(`No buildinfo found for ${url}, route: ${route.page}, in keys: ${Object.keys(routeToBuildInfo)}`);
78
+ try {
79
+ const loaderData = await (await import(buildInfo2.serverJsPath)).loader?.(loaderProps),
80
+ preloads = buildInfo2.preloads,
81
+ headers = new Headers();
82
+ return headers.set("content-type", "text/html"), new Response(await render({
83
+ loaderData,
84
+ loaderProps,
85
+ path: loaderProps?.path || "/",
86
+ preloads
87
+ }), {
88
+ headers
89
+ });
90
+ } catch (err) {
91
+ console.error(`[one] Error rendering SSR route ${route.page}
92
+
93
+ ${err?.stack ?? err}
94
+
95
+ url: ${url}`);
96
+ }
97
+ }
98
+ }
99
+ }),
100
+ htmlFiles = {};
101
+ if (serveStatic) {
102
+ const {
103
+ readFile
104
+ } = await import("node:fs/promises");
105
+ for (const key in routeMap) routeToBuildInfo[key]?.type !== "ssr" && (htmlFiles[key] = await readFile(join("dist/client", routeMap[key]), "utf-8"));
106
+ }
107
+ app.use(async (context, next) => {
108
+ const html = htmlFiles[context.req.path];
109
+ if (html) return context.html(html);
110
+ try {
111
+ const request = context.req.raw,
112
+ response = await handleRequest.handler(request);
113
+ if (response) {
114
+ if (isResponse(response)) {
115
+ if (isStatusRedirect(response.status)) {
116
+ const location = `${response.headers.get("location") || ""}`;
117
+ return response.headers.forEach((value, key) => {
118
+ context.header(key, value);
119
+ }), context.redirect(location, response.status);
120
+ }
121
+ if (isAPIRequest.get(request)) try {
122
+ response.headers.set("Cache-Control", "no-store");
123
+ } catch (err) {
124
+ console.info(`Error udpating cache header on api route "${context.req.path}" to no-store, it is ${response.headers.get("cache-control")}, continue`, err);
125
+ }
126
+ return response;
127
+ }
128
+ return context.json(response, 200, isAPIRequest.get(request) ? {
129
+ "Cache-Control": "no-store"
130
+ } : void 0);
131
+ }
132
+ } catch (err) {
133
+ console.error(` [one] Error handling request: ${err.stack}`);
134
+ }
135
+ await next();
136
+ });
137
+ }
138
+ export { oneServe };
139
+ //# sourceMappingURL=oneServe.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["join","getServerEntry","oneServe","oneOptions","vxrnOptions","buildInfo","app","serveStatic","createHandleRequest","isResponse","isStatusRedirect","resolveAPIRequest","isAPIRequest","WeakMap","root","redirects","web","redirect","get","source","context","destinationUrl","destination","replace","param","paramName","substring","req","permanent","Error","routeMap","builtRoutes","routeToBuildInfo","route","cleanPath","bracketRoutePath","split","map","part","slice","serverOptions","render","default","apiCJS","build","api","outputFormat","handleRequest","handleAPI","request","loaderProps","apiFile","process","cwd","page","set","err","console","error","params","handleSSR","url","type","buildInfo2","Object","keys","loaderData","serverJsPath","loader","preloads","headers","Headers","Response","path","stack","htmlFiles","readFile","key","use","next","html","raw","response","handler","status","location","forEach","value","header","info","json"],"sources":["../../../src/server/oneServe.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,146 @@
1
+ import { join } from "node:path";
2
+ import { getServerEntry } from "vxrn/serve";
3
+ async function oneServe(oneOptions, vxrnOptions, buildInfo, app) {
4
+ var serveStatic = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : !0, _oneOptions_web, _oneOptions_build_api, _oneOptions_build, { createHandleRequest } = await import("../createHandleRequest"), { isResponse } = await import("../utils/isResponse"), { isStatusRedirect } = await import("../utils/isStatus"), { resolveAPIRequest } = await import("../vite/resolveAPIRequest"), isAPIRequest = /* @__PURE__ */ new WeakMap(), root = vxrnOptions.root || ".", redirects = (_oneOptions_web = oneOptions.web) === null || _oneOptions_web === void 0 ? void 0 : _oneOptions_web.redirects;
5
+ if (redirects) {
6
+ var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
7
+ try {
8
+ for (var _loop = function() {
9
+ var redirect = _step.value;
10
+ app.get(redirect.source, function(context) {
11
+ var destinationUrl = redirect.destination.replace(/:\w+/g, function(param) {
12
+ var paramName = param.substring(1);
13
+ return context.req.param(paramName) || "";
14
+ });
15
+ return context.redirect(destinationUrl, redirect.permanent ? 301 : 302);
16
+ });
17
+ }, _iterator = redirects[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) _loop();
18
+ } catch (err) {
19
+ _didIteratorError = !0, _iteratorError = err;
20
+ } finally {
21
+ try {
22
+ !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
23
+ } finally {
24
+ if (_didIteratorError)
25
+ throw _iteratorError;
26
+ }
27
+ }
28
+ }
29
+ if (!buildInfo)
30
+ throw new Error("No build info found, have you run build?");
31
+ var { routeMap, builtRoutes } = buildInfo, routeToBuildInfo = {}, _iteratorNormalCompletion1 = !0, _didIteratorError1 = !1, _iteratorError1 = void 0;
32
+ try {
33
+ for (var _iterator1 = builtRoutes[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
34
+ var route = _step1.value;
35
+ routeToBuildInfo[route.cleanPath] = route;
36
+ var bracketRoutePath = route.cleanPath.split("/").map(function(part) {
37
+ return part[0] === ":" ? `[${part.slice(1)}]` : part;
38
+ }).join("/");
39
+ routeToBuildInfo[bracketRoutePath] = route;
40
+ }
41
+ } catch (err) {
42
+ _didIteratorError1 = !0, _iteratorError1 = err;
43
+ } finally {
44
+ try {
45
+ !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
46
+ } finally {
47
+ if (_didIteratorError1)
48
+ throw _iteratorError1;
49
+ }
50
+ }
51
+ var serverOptions = {
52
+ ...oneOptions,
53
+ root
54
+ }, entryServer = getServerEntry(serverOptions), entry = await import(entryServer), render = entry.default.render, apiCJS = ((_oneOptions_build = oneOptions.build) === null || _oneOptions_build === void 0 || (_oneOptions_build_api = _oneOptions_build.api) === null || _oneOptions_build_api === void 0 ? void 0 : _oneOptions_build_api.outputFormat) === "cjs", handleRequest = createHandleRequest({}, {
55
+ async handleAPI(param) {
56
+ var { route: route2, request, loaderProps } = param, apiFile = join(process.cwd(), "dist", "api", route2.page.replace("[", "_").replace("]", "_") + (apiCJS ? ".cjs" : ".js"));
57
+ return isAPIRequest.set(request, !0), resolveAPIRequest(async function() {
58
+ try {
59
+ return await import(apiFile);
60
+ } catch (err) {
61
+ return console.error(`
62
+ [one] Error importing API route at ${apiFile}:
63
+
64
+ ${err}
65
+
66
+ If this is an import error, you can likely fix this by adding this dependency to
67
+ the "optimizeDeps.include" array in your vite.config.ts.
68
+
69
+ \u{1F41E} For a better error message run "node" and enter:
70
+
71
+ import('${apiFile}')
72
+
73
+ `), {};
74
+ }
75
+ }, request, loaderProps?.params || {});
76
+ },
77
+ async handleSSR(param) {
78
+ var { route: route2, url, loaderProps } = param;
79
+ if (route2.type === "ssr") {
80
+ var _$buildInfo = routeToBuildInfo[route2.page];
81
+ if (!_$buildInfo)
82
+ throw new Error(`No buildinfo found for ${url}, route: ${route2.page}, in keys: ${Object.keys(routeToBuildInfo)}`);
83
+ try {
84
+ var _exported_loader, exported = await import(_$buildInfo.serverJsPath), loaderData = await ((_exported_loader = exported.loader) === null || _exported_loader === void 0 ? void 0 : _exported_loader.call(exported, loaderProps)), preloads = _$buildInfo.preloads, headers = new Headers();
85
+ return headers.set("content-type", "text/html"), new Response(await render({
86
+ loaderData,
87
+ loaderProps,
88
+ path: loaderProps?.path || "/",
89
+ preloads
90
+ }), {
91
+ headers
92
+ });
93
+ } catch (err) {
94
+ var _err_stack;
95
+ console.error(`[one] Error rendering SSR route ${route2.page}
96
+
97
+ ${(_err_stack = err?.stack) !== null && _err_stack !== void 0 ? _err_stack : err}
98
+
99
+ url: ${url}`);
100
+ }
101
+ }
102
+ }
103
+ }), htmlFiles = {};
104
+ if (serveStatic) {
105
+ var { readFile } = await import("node:fs/promises");
106
+ for (var key in routeMap) {
107
+ var info = routeToBuildInfo[key];
108
+ info?.type !== "ssr" && (htmlFiles[key] = await readFile(join("dist/client", routeMap[key]), "utf-8"));
109
+ }
110
+ }
111
+ app.use(async function(context, next) {
112
+ var html = htmlFiles[context.req.path];
113
+ if (html)
114
+ return context.html(html);
115
+ try {
116
+ var request = context.req.raw, response = await handleRequest.handler(request);
117
+ if (response) {
118
+ if (isResponse(response)) {
119
+ if (isStatusRedirect(response.status)) {
120
+ var location = `${response.headers.get("location") || ""}`;
121
+ return response.headers.forEach(function(value, key2) {
122
+ context.header(key2, value);
123
+ }), context.redirect(location, response.status);
124
+ }
125
+ if (isAPIRequest.get(request))
126
+ try {
127
+ response.headers.set("Cache-Control", "no-store");
128
+ } catch (err) {
129
+ console.info(`Error udpating cache header on api route "${context.req.path}" to no-store, it is ${response.headers.get("cache-control")}, continue`, err);
130
+ }
131
+ return response;
132
+ }
133
+ return context.json(response, 200, isAPIRequest.get(request) ? {
134
+ "Cache-Control": "no-store"
135
+ } : void 0);
136
+ }
137
+ } catch (err) {
138
+ console.error(` [one] Error handling request: ${err.stack}`);
139
+ }
140
+ await next();
141
+ });
142
+ }
143
+ export {
144
+ oneServe
145
+ };
146
+ //# sourceMappingURL=oneServe.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/server/Users/n8/one/packages/one/src/server/oneServe.ts"],
4
+ "mappings": "AACA,SAASA,YAAY;AAErB,SAASC,sBAAsB;AAI/B,eAAsBC,SACpBC,YACAC,aACAC,WACAC,KAAS;MACTC,cAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAAc,IAWIJ,iBA0CHA,uBAAAA,mBAnDT,EAAEK,oBAAmB,IAAK,MAAM,OAAO,wBAAA,GACvC,EAAEC,WAAU,IAAK,MAAM,OAAO,qBAAA,GAC9B,EAAEC,iBAAgB,IAAK,MAAM,OAAO,mBAAA,GACpC,EAAEC,kBAAiB,IAAK,MAAM,OAAO,2BAAA,GAErCC,eAAe,oBAAIC,QAAAA,GACnBC,OAAOV,YAAYU,QAAQ,KAG3BC,aAAYZ,kBAAAA,WAAWa,SAAG,QAAdb,oBAAAA,SAAAA,SAAAA,gBAAgBY;AAClC,MAAIA,WAAW;QACR,4BAAA,IAAA,oBAAA,IAAA,iBAAA;;AAAL;AAAK,YAAME,WAAN,MAAA;AACHX,YAAIY,IAAID,SAASE,QAAQ,SAACC,SAAAA;AACxB,cAAMC,iBAAiBJ,SAASK,YAAYC,QAAQ,SAAS,SAACC,OAAAA;AAC5D,gBAAMC,YAAYD,MAAME,UAAU,CAAA;AAClC,mBAAON,QAAQO,IAAIH,MAAMC,SAAAA,KAAc;UACzC,CAAA;AACA,iBAAOL,QAAQH,SAASI,gBAAgBJ,SAASW,YAAY,MAAM,GAAA;QACrE,CAAA;MACF,GARK,YAAkBb,UAAAA,OAAAA,QAAAA,EAAAA,GAAlB,OAAA,EAAA,6BAAA,QAAA,UAAA,KAAA,GAAA,OAAA,4BAAA,GAAA,OAAA;;AAAA,0BAAA,IAAA,iBAAA;;;SAAA,6BAAA,UAAA,UAAA,QAAA,UAAA,OAAA;;YAAA;gBAAA;;;EASP;AAEA,MAAI,CAACV;AACH,UAAM,IAAIwB,MAAM,0CAA0C;AAG5D,MAAM,EAAEC,UAAUC,YAAW,IAAK1B,WAE5B2B,mBAAuD,CAAC,GACzD,6BAAA,IAAA,qBAAA,IAAA,kBAAA;;AAAL,aAAK,aAAeD,YAAAA,OAAAA,QAAAA,EAAAA,GAAf,QAAA,EAAA,8BAAA,SAAA,WAAA,KAAA,GAAA,OAAA,6BAAA,IAA4B;AAA5B,UAAME,QAAN,OAAA;AACHD,uBAAiBC,MAAMC,SAAS,IAAID;AAGpC,UAAME,mBAAmBF,MAAMC,UAC5BE,MAAM,GAAA,EACNC,IAAI,SAACC,MAAAA;AACJ,eAAOA,KAAK,CAAA,MAAO,MAAM,IAAIA,KAAKC,MAAM,CAAA,CAAA,MAAQD;MAClD,CAAA,EACCtC,KAAK,GAAA;AACRgC,uBAAiBG,gBAAAA,IAAoBF;IACvC;;AAXK,yBAAA,IAAA,kBAAA;;;OAAA,8BAAA,WAAA,UAAA,QAAA,WAAA,OAAA;;UAAA;cAAA;;;AAaL,MAAMO,gBAAgB;IACpB,GAAGrC;IACHW;EACF,GAEM2B,cAAcxC,eAAeuC,aAAAA,GAC7BE,QAAQ,MAAM,OAAOD,cAErBE,SAASD,MAAME,QAAQD,QACvBE,WAAS1C,oBAAAA,WAAW2C,WAAK,QAAhB3C,sBAAAA,WAAAA,wBAAAA,kBAAkB4C,SAAG,QAArB5C,0BAAAA,SAAAA,SAAAA,sBAAuB6C,kBAAiB,OAEjDC,gBAAgBzC,oBACpB,CAAC,GACD;IACE,MAAM0C,UAAU,OAA+B;UAA/B,EAAEjB,OAAAA,QAAOkB,SAASC,YAAW,IAA7B,OACRC,UAAUrD,KACdsD,QAAQC,IAAG,GACX,QACA,OACAtB,OAAMuB,KAAKjC,QAAQ,KAAK,GAAA,EAAKA,QAAQ,KAAK,GAAA,KAAQsB,SAAS,SAAS,MAAI;AAG1EjC,0BAAa6C,IAAIN,SAAS,EAAA,GAEnBxC,kBACL,iBAAA;AACE,YAAI;AACF,iBAAO,MAAM,OAAO0C;QACtB,SAASK,KAAK;AACZC,yBAAQC,MAAM;sCAAyCP,OAAAA;;IAEjEK,GAAAA;;;;;;;YAOQL,OAAAA;;CAAe,GACN,CAAC;QACV;MACF,GACAF,SACAC,aAAaS,UAAU,CAAC,CAAA;IAE5B;IAEA,MAAMC,UAAU,OAA2B;UAA3B,EAAE7B,OAAAA,QAAO8B,KAAKX,YAAW,IAAzB;AACd,UAAInB,OAAM+B,SAAS,OAAO;AACxB,YAAM3D,cAAY2B,iBAAiBC,OAAMuB,IAAI;AAC7C,YAAI,CAACnD;AACH,gBAAM,IAAIwB,MACR,0BAA0BkC,GAAAA,YAAe9B,OAAMuB,IAAI,cAAcS,OAAOC,KAAKlC,gBAAAA,CAAAA,EAAmB;AAIpG,YAAI;cAEuBmC,kBADnBA,WAAW,MAAM,OAAO9D,YAAU+D,eAClCC,aAAa,QAAMF,mBAAAA,SAASG,YAAM,QAAfH,qBAAAA,SAAAA,SAAAA,iBAAAA,KAAAA,UAAkBf,WAAAA,IACrCmB,WAAWlE,YAAUkE,UAErBC,UAAU,IAAIC,QAAAA;AACpBD,yBAAQf,IAAI,gBAAgB,WAAA,GAErB,IAAIiB,SACT,MAAM/B,OAAO;YACX0B;YACAjB;YACAuB,MAAMvB,aAAauB,QAAQ;YAC3BJ;UACF,CAAA,GACA;YACEC;UACF,CAAA;QAEJ,SAASd,KAAK;cAGpBA;AAFQC,kBAAQC,MAAM,mCAAmC3B,OAAMuB,IAAI;;KAEnEE,aAAAA,KAAM,WAAQ,QAAdA,eAAAA,SAAAA,aAAkBA,GAAAA;;SAEbK,GAAAA,EAAK;QACJ;MACF;IACF;EACF,CAAA,GAIIa,YAAoC,CAAC;AAE3C,MAAIrE,aAAa;AACf,QAAM,EAAEsE,SAAQ,IAAK,MAAM,OAAO,kBAAA;AAElC,aAAWC,OAAOhD,UAAU;AAC1B,UAAMiD,OAAO/C,iBAAiB8C,GAAAA;AAE9B,MAAIC,MAAMf,SAAS,UAKnBY,UAAUE,GAAAA,IAAO,MAAMD,SAAS7E,KAAK,eAAe8B,SAASgD,GAAAA,CAAI,GAAG,OAAA;IACtE;EACF;AAEAxE,MAAI0E,IAAI,eAAO5D,SAAS6D,MAAAA;AAEtB,QAAMC,OAAON,UAAUxD,QAAQO,IAAIgD,IAAI;AACvC,QAAIO;AACF,aAAO9D,QAAQ8D,KAAKA,IAAAA;AAGtB,QAAI;AACF,UAAM/B,UAAU/B,QAAQO,IAAIwD,KACtBC,WAAW,MAAMnC,cAAcoC,QAAQlC,OAAAA;AAE7C,UAAIiC,UAAU;AACZ,YAAI3E,WAAW2E,QAAAA,GAAW;AACxB,cAAI1E,iBAAiB0E,SAASE,MAAM,GAAG;AACrC,gBAAMC,WAAW,GAAGH,SAASZ,QAAQtD,IAAI,UAAA,KAAe,EAAA;AACxDkE,4BAASZ,QAAQgB,QAAQ,SAACC,OAAOX,MAAAA;AAC/B1D,sBAAQsE,OAAOZ,MAAKW,KAAAA;YACtB,CAAA,GACOrE,QAAQH,SAASsE,UAAUH,SAASE,MAAM;UACnD;AAEA,cAAI1E,aAAaM,IAAIiC,OAAAA;AACnB,gBAAI;AAEFiC,uBAASZ,QAAQf,IAAI,iBAAiB,UAAA;YACxC,SAASC,KAAK;AACZC,sBAAQoB,KACN,6CACE3D,QAAQO,IAAIgD,IAAI,wBACMS,SAASZ,QAAQtD,IAAI,eAAA,CAAA,cAC7CwC,GAAAA;YAEJ;AAGF,iBAAO0B;QACT;AAEA,eAAOhE,QAAQuE,KACbP,UACA,KACAxE,aAAaM,IAAIiC,OAAAA,IACb;UACE,iBAAiB;QACnB,IACAyC,MAAAA;MAER;IACF,SAASlC,KAAK;AACZC,cAAQC,MAAM,kCAAmCF,IAAY,KAAQ,EAAE;IACzE;AAEA,UAAMuB,KAAAA;EACR,CAAA;AACF;",
5
+ "names": ["join", "getServerEntry", "oneServe", "oneOptions", "vxrnOptions", "buildInfo", "app", "serveStatic", "createHandleRequest", "isResponse", "isStatusRedirect", "resolveAPIRequest", "isAPIRequest", "WeakMap", "root", "redirects", "web", "redirect", "get", "source", "context", "destinationUrl", "destination", "replace", "param", "paramName", "substring", "req", "permanent", "Error", "routeMap", "builtRoutes", "routeToBuildInfo", "route", "cleanPath", "bracketRoutePath", "split", "map", "part", "slice", "serverOptions", "entryServer", "entry", "render", "default", "apiCJS", "build", "api", "outputFormat", "handleRequest", "handleAPI", "request", "loaderProps", "apiFile", "process", "cwd", "page", "set", "err", "console", "error", "params", "handleSSR", "url", "type", "Object", "keys", "exported", "serverJsPath", "loaderData", "loader", "preloads", "headers", "Headers", "Response", "path", "htmlFiles", "readFile", "key", "info", "use", "next", "html", "raw", "response", "handler", "status", "location", "forEach", "value", "header", "json", "undefined"]
6
+ }
@@ -0,0 +1,7 @@
1
+ function setupBuildInfo(buildInfo) {
2
+ process.env.ONE_CACHE_KEY ||= buildInfo.constants.CACHE_KEY, process.env.ONE_DEFAULT_RENDER_MODE ||= buildInfo.oneOptions?.web?.defaultRenderMode || "ssg";
3
+ }
4
+ export {
5
+ setupBuildInfo
6
+ };
7
+ //# sourceMappingURL=setupBuildOptions.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/server/setupBuildOptions.ts"],
4
+ "mappings": "AAEO,SAAS,eAAe,WAA0B;AAEvD,UAAQ,IAAI,kBAAkB,UAAU,UAAU,WAClD,QAAQ,IAAI,4BAA4B,UAAU,YAAY,KAAK,qBAAqB;AAC1F;",
5
+ "names": []
6
+ }
@@ -0,0 +1,5 @@
1
+ function setupBuildInfo(buildInfo) {
2
+ process.env.ONE_CACHE_KEY ||= buildInfo.constants.CACHE_KEY, process.env.ONE_DEFAULT_RENDER_MODE ||= buildInfo.oneOptions?.web?.defaultRenderMode || "ssg";
3
+ }
4
+ export { setupBuildInfo };
5
+ //# sourceMappingURL=setupBuildOptions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["setupBuildInfo","buildInfo","process","env","ONE_CACHE_KEY","constants","CACHE_KEY","ONE_DEFAULT_RENDER_MODE","oneOptions","web","defaultRenderMode"],"sources":["../../../src/server/setupBuildOptions.ts"],"sourcesContent":[null],"mappings":"AAEO,SAASA,eAAeC,SAAA,EAA0B;EAEvDC,OAAA,CAAQC,GAAA,CAAIC,aAAA,KAAkBH,SAAA,CAAUI,SAAA,CAAUC,SAAA,EAClDJ,OAAA,CAAQC,GAAA,CAAII,uBAAA,KAA4BN,SAAA,CAAUO,UAAA,EAAYC,GAAA,EAAKC,iBAAA,IAAqB;AAC1F","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ function setupBuildInfo(buildInfo) {
2
+ var _buildInfo_oneOptions_web, _buildInfo_oneOptions, _process_env, _process_env1;
3
+ (_process_env = process.env).ONE_CACHE_KEY || (_process_env.ONE_CACHE_KEY = buildInfo.constants.CACHE_KEY), (_process_env1 = process.env).ONE_DEFAULT_RENDER_MODE || (_process_env1.ONE_DEFAULT_RENDER_MODE = ((_buildInfo_oneOptions = buildInfo.oneOptions) === null || _buildInfo_oneOptions === void 0 || (_buildInfo_oneOptions_web = _buildInfo_oneOptions.web) === null || _buildInfo_oneOptions_web === void 0 ? void 0 : _buildInfo_oneOptions_web.defaultRenderMode) || "ssg");
4
+ }
5
+ export {
6
+ setupBuildInfo
7
+ };
8
+ //# sourceMappingURL=setupBuildOptions.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/server/Users/n8/one/packages/one/src/server/setupBuildOptions.ts"],
4
+ "mappings": "AAEO,SAASA,eAAeC,WAAwB;MAGbA,2BAAAA,uBADxCC,cACAA;AADAA,GAAAA,eAAAA,QAAQC,KAAIC,kBAAZF,aAAYE,gBAAkBH,UAAUI,UAAUC,aAClDJ,gBAAAA,QAAQC,KAAII,4BAAZL,cAAYK,4BAA4BN,wBAAAA,UAAUO,gBAAU,QAApBP,0BAAAA,WAAAA,4BAAAA,sBAAsBQ,SAAG,QAAzBR,8BAAAA,SAAAA,SAAAA,0BAA2BS,sBAAqB;AAC1F;",
5
+ "names": ["setupBuildInfo", "buildInfo", "process", "env", "ONE_CACHE_KEY", "constants", "CACHE_KEY", "ONE_DEFAULT_RENDER_MODE", "oneOptions", "web", "defaultRenderMode"]
6
+ }
@@ -0,0 +1,8 @@
1
+ function ensureExists(value) {
2
+ if (value == null)
3
+ throw new Error("Missing value.");
4
+ }
5
+ export {
6
+ ensureExists
7
+ };
8
+ //# sourceMappingURL=ensureExists.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/utils/ensureExists.ts"],
4
+ "mappings": "AAAO,SAAS,aAAgB,OAAiD;AAC/E,MAA2B,SAAU;AACnC,UAAM,IAAI,MAAM,gBAAgB;AAEpC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,5 @@
1
+ function ensureExists(value) {
2
+ if (value == null) throw new Error("Missing value.");
3
+ }
4
+ export { ensureExists };
5
+ //# sourceMappingURL=ensureExists.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ensureExists","value","Error"],"sources":["../../../src/utils/ensureExists.ts"],"sourcesContent":[null],"mappings":"AAAO,SAASA,aAAgBC,KAAA,EAAiD;EAC/E,IAA2BA,KAAA,IAAU,MACnC,MAAM,IAAIC,KAAA,CAAM,gBAAgB;AAEpC","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ function ensureExists(value) {
2
+ if (value == null)
3
+ throw new Error("Missing value.");
4
+ }
5
+ export {
6
+ ensureExists
7
+ };
8
+ //# sourceMappingURL=ensureExists.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/utils/Users/n8/one/packages/one/src/utils/ensureExists.ts"],
4
+ "mappings": "AAAO,SAASA,aAAgBC,OAA2B;AACzD,MAA2BA,SAAU;AACnC,UAAM,IAAIC,MAAM,gBAAgB;AAEpC;",
5
+ "names": ["ensureExists", "value", "Error"]
6
+ }
@@ -22,13 +22,13 @@ process.on("uncaughtException", (err) => {
22
22
  });
23
23
  async function build(args) {
24
24
  labelProcess("build");
25
- const userOptions = await loadUserOneOptions("build"), serverOutputFormat = userOptions.build?.server?.outputFormat ?? "esm";
25
+ const oneOptions = await loadUserOneOptions("build"), serverOutputFormat = oneOptions.build?.server?.outputFormat ?? "esm";
26
26
  process.env.VXRN_REACT_19 = "1", process.env.ONE_SERVER_URL || console.warn(
27
27
  "\u26A0\uFE0F No ONE_SERVER_URL environment set, set it in your .env to your target deploy URL"
28
28
  );
29
29
  const vxrnOutput = await vxrnBuild(
30
30
  {
31
- server: userOptions.server,
31
+ server: oneOptions.server,
32
32
  build: {
33
33
  analyze: !0,
34
34
  server: {
@@ -52,7 +52,7 @@ async function build(args) {
52
52
  `);
53
53
  const processEnvDefines = Object.fromEntries(
54
54
  Object.entries(process.env).map(([key, value]) => [`process.env.${key}`, JSON.stringify(value)])
55
- ), apiRouteExternalRegex = buildRegexExcludingDeps(optimizeDeps.include), apiEntryPoints = manifest.apiRoutes.reduce((entries, { page, file }) => (entries[page.slice(1) + ".js"] = join("app", file), entries), {}), apiOutputFormat = userOptions?.build?.api?.outputFormat ?? serverOutputFormat, treeshake = userOptions?.build?.api?.treeshake;
55
+ ), apiRouteExternalRegex = buildRegexExcludingDeps(optimizeDeps.include), apiEntryPoints = manifest.apiRoutes.reduce((entries, { page, file }) => (entries[page.slice(1) + ".js"] = join("app", file), entries), {}), apiOutputFormat = oneOptions?.build?.api?.outputFormat ?? serverOutputFormat, treeshake = oneOptions?.build?.api?.treeshake;
56
56
  await viteBuild(
57
57
  mergeConfig(apiBuildConfig, {
58
58
  appType: "custom",
@@ -178,8 +178,8 @@ async function build(args) {
178
178
  const clientKey = `app${layout.contextKey.slice(1)}`;
179
179
  return vxrnOutput.clientManifest[clientKey];
180
180
  }) ?? [], layoutImports = layoutEntries.flatMap((entry) => [entry.file, ...collectImports(entry)]), preloadSetupFilePreloads = (() => {
181
- if (userOptions.setupFile) {
182
- const needle = userOptions.setupFile.replace(/^\.\//, "");
181
+ if (oneOptions.setupFile) {
182
+ const needle = oneOptions.setupFile.replace(/^\.\//, "");
183
183
  for (const file2 in vxrnOutput.clientManifest)
184
184
  if (file2 === needle)
185
185
  return [
@@ -291,22 +291,46 @@ ${JSON.stringify(params || null, null, 2)}`
291
291
  }
292
292
  }
293
293
  await moveAllFiles(staticDir, clientDir), await FSExtra.rm(staticDir, { force: !0, recursive: !0 });
294
- const buildInfoForWriting = {
295
- routeMap: builtRoutes.reduce((acc, { cleanPath, htmlPath }) => (acc[cleanPath] = htmlPath, acc), {}),
294
+ const routeMap = builtRoutes.reduce((acc, { cleanPath, htmlPath }) => (acc[cleanPath] = htmlPath, acc), {}), buildInfoForWriting = {
295
+ oneOptions,
296
+ routeMap,
296
297
  builtRoutes,
297
298
  constants: JSON.parse(JSON.stringify({ ...constants }))
298
- }, buildInfo = {
299
- ...buildInfoForWriting,
300
- ...vxrnOutput
301
299
  };
302
300
  await FSExtra.writeJSON(toAbsolute("dist/buildInfo.json"), buildInfoForWriting);
303
301
  let postBuildLogs = [];
304
- (userOptions.web?.deploy ?? options.server?.platform) === "vercel" && (await FSExtra.writeFile(
305
- join(options.root, "dist", "index.js"),
306
- `import { serve } from 'one/serve'
302
+ switch (oneOptions.web?.deploy ?? options.server?.platform) {
303
+ case "vercel": {
304
+ await FSExtra.writeFile(
305
+ join(options.root, "dist", "index.js"),
306
+ `import { serve } from 'one/serve'
307
307
  const handler = await serve()
308
308
  export const { GET, POST, PUT, PATCH, OPTIONS } = handler`
309
- ), postBuildLogs.push(`wrote vercel entry to: ${join(".", "dist", "index.js")}`), postBuildLogs.push("point vercel outputDirectory to dist")), userOptions?.afterBuild && await userOptions?.afterBuild?.(buildInfo), process.env.VXRN_ANALYZE_BUNDLE && postBuildLogs.push(`client build report: ${toAbsolute("dist/report.html")}`), postBuildLogs.length && (console.info(`
309
+ ), postBuildLogs.push(`wrote vercel entry to: ${join(".", "dist", "index.js")}`), postBuildLogs.push("point vercel outputDirectory to dist");
310
+ break;
311
+ }
312
+ case "cloudflare": {
313
+ await FSExtra.writeFile(
314
+ join(options.root, "dist", "worker.js"),
315
+ `import { serve } from 'one/serve-worker'
316
+
317
+ const buildInfo = ${JSON.stringify(buildInfoForWriting)}
318
+
319
+ const handler = await serve(buildInfo)
320
+
321
+ export default {
322
+ fetch: handler.fetch,
323
+ }`
324
+ ), await FSExtra.writeFile(
325
+ join(options.root, "dist", "wrangler.toml"),
326
+ `assets = { directory = "client" }
327
+ compatibility_date = "2024-12-05"
328
+ `
329
+ );
330
+ break;
331
+ }
332
+ }
333
+ process.env.VXRN_ANALYZE_BUNDLE && postBuildLogs.push(`client build report: ${toAbsolute("dist/report.html")}`), postBuildLogs.length && (console.info(`
310
334
 
311
335
  `), postBuildLogs.forEach((log) => {
312
336
  console.info(` \xB7 ${log}`);