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
package/dist/esm/serve.js CHANGED
@@ -1,17 +1,15 @@
1
1
  import "./polyfills-server";
2
2
  import FSExtra from "fs-extra";
3
- import { join } from "node:path";
4
- import { getServerEntry, loadEnv, serve as vxrnServe } from "vxrn/serve";
3
+ import { setupBuildInfo } from "./server/setupBuildOptions";
4
+ import { ensureExists } from "./utils/ensureExists";
5
5
  process.on("uncaughtException", (err) => {
6
6
  console.error("[one] Uncaught exception", err?.stack || err);
7
7
  });
8
8
  async function serve(args = {}) {
9
- const buildInfo = await FSExtra.readJSON("dist/buildInfo.json");
10
- process.env.ONE_CACHE_KEY = buildInfo.constants.CACHE_KEY;
11
- const { labelProcess } = await import("./cli/label-process"), { removeUndefined } = await import("./utils/removeUndefined"), { loadUserOneOptions } = await import("./vite/one");
12
- labelProcess("serve"), loadEnv("production");
13
- const oneOptions = await loadUserOneOptions("serve");
14
- return process.env.VXRN_REACT_19 = "1", await vxrnServe({
9
+ const buildInfo = await FSExtra.readJSON("dist/buildInfo.json"), { oneOptions } = buildInfo;
10
+ setupBuildInfo(buildInfo), ensureExists(oneOptions);
11
+ const { labelProcess } = await import("./cli/label-process"), { removeUndefined } = await import("./utils/removeUndefined"), { loadEnv, serve: vxrnServe } = await import("vxrn/serve"), { oneServe } = await import("./server/oneServe");
12
+ return labelProcess("serve"), args.loadEnv && await loadEnv("production"), process.env.VXRN_REACT_19 = "1", await vxrnServe({
15
13
  server: {
16
14
  // fallback to one plugin
17
15
  ...oneOptions.server,
@@ -22,141 +20,13 @@ async function serve(args = {}) {
22
20
  compress: args.compress,
23
21
  platform: args.platform,
24
22
  cacheHeaders: args.cacheHeaders
25
- }),
26
- async beforeStart(options, app) {
27
- await oneOptions.server?.beforeStart?.(options, app), await oneServe(oneOptions, options, buildInfo, app);
28
- }
23
+ })
24
+ },
25
+ async beforeStart(options, app) {
26
+ await oneServe(oneOptions, options, buildInfo, app);
29
27
  }
30
28
  });
31
29
  }
32
- async function oneServe(options, vxrnOptions, buildInfo, app) {
33
- 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 = options.web?.redirects;
34
- if (redirects)
35
- for (const redirect of redirects)
36
- app.get(redirect.source, (context) => {
37
- const destinationUrl = redirect.destination.replace(/:\w+/g, (param) => {
38
- const paramName = param.substring(1);
39
- return context.req.param(paramName) || "";
40
- });
41
- return context.redirect(destinationUrl, redirect.permanent ? 301 : 302);
42
- });
43
- if (!buildInfo)
44
- throw new Error("No build info found, have you run build?");
45
- const { routeMap, builtRoutes } = buildInfo, routeToBuildInfo = {};
46
- for (const route of builtRoutes) {
47
- routeToBuildInfo[route.cleanPath] = route;
48
- const bracketRoutePath = route.cleanPath.split("/").map((part) => part[0] === ":" ? `[${part.slice(1)}]` : part).join("/");
49
- routeToBuildInfo[bracketRoutePath] = route;
50
- }
51
- const serverOptions = {
52
- ...options,
53
- root
54
- }, render = (await import(getServerEntry(serverOptions))).default.render, apiCJS = options.build?.api?.outputFormat === "cjs", handleRequest = createHandleRequest(
55
- {},
56
- {
57
- async handleAPI({ route, request, loaderProps }) {
58
- const apiFile = join(
59
- process.cwd(),
60
- "dist",
61
- "api",
62
- route.page.replace("[", "_").replace("]", "_") + (apiCJS ? ".cjs" : ".js")
63
- );
64
- return isAPIRequest.set(request, !0), resolveAPIRequest(
65
- async () => {
66
- try {
67
- return await import(apiFile);
68
- } catch (err) {
69
- return console.error(`
70
- [one] Error importing API route at ${apiFile}:
71
-
72
- ${err}
73
-
74
- If this is an import error, you can likely fix this by adding this dependency to
75
- the "optimizeDeps.include" array in your vite.config.ts.
76
-
77
- \u{1F41E} For a better error message run "node" and enter:
78
-
79
- import('${apiFile}')
80
-
81
- `), {};
82
- }
83
- },
84
- request,
85
- loaderProps?.params || {}
86
- );
87
- },
88
- async handleSSR({ route, url, loaderProps }) {
89
- if (route.type === "ssr") {
90
- const buildInfo2 = routeToBuildInfo[route.page];
91
- if (!buildInfo2)
92
- throw new Error(
93
- `No buildinfo found for ${url}, route: ${route.page}, in keys: ${Object.keys(routeToBuildInfo)}`
94
- );
95
- try {
96
- const loaderData = await (await import(buildInfo2.serverJsPath)).loader?.(loaderProps), preloads = buildInfo2.preloads, headers = new Headers();
97
- return headers.set("content-type", "text/html"), new Response(
98
- await render({
99
- loaderData,
100
- loaderProps,
101
- path: loaderProps?.path || "/",
102
- preloads
103
- }),
104
- {
105
- headers
106
- }
107
- );
108
- } catch (err) {
109
- console.error(`[one] Error rendering SSR route ${route.page}
110
-
111
- ${err?.stack ?? err}
112
-
113
- url: ${url}`);
114
- }
115
- }
116
- }
117
- }
118
- ), htmlFiles = {};
119
- for (const key in routeMap)
120
- routeToBuildInfo[key]?.type !== "ssr" && (htmlFiles[key] = await FSExtra.readFile(join("dist/client", routeMap[key]), "utf-8"));
121
- app.use(async (context, next) => {
122
- const html = htmlFiles[context.req.path];
123
- if (html)
124
- return context.html(html);
125
- try {
126
- const request = context.req.raw, response = await handleRequest.handler(request);
127
- if (response) {
128
- if (isResponse(response)) {
129
- if (isStatusRedirect(response.status)) {
130
- const location = `${response.headers.get("location") || ""}`;
131
- return response.headers.forEach((value, key) => {
132
- context.header(key, value);
133
- }), context.redirect(location, response.status);
134
- }
135
- if (isAPIRequest.get(request))
136
- try {
137
- response.headers.set("Cache-Control", "no-store");
138
- } catch (err) {
139
- console.info(
140
- `Error udpating cache header on api route "${context.req.path}" to no-store, it is ${response.headers.get("cache-control")}, continue`,
141
- err
142
- );
143
- }
144
- return response;
145
- }
146
- return context.json(
147
- response,
148
- 200,
149
- isAPIRequest.get(request) ? {
150
- "Cache-Control": "no-store"
151
- } : void 0
152
- );
153
- }
154
- } catch (err) {
155
- console.error(` [one] Error handling request: ${err.stack}`);
156
- }
157
- await next();
158
- });
159
- }
160
30
  export {
161
31
  serve
162
32
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/serve.ts"],
4
- "mappings": "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",
5
- "names": ["buildInfo"]
4
+ "mappings": "AAAA,OAAO;AAEP,OAAO,aAAa;AAEpB,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAG7B,QAAQ,GAAG,qBAAqB,CAAC,QAAQ;AACvC,UAAQ,MAAM,4BAA4B,KAAK,SAAS,GAAG;AAC7D,CAAC;AAED,eAAsB,MAAM,OAA8B,CAAC,GAAG;AAC5D,QAAM,YAAa,MAAM,QAAQ,SAAS,qBAAqB,GACzD,EAAE,WAAW,IAAI;AAEvB,iBAAe,SAAS,GACxB,aAAa,UAAU;AAGvB,QAAM,EAAE,aAAa,IAAI,MAAM,OAAO,qBAAqB,GACrD,EAAE,gBAAgB,IAAI,MAAM,OAAO,yBAAyB,GAC5D,EAAE,SAAS,OAAO,UAAU,IAAI,MAAM,OAAO,YAAY,GACzD,EAAE,SAAS,IAAI,MAAM,OAAO,mBAAmB;AAErD,sBAAa,OAAO,GAEhB,KAAK,WACP,MAAM,QAAQ,YAAY,GAI5B,QAAQ,IAAI,gBAAgB,KAErB,MAAM,UAAU;AAAA,IACrB,QAAQ;AAAA;AAAA,MAEN,GAAG,WAAW;AAAA;AAAA,MAEd,GAAG,gBAAgB;AAAA,QACjB,MAAM,KAAK,OAAO,CAAC,KAAK,OAAO;AAAA,QAC/B,MAAM,KAAK;AAAA,QACX,UAAU,KAAK;AAAA,QACf,UAAU,KAAK;AAAA,QACf,cAAc,KAAK;AAAA,MACrB,CAAC;AAAA,IACH;AAAA,IAEA,MAAM,YAAY,SAAS,KAAK;AAC9B,YAAM,SAAS,YAAY,SAAS,WAAW,GAAG;AAAA,IACpD;AAAA,EACF,CAAC;AACH;",
5
+ "names": []
6
6
  }
@@ -1,13 +1,16 @@
1
1
  import "./polyfills-server.mjs";
2
2
  import FSExtra from "fs-extra";
3
- import { join } from "node:path";
4
- import { getServerEntry, loadEnv, serve as vxrnServe } from "vxrn/serve";
3
+ import { setupBuildInfo } from "./server/setupBuildOptions.mjs";
4
+ import { ensureExists } from "./utils/ensureExists.mjs";
5
5
  process.on("uncaughtException", err => {
6
6
  console.error("[one] Uncaught exception", err?.stack || err);
7
7
  });
8
8
  async function serve(args = {}) {
9
- const buildInfo = await FSExtra.readJSON("dist/buildInfo.json");
10
- process.env.ONE_CACHE_KEY = buildInfo.constants.CACHE_KEY;
9
+ const buildInfo = await FSExtra.readJSON("dist/buildInfo.json"),
10
+ {
11
+ oneOptions
12
+ } = buildInfo;
13
+ setupBuildInfo(buildInfo), ensureExists(oneOptions);
11
14
  const {
12
15
  labelProcess
13
16
  } = await import("./cli/label-process.mjs"),
@@ -15,11 +18,13 @@ async function serve(args = {}) {
15
18
  removeUndefined
16
19
  } = await import("./utils/removeUndefined.mjs"),
17
20
  {
18
- loadUserOneOptions
19
- } = await import("./vite/one.mjs");
20
- labelProcess("serve"), loadEnv("production");
21
- const oneOptions = await loadUserOneOptions("serve");
22
- return process.env.VXRN_REACT_19 = "1", await vxrnServe({
21
+ loadEnv,
22
+ serve: vxrnServe
23
+ } = await import("vxrn/serve"),
24
+ {
25
+ oneServe
26
+ } = await import("./server/oneServe.mjs");
27
+ return labelProcess("serve"), args.loadEnv && (await loadEnv("production")), process.env.VXRN_REACT_19 = "1", await vxrnServe({
23
28
  server: {
24
29
  // fallback to one plugin
25
30
  ...oneOptions.server,
@@ -30,141 +35,11 @@ async function serve(args = {}) {
30
35
  compress: args.compress,
31
36
  platform: args.platform,
32
37
  cacheHeaders: args.cacheHeaders
33
- }),
34
- async beforeStart(options, app) {
35
- await oneOptions.server?.beforeStart?.(options, app), await oneServe(oneOptions, options, buildInfo, app);
36
- }
37
- }
38
- });
39
- }
40
- async function oneServe(options, vxrnOptions, buildInfo, app) {
41
- const {
42
- createHandleRequest
43
- } = await import("./createHandleRequest.mjs"),
44
- {
45
- isResponse
46
- } = await import("./utils/isResponse.mjs"),
47
- {
48
- isStatusRedirect
49
- } = await import("./utils/isStatus.mjs"),
50
- {
51
- resolveAPIRequest
52
- } = await import("./vite/resolveAPIRequest.mjs"),
53
- isAPIRequest = /* @__PURE__ */new WeakMap(),
54
- root = vxrnOptions.root || ".",
55
- redirects = options.web?.redirects;
56
- if (redirects) for (const redirect of redirects) app.get(redirect.source, context => {
57
- const destinationUrl = redirect.destination.replace(/:\w+/g, param => {
58
- const paramName = param.substring(1);
59
- return context.req.param(paramName) || "";
60
- });
61
- return context.redirect(destinationUrl, redirect.permanent ? 301 : 302);
62
- });
63
- if (!buildInfo) throw new Error("No build info found, have you run build?");
64
- const {
65
- routeMap,
66
- builtRoutes
67
- } = buildInfo,
68
- routeToBuildInfo = {};
69
- for (const route of builtRoutes) {
70
- routeToBuildInfo[route.cleanPath] = route;
71
- const bracketRoutePath = route.cleanPath.split("/").map(part => part[0] === ":" ? `[${part.slice(1)}]` : part).join("/");
72
- routeToBuildInfo[bracketRoutePath] = route;
73
- }
74
- const serverOptions = {
75
- ...options,
76
- root
38
+ })
77
39
  },
78
- render = (await import(getServerEntry(serverOptions))).default.render,
79
- apiCJS = options.build?.api?.outputFormat === "cjs",
80
- handleRequest = createHandleRequest({}, {
81
- async handleAPI({
82
- route,
83
- request,
84
- loaderProps
85
- }) {
86
- const apiFile = join(process.cwd(), "dist", "api", route.page.replace("[", "_").replace("]", "_") + (apiCJS ? ".cjs" : ".js"));
87
- return isAPIRequest.set(request, !0), resolveAPIRequest(async () => {
88
- try {
89
- return await import(apiFile);
90
- } catch (err) {
91
- return console.error(`
92
- [one] Error importing API route at ${apiFile}:
93
-
94
- ${err}
95
-
96
- If this is an import error, you can likely fix this by adding this dependency to
97
- the "optimizeDeps.include" array in your vite.config.ts.
98
-
99
- \u{1F41E} For a better error message run "node" and enter:
100
-
101
- import('${apiFile}')
102
-
103
- `), {};
104
- }
105
- }, request, loaderProps?.params || {});
106
- },
107
- async handleSSR({
108
- route,
109
- url,
110
- loaderProps
111
- }) {
112
- if (route.type === "ssr") {
113
- const buildInfo2 = routeToBuildInfo[route.page];
114
- if (!buildInfo2) throw new Error(`No buildinfo found for ${url}, route: ${route.page}, in keys: ${Object.keys(routeToBuildInfo)}`);
115
- try {
116
- const loaderData = await (await import(buildInfo2.serverJsPath)).loader?.(loaderProps),
117
- preloads = buildInfo2.preloads,
118
- headers = new Headers();
119
- return headers.set("content-type", "text/html"), new Response(await render({
120
- loaderData,
121
- loaderProps,
122
- path: loaderProps?.path || "/",
123
- preloads
124
- }), {
125
- headers
126
- });
127
- } catch (err) {
128
- console.error(`[one] Error rendering SSR route ${route.page}
129
-
130
- ${err?.stack ?? err}
131
-
132
- url: ${url}`);
133
- }
134
- }
135
- }
136
- }),
137
- htmlFiles = {};
138
- for (const key in routeMap) routeToBuildInfo[key]?.type !== "ssr" && (htmlFiles[key] = await FSExtra.readFile(join("dist/client", routeMap[key]), "utf-8"));
139
- app.use(async (context, next) => {
140
- const html = htmlFiles[context.req.path];
141
- if (html) return context.html(html);
142
- try {
143
- const request = context.req.raw,
144
- response = await handleRequest.handler(request);
145
- if (response) {
146
- if (isResponse(response)) {
147
- if (isStatusRedirect(response.status)) {
148
- const location = `${response.headers.get("location") || ""}`;
149
- return response.headers.forEach((value, key) => {
150
- context.header(key, value);
151
- }), context.redirect(location, response.status);
152
- }
153
- if (isAPIRequest.get(request)) try {
154
- response.headers.set("Cache-Control", "no-store");
155
- } catch (err) {
156
- console.info(`Error udpating cache header on api route "${context.req.path}" to no-store, it is ${response.headers.get("cache-control")}, continue`, err);
157
- }
158
- return response;
159
- }
160
- return context.json(response, 200, isAPIRequest.get(request) ? {
161
- "Cache-Control": "no-store"
162
- } : void 0);
163
- }
164
- } catch (err) {
165
- console.error(` [one] Error handling request: ${err.stack}`);
40
+ async beforeStart(options, app) {
41
+ await oneServe(oneOptions, options, buildInfo, app);
166
42
  }
167
- await next();
168
43
  });
169
44
  }
170
45
  export { serve };
@@ -1 +1 @@
1
- {"version":3,"names":["FSExtra","join","getServerEntry","loadEnv","serve","vxrnServe","process","on","err","console","error","stack","args","buildInfo","readJSON","env","ONE_CACHE_KEY","constants","CACHE_KEY","labelProcess","removeUndefined","loadUserOneOptions","oneOptions","VXRN_REACT_19","server","port","host","compress","platform","cacheHeaders","beforeStart","options","app","oneServe","vxrnOptions","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","cwd","page","set","params","handleSSR","url","type","buildInfo2","Object","keys","loaderData","serverJsPath","loader","preloads","headers","Headers","Response","path","htmlFiles","key","readFile","use","next","html","raw","response","handler","status","location","forEach","value","header","info","json"],"sources":["../../src/serve.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["FSExtra","setupBuildInfo","ensureExists","process","on","err","console","error","stack","serve","args","buildInfo","readJSON","oneOptions","labelProcess","removeUndefined","loadEnv","vxrnServe","oneServe","env","VXRN_REACT_19","server","port","host","compress","platform","cacheHeaders","beforeStart","options","app"],"sources":["../../src/serve.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO;AAEP,OAAOA,OAAA,MAAa;AAEpB,SAASC,cAAA,QAAsB;AAC/B,SAASC,YAAA,QAAoB;AAG7BC,OAAA,CAAQC,EAAA,CAAG,qBAAsBC,GAAA,IAAQ;EACvCC,OAAA,CAAQC,KAAA,CAAM,4BAA4BF,GAAA,EAAKG,KAAA,IAASH,GAAG;AAC7D,CAAC;AAED,eAAsBI,MAAMC,IAAA,GAA8B,CAAC,GAAG;EAC5D,MAAMC,SAAA,GAAa,MAAMX,OAAA,CAAQY,QAAA,CAAS,qBAAqB;IACzD;MAAEC;IAAW,IAAIF,SAAA;EAEvBV,cAAA,CAAeU,SAAS,GACxBT,YAAA,CAAaW,UAAU;EAGvB,MAAM;MAAEC;IAAa,IAAI,MAAM,OAAO,yBAAqB;IACrD;MAAEC;IAAgB,IAAI,MAAM,OAAO,6BAAyB;IAC5D;MAAEC,OAAA;MAASP,KAAA,EAAOQ;IAAU,IAAI,MAAM,OAAO,YAAY;IACzD;MAAEC;IAAS,IAAI,MAAM,OAAO,uBAAmB;EAErD,OAAAJ,YAAA,CAAa,OAAO,GAEhBJ,IAAA,CAAKM,OAAA,KACP,MAAMA,OAAA,CAAQ,YAAY,IAI5Bb,OAAA,CAAQgB,GAAA,CAAIC,aAAA,GAAgB,KAErB,MAAMH,SAAA,CAAU;IACrBI,MAAA,EAAQ;MAAA;MAEN,GAAGR,UAAA,CAAWQ,MAAA;MAAA;MAEd,GAAGN,eAAA,CAAgB;QACjBO,IAAA,EAAMZ,IAAA,CAAKY,IAAA,GAAO,CAACZ,IAAA,CAAKY,IAAA,GAAO;QAC/BC,IAAA,EAAMb,IAAA,CAAKa,IAAA;QACXC,QAAA,EAAUd,IAAA,CAAKc,QAAA;QACfC,QAAA,EAAUf,IAAA,CAAKe,QAAA;QACfC,YAAA,EAAchB,IAAA,CAAKgB;MACrB,CAAC;IACH;IAEA,MAAMC,YAAYC,OAAA,EAASC,GAAA,EAAK;MAC9B,MAAMX,QAAA,CAASL,UAAA,EAAYe,OAAA,EAASjB,SAAA,EAAWkB,GAAG;IACpD;EACF,CAAC;AACH","ignoreList":[]}
@@ -1,17 +1,15 @@
1
1
  import "./polyfills-server";
2
2
  import FSExtra from "fs-extra";
3
- import { join } from "node:path";
4
- import { getServerEntry, loadEnv, serve as vxrnServe } from "vxrn/serve";
3
+ import { setupBuildInfo } from "./server/setupBuildOptions";
4
+ import { ensureExists } from "./utils/ensureExists";
5
5
  process.on("uncaughtException", function(err) {
6
6
  console.error("[one] Uncaught exception", err?.stack || err);
7
7
  });
8
8
  async function serve() {
9
- var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, buildInfo = await FSExtra.readJSON("dist/buildInfo.json");
10
- process.env.ONE_CACHE_KEY = buildInfo.constants.CACHE_KEY;
11
- var { labelProcess } = await import("./cli/label-process"), { removeUndefined } = await import("./utils/removeUndefined"), { loadUserOneOptions } = await import("./vite/one");
12
- labelProcess("serve"), loadEnv("production");
13
- var oneOptions = await loadUserOneOptions("serve");
14
- return process.env.VXRN_REACT_19 = "1", await vxrnServe({
9
+ var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, buildInfo = await FSExtra.readJSON("dist/buildInfo.json"), { oneOptions } = buildInfo;
10
+ setupBuildInfo(buildInfo), ensureExists(oneOptions);
11
+ var { labelProcess } = await import("./cli/label-process"), { removeUndefined } = await import("./utils/removeUndefined"), { loadEnv, serve: vxrnServe } = await import("vxrn/serve"), { oneServe } = await import("./server/oneServe");
12
+ return labelProcess("serve"), args.loadEnv && await loadEnv("production"), process.env.VXRN_REACT_19 = "1", await vxrnServe({
15
13
  server: {
16
14
  // fallback to one plugin
17
15
  ...oneOptions.server,
@@ -22,149 +20,11 @@ async function serve() {
22
20
  compress: args.compress,
23
21
  platform: args.platform,
24
22
  cacheHeaders: args.cacheHeaders
25
- }),
26
- async beforeStart(options, app) {
27
- var _oneOptions_server_beforeStart, _oneOptions_server;
28
- await ((_oneOptions_server = oneOptions.server) === null || _oneOptions_server === void 0 || (_oneOptions_server_beforeStart = _oneOptions_server.beforeStart) === null || _oneOptions_server_beforeStart === void 0 ? void 0 : _oneOptions_server_beforeStart.call(_oneOptions_server, options, app)), await oneServe(oneOptions, options, buildInfo, app);
29
- }
30
- }
31
- });
32
- }
33
- async function oneServe(options, vxrnOptions, buildInfo, app) {
34
- var _options_web, _options_build_api, _options_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 = (_options_web = options.web) === null || _options_web === void 0 ? void 0 : _options_web.redirects;
35
- if (redirects) {
36
- var _iteratorNormalCompletion = !0, _didIteratorError = !1, _iteratorError = void 0;
37
- try {
38
- for (var _loop = function() {
39
- var redirect = _step.value;
40
- app.get(redirect.source, function(context) {
41
- var destinationUrl = redirect.destination.replace(/:\w+/g, function(param) {
42
- var paramName = param.substring(1);
43
- return context.req.param(paramName) || "";
44
- });
45
- return context.redirect(destinationUrl, redirect.permanent ? 301 : 302);
46
- });
47
- }, _iterator = redirects[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) _loop();
48
- } catch (err) {
49
- _didIteratorError = !0, _iteratorError = err;
50
- } finally {
51
- try {
52
- !_iteratorNormalCompletion && _iterator.return != null && _iterator.return();
53
- } finally {
54
- if (_didIteratorError)
55
- throw _iteratorError;
56
- }
57
- }
58
- }
59
- if (!buildInfo)
60
- throw new Error("No build info found, have you run build?");
61
- var { routeMap, builtRoutes } = buildInfo, routeToBuildInfo = {}, _iteratorNormalCompletion1 = !0, _didIteratorError1 = !1, _iteratorError1 = void 0;
62
- try {
63
- for (var _iterator1 = builtRoutes[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = !0) {
64
- var route = _step1.value;
65
- routeToBuildInfo[route.cleanPath] = route;
66
- var bracketRoutePath = route.cleanPath.split("/").map(function(part) {
67
- return part[0] === ":" ? `[${part.slice(1)}]` : part;
68
- }).join("/");
69
- routeToBuildInfo[bracketRoutePath] = route;
70
- }
71
- } catch (err) {
72
- _didIteratorError1 = !0, _iteratorError1 = err;
73
- } finally {
74
- try {
75
- !_iteratorNormalCompletion1 && _iterator1.return != null && _iterator1.return();
76
- } finally {
77
- if (_didIteratorError1)
78
- throw _iteratorError1;
79
- }
80
- }
81
- var serverOptions = {
82
- ...options,
83
- root
84
- }, entryServer = getServerEntry(serverOptions), entry = await import(entryServer), render = entry.default.render, apiCJS = ((_options_build = options.build) === null || _options_build === void 0 || (_options_build_api = _options_build.api) === null || _options_build_api === void 0 ? void 0 : _options_build_api.outputFormat) === "cjs", handleRequest = createHandleRequest({}, {
85
- async handleAPI(param) {
86
- var { route: route2, request, loaderProps } = param, apiFile = join(process.cwd(), "dist", "api", route2.page.replace("[", "_").replace("]", "_") + (apiCJS ? ".cjs" : ".js"));
87
- return isAPIRequest.set(request, !0), resolveAPIRequest(async function() {
88
- try {
89
- return await import(apiFile);
90
- } catch (err) {
91
- return console.error(`
92
- [one] Error importing API route at ${apiFile}:
93
-
94
- ${err}
95
-
96
- If this is an import error, you can likely fix this by adding this dependency to
97
- the "optimizeDeps.include" array in your vite.config.ts.
98
-
99
- \u{1F41E} For a better error message run "node" and enter:
100
-
101
- import('${apiFile}')
102
-
103
- `), {};
104
- }
105
- }, request, loaderProps?.params || {});
23
+ })
106
24
  },
107
- async handleSSR(param) {
108
- var { route: route2, url, loaderProps } = param;
109
- if (route2.type === "ssr") {
110
- var _$buildInfo = routeToBuildInfo[route2.page];
111
- if (!_$buildInfo)
112
- throw new Error(`No buildinfo found for ${url}, route: ${route2.page}, in keys: ${Object.keys(routeToBuildInfo)}`);
113
- try {
114
- 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();
115
- return headers.set("content-type", "text/html"), new Response(await render({
116
- loaderData,
117
- loaderProps,
118
- path: loaderProps?.path || "/",
119
- preloads
120
- }), {
121
- headers
122
- });
123
- } catch (err) {
124
- var _err_stack;
125
- console.error(`[one] Error rendering SSR route ${route2.page}
126
-
127
- ${(_err_stack = err?.stack) !== null && _err_stack !== void 0 ? _err_stack : err}
128
-
129
- url: ${url}`);
130
- }
131
- }
132
- }
133
- }), htmlFiles = {};
134
- for (var key in routeMap) {
135
- var info = routeToBuildInfo[key];
136
- info?.type !== "ssr" && (htmlFiles[key] = await FSExtra.readFile(join("dist/client", routeMap[key]), "utf-8"));
137
- }
138
- app.use(async function(context, next) {
139
- var html = htmlFiles[context.req.path];
140
- if (html)
141
- return context.html(html);
142
- try {
143
- var request = context.req.raw, response = await handleRequest.handler(request);
144
- if (response) {
145
- if (isResponse(response)) {
146
- if (isStatusRedirect(response.status)) {
147
- var location = `${response.headers.get("location") || ""}`;
148
- return response.headers.forEach(function(value, key2) {
149
- context.header(key2, value);
150
- }), context.redirect(location, response.status);
151
- }
152
- if (isAPIRequest.get(request))
153
- try {
154
- response.headers.set("Cache-Control", "no-store");
155
- } catch (err) {
156
- console.info(`Error udpating cache header on api route "${context.req.path}" to no-store, it is ${response.headers.get("cache-control")}, continue`, err);
157
- }
158
- return response;
159
- }
160
- return context.json(response, 200, isAPIRequest.get(request) ? {
161
- "Cache-Control": "no-store"
162
- } : void 0);
163
- }
164
- } catch (err) {
165
- console.error(` [one] Error handling request: ${err.stack}`);
25
+ async beforeStart(options, app) {
26
+ await oneServe(oneOptions, options, buildInfo, app);
166
27
  }
167
- await next();
168
28
  });
169
29
  }
170
30
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/Users/n8/one/packages/one/src/serve.ts"],
4
- "mappings": "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",
5
- "names": ["FSExtra", "join", "getServerEntry", "loadEnv", "serve", "vxrnServe", "process", "on", "err", "console", "error", "stack", "args", "buildInfo", "readJSON", "env", "ONE_CACHE_KEY", "constants", "CACHE_KEY", "labelProcess", "removeUndefined", "loadUserOneOptions", "oneOptions", "VXRN_REACT_19", "server", "port", "undefined", "host", "compress", "platform", "cacheHeaders", "beforeStart", "options", "app", "oneServe", "vxrnOptions", "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", "cwd", "page", "set", "params", "handleSSR", "url", "type", "Object", "keys", "exported", "serverJsPath", "loaderData", "loader", "preloads", "headers", "Headers", "Response", "path", "htmlFiles", "key", "info", "readFile", "use", "next", "html", "raw", "response", "handler", "status", "location", "forEach", "value", "header", "json"]
4
+ "mappings": "AAAA,OAAO;AAEP,OAAOA,aAAa;AAEpB,SAASC,sBAAsB;AAC/B,SAASC,oBAAoB;AAG7BC,QAAQC,GAAG,qBAAqB,SAACC,KAAAA;AAC/BC,UAAQC,MAAM,4BAA4BF,KAAKG,SAASH,GAAAA;AAC1D,CAAA;AAEA,eAAsBI,QAAAA;MAAMC,OAAAA,UAAAA,SAAAA,KAAAA,UAAAA,CAAAA,MAAAA,SAAAA,UAAAA,CAAAA,IAA8B,CAAC,GACnDC,YAAa,MAAMX,QAAQY,SAAS,qBAAqB,GACzD,EAAEC,WAAU,IAAKF;AAEvBV,iBAAeU,SAAAA,GACfT,aAAaW,UAAAA;AAGb,MAAM,EAAEC,aAAY,IAAK,MAAM,OAAO,qBAAA,GAChC,EAAEC,gBAAe,IAAK,MAAM,OAAO,yBAAA,GACnC,EAAEC,SAASP,OAAOQ,UAAS,IAAK,MAAM,OAAO,YAAA,GAC7C,EAAEC,SAAQ,IAAK,MAAM,OAAO,mBAAA;AAElCJ,sBAAa,OAAA,GAETJ,KAAKM,WACP,MAAMA,QAAQ,YAAA,GAIhBb,QAAQgB,IAAIC,gBAAgB,KAErB,MAAMH,UAAU;IACrBI,QAAQ;;MAEN,GAAGR,WAAWQ;;MAEd,GAAGN,gBAAgB;QACjBO,MAAMZ,KAAKY,OAAO,CAACZ,KAAKY,OAAOC;QAC/BC,MAAMd,KAAKc;QACXC,UAAUf,KAAKe;QACfC,UAAUhB,KAAKgB;QACfC,cAAcjB,KAAKiB;MACrB,CAAA;IACF;IAEA,MAAMC,YAAYC,SAASC,KAAG;AAC5B,YAAMZ,SAASL,YAAYgB,SAASlB,WAAWmB,GAAAA;IACjD;EACF,CAAA;AACF;",
5
+ "names": ["FSExtra", "setupBuildInfo", "ensureExists", "process", "on", "err", "console", "error", "stack", "serve", "args", "buildInfo", "readJSON", "oneOptions", "labelProcess", "removeUndefined", "loadEnv", "vxrnServe", "oneServe", "env", "VXRN_REACT_19", "server", "port", "undefined", "host", "compress", "platform", "cacheHeaders", "beforeStart", "options", "app"]
6
6
  }