one 1.1.483 → 1.1.484

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 (122) hide show
  1. package/dist/cjs/cli/build.cjs +5 -41
  2. package/dist/cjs/cli/build.js +4 -44
  3. package/dist/cjs/cli/build.js.map +1 -1
  4. package/dist/cjs/cli/build.native.js +4 -42
  5. package/dist/cjs/cli/build.native.js.map +2 -2
  6. package/dist/cjs/server/createRoutesManifest.js.map +1 -1
  7. package/dist/cjs/server/createRoutesManifest.native.js.map +1 -1
  8. package/dist/cjs/server/getServerManifest.cjs +15 -7
  9. package/dist/cjs/server/getServerManifest.js +17 -8
  10. package/dist/cjs/server/getServerManifest.js.map +1 -1
  11. package/dist/cjs/server/getServerManifest.native.js +8 -5
  12. package/dist/cjs/server/getServerManifest.native.js.map +2 -2
  13. package/dist/cjs/utils/getPathnameFromFilePath.cjs +76 -0
  14. package/dist/cjs/utils/getPathnameFromFilePath.js +70 -0
  15. package/dist/cjs/utils/getPathnameFromFilePath.js.map +6 -0
  16. package/dist/cjs/utils/getPathnameFromFilePath.native.js +73 -0
  17. package/dist/cjs/utils/getPathnameFromFilePath.native.js.map +6 -0
  18. package/dist/cjs/vercel/build/buildVercelOutputDirectory.cjs +38 -8
  19. package/dist/cjs/vercel/build/buildVercelOutputDirectory.js +48 -17
  20. package/dist/cjs/vercel/build/buildVercelOutputDirectory.js.map +1 -1
  21. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js +50 -7
  22. package/dist/cjs/vercel/build/buildVercelOutputDirectory.native.js.map +2 -2
  23. package/dist/cjs/vercel/build/config/vc-build-output-config-base.cjs +9 -6
  24. package/dist/cjs/vercel/build/config/vc-build-output-config-base.js +7 -6
  25. package/dist/cjs/vercel/build/config/vc-build-output-config-base.js.map +1 -1
  26. package/dist/cjs/vercel/build/config/vc-build-output-config-base.native.js +4 -9
  27. package/dist/cjs/vercel/build/config/vc-build-output-config-base.native.js.map +2 -2
  28. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.cjs +54 -9
  29. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js +83 -15
  30. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.js.map +2 -2
  31. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js +73 -9
  32. package/dist/cjs/vercel/build/generate/createApiServerlessFunction.native.js.map +2 -2
  33. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.cjs +9 -6
  34. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js +8 -6
  35. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
  36. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js +8 -6
  37. package/dist/cjs/vercel/build/generate/createSsrServerlessFunction.native.js.map +2 -2
  38. package/dist/cjs/vercel/build/getPathFromRoute.cjs +31 -0
  39. package/dist/cjs/vercel/build/getPathFromRoute.js +24 -0
  40. package/dist/cjs/vercel/build/getPathFromRoute.js.map +6 -0
  41. package/dist/cjs/vercel/build/getPathFromRoute.native.js +31 -0
  42. package/dist/cjs/vercel/build/getPathFromRoute.native.js.map +6 -0
  43. package/dist/esm/cli/build.js +4 -43
  44. package/dist/esm/cli/build.js.map +1 -1
  45. package/dist/esm/cli/build.mjs +4 -40
  46. package/dist/esm/cli/build.mjs.map +1 -1
  47. package/dist/esm/cli/build.native.js +4 -43
  48. package/dist/esm/cli/build.native.js.map +1 -1
  49. package/dist/esm/server/createRoutesManifest.js.map +1 -1
  50. package/dist/esm/server/createRoutesManifest.mjs.map +1 -1
  51. package/dist/esm/server/createRoutesManifest.native.js.map +1 -1
  52. package/dist/esm/server/getServerManifest.js +17 -8
  53. package/dist/esm/server/getServerManifest.js.map +1 -1
  54. package/dist/esm/server/getServerManifest.mjs +15 -7
  55. package/dist/esm/server/getServerManifest.mjs.map +1 -1
  56. package/dist/esm/server/getServerManifest.native.js +8 -4
  57. package/dist/esm/server/getServerManifest.native.js.map +1 -1
  58. package/dist/esm/utils/getPathnameFromFilePath.js +46 -0
  59. package/dist/esm/utils/getPathnameFromFilePath.js.map +6 -0
  60. package/dist/esm/utils/getPathnameFromFilePath.mjs +42 -0
  61. package/dist/esm/utils/getPathnameFromFilePath.mjs.map +1 -0
  62. package/dist/esm/utils/getPathnameFromFilePath.native.js +45 -0
  63. package/dist/esm/utils/getPathnameFromFilePath.native.js.map +1 -0
  64. package/dist/esm/vercel/build/buildVercelOutputDirectory.js +49 -18
  65. package/dist/esm/vercel/build/buildVercelOutputDirectory.js.map +1 -1
  66. package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs +38 -8
  67. package/dist/esm/vercel/build/buildVercelOutputDirectory.mjs.map +1 -1
  68. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js +45 -8
  69. package/dist/esm/vercel/build/buildVercelOutputDirectory.native.js.map +1 -1
  70. package/dist/esm/vercel/build/config/vc-build-output-config-base.js +7 -6
  71. package/dist/esm/vercel/build/config/vc-build-output-config-base.js.map +1 -1
  72. package/dist/esm/vercel/build/config/vc-build-output-config-base.mjs +9 -6
  73. package/dist/esm/vercel/build/config/vc-build-output-config-base.mjs.map +1 -1
  74. package/dist/esm/vercel/build/config/vc-build-output-config-base.native.js +3 -6
  75. package/dist/esm/vercel/build/config/vc-build-output-config-base.native.js.map +1 -1
  76. package/dist/esm/vercel/build/generate/createApiServerlessFunction.js +88 -13
  77. package/dist/esm/vercel/build/generate/createApiServerlessFunction.js.map +1 -1
  78. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs +53 -8
  79. package/dist/esm/vercel/build/generate/createApiServerlessFunction.mjs.map +1 -1
  80. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js +52 -8
  81. package/dist/esm/vercel/build/generate/createApiServerlessFunction.native.js.map +1 -1
  82. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js +8 -5
  83. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.js.map +1 -1
  84. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs +8 -5
  85. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.mjs.map +1 -1
  86. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js +8 -5
  87. package/dist/esm/vercel/build/generate/createSsrServerlessFunction.native.js.map +1 -1
  88. package/dist/esm/vercel/build/getPathFromRoute.js +8 -0
  89. package/dist/esm/vercel/build/getPathFromRoute.js.map +6 -0
  90. package/dist/esm/vercel/build/getPathFromRoute.mjs +8 -0
  91. package/dist/esm/vercel/build/getPathFromRoute.mjs.map +1 -0
  92. package/dist/esm/vercel/build/getPathFromRoute.native.js +8 -0
  93. package/dist/esm/vercel/build/getPathFromRoute.native.js.map +1 -0
  94. package/package.json +9 -8
  95. package/src/cli/build.ts +3 -57
  96. package/src/server/createRoutesManifest.ts +1 -0
  97. package/src/server/getServerManifest.ts +12 -3
  98. package/src/utils/getPathnameFromFilePath.ts +62 -0
  99. package/src/vercel/build/buildVercelOutputDirectory.ts +55 -20
  100. package/src/vercel/build/config/vc-build-output-config-base.ts +6 -5
  101. package/src/vercel/build/generate/createApiServerlessFunction.ts +138 -12
  102. package/src/vercel/build/generate/createSsrServerlessFunction.ts +9 -6
  103. package/src/vercel/build/getPathFromRoute.ts +8 -0
  104. package/src/vite/types.ts +1 -0
  105. package/types/cli/build.d.ts.map +1 -1
  106. package/types/server/createRoutesManifest.d.ts +1 -0
  107. package/types/server/createRoutesManifest.d.ts.map +1 -1
  108. package/types/server/getServerManifest.d.ts +1 -0
  109. package/types/server/getServerManifest.d.ts.map +1 -1
  110. package/types/utils/getPathnameFromFilePath.d.ts +4 -0
  111. package/types/utils/getPathnameFromFilePath.d.ts.map +1 -0
  112. package/types/vercel/build/buildVercelOutputDirectory.d.ts.map +1 -1
  113. package/types/vercel/build/config/vc-build-output-config-base.d.ts +2 -5
  114. package/types/vercel/build/config/vc-build-output-config-base.d.ts.map +1 -1
  115. package/types/vercel/build/generate/createApiServerlessFunction.d.ts +2 -1
  116. package/types/vercel/build/generate/createApiServerlessFunction.d.ts.map +1 -1
  117. package/types/vercel/build/generate/createSsrServerlessFunction.d.ts +2 -2
  118. package/types/vercel/build/generate/createSsrServerlessFunction.d.ts.map +1 -1
  119. package/types/vercel/build/getPathFromRoute.d.ts +3 -0
  120. package/types/vercel/build/getPathFromRoute.d.ts.map +1 -0
  121. package/types/vite/types.d.ts +1 -0
  122. package/types/vite/types.d.ts.map +1 -1
@@ -2,10 +2,12 @@ import fs from "fs-extra";
2
2
  import { join, resolve } from "node:path";
3
3
  import { serverlessVercelNodeJsConfig } from "../config/vc-config-base";
4
4
  import { serverlessVercelPackageJson } from "../config/vc-package-base";
5
- async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot, postBuildLogs) {
5
+ import { getPathFromRoute } from "../getPathFromRoute";
6
+ async function createSsrServerlessFunction(route, buildInfo, oneOptionsRoot, postBuildLogs) {
6
7
  try {
7
- postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${pageName}`);
8
- const buildInfoAsString = JSON.stringify(buildInfo), funcFolder = resolve(join(oneOptionsRoot, `.vercel/output/functions/${pageName}.func`));
8
+ const path = getPathFromRoute(route);
9
+ postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] path: ${path}`);
10
+ const buildInfoAsString = JSON.stringify(buildInfo), funcFolder = resolve(join(oneOptionsRoot, `.vercel/output/functions/${path}.func`));
9
11
  await fs.ensureDir(funcFolder);
10
12
  const distServerFrom = resolve(join(oneOptionsRoot, "dist", "server")), distServerTo = resolve(join(funcFolder, "server"));
11
13
  await fs.ensureDir(distServerTo), postBuildLogs.push(
@@ -19,6 +21,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
19
21
  `
20
22
  const buildInfoConfig = await import('../buildInfo.js');
21
23
  const entry = await import('../server/_virtual_one-entry.js');
24
+ const routeFile = ${JSON.stringify(route.file)}
22
25
 
23
26
  const handler = async (req, res) => {
24
27
  // console.debug("req.url", req.url);
@@ -28,7 +31,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
28
31
  params: Object.fromEntries(url.searchParams.entries())
29
32
  }
30
33
  const postfix = url.pathname.endsWith('/') ? 'index.tsx' : '+ssr.tsx';
31
- const routeFile = \`.\${url.pathname}\${postfix}\`;
34
+ // const routeFile = \`.\${url.pathname}\${postfix}\`;
32
35
  let route = buildInfoConfig.default.routeToBuildInfo[routeFile];
33
36
 
34
37
  // If we cannot find the route by direct match, try to find it by looking it up in the
@@ -80,7 +83,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
80
83
  });
81
84
  } catch (e) {
82
85
  console.error(
83
- `[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${pageName}`,
86
+ `[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${route.file}`,
84
87
  e
85
88
  );
86
89
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/vercel/build/generate/createSsrServerlessFunction.ts"],
4
- "mappings": "AAAA,OAAO,QAAQ;AACf,SAAS,MAAM,eAAe;AAC9B,SAAS,oCAAoC;AAC7C,SAAS,mCAAmC;AAK5C,eAAsB,4BACpB,UACA,WACA,gBACA,eACA;AACA,MAAI;AACF,kBAAc,KAAK,6DAA6D,QAAQ,EAAE;AAE1F,UAAM,oBAAoB,KAAK,UAAU,SAAS,GAC5C,aAAa,QAAQ,KAAK,gBAAgB,4BAA4B,QAAQ,OAAO,CAAC;AAC5F,UAAM,GAAG,UAAU,UAAU;AAE7B,UAAM,iBAAiB,QAAQ,KAAK,gBAAgB,QAAQ,QAAQ,CAAC,GAC/D,eAAe,QAAQ,KAAK,YAAY,QAAQ,CAAC;AACvD,UAAM,GAAG,UAAU,YAAY,GAC/B,cAAc;AAAA,MACZ,+EAA+E,cAAc,OAAO,YAAY;AAAA,IAClH,GACA,MAAM,GAAG,KAAK,gBAAgB,YAAY,GAE1C,cAAc,KAAK,wEAAwE,GAC3F,MAAM,GAAG,UAAU,KAAK,YAAY,cAAc,GAAG,kBAAkB,iBAAiB,EAAE,GAE1F,MAAM,GAAG,UAAU,KAAK,YAAY,YAAY,CAAC;AACjD,UAAM,qBAAqB,QAAQ,KAAK,YAAY,cAAc,UAAU,CAAC;AAC7E,kBAAc;AAAA,MACZ,yEAAyE,kBAAkB;AAAA,IAC7F,GACA,MAAM,GAAG;AAAA,MACP;AAAA,MACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA8CF;AAEA,UAAM,sBAAsB,QAAQ,KAAK,YAAY,cAAc,CAAC;AACpE,kBAAc;AAAA,MACZ,2EAA2E,mBAAmB;AAAA,IAChG,GACA,MAAM,GAAG,UAAU,qBAAqB,2BAA2B;AAInE,UAAM,mBAAmB,QAAQ,KAAK,YAAY,iBAAiB,CAAC;AACpE,yBAAc;AAAA,MACZ,8EAA8E,gBAAgB;AAAA,IAChG,GACO,GAAG,UAAU,kBAAkB;AAAA,MACpC,GAAG;AAAA,MACH,SAAS;AAAA,MACT,aAAa;AAAA,QACX,GAAG,6BAA6B;AAAA,QAChC,yBAAyB;AAAA,MAC3B;AAAA,IACF,CAAC;AAAA,EACH,SAAS,GAAG;AACV,YAAQ;AAAA,MACN,+EAA+E,QAAQ;AAAA,MACvF;AAAA,IACF;AAAA,EACF;AACF;",
4
+ "mappings": "AAAA,OAAO,QAAQ;AACf,SAAS,MAAM,eAAe;AAC9B,SAAS,oCAAoC;AAC7C,SAAS,mCAAmC;AAE5C,SAAS,wBAAwB;AAIjC,eAAsB,4BACpB,OACA,WACA,gBACA,eACA;AACA,MAAI;AACF,UAAM,OAAO,iBAAiB,KAAK;AACnC,kBAAc,KAAK,yDAAyD,IAAI,EAAE;AAElF,UAAM,oBAAoB,KAAK,UAAU,SAAS,GAC5C,aAAa,QAAQ,KAAK,gBAAgB,4BAA4B,IAAI,OAAO,CAAC;AACxF,UAAM,GAAG,UAAU,UAAU;AAE7B,UAAM,iBAAiB,QAAQ,KAAK,gBAAgB,QAAQ,QAAQ,CAAC,GAC/D,eAAe,QAAQ,KAAK,YAAY,QAAQ,CAAC;AACvD,UAAM,GAAG,UAAU,YAAY,GAC/B,cAAc;AAAA,MACZ,+EAA+E,cAAc,OAAO,YAAY;AAAA,IAClH,GACA,MAAM,GAAG,KAAK,gBAAgB,YAAY,GAE1C,cAAc,KAAK,wEAAwE,GAC3F,MAAM,GAAG,UAAU,KAAK,YAAY,cAAc,GAAG,kBAAkB,iBAAiB,EAAE,GAE1F,MAAM,GAAG,UAAU,KAAK,YAAY,YAAY,CAAC;AACjD,UAAM,qBAAqB,QAAQ,KAAK,YAAY,cAAc,UAAU,CAAC;AAC7E,kBAAc;AAAA,MACZ,yEAAyE,kBAAkB;AAAA,IAC7F,GACA,MAAM,GAAG;AAAA,MACP;AAAA,MACA;AAAA;AAAA;AAAA,sBAGgB,KAAK,UAAU,MAAM,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA4C5C;AAEA,UAAM,sBAAsB,QAAQ,KAAK,YAAY,cAAc,CAAC;AACpE,kBAAc;AAAA,MACZ,2EAA2E,mBAAmB;AAAA,IAChG,GACA,MAAM,GAAG,UAAU,qBAAqB,2BAA2B;AAInE,UAAM,mBAAmB,QAAQ,KAAK,YAAY,iBAAiB,CAAC;AACpE,yBAAc;AAAA,MACZ,8EAA8E,gBAAgB;AAAA,IAChG,GACO,GAAG,UAAU,kBAAkB;AAAA,MACpC,GAAG;AAAA,MACH,SAAS;AAAA,MACT,aAAa;AAAA,QACX,GAAG,6BAA6B;AAAA,QAChC,yBAAyB;AAAA,MAC3B;AAAA,IACF,CAAC;AAAA,EACH,SAAS,GAAG;AACV,YAAQ;AAAA,MACN,+EAA+E,MAAM,IAAI;AAAA,MACzF;AAAA,IACF;AAAA,EACF;AACF;",
5
5
  "names": []
6
6
  }
@@ -2,11 +2,13 @@ import fs from "fs-extra";
2
2
  import { join, resolve } from "node:path";
3
3
  import { serverlessVercelNodeJsConfig } from "../config/vc-config-base.mjs";
4
4
  import { serverlessVercelPackageJson } from "../config/vc-package-base.mjs";
5
- async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot, postBuildLogs) {
5
+ import { getPathFromRoute } from "../getPathFromRoute.mjs";
6
+ async function createSsrServerlessFunction(route, buildInfo, oneOptionsRoot, postBuildLogs) {
6
7
  try {
7
- postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${pageName}`);
8
+ const path = getPathFromRoute(route);
9
+ postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] path: ${path}`);
8
10
  const buildInfoAsString = JSON.stringify(buildInfo),
9
- funcFolder = resolve(join(oneOptionsRoot, `.vercel/output/functions/${pageName}.func`));
11
+ funcFolder = resolve(join(oneOptionsRoot, `.vercel/output/functions/${path}.func`));
10
12
  await fs.ensureDir(funcFolder);
11
13
  const distServerFrom = resolve(join(oneOptionsRoot, "dist", "server")),
12
14
  distServerTo = resolve(join(funcFolder, "server"));
@@ -15,6 +17,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
15
17
  postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] writing entrypoint to ${entrypointFilePath}`), await fs.writeFile(entrypointFilePath, `
16
18
  const buildInfoConfig = await import('../buildInfo.js');
17
19
  const entry = await import('../server/_virtual_one-entry.js');
20
+ const routeFile = ${JSON.stringify(route.file)}
18
21
 
19
22
  const handler = async (req, res) => {
20
23
  // console.debug("req.url", req.url);
@@ -24,7 +27,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
24
27
  params: Object.fromEntries(url.searchParams.entries())
25
28
  }
26
29
  const postfix = url.pathname.endsWith('/') ? 'index.tsx' : '+ssr.tsx';
27
- const routeFile = \`.\${url.pathname}\${postfix}\`;
30
+ // const routeFile = \`.\${url.pathname}\${postfix}\`;
28
31
  let route = buildInfoConfig.default.routeToBuildInfo[routeFile];
29
32
 
30
33
  // If we cannot find the route by direct match, try to find it by looking it up in the
@@ -70,7 +73,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
70
73
  }
71
74
  });
72
75
  } catch (e) {
73
- console.error(`[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${pageName}`, e);
76
+ console.error(`[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${route.file}`, e);
74
77
  }
75
78
  }
76
79
  export { createSsrServerlessFunction };
@@ -1 +1 @@
1
- {"version":3,"names":["fs","join","resolve","serverlessVercelNodeJsConfig","serverlessVercelPackageJson","createSsrServerlessFunction","pageName","buildInfo","oneOptionsRoot","postBuildLogs","push","buildInfoAsString","JSON","stringify","funcFolder","ensureDir","distServerFrom","distServerTo","copy","writeFile","entrypointFilePath","packageJsonFilePath","writeJSON","vcConfigFilePath","writeJson","handler","environment","ONE_DEFAULT_RENDER_MODE","e","console","error"],"sources":["../../../../../src/vercel/build/generate/createSsrServerlessFunction.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,EAAA,MAAQ;AACf,SAASC,IAAA,EAAMC,OAAA,QAAe;AAC9B,SAASC,4BAAA,QAAoC;AAC7C,SAASC,2BAAA,QAAmC;AAK5C,eAAsBC,4BACpBC,QAAA,EACAC,SAAA,EACAC,cAAA,EACAC,aAAA,EACA;EACA,IAAI;IACFA,aAAA,CAAcC,IAAA,CAAK,6DAA6DJ,QAAQ,EAAE;IAE1F,MAAMK,iBAAA,GAAoBC,IAAA,CAAKC,SAAA,CAAUN,SAAS;MAC5CO,UAAA,GAAaZ,OAAA,CAAQD,IAAA,CAAKO,cAAA,EAAgB,4BAA4BF,QAAQ,OAAO,CAAC;IAC5F,MAAMN,EAAA,CAAGe,SAAA,CAAUD,UAAU;IAE7B,MAAME,cAAA,GAAiBd,OAAA,CAAQD,IAAA,CAAKO,cAAA,EAAgB,QAAQ,QAAQ,CAAC;MAC/DS,YAAA,GAAef,OAAA,CAAQD,IAAA,CAAKa,UAAA,EAAY,QAAQ,CAAC;IACvD,MAAMd,EAAA,CAAGe,SAAA,CAAUE,YAAY,GAC/BR,aAAA,CAAcC,IAAA,CACZ,+EAA+EM,cAAc,OAAOC,YAAY,EAClH,GACA,MAAMjB,EAAA,CAAGkB,IAAA,CAAKF,cAAA,EAAgBC,YAAY,GAE1CR,aAAA,CAAcC,IAAA,CAAK,wEAAwE,GAC3F,MAAMV,EAAA,CAAGmB,SAAA,CAAUlB,IAAA,CAAKa,UAAA,EAAY,cAAc,GAAG,kBAAkBH,iBAAiB,EAAE,GAE1F,MAAMX,EAAA,CAAGe,SAAA,CAAUd,IAAA,CAAKa,UAAA,EAAY,YAAY,CAAC;IACjD,MAAMM,kBAAA,GAAqBlB,OAAA,CAAQD,IAAA,CAAKa,UAAA,EAAY,cAAc,UAAU,CAAC;IAC7EL,aAAA,CAAcC,IAAA,CACZ,yEAAyEU,kBAAkB,EAC7F,GACA,MAAMpB,EAAA,CAAGmB,SAAA,CACPC,kBAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA8CF;IAEA,MAAMC,mBAAA,GAAsBnB,OAAA,CAAQD,IAAA,CAAKa,UAAA,EAAY,cAAc,CAAC;IACpEL,aAAA,CAAcC,IAAA,CACZ,2EAA2EW,mBAAmB,EAChG,GACA,MAAMrB,EAAA,CAAGsB,SAAA,CAAUD,mBAAA,EAAqBjB,2BAA2B;IAInE,MAAMmB,gBAAA,GAAmBrB,OAAA,CAAQD,IAAA,CAAKa,UAAA,EAAY,iBAAiB,CAAC;IACpE,OAAAL,aAAA,CAAcC,IAAA,CACZ,8EAA8Ea,gBAAgB,EAChG,GACOvB,EAAA,CAAGwB,SAAA,CAAUD,gBAAA,EAAkB;MACpC,GAAGpB,4BAAA;MACHsB,OAAA,EAAS;MACTC,WAAA,EAAa;QACX,GAAGvB,4BAAA,CAA6BuB,WAAA;QAChCC,uBAAA,EAAyB;MAC3B;IACF,CAAC;EACH,SAASC,CAAA,EAAG;IACVC,OAAA,CAAQC,KAAA,CACN,+EAA+ExB,QAAQ,IACvFsB,CACF;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["fs","join","resolve","serverlessVercelNodeJsConfig","serverlessVercelPackageJson","getPathFromRoute","createSsrServerlessFunction","route","buildInfo","oneOptionsRoot","postBuildLogs","path","push","buildInfoAsString","JSON","stringify","funcFolder","ensureDir","distServerFrom","distServerTo","copy","writeFile","entrypointFilePath","file","packageJsonFilePath","writeJSON","vcConfigFilePath","writeJson","handler","environment","ONE_DEFAULT_RENDER_MODE","e","console","error"],"sources":["../../../../../src/vercel/build/generate/createSsrServerlessFunction.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,EAAA,MAAQ;AACf,SAASC,IAAA,EAAMC,OAAA,QAAe;AAC9B,SAASC,4BAAA,QAAoC;AAC7C,SAASC,2BAAA,QAAmC;AAE5C,SAASC,gBAAA,QAAwB;AAIjC,eAAsBC,4BACpBC,KAAA,EACAC,SAAA,EACAC,cAAA,EACAC,aAAA,EACA;EACA,IAAI;IACF,MAAMC,IAAA,GAAON,gBAAA,CAAiBE,KAAK;IACnCG,aAAA,CAAcE,IAAA,CAAK,yDAAyDD,IAAI,EAAE;IAElF,MAAME,iBAAA,GAAoBC,IAAA,CAAKC,SAAA,CAAUP,SAAS;MAC5CQ,UAAA,GAAad,OAAA,CAAQD,IAAA,CAAKQ,cAAA,EAAgB,4BAA4BE,IAAI,OAAO,CAAC;IACxF,MAAMX,EAAA,CAAGiB,SAAA,CAAUD,UAAU;IAE7B,MAAME,cAAA,GAAiBhB,OAAA,CAAQD,IAAA,CAAKQ,cAAA,EAAgB,QAAQ,QAAQ,CAAC;MAC/DU,YAAA,GAAejB,OAAA,CAAQD,IAAA,CAAKe,UAAA,EAAY,QAAQ,CAAC;IACvD,MAAMhB,EAAA,CAAGiB,SAAA,CAAUE,YAAY,GAC/BT,aAAA,CAAcE,IAAA,CACZ,+EAA+EM,cAAc,OAAOC,YAAY,EAClH,GACA,MAAMnB,EAAA,CAAGoB,IAAA,CAAKF,cAAA,EAAgBC,YAAY,GAE1CT,aAAA,CAAcE,IAAA,CAAK,wEAAwE,GAC3F,MAAMZ,EAAA,CAAGqB,SAAA,CAAUpB,IAAA,CAAKe,UAAA,EAAY,cAAc,GAAG,kBAAkBH,iBAAiB,EAAE,GAE1F,MAAMb,EAAA,CAAGiB,SAAA,CAAUhB,IAAA,CAAKe,UAAA,EAAY,YAAY,CAAC;IACjD,MAAMM,kBAAA,GAAqBpB,OAAA,CAAQD,IAAA,CAAKe,UAAA,EAAY,cAAc,UAAU,CAAC;IAC7EN,aAAA,CAAcE,IAAA,CACZ,yEAAyEU,kBAAkB,EAC7F,GACA,MAAMtB,EAAA,CAAGqB,SAAA,CACPC,kBAAA,EACA;AAAA;AAAA;AAAA,sBAGgBR,IAAA,CAAKC,SAAA,CAAUR,KAAA,CAAMgB,IAAI,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA4C5C;IAEA,MAAMC,mBAAA,GAAsBtB,OAAA,CAAQD,IAAA,CAAKe,UAAA,EAAY,cAAc,CAAC;IACpEN,aAAA,CAAcE,IAAA,CACZ,2EAA2EY,mBAAmB,EAChG,GACA,MAAMxB,EAAA,CAAGyB,SAAA,CAAUD,mBAAA,EAAqBpB,2BAA2B;IAInE,MAAMsB,gBAAA,GAAmBxB,OAAA,CAAQD,IAAA,CAAKe,UAAA,EAAY,iBAAiB,CAAC;IACpE,OAAAN,aAAA,CAAcE,IAAA,CACZ,8EAA8Ec,gBAAgB,EAChG,GACO1B,EAAA,CAAG2B,SAAA,CAAUD,gBAAA,EAAkB;MACpC,GAAGvB,4BAAA;MACHyB,OAAA,EAAS;MACTC,WAAA,EAAa;QACX,GAAG1B,4BAAA,CAA6B0B,WAAA;QAChCC,uBAAA,EAAyB;MAC3B;IACF,CAAC;EACH,SAASC,CAAA,EAAG;IACVC,OAAA,CAAQC,KAAA,CACN,+EAA+E1B,KAAA,CAAMgB,IAAI,IACzFQ,CACF;EACF;AACF","ignoreList":[]}
@@ -2,11 +2,13 @@ import fs from "fs-extra";
2
2
  import { join, resolve } from "node:path";
3
3
  import { serverlessVercelNodeJsConfig } from "../config/vc-config-base.native.js";
4
4
  import { serverlessVercelPackageJson } from "../config/vc-package-base.native.js";
5
- async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot, postBuildLogs) {
5
+ import { getPathFromRoute } from "../getPathFromRoute.native.js";
6
+ async function createSsrServerlessFunction(route, buildInfo, oneOptionsRoot, postBuildLogs) {
6
7
  try {
7
- postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] pageName: ${pageName}`);
8
+ var path = getPathFromRoute(route);
9
+ postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] path: ${path}`);
8
10
  var buildInfoAsString = JSON.stringify(buildInfo),
9
- funcFolder = resolve(join(oneOptionsRoot, `.vercel/output/functions/${pageName}.func`));
11
+ funcFolder = resolve(join(oneOptionsRoot, `.vercel/output/functions/${path}.func`));
10
12
  await fs.ensureDir(funcFolder);
11
13
  var distServerFrom = resolve(join(oneOptionsRoot, "dist", "server")),
12
14
  distServerTo = resolve(join(funcFolder, "server"));
@@ -15,6 +17,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
15
17
  postBuildLogs.push(`[one.build][vercel.createSsrServerlessFunction] writing entrypoint to ${entrypointFilePath}`), await fs.writeFile(entrypointFilePath, `
16
18
  const buildInfoConfig = await import('../buildInfo.js');
17
19
  const entry = await import('../server/_virtual_one-entry.js');
20
+ const routeFile = ${JSON.stringify(route.file)}
18
21
 
19
22
  const handler = async (req, res) => {
20
23
  // console.debug("req.url", req.url);
@@ -24,7 +27,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
24
27
  params: Object.fromEntries(url.searchParams.entries())
25
28
  }
26
29
  const postfix = url.pathname.endsWith('/') ? 'index.tsx' : '+ssr.tsx';
27
- const routeFile = \`.\${url.pathname}\${postfix}\`;
30
+ // const routeFile = \`.\${url.pathname}\${postfix}\`;
28
31
  let route = buildInfoConfig.default.routeToBuildInfo[routeFile];
29
32
 
30
33
  // If we cannot find the route by direct match, try to find it by looking it up in the
@@ -70,7 +73,7 @@ async function createSsrServerlessFunction(pageName, buildInfo, oneOptionsRoot,
70
73
  }
71
74
  });
72
75
  } catch (e) {
73
- console.error(`[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${pageName}`, e);
76
+ console.error(`[one.build][vercel.createSsrServerlessFunction] failed to generate func for ${route.file}`, e);
74
77
  }
75
78
  }
76
79
  export { createSsrServerlessFunction };
@@ -1 +1 @@
1
- {"version":3,"names":["fs","join","resolve","serverlessVercelNodeJsConfig","serverlessVercelPackageJson","createSsrServerlessFunction","pageName","buildInfo","oneOptionsRoot","postBuildLogs","push","buildInfoAsString","JSON","stringify","funcFolder","ensureDir","distServerFrom","distServerTo","copy","writeFile","entrypointFilePath","packageJsonFilePath","writeJSON","vcConfigFilePath","writeJson","handler","environment","ONE_DEFAULT_RENDER_MODE","e","console","error"],"sources":["../../../../../src/vercel/build/generate/createSsrServerlessFunction.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,EAAA,MAAQ;AACf,SAASC,IAAA,EAAMC,OAAA,QAAe;AAC9B,SAASC,4BAAA,QAAoC;AAC7C,SAASC,2BAAA,QAAmC;AAK5C,eAAsBC,4BACpBC,QAAA,EACAC,SAAA,EACAC,cAAA,EACAC,aAAA,EACA;EACA,IAAI;IACFA,aAAA,CAAcC,IAAA,CAAK,6DAA6DJ,QAAQ,EAAE;IAE1F,IAAAK,iBAAM,GAAAC,IAAoB,CAAAC,SAAK,CAAAN,SAAU;MAASO,UAC5C,GAAAZ,OAAa,CAAAD,IAAQ,CAAAO,cAAK,8BAAgBF,QAA4B,OAAQ,EAAO;IAC3F,MAAMN,EAAA,CAAGe,SAAA,CAAUD,UAAU;IAE7B,IAAAE,cAAM,GAAAd,OAAiB,CAAAD,IAAQ,CAAAO,cAAK,QAAgB,UAAQ,EAAQ;MAACS,YAC/D,GAAAf,OAAe,CAAAD,IAAQ,CAAAa,UAAK,UAAY,EAAQ;IACtD,MAAMd,EAAA,CAAGe,SAAA,CAAUE,YAAY,GAC/BR,aAAA,CAAcC,IAAA,gFAAAM,cAAA,OAAAC,YAAA,WAAAjB,EAAA,CAAAkB,IAAA,CAAAF,cAAA,EAAAC,YAAA,GAAAR,aAAA,CAAAC,IAAA,kFAAAV,EAAA,CAAAmB,SAAA,CAAAlB,IAAA,CAAAa,UAAA,qCAAAH,iBAAA,WAAAX,EAAA,CAAAe,SAAA,CAAAd,IAAA,CAAAa,UAAA;IAAA,IACZM,kBAAA,GAAAlB,OAAA,CAAAD,IAAA,CAAAa,UAAA;IACFL,aACS,CAAAC,IAAK,0EAEKU,kBAAA,WAAApB,EAAA,CAAAmB,SAAA,CAAAC,kBACV;AAGT;AACA;AAAc;AAC+E;AAEpF;AACP;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAAA,IAAAC,mBAAA,GAAAnB,OAAA,CAAAD,IAAA,CAAAa,UAAA;IAAAL,aAAA,CAAAC,IAAA,4EAAAW,mBAAA,WAAArB,EAAA,CAAAsB,SAAA,CAAAD,mBAAA,EAAAjB,2BAAA;IAAA,IAAAmB,gBAAA,GAAArB,OAAA,CAAAD,IAAA,CAAAa,UAAA;IAAA,OAAAL,aAAA,CAAAC,IAAA,+EAAAa,gBAAA,KAAAvB,EAAA,CAAAwB,SAAA,CAAAD,gBAAA;MAAA,GAAApB,4BAAA;MAAAsB,OAAA;MA8CFC,WAAA;QAEA,GAAMvB,4BAAsB,CAAQuB,WAAK;QACzCC,uBAAc;MACZ;IACF;EAKA,SAAMC,CAAA;IACNC,OAAA,CAAAC,KAAA,gFAAcxB,QAAA,IAAAsB,CAAA;EAAA;AACkF;AAE1D,SACjCvB,2BACM","ignoreList":[]}
1
+ {"version":3,"names":["fs","join","resolve","serverlessVercelNodeJsConfig","serverlessVercelPackageJson","getPathFromRoute","createSsrServerlessFunction","route","buildInfo","oneOptionsRoot","postBuildLogs","path","push","buildInfoAsString","JSON","stringify","funcFolder","ensureDir","distServerFrom","distServerTo","copy","writeFile","entrypointFilePath","file","packageJsonFilePath","writeJSON","vcConfigFilePath","writeJson","handler","environment","ONE_DEFAULT_RENDER_MODE","e","console","error"],"sources":["../../../../../src/vercel/build/generate/createSsrServerlessFunction.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,EAAA,MAAQ;AACf,SAASC,IAAA,EAAMC,OAAA,QAAe;AAC9B,SAASC,4BAAA,QAAoC;AAC7C,SAASC,2BAAA,QAAmC;AAE5C,SAASC,gBAAA,QAAwB;AAIjC,eAAsBC,4BACpBC,KAAA,EACAC,SAAA,EACAC,cAAA,EACAC,aAAA,EACA;EACA,IAAI;IACF,IAAAC,IAAM,GAAAN,gBAAO,CAAAE,KAAiB;IAC9BG,aAAA,CAAcE,IAAA,CAAK,yDAAyDD,IAAI,EAAE;IAElF,IAAAE,iBAAM,GAAAC,IAAoB,CAAAC,SAAK,CAAAP,SAAU;MAASQ,UAC5C,GAAAd,OAAa,CAAAD,IAAQ,CAAAQ,cAAK,8BAAgBE,IAA4B,OAAI,EAAO;IACvF,MAAMX,EAAA,CAAGiB,SAAA,CAAUD,UAAU;IAE7B,IAAAE,cAAM,GAAAhB,OAAiB,CAAAD,IAAQ,CAAAQ,cAAK,QAAgB,UAAQ,EAAQ;MAACU,YAC/D,GAAAjB,OAAe,CAAAD,IAAQ,CAAAe,UAAK,UAAY,EAAQ;IACtD,MAAMhB,EAAA,CAAGiB,SAAA,CAAUE,YAAY,GAC/BT,aAAA,CAAcE,IAAA,gFAAAM,cAAA,OAAAC,YAAA,WAAAnB,EAAA,CAAAoB,IAAA,CAAAF,cAAA,EAAAC,YAAA,GAAAT,aAAA,CAAAE,IAAA,kFAAAZ,EAAA,CAAAqB,SAAA,CAAApB,IAAA,CAAAe,UAAA,qCAAAH,iBAAA,WAAAb,EAAA,CAAAiB,SAAA,CAAAhB,IAAA,CAAAe,UAAA;IAAA,IACZM,kBAAA,GAAApB,OAAA,CAAAD,IAAA,CAAAe,UAAA;IACFN,aACS,CAAAE,IAAK,0EAEKU,kBAAA,WAAAtB,EAAA,CAAAqB,SAAA,CAAAC,kBACV;AAGT;AACA;AAAc,sBACZR,IAAA,CAAAC,SAAA,CAAAR,KAAA,CAAAgB,IAAA;AAA2F;AAEpF;AACP;AACA;AAAA;AAAA;AAG0C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAAA,IAAAC,mBAAA,GAAAtB,OAAA,CAAAD,IAAA,CAAAe,UAAA;IAAAN,aAAA,CAAAE,IAAA,4EAAAY,mBAAA,WAAAxB,EAAA,CAAAyB,SAAA,CAAAD,mBAAA,EAAApB,2BAAA;IAAA,IAAAsB,gBAAA,GAAAxB,OAAA,CAAAD,IAAA,CAAAe,UAAA;IAAA,OAAAN,aAAA,CAAAE,IAAA,+EAAAc,gBAAA,KAAA1B,EAAA,CAAA2B,SAAA,CAAAD,gBAAA;MAAA,GAAAvB,4BAAA;MAAAyB,OAAA;MA4C5CC,WAAA;QAEA,GAAM1B,4BAAsB,CAAQ0B,WAAK;QACzCC,uBAAc;MACZ;IACF;EAKA,SAAMC,CAAA;IACNC,OAAA,CAAAC,KAAA,gFAAc1B,KAAA,CAAAgB,IAAA,IAAAQ,CAAA;EAAA;AACkF;AAE1D,SACjCzB,2BACM","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { getPathnameFromFilePath } from "../../utils/getPathnameFromFilePath";
2
+ function getPathFromRoute(route) {
3
+ return getPathnameFromFilePath(route.file, {}, !1, { preserveExtensions: !0 }).replace(/^\.\//, "/").replace(/\/+$/, "");
4
+ }
5
+ export {
6
+ getPathFromRoute
7
+ };
8
+ //# sourceMappingURL=getPathFromRoute.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/vercel/build/getPathFromRoute.ts"],
4
+ "mappings": "AAAA,SAAS,+BAA+B;AAGjC,SAAS,iBAAiB,OAA0B;AACzD,SAAO,wBAAwB,MAAM,MAAM,CAAC,GAAG,IAAO,EAAE,oBAAoB,GAAK,CAAC,EAC/E,QAAQ,SAAS,GAAG,EACpB,QAAQ,QAAQ,EAAE;AACvB;",
5
+ "names": []
6
+ }
@@ -0,0 +1,8 @@
1
+ import { getPathnameFromFilePath } from "../../utils/getPathnameFromFilePath.mjs";
2
+ function getPathFromRoute(route) {
3
+ return getPathnameFromFilePath(route.file, {}, !1, {
4
+ preserveExtensions: !0
5
+ }).replace(/^\.\//, "/").replace(/\/+$/, "");
6
+ }
7
+ export { getPathFromRoute };
8
+ //# sourceMappingURL=getPathFromRoute.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getPathnameFromFilePath","getPathFromRoute","route","file","preserveExtensions","replace"],"sources":["../../../../src/vercel/build/getPathFromRoute.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,uBAAA,QAA+B;AAGjC,SAASC,iBAAiBC,KAAA,EAA0B;EACzD,OAAOF,uBAAA,CAAwBE,KAAA,CAAMC,IAAA,EAAM,CAAC,GAAG,IAAO;IAAEC,kBAAA,EAAoB;EAAK,CAAC,EAC/EC,OAAA,CAAQ,SAAS,GAAG,EACpBA,OAAA,CAAQ,QAAQ,EAAE;AACvB","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import { getPathnameFromFilePath } from "../../utils/getPathnameFromFilePath.native.js";
2
+ function getPathFromRoute(route) {
3
+ return getPathnameFromFilePath(route.file, {}, !1, {
4
+ preserveExtensions: !0
5
+ }).replace(/^\.\//, "/").replace(/\/+$/, "");
6
+ }
7
+ export { getPathFromRoute };
8
+ //# sourceMappingURL=getPathFromRoute.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getPathnameFromFilePath","getPathFromRoute","route","file","preserveExtensions"],"sources":["../../../../src/vercel/build/getPathFromRoute.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,uBAAA,QAA+B;AAGjC,SAASC,iBAAiBC,KAAA,EAA0B;EACzD,OAAOF,uBAAA,CAAwBE,KAAA,CAAMC,IAAA,EAAM,CAAC,GAAG,IAAO;IAGxDC,kBAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one",
3
- "version": "1.1.483",
3
+ "version": "1.1.484",
4
4
  "license": "BSD-3-Clause",
5
5
  "sideEffects": [
6
6
  "setup.mjs",
@@ -84,6 +84,7 @@
84
84
  "@babel/generator": "^7.26.8",
85
85
  "@babel/parser": "^7.26.8",
86
86
  "@babel/traverse": "^7.26.8",
87
+ "@babel/types": "^7.26.10",
87
88
  "@radix-ui/react-slot": "^1.0.2",
88
89
  "@react-native-masked-view/masked-view": "^0.3.1",
89
90
  "@react-navigation/bottom-tabs": "~7",
@@ -95,15 +96,15 @@
95
96
  "@react-navigation/routers": "~7",
96
97
  "@swc/core": "^1.10.4",
97
98
  "@ungap/structured-clone": "^1.2.0",
98
- "@vxrn/compiler": "1.1.483",
99
- "@vxrn/resolve": "1.1.483",
100
- "@vxrn/tslib-lite": "1.1.483",
101
- "@vxrn/universal-color-scheme": "1.1.483",
102
- "@vxrn/use-isomorphic-layout-effect": "1.1.483",
99
+ "@vxrn/compiler": "1.1.484",
100
+ "@vxrn/resolve": "1.1.484",
101
+ "@vxrn/tslib-lite": "1.1.484",
102
+ "@vxrn/universal-color-scheme": "1.1.484",
103
+ "@vxrn/use-isomorphic-layout-effect": "1.1.484",
103
104
  "babel-dead-code-elimination": "^1.0.9",
104
105
  "citty": "^0.1.6",
105
106
  "core-js": "^3.38.1",
106
- "create-vxrn": "1.1.483",
107
+ "create-vxrn": "1.1.484",
107
108
  "escape-string-regexp": "^5.0.0",
108
109
  "expo-linking": "~6.3.1",
109
110
  "expo-modules-core": "2.1.2",
@@ -129,7 +130,7 @@
129
130
  "vite": "^6.1.0",
130
131
  "vite-plugin-barrel": "^0.4.1",
131
132
  "vite-tsconfig-paths": "^5.0.1",
132
- "vxrn": "1.1.483",
133
+ "vxrn": "1.1.484",
133
134
  "ws": "^8.18.0",
134
135
  "xxhashjs": "^0.2.2"
135
136
  },
package/src/cli/build.ts CHANGED
@@ -26,6 +26,7 @@ import { getRouterRootFromOneOptions } from '../utils/getRouterRootFromOneOption
26
26
  import { buildPage } from './buildPage'
27
27
  import { checkNodeVersion } from './checkNodeVersion'
28
28
  import { labelProcess } from './label-process'
29
+ import { getPathnameFromFilePath } from '../utils/getPathnameFromFilePath'
29
30
 
30
31
  const { ensureDir, writeJSON } = FSExtra
31
32
 
@@ -425,8 +426,7 @@ export async function build(args: {
425
426
  }
426
427
 
427
428
  for (const params of paramsList) {
428
- const cleanId = relativeId.replace(/\+(spa|ssg|ssr)\.tsx?$/, '')
429
- const path = getPathnameFromFilePath(cleanId, params, foundRoute.type === 'ssg')
429
+ const path = getPathnameFromFilePath(relativeId, params, foundRoute.type === 'ssg')
430
430
  console.info(` ↦ route ${path}`)
431
431
 
432
432
  const built = await runWithAsyncLocalContext(async () => {
@@ -506,6 +506,7 @@ export async function build(args: {
506
506
  manifest: {
507
507
  pageRoutes: manifest.pageRoutes.map(createBuildManifestRoute),
508
508
  apiRoutes: manifest.apiRoutes.map(createBuildManifestRoute),
509
+ allRoutes: manifest.allRoutes.map(createBuildManifestRoute),
509
510
  },
510
511
  routeMap,
511
512
  constants: JSON.parse(JSON.stringify({ ...constants })) as any,
@@ -602,61 +603,6 @@ async function moveAllFiles(src: string, dest: string) {
602
603
  }
603
604
  }
604
605
 
605
- function getPathnameFromFilePath(path: string, params = {}, strict = false) {
606
- const dirname = Path.dirname(path).replace(/\([^\/]+\)/gi, '')
607
- const file = Path.basename(path)
608
- const fileName = file.replace(/\.[a-z]+$/, '')
609
-
610
- function paramsError(part: string) {
611
- throw new Error(
612
- `[one] Params doesn't fit route:
613
-
614
- - path: ${path}
615
- - part: ${part}
616
- - fileName: ${fileName}
617
- - params:
618
-
619
- ${JSON.stringify(params, null, 2)}`
620
- )
621
- }
622
-
623
- const nameWithParams = (() => {
624
- if (fileName === 'index') {
625
- return '/'
626
- }
627
- if (fileName.startsWith('[...')) {
628
- const part = fileName.replace('[...', '').replace(']', '')
629
- if (!params[part]) {
630
- if (strict) {
631
- throw paramsError(part)
632
- }
633
- return `/*`
634
- }
635
- return `/${params[part]}`
636
- }
637
- return `/${fileName
638
- .split('/')
639
- .map((part) => {
640
- if (part[0] === '[') {
641
- const found = params[part.slice(1, part.length - 1)]
642
- if (!found) {
643
- if (strict) {
644
- throw paramsError(part)
645
- }
646
-
647
- return ':' + part.replace('[', '').replace(']', '')
648
- }
649
- return found
650
- }
651
- return part
652
- })
653
- .join('/')}`
654
- })()
655
-
656
- // hono path will convert +not-found etc too
657
- return `${dirname}${nameWithParams}`.replace(/\/\/+/gi, '/')
658
- }
659
-
660
606
  function escapeRegex(string: string) {
661
607
  return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') // $& means the whole matched string
662
608
  }
@@ -13,6 +13,7 @@ export type RoutesManifest<TRegex = string> = {
13
13
  apiRoutes: RouteInfo<TRegex>[]
14
14
  middlewareRoutes: RouteInfo<TRegex>[]
15
15
  pageRoutes: RouteInfo<TRegex>[]
16
+ allRoutes: RouteInfo<TRegex>[]
16
17
  }
17
18
 
18
19
  function createMockModuleWithContext(map: string[] = []) {
@@ -22,6 +22,7 @@ export type OneRouterServerManifestV1<TRegex = string> = {
22
22
  apiRoutes: OneRouterServerManifestV1Route<TRegex>[]
23
23
  middlewareRoutes: OneRouterServerManifestV1Route<TRegex>[]
24
24
  pageRoutes: OneRouterServerManifestV1Route<TRegex>[]
25
+ allRoutes: OneRouterServerManifestV1Route<TRegex>[]
25
26
  }
26
27
 
27
28
  export interface Group {
@@ -63,7 +64,9 @@ export function getServerManifest(route: RouteNode): OneRouterServerManifestV1 {
63
64
  return [key]
64
65
  })
65
66
 
66
- key = parentSegments + getContextKey(route.route).replace(/\/index$/, '') || '/'
67
+ key =
68
+ (parentSegments ? parentSegments.join('') : '') +
69
+ getContextKey(route.route).replace(/\/index$/, '') || '/'
67
70
  }
68
71
 
69
72
  return [[key, { ...route, layouts }]]
@@ -92,12 +95,15 @@ export function getServerManifest(route: RouteNode): OneRouterServerManifestV1 {
92
95
  const apiRoutes: OneRouterServerManifestV1Route[] = []
93
96
  const middlewareRoutes: OneRouterServerManifestV1Route[] = []
94
97
  const pageRoutes: OneRouterServerManifestV1Route[] = []
98
+ const allRoutes: OneRouterServerManifestV1Route[] = []
95
99
 
96
100
  const addedMiddlewares: Record<string, boolean> = {}
97
101
 
98
102
  for (const [path, node] of flat) {
99
103
  if (node.type === 'api') {
100
- apiRoutes.push(getGeneratedNamedRouteRegex(path, node))
104
+ const route = getGeneratedNamedRouteRegex(path, node)
105
+ apiRoutes.push(route)
106
+ allRoutes.push(route)
101
107
  continue
102
108
  }
103
109
 
@@ -110,13 +116,16 @@ export function getServerManifest(route: RouteNode): OneRouterServerManifestV1 {
110
116
  }
111
117
  }
112
118
 
113
- pageRoutes.push(getGeneratedNamedRouteRegex(path, node))
119
+ const route = getGeneratedNamedRouteRegex(path, node)
120
+ pageRoutes.push(route)
121
+ allRoutes.push(route)
114
122
  }
115
123
 
116
124
  return {
117
125
  apiRoutes,
118
126
  middlewareRoutes,
119
127
  pageRoutes,
128
+ allRoutes,
120
129
  }
121
130
  }
122
131
 
@@ -0,0 +1,62 @@
1
+ import Path from 'node:path'
2
+
3
+ export function getPathnameFromFilePath(
4
+ inputPath: string,
5
+ params = {},
6
+ strict = false,
7
+ options: { preserveExtensions?: boolean } = {}
8
+ ) {
9
+ const path = inputPath.replace(/\+(spa|ssg|ssr|api)\.tsx?$/, '')
10
+ const dirname = Path.dirname(path).replace(/\([^\/]+\)/gi, '')
11
+ const file = Path.basename(path)
12
+ const fileName = options.preserveExtensions ? file : file.replace(/\.[a-z]+$/, '')
13
+
14
+ function paramsError(part: string) {
15
+ throw new Error(
16
+ `[one] Params doesn't fit route:
17
+
18
+ - path: ${path}
19
+ - part: ${part}
20
+ - fileName: ${fileName}
21
+ - params:
22
+
23
+ ${JSON.stringify(params, null, 2)}`
24
+ )
25
+ }
26
+
27
+ const nameWithParams = (() => {
28
+ if (fileName === 'index') {
29
+ return '/'
30
+ }
31
+ if (fileName.startsWith('[...')) {
32
+ const part = fileName.replace('[...', '').replace(']', '')
33
+ if (!params[part]) {
34
+ if (strict) {
35
+ throw paramsError(part)
36
+ }
37
+ return `/*`
38
+ }
39
+ return `/${params[part]}`
40
+ }
41
+ return `/${fileName
42
+ .split('/')
43
+ .map((part) => {
44
+ if (part[0] === '[') {
45
+ const found = params[part.slice(1, part.length - 1)]
46
+ if (!found) {
47
+ if (strict) {
48
+ throw paramsError(part)
49
+ }
50
+
51
+ return ':' + part.replace('[', '').replace(']', '')
52
+ }
53
+ return found
54
+ }
55
+ return part
56
+ })
57
+ .join('/')}`
58
+ })()
59
+
60
+ // hono path will convert +not-found etc too
61
+ return `${dirname}${nameWithParams}`.replace(/\/\/+/gi, '/')
62
+ }
@@ -8,9 +8,10 @@ import { createApiServerlessFunction } from './generate/createApiServerlessFunct
8
8
  import { createSsrServerlessFunction } from './generate/createSsrServerlessFunction'
9
9
  import { serverlessVercelNodeJsConfig } from './config/vc-config-base'
10
10
  import { serverlessVercelPackageJson } from './config/vc-package-base'
11
- import { vercelBuildOutputConfig } from './config/vc-build-output-config-base'
11
+ import { vercelBuildOutputConfigBase } from './config/vc-build-output-config-base'
12
12
 
13
13
  import type { One } from '../../vite/types'
14
+ import { getPathFromRoute } from './getPathFromRoute'
14
15
 
15
16
  const { copy, ensureDir, existsSync, writeJSON } = FSExtra
16
17
 
@@ -49,21 +50,8 @@ export const buildVercelOutputDirectory = async ({
49
50
  postBuildLogs.push(
50
51
  `[one.build][vercel] generating serverless function for apiRoute ${route.page}`
51
52
  )
52
- await createApiServerlessFunction(
53
- route.page,
54
- compiledRoute.code,
55
- oneOptionsRoot,
56
- postBuildLogs
57
- )
58
53
 
59
- if (route.page !== route.urlCleanPath ) {
60
- await createApiServerlessFunction(
61
- route.urlCleanPath,
62
- compiledRoute.code,
63
- oneOptionsRoot,
64
- postBuildLogs
65
- )
66
- }
54
+ await createApiServerlessFunction(route, compiledRoute.code, oneOptionsRoot, postBuildLogs)
67
55
  } else {
68
56
  console.warn('\n 🔨[one.build][vercel] apiRoute missing code compilation for', route.file)
69
57
  }
@@ -83,7 +71,7 @@ export const buildVercelOutputDirectory = async ({
83
71
  `[one.build][vercel] generate serverless function for ${route.page} with ${route.type}`
84
72
  )
85
73
  await createSsrServerlessFunction(
86
- route.page,
74
+ route,
87
75
  buildInfoForWriting,
88
76
  oneOptionsRoot,
89
77
  postBuildLogs
@@ -101,7 +89,7 @@ export const buildVercelOutputDirectory = async ({
101
89
  const distMiddlewareDir = resolve(join(oneOptionsRoot, 'dist', 'middlewares'))
102
90
  if (existsSync(distMiddlewareDir)) {
103
91
  const vercelMiddlewareDir = resolve(
104
- join(oneOptionsRoot, '.vercel/output/functions/_middleware')
92
+ join(oneOptionsRoot, '.vercel/output/functions/_middleware.func')
105
93
  )
106
94
  await ensureDir(vercelMiddlewareDir)
107
95
  postBuildLogs.push(
@@ -113,13 +101,35 @@ export const buildVercelOutputDirectory = async ({
113
101
  `[one.build][vercel] writing package.json to ${vercelMiddlewarePackageJsonFilePath}`
114
102
  )
115
103
  await writeJSON(vercelMiddlewarePackageJsonFilePath, serverlessVercelPackageJson)
104
+ const wrappedMiddlewareEntryPointFilename = '_wrapped_middleware.js'
105
+ const wrappedMiddlewareEntryPointPath = resolve(
106
+ join(vercelMiddlewareDir, wrappedMiddlewareEntryPointFilename)
107
+ )
108
+ await FSExtra.writeFile(
109
+ wrappedMiddlewareEntryPointPath,
110
+ `
111
+ import middlewareFunction from './_middleware.js'
112
+
113
+ const next = (e) => {
114
+ const t = new Headers(null == e ? void 0 : e.headers)
115
+ t.set('x-middleware-next', '1')
116
+ return new Response(null, { ...e, headers: t })
117
+ }
118
+
119
+ const wrappedMiddlewareFunction = (request, event) => {
120
+ return middlewareFunction({ request, event, next })
121
+ }
122
+
123
+ export { wrappedMiddlewareFunction as default }
124
+ `
125
+ )
116
126
  const middlewareVercelConfigFilePath = resolve(join(vercelMiddlewareDir, '.vc-config.json'))
117
127
  postBuildLogs.push(
118
128
  `[one.build][vercel] writing .vc-config.json to ${middlewareVercelConfigFilePath}`
119
129
  )
120
130
  await writeJSON(middlewareVercelConfigFilePath, {
121
- ...serverlessVercelNodeJsConfig,
122
- handler: '_middleware.js',
131
+ runtime: 'edge', // Seems that middlewares only work with edge runtime
132
+ entrypoint: wrappedMiddlewareEntryPointFilename,
123
133
  })
124
134
  }
125
135
 
@@ -134,6 +144,31 @@ export const buildVercelOutputDirectory = async ({
134
144
  // Documentation - Vercel Build Output v3 config.json
135
145
  // https://vercel.com/docs/build-output-api/v3/configuration#config.json-supported-properties
136
146
  const vercelConfigFilePath = resolve(join(oneOptionsRoot, '.vercel/output', 'config.json'))
137
- await writeJSON(vercelConfigFilePath, vercelBuildOutputConfig)
147
+ await writeJSON(vercelConfigFilePath, {
148
+ ...vercelBuildOutputConfigBase,
149
+ routes: [
150
+ ...vercelBuildOutputConfigBase.routes,
151
+ ...(existsSync(distMiddlewareDir)
152
+ ? [
153
+ {
154
+ src: '/(.*)',
155
+ middlewarePath: '_middleware',
156
+ continue: true,
157
+ },
158
+ ]
159
+ : []),
160
+ {
161
+ handle: 'rewrite',
162
+ },
163
+ ...buildInfoForWriting.manifest.allRoutes
164
+ .filter((r) => r.routeKeys && Object.keys(r.routeKeys).length > 0)
165
+ .map((r) => ({
166
+ src: r.namedRegex,
167
+ dest: `${getPathFromRoute(r)}?${Object.entries(r.routeKeys)
168
+ .map(([k, v]) => `${k}=$${v}`)
169
+ .join('&')}`,
170
+ })),
171
+ ],
172
+ })
138
173
  postBuildLogs.push(`[one.build] wrote vercel config to: ${vercelConfigFilePath}`)
139
174
  }
@@ -1,12 +1,13 @@
1
1
  // Documentation - Vercel Build Output v3 Config
2
2
  // https://vercel.com/docs/build-output-api/v3/configuration#config.json-supported-properties
3
- export const vercelBuildOutputConfig = {
3
+ export const vercelBuildOutputConfigBase = {
4
4
  version: 3,
5
5
  // https://vercel.com/docs/build-output-api/v3/configuration#routes
6
6
  routes: [
7
- {
8
- src: '/(.*)',
9
- status: 200,
10
- },
7
+ // Not sure if we really need this, but having this seems to break the 'rewrite's we will add to handle dynamic routes.
8
+ // {
9
+ // src: '/(.*)',
10
+ // status: 200,
11
+ // },
11
12
  ],
12
13
  }